Skip to content

docs: multi-track sprints PRD + sprint plan#296

Merged
sungjunlee merged 4 commits into
mainfrom
docs/multi-track-sprints
Jul 11, 2026
Merged

docs: multi-track sprints PRD + sprint plan#296
sungjunlee merged 4 commits into
mainfrom
docs/multi-track-sprints

Conversation

@sungjunlee

Copy link
Copy Markdown
Owner

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: active at once. "Multiple active sprints" stops being an error and becomes a portfolio. Single-track behavior stays byte-identical (back-compat gate).

  • PRD: docs/prd-2026-07-multi-track-sprints.md (decisions D1–D4 resolved in §9).
  • Sprint: backlog/sprints/2026-07-multi-track-sprints.md — Phase 0→3 ordered into parallel-safe batches; backlog-doctor passes.

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

This PR lands the design + plan only. No behavior change yet — implementation starts at #290 (test-first RED gate).

🤖 Generated with Claude Code

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>
@coderabbitai

coderabbitai Bot commented Jul 11, 2026

Copy link
Copy Markdown

Warning

Review limit reached

@sungjunlee, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 31 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

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 configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 3a2e75c7-bd39-41fc-961c-bb60f7924ed3

📥 Commits

Reviewing files that changed from the base of the PR and between ea5dcdc and 817f04b.

📒 Files selected for processing (1)
  • docs/prd-2026-07-multi-track-sprints.md
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch docs/multi-track-sprints

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, add credits to your account and enable them for code reviews in your settings.

sungjunlee and others added 3 commits July 11, 2026 20:49
…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>
@sungjunlee sungjunlee merged commit 025cb23 into main Jul 11, 2026
2 checks passed
sungjunlee added a commit that referenced this pull request Jul 12, 2026
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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant