chore(panel): cut debug noise from panel render path#198
Conversation
Five sites that printed dev-debug per panel run, all of which expanded the crash surface for free (each was a new bracket-bearing dynamic interpolation site): - peer_review.py:565 — "Looking for judge_X: <path> (exists: ...)" probe per judge. Pure dev debug. - peer_review.py:567 — per-judge "Decision file not found" warning. Same info is now in the panel summary's missing-judges callout, with one consolidated line instead of N warnings. - peer_review.py:611-613 — split "Fetching existing comments" / "Found N existing comments" collapsed to one line with the count. - peer_review.py:498-500, 824-826 — "Resuming N judges" header + a "→ Judge Label" line per judge. Collapsed into one comma-joined line. - judge_panel.py:708-714 — separate "PR lens breakdown" + per-judge "Skipping X — no files in lens" lines consolidated into one line. What stays on the panel render after this: phase headers, one progress line per judge, the final summary. What used to leak — decision-path probes, per-comment-fetch debug, per-judge label dumps — is gone. Pairs with PR #197 (MarkupError chokepoint) but reduces actual surface area instead of just making it crash-proof. Each line removed is one fewer dynamic-interpolation site that can carry untrusted brackets. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (2)
📜 Recent review details🔇 Additional comments (7)
WalkthroughJudge panel file-routing and peer review flows consolidate their logging output: judge panel filters accumulate skipped judges and emit a single summary; peer review resume flows print comma-joined labels instead of per-label messages; decision aggregation silently skips missing files and comment fetching uses unified logging. ChangesLogging and messaging consolidation across judge panel and peer review flows
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. Comment |
Summary
Removes 5 dev-debug print sites that leaked into the panel render path over the last 2 weeks. Each one was both noise on the operator's terminal AND a new dynamic-interpolation surface that could carry untrusted brackets through Rich.
Looking for judge_X: <path> (exists: ...)) — gone→ Labellines — collapsed (PR + branch paths)Why
Discussion with operator surfaced the pattern: every recent feature added "just one print, the operator should see this" via
console.printorprint_info. There's nolog.debugdiscipline, so dev-debug ended up on the live panel. Result: noisy panel render AND each new print is a new MarkupError-trip site.Pairs with #197 (chokepoint) — that one makes prints crash-proof, this one cuts the prints that were never operator-facing to begin with.
Test plan
cube prv <pr>— visually confirm: phase headers + one line per judge progress + summary. No probe lines, no per-judge missing-decision warnings, no split fetch/found lines.🤖 Generated with Claude Code
Summary
Removes five debug print statements from the panel render path to reduce terminal noise and the attack surface for markup injection via Rich:
judge_panel.py (~9 lines added, 2 removed):
print_infoline showing lens breakdown plus skipped judges (if any), rather than per-judge skip logging.peer_review.py (~11 lines added, 14 removed):
print_infocall with count, replacing prior dim/console output.The remaining panel output is now: phase headers, one progress line per judge, and the final summary. No probe lines, per-judge missing-decision warnings, or split fetch/found lines.
Pairs with PR
#197(which hardens remaining prints) by eliminating unnecessary prints instead of just securing them.