feat(workspace): cue the next part to sit out - #1108
Conversation
Admit leftover sit-out, leftover return with remaining leftover, leftover last-return, then a later named sit-out so the ready map can count that leftover last-dropout out from the top.
|
Warning Review limit reachedNext included review available in 16 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 (16)
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 |
|
@OpenCode Apply Fresh current-head review finding TDD/root repair on this existing branch:
|
|
Exact-head dependency handoff for |
Product outcome
After the band has fully come back in from an earlier reduction, name the next unambiguous part that sits out so the selected player knows to stay out and the rest of the band knows whom to count out. Do not relabel an absence that actually started before the completed return.
Exact current identity
develop@749511c3ad4000090048718f685c6bee6b3d2c253d52c3e1b4986194d960423b29e901d79723f219feat/workspace-first-leftover-last-dropoutCurrent repaired contract
firstLeftoverLastDropoutinternally tracks reduction → partial return → remaining absent part → completed return → later multi-part dropout. Runtime graph evidence must be own-property, complete, unique, and boolean; malformed or ambiguous evidence fails closed.A review-confirmed state defect allowed a role that had already returned to drop again while another original part remained out. The stale chain could then misclassify the continuing absence as a new post-return sit-out. The canonical branch now invalidates that stale chain whenever an inactive role lies outside the tracked remaining cohort and reseeds reduction tracking at that section.
firstLeftoverLastDropout.redropout.test.tspreserves the three-role regression.Customer-facing copy has a separate regression,
apps/desktop/src/i18n/workspaceDropoutCopy.test.ts. English and Korean now say “Next part to sit out” / “다음에 쉬는 파트”, name the relevant sections, and give a direct count-out or stay-out action. The renderedWorkspace.test.tsxexpectations use the same rehearsal wording; internalleftover/last-dropoutterminology remains implementation-only.Security / ownership boundary
This helper consumes already-loaded rehearsal data only and adds no filesystem, network, IPC, subprocess, WebView, model, export, dependency, or credential authority. Canonical dependency-security ownership remains protected
develop/ #783. No gate or dependency policy is weakened by the copy repair.Verification contract
All predecessor CI/review evidence is historical after
3d52c3e1b4986194d960423b29e901d79723f219. Repository CI/build/release/security/SAST/SBOM workflows have been freshly dispatched for this exact head and are queued at this point, so they are not passing evidence.Merge only after one unchanged exact head has every applicable repository and central CI/build/release/security/SAST/SBOM/supply-chain/coverage/review gate terminal-success, zero valid unresolved actionable findings, and a qualifying independent non-author approval under live protection. Queued, pending, skipped-required, cancelled, neutral, failed, stale, protected-base, status-only, model-only, self/author, predecessor, or administrative-bypass evidence is non-passing.