Repository navigation
fix(cmux): remove the Needs you sidebar section - #425
ClipboardJason wants to merge 1 commit into
Conversation
The "Needs you" section promoted a row above its PR-stage section whenever an agent was needs_input, or whenever the workspace's native cmux status happened to contain the substring "needs_input" — the latter a heuristic inaccurate enough to false-positive and pull rows out of the PR-stage section they actually belonged in, hiding them from the review-queue view the sidebar exists to give. Drop the section entirely: rowStage no longer special-cases needs_input (agentNeedsInput and nativeStatusNeedsInput are gone, dead code after their only caller), so a needs_input row now falls through to the same order every other row uses — a still-executing agent to Working, else its synced PR stage, else Waiting/Stage unknown. The per-agent icon's amber needs_input ring and tooltip are untouched; only the row-level section promotion goes. Tested: node --run verify passes (markdown:lint covers the README update). Ran the full GroundcrewSidebar Swift suite (55 tests, 6 suites) against the changed file through cmux's own SwiftViewInterpreter, then removed the copied fixtures from the cmux checkout. Replaced needsInputAgentOutranksFreshCrewStage with two tests — a needs_input row with a fresh crew_stage renders under that PR stage's section with no "Needs you" header, and a needs_input row with no PR stage lands in Waiting — both mutation-checked by reintroducing the needs_you promotion and confirming they (and only they, among the existing suite) go red. Updated the section-order test and the render-bench fixture to match. Render-cost bench: 310.4ms -> 300.9ms median (-3.0%), no regression. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QDPWP8wH2WJjTPgZzibVG2
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configuration
📒 Files selected for processing (4)
🔗 Linked repositories identifiedCodeRabbit considers these linked repositories for cross-repo context during reviews:
Included review availability: This review used your included allowance. 0 included reviews remain after this review. Your included PR review attempts over the past 7 days set your current allowance at 3 reviews per hour. 📝 WalkthroughWalkthroughNeeds-input agents no longer receive a separate sidebar stage. They remain grouped by their synced PR stage or the existing Waiting/Working fallback, while their icon retains its amber ring. ChangesSidebar stage grouping
Priority: ⬇️ Low Estimated code review effort: 2 (Simple) | ~10 minutes Merge Risk: ⚪ Minimal · up to Rows that need input now stay in their normal PR-stage or Waiting/Working section and keep their amber icon ring. No merge-blocking risk was found. 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
Full details: Docstring CoverageExplanation Docstring coverage is 44.44% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 9 functions across 3 files. (1 skipped: 1 unsupported.)
Comment |
|
Is this still relevant? If so, what is blocking it? Is there anything you can do to help move it forward? This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. |
Summary
The "Needs you" section promoted a row above its PR-stage section whenever an agent reported
needs_input, or whenever the workspace's native cmux status happened to contain the substringneeds_input. The latter is a heuristic that false-positives often enough to be inaccurate, and either path pulls a row out of the PR-stage section it actually belongs in — hiding it from the review-queue view the sidebar exists to give.This PR removes the section entirely.
Note: this was originally scoped to stack on
jason-sidebar-stack-prs(#421), which merged intomainwhile this was in progress, so it targetsmaindirectly instead. The diff is the "Needs you" removal only.What changed
contrib/cmux/groundcrew.swift:rowStageno longer special-casesneeds_input.agentNeedsInputandnativeStatusNeedsInputare deleted (dead code after their only caller), along with theneeds_youbranch ofstageBadgeColorand theneedsYoufilter/section render. A row whose agent isneeds_inputnow falls through the same order every other row uses: a still-executing agent toWorking, else its synced PR stage, elseWaiting/Stage unknown/etc.needs_inputring and tooltip are untouched — only the row-level section promotion goes.contrib/cmux/README.md: updated the section order and the prose describing live-signal row promotion to reflect the removal.Why
Pulling a row into its own section on an inaccurate signal meant a PR that's actually in, say,
Changes requestedcould silently disappear from that section and show up under a generic "Needs you" heading instead — exactly backwards from what the sidebar is for.How tested
node --run verifypasses (markdown:lintcovers the README change; this PR has no TypeScript changes).GroundcrewSidebarSwift suite (contrib/cmux/tests/) against the changed file through cmux's ownSwiftViewInterpreter: 55 tests across 6 suites pass, then removed the copied fixtures from the cmux checkout (git -C ~/Documents/work/cmux status --porcelainempty afterward).needsInputAgentOutranksFreshCrewStagewith two tests: aneeds_inputagent row with a freshcrew_stagerenders under that PR stage's section with no "Needs you" header anywhere in the output, and aneeds_inputagent row with no PR stage lands inWaiting. Mutation-checked both by reintroducing theneeds_youpromotion in a scratch copy and confirming only these two tests (plus nothing else in the suite) went red, then restored the real file.sectionsRenderInSpecifiedOrderWithHiddenEmptySections(dropped the now-impossible "Needs you (1)" header and its source workspace, added an explicit assertion that no "Needs you" header renders) and the render-bench fixture (renamed the representativeneeds_inputworkspace, which now lands inWaitinglike any other idle PR-less task).~/.config/cmux/sidebars— left that to Jason.🤖 Generated with Claude Code
https://claude.ai/code/session_01QDPWP8wH2WJjTPgZzibVG2