-
Notifications
You must be signed in to change notification settings - Fork 0
chore: re-add multi-track sprint file as sole active (#289) #306
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. Weβll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,45 @@ | ||
| --- | ||
| milestone: 2026-07 multi-track sprints | ||
| status: active | ||
| started: 2026-07-11 | ||
| due: TBD | ||
| objectives: [O1] | ||
| component: "sprint-execution" | ||
| --- | ||
|
|
||
| # multi-track-sprints | ||
|
|
||
| ## Goal | ||
| Replace the global single-active-sprint invariant with a component-partitioned model β multiple disjoint-scope tracks active at once β with single-track behavior byte-identical. Tracked by epic #289; design in `docs/prd-2026-07-multi-track-sprints.md`. dev-relay coordination is a separate repo epic (`sungjunlee/dev-relay#954`). | ||
|
|
||
| ## Plan | ||
|
|
||
| ### Batch 1 β RED gate (test-first) | ||
| - [x] #290 Phase 0: multi-track RED gate β evals + smoke fixtures β PR #297 (merged) | ||
|
|
||
| ### Batch 2 β Resolver foundation | ||
| - [x] #291 Phase 1a: scope: frontmatter + portfolio-aware read resolvers β PR #300 (merged) | ||
|
|
||
| ### Batch 3 β Behavior (parallel-safe: disjoint files) | ||
| - [ ] #292 Phase 1b: sprint lifecycle track-awareness (init/close/mirror) | ||
| - [x] #293 Phase 1c: backlog-doctor active_sprint β scope-disjointness check β PR #305 (merged) | ||
|
|
||
| ### Batch 4 β Spec amendment (HUMAN-GATED) | ||
| - [ ] #294 Phase 1e: amend capabilities.md singleton invariant | ||
|
|
||
| ### Batch 5 β Docs + contract | ||
| - [ ] #295 Phase 3: docs + integration-contract schema_version β 2 | ||
|
|
||
| ## Running Context | ||
| - Design + decisions frozen in `docs/prd-2026-07-multi-track-sprints.md` (Β§9 D1βD4 resolved). | ||
| - The singleton is a durable capability contract, not just SKILL prose: `spec/capabilities.md:28` (sprint-execution invariant), `:69` (backlog-sync/sprint-mirror), `:7` (component single-slug). Amendment is human-gated via spec-grill β tracked as #294, which gates the SKILL/process prose flip in #295. | ||
| - Charter O1 ("single execution **state**") is about shared state, not sprint count β compatible with multi-track, but its wording is a candidate for a human-gated clarification alongside #294. Do not silently amend the charter. | ||
| - dev-relay coupling is shallow: the only hard code-level singleton is `append-learnings.js:resolveActiveSprint` (dev-relay#955); the rest is prose (dev-relay#956) + an indirect fleet fail-loud (dev-relay#957). `sprint-close-report.js --sprint <path>` is the agnostic pattern to replicate. | ||
| - Back-compat is the merge gate for Batch 2β3: single-active output must stay byte-identical (PRD G4). The G4 anchor lives in smoke-test.sh (single-track doctor/next.sh text; never snapshot --json). | ||
| - `scopesOverlap()` in `scripts/lib.js` is the ONE overlap predicate β sprint-state and backlog-doctor consume it; #292's sprint-init refusal must import it too, never re-implement. | ||
| - This sprint file was held out of #296 (a second active sprint was still illegal pre-#293) and re-added 2026-07-12 as the sole active after the tracker-adapter sprint closed. | ||
|
|
||
| ## Progress | ||
| - 2026-07-11: sprint planned. Epic #289 + children #290β#295 filed; dev-relay epic #954 + #955β#957 filed. Design doc landed in docs/ (uncommitted). | ||
| - 2026-07-12: Batches 1β2 landed while the sprint file was held: #290 RED gate (PR #297), #291 Phase 1a resolvers (PR #300) β sprint-state schema 2, portfolio + --track/--component, scopesOverlap in lib.js. | ||
| - 2026-07-12: #293 Phase 1c landed (PR #305) β doctor scope-disjointness with per-track fan-out; GATE_MT_DISJOINT/GATE_MT_OVERLAP enforced, smoke 172/172, 0 xfail; single-active output verified byte-identical. Sprint file re-added as sole active. | ||
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
When the #294 spec amendment is picked up from this active sprint, these anchors send the reader to the wrong contracts in the current tree:
spec/capabilities.md:28is intracker-task-truth, while the sprint-execution singleton is at line 69, and:69is not the backlog-sync/sprint-mirror contract, which is at line 111. Since this line is the handoff for a human-gated amendment, please update the anchors or remove the brittle line numbers so the spec pass edits the intended blocks.Useful? React with πΒ / π.