docs: multi-track sprints PRD + sprint plan#296
Conversation
Add prd-2026-07-multi-track-sprints.md: replace the global single-active-sprint singleton with a component-partitioned model — multiple disjoint-scope tracks active at once, single-track behavior byte-identical. Plan the 2026-07-multi-track-sprints sprint, ordering Phase 0→3 into parallel-safe batches. Key finding: the singleton is a durable capability contract (spec/capabilities.md:28/:69/:7), so its amendment is human-gated via spec-grill (#294), gating the SKILL/process prose flip. Epic #289 (children #290-#295); dev-relay coordination #954. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
Warning Review limit reached
Next review available in: 31 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
✨ Finishing Touches🧪 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 |
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
…esOverlap, schema-bump atomicity) Independent + self review of the issue set (#289-295, dev-relay #954-957) surfaced three cross-cutting gaps in the PRD; sync the design doc to the hardened issues: - G4 "byte-identical" pinned to human-readable TEXT output; the --json surface changes by design (schema_version 1->2) with back-compat via the retained active_sprint field (R5), not byte-identity. - Scope-overlap defined once as scopesOverlap() in lib.js, consumed by sprint-state / sprint-init / backlog-doctor (no divergent checks). - Schema-bump atomicity: raising SCHEMA_VERSION breaks sprint-mirror.js:87's guard on the single-track path; the guard update lands in the same PR. Also record the review pass in the sprint Progress log. Refs #289. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The tracker-adapter refactor (#279-#288, esp. #286) landed on main after this PRD was authored against 2655f12, shifting line numbers in sprint-init.js, sprint-state.js, backlog-doctor.js, sprint-mirror.js, sprint-close.sh, and lib.sh (logic unchanged). Refresh the §2 enforcement inventory and §5.2 to current main and add a base note: anchor by symbol/message, not line number; the multi-track design is orthogonal to the tracker adapter. Refs #289. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…-only) The repo already has an active sprint (2026-07-tracker-local-cycle, mid-flight until 2026-07-15) from the parallel tracker-adapter work. Landing a second status:active sprint violates the current single-active invariant and fails the live backlog-doctor smoke test — which is precisely the constraint this design removes, not yet in effect. Keep this PR to the design doc (safe, no invariant impact). The multi-track execution-hub sprint is re-added once the tracker sprint closes, or once #291–#293 land and make disjoint-scope concurrent tracks legal. Tracking lives in epic #289 + the milestone meanwhile. Refs #289. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Held out of #296 because a second active sprint was illegal pre-#293; the tracker-adapter sprint has since closed (1d47692), so this returns as the sole active track. Content from 78981eb, refreshed: #290/#291/ #293 ticked with their merged PRs, Running Context notes the shared scopesOverlap contract and the G4 anchor, Progress records the landings. Refs #289. Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Summary
Design + execution plan for replacing dev-backlog's global single-active-sprint invariant with a component-partitioned model: multiple disjoint-scope sprint tracks may be
status: activeat once. "Multiple active sprints" stops being an error and becomes a portfolio. Single-track behavior stays byte-identical (back-compat gate).docs/prd-2026-07-multi-track-sprints.md(decisions D1–D4 resolved in §9).backlog/sprints/2026-07-multi-track-sprints.md— Phase 0→3 ordered into parallel-safe batches;backlog-doctorpasses.Key finding
The singleton is a durable capability contract (
spec/capabilities.md:28/:69/:7), not just SKILL prose — so its amendment is human-gated via spec-grill (#294), which gates the SKILL/process prose flip (#295). Charter O1 ("single execution state") is compatible.Tracking
append-learnings.js; rest is prose).This PR lands the design + plan only. No behavior change yet — implementation starts at #290 (test-first RED gate).
🤖 Generated with Claude Code