feat(workspace): name tonight's first leftover last-dropout remaining last-return tutti on the map - #1113
Conversation
… last-return tutti on the map The ready rehearsal map names leftover last-dropout remaining last-return tutti after leftover last-dropout remaining last-return so the band counts that all-in from the top. Leftover last-dropout remaining last-return that is already all-in stays leftover last-dropout remaining last-return.
|
Warning Review limit reachedNext included review available in 18 minutes. View limit detailsLimit details: You’ve used the included review currently available. You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Review configuration: ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Team Run ID: 📒 Files selected for processing (6)
📝 WalkthroughWalkthrough
Changes첫 잔여 투티 안내
Estimated code review effort: 4 (Complex) | ~45 minutes Merge Risk: 🟡 Moderate · up to The PR adds a localized rehearsal cue, but merge readiness is not yet established: the fallback message directs users to confirm the opposite state, the doctoring contract conflicts with an executable selected-role test, and the declared PR head does not match the reviewed revision. These bounded issues should be corrected or reconciled before merge. Sequence Diagram(s)sequenceDiagram
participant Workspace
participant TuttiAnalyzer
participant Localization
participant Player
Workspace->>TuttiAnalyzer: song과 activeRole로 첫 투티 구간 분석
TuttiAnalyzer-->>Workspace: 구간, remaining 역할 또는 null 반환
Workspace->>Localization: 안내 키와 구간 정보 전달
Localization-->>Workspace: 번역된 안내 문구 반환
Workspace-->>Player: 투티 진입 안내 표시
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
Full details: Docstring CoverageExplanation Docstring coverage is 63.64% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 11 functions across 5 files. (8 skipped: 8 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 |
|
Exact-current-head Predecessor reviews do not transfer. @opencode-agent review Read-only review of this unchanged SHA. Do not self-approve, update the branch, or merge. Inherited #783 npm HIGH findings stay #783-owned. |
| let reducedFrom: string | null = null; | ||
| let sittingOutIds: Set<string> | null = null; | ||
| let pendingSitOut: PendingLeftoverSitOut | null = null; | ||
| let pendingRemaining: PendingRemainingLeftover | null = null; | ||
| let pendingLastReturn: PendingLastReturn | null = null; | ||
| let pendingDropout: PendingDropout | null = null; | ||
| let pendingRemainingDropout: PendingRemainingDropout | null = null; | ||
| let pendingTutti: PendingTutti | null = null; |
There was a problem hiding this comment.
|
@opencode-agent Become the sole writer for canonical BandScope branch Fresh current-head Devin finding on the predecessor The exact test-only successor Then make the narrowest causal repair at the Run the focused selected-role regression, the full helper tests, desktop typecheck/lint/coverage-relevant suite, and applicable repository quickcheck. Commit only the regression-compatible source repair to this same branch. Report the successor exact SHA and exact RED/GREEN evidence. Do not resolve the Devin thread until the successor exact-head regression is GREEN; predecessor approvals/checks do not transfer. |
|
@opencode-agent Exact-head repair request for Apply receiving-code-review + systematic debugging + TDD. The current-head Devin findings are valid against the source: (1) the existing RED regression Also verify and fix the current CodeRabbit findings on this exact head: the English missing-copy currently tells the user to confirm the opposite state ( Obtain focused RED→GREEN and full desktop/typecheck/lint evidence; then allow exact-head CI/security/coverage/review gates to re-materialize. Resolve only threads whose finding is actually addressed. Do not self-approve, force-push, weaken gates, mutate central |
| if (activeRole && !selectedPartBelongs(pending, activeRole)) { | ||
| pendingTutti = null; | ||
| if (sittingOut.length === 0) { | ||
| reducedFrom = null; | ||
| sittingOutIds = null; | ||
| } else { | ||
| reducedFrom = sectionLabel; | ||
| sittingOutIds = new Set(sittingOut.map((node) => node.roleId)); | ||
| } |
There was a problem hiding this comment.
| const originalSitOutIds = new Set(pendingRemaining.originalSitOutIds); | ||
| if (sittingOut.some((node) => !originalSitOutIds.has(node.roleId))) { | ||
| pendingRemaining = null; | ||
| reducedFrom = sectionLabel; | ||
| sittingOutIds = new Set(sittingOut.map((node) => node.roleId)); | ||
| continue; |
There was a problem hiding this comment.
|
@opencode-agent Review the unchanged exact successor |
Product outcome
The ready rehearsal map names tonight's first leftover last-dropout remaining last-return tutti after leftover last-dropout remaining last-return from existing
partGraphevidence so the band can identify the later all-in and count it in from the top. This is not a come-in, tacet, leftover sit-out, leftover return, remaining leftover at leftover return, leftover last-return, leftover last-dropout, leftover last-dropout remaining, leftover last-dropout remaining last-return that is already all-in, leftover last-dropout return with nobody still out, tutti, handoff, Fine, last-line breath, a singleton leftover last-dropout, leftover last-dropout remaining last-return without a later tutti, a newly inactive role outside the original reduction cohort while a remaining return is being tracked, or a new MIR product.Exact current identity
develop@749511c3ad4000090048718f685c6bee6b3d2c25.19ae5e65468137c8c0f2bb5d8335e8ff6d3a821f.feat/workspace-first-leftover-last-dropout-remaining-last-return-tutti.Current exact scope
firstLeftoverLastDropoutRemainingLastReturnTuttiadmits a named leftover sit-out, then a later named leftover return where at least one leftover part is active and at least one remains tacet, then a later leftover last-return, then a later last-dropout cohort of at least two named parts, then a partial return from that cohort, then a remaining last-return while at least one named part is still out, then a later section where every named graph role is active.is_active, unnamed roles, incomplete transition chains, an already-all-in remaining last-return, singleton last-dropouts, and newly inactive roles outside the original reduction cohort while a remaining return is tracked fail closed or discard the current candidate and continue searching as appropriate.docs/doctoring/first-leftover-last-dropout-remaining-last-return-tutti.md.Distinct from adjacent first-X work
Verification
Current-head evidence is intentionally reset after the review repair. Predecessor-head successes do not transfer.
19ae5e65468137c8c0f2bb5d8335e8ff6d3a821f— hosted exact-head run pending.npm run typecheck --workspace @bandscope/desktopon the exact current head — hosted exact-head run pending.npm run lint --workspace @bandscope/desktopon the exact current head — hosted exact-head run pending../scripts/harness/quickcheck.shon the exact current head — required exact-head CI remains authoritative.Security Notes
Attack surface
Untrusted
RehearsalSongJSON, section labels,partGraphnodes,is_active, role ids, and role names from analysis or a reopened project.Trust boundary
The Workspace helper never opens files, URLs, IPC, WebView, subprocesses, model artifacts, or export paths. It only evaluates validated rehearsal graph evidence and returns a cue or safe failure.
Mitigations
nullor discards the invalid candidate; no filesystem/network/model authority is added.Test points
firstLeftoverLastDropoutRemainingLastReturnTutti.test.ts, selected-role search, and the Workspace callout cover the core sequence, selected-role scoping, inherited/missing flags, incomplete chains, already-all-in last-return, singleton last-dropouts, original-cohort re-drop/return, outside-cohort interruption, empty/malformed graphs, and literal copy filling.Dependency and Supply Chain
developshipped truth. This branch inherits that JavaScript baseline and does not duplicate or suppress it.i18n impact
Dependency / merge gate
Reviewer checklist
develop.