Repository navigation
fix(revise): latest:N counts lanes, not files (#75); v1.1.0 - #128
Conversation
…1.1.0 latest:N took the last N transcript files, which matched the documented "N = that run's lane count" only for --each (one file per lane). A --panel round is one file holding every lane, so latest:12 refused it, and a lane retried in its own file was counted twice. latest:N now walks newest-first and takes transcripts until they cover N distinct lanes, skipping synthesis files. The too-few error names lanes and points at latest-run. Adds __version__ (1.1.0) and `roundtable --version`. Closes #75 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015eWZfxrGjWj2QpwdgFwBjR
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configuration
📒 Files selected for processing (5)
Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review. 📜 Recent review details⏰ Context from checks skipped due to timeout. (4)
🧰 Additional context used🪛 ast-grep (0.45.3)tests/test_roundtable.py[error] 2363-2364: Command coming from incoming request (subprocess-from-request) 🪛 Ruff (0.16.7)tests/test_roundtable.py[error] 2363-2363: (S603) [warning] 2363-2363: Add explicit (PLW1510) [warning] 2639-2639: Use Replace (PT027) 🪛 SkillSpector (2.11.2)skill/SKILL.md[error] 122: [AS1] Agent Config Directory Access: Skill reads from agent configuration directories (.claude/, .codex/, .gemini/). These directories may contain API keys, personal settings, and other credentials that the skill has no legitimate need to access. Remediation: Remove all code or instructions that access agent configuration directories (.claude/, .codex/, .gemini/). If configuration values are needed, pass them explicitly as parameters or environment variables — never read the agent's own config files. (Agent Snooping (AS1)) [warning] 90: [RA2] Session Persistence: Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction. Remediation: Remove any persistence mechanisms (cron jobs, startup scripts, state files). Skills should not maintain state across sessions without explicit user consent. (Rogue Agent (RA2)) [warning] 123: [RA2] Session Persistence: Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction. Remediation: Remove any persistence mechanisms (cron jobs, startup scripts, state files). Skills should not maintain state across sessions without explicit user consent. (Rogue Agent (RA2)) 📝 SummarySummary by CodeRabbit
Walkthrough
ChangesLane-Based Transcript Selection
Version Output
Priority: ➖ Normal Estimated code review effort: 3 (Moderate) | ~20 minutes Change: Bug fix · Severity of issue fixed: Medium Merge Risk: ⚪ Minimal · up to
🚥 Pre-merge checks | ✅ 3 | ❌ 2❌ Failed checks (2 warnings)
✅ Passed checks (3 passed)
Full details: Out of Scope Changes checkExplanation The new Full details: Docstring CoverageExplanation Docstring coverage is 45.45% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 11 functions across 1 files. (4 skipped: 4 unsupported.)
✨ Finishing Touches 💡 1📝 Generate docstrings 💡
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
…on dumps Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015eWZfxrGjWj2QpwdgFwBjR
…rors Opt-in, so a plain install never blocks on a pinentry prompt. Never touches an existing store. Before db init it fails early, naming the fix, when there is no pass and no ROUNDTABLE_DB_KEY_FILE, or when pass is not initialised. If db init itself fails it prints roundtable's own error, then the command, exit code, Python, store path, key source and the common causes. CI covers create, leave-alone and the failure message in a throwaway HOME. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015eWZfxrGjWj2QpwdgFwBjR
Closes #75
What changed
--revise/--discuss/--synthesizelatest:Nnow resolves to the newest transcripts that together cover N distinct lanes, instead of the last N files. A 12-lane--panelround (one file) and a 12-lane--eachrun (12 files) are bothlatest:12; a retried lane counts once. Synthesis transcripts are skipped.latest-run.__version__ = "1.1.0"androundtable --version(minor: new flag plus a behaviour fix).install.sh --init: runsroundtable db initwhen no store exists, never touches an existing one. Verbose errors: fails early naming the fix when there is nopassand noROUNDTABLE_DB_KEY_FILE(orpassis uninitialised); ifdb initfails, prints its error plus the command, exit code, Python, store path, key source and common causes. New CI step covers create, leave-alone and the failure message in a throwaway HOME..gitignore:db restore's*.db.pre-restore-*copies and.playwright-mcp/session dumps.Tests
python3 -m unittest discover -s tests: 244 tests, OK. New tests cover a panel transcript, a retried lane, synthesis skipping, the error message and--version.test_an_answer_never_loses_to_a_later_failurenow names its two files explicitly, since both hold lane A andlatest:2correctly means two lanes.🤖 Generated with Claude Code
https://claude.ai/code/session_015eWZfxrGjWj2QpwdgFwBjR
Proudly Made in Nebraska. Go Big Red! 🌽 https://xkcd.com/2347/