You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Complete the production carry replay so each new upstream nightly is built from a small, ordered set of maintained downstream patches instead of replaying an ever-growing historical downstream chain.
The initial contract has six groups, applied in this order: Upstream bugfixes, Tooling, Build & CI, Resumable Actions, Legacy Sidebar, and Incubator. Tooling owns checkpoint and carry orchestration plus general maintenance. Build & CI owns dependency setup, CI orchestration, packaging, and build verification. Feature tests remain with their feature owner, while upstream portability fixes belong in Upstream bugfixes. The full integrated result is validated as one stack; independent group builds are not required. Ordinary small PRs remain short-lived and must enter the owning group automatically, with repairs folded into that group and upstream provenance retained across generations.
Acceptance checklist
Persist each carry generation's upstream base, source, ownership, and upstream-fix provenance in a deterministic replay input.
Apply carry deltas to a changed upstream base without overwriting unrelated upstream changes; retain understandable conflict recovery.
Automatically incorporate new LastCode PRs and repairs, including meaningful ownership for shared files and deliberate Incubator placement where separation is unreasonable.
Enforce source-commit ownership in required CI before merge: validate the exact PR base/head range with the guarded-delivery rules, reject missing/invalid groups and nonlinear source history, and prevent disabling an already-active gate through PR manifest changes. Review still checks whether the selected ownership is meaningful.
Preserve immutable publication, revision deduplication, concurrent-main protection, and retained recovery behavior while keeping Build & CI ownership clear for dependency setup, CI orchestration, packaging, and build verification.
Resolve the observed rerere lock interaction and add focused coverage for it, plus rename/deletion, mixed-file, and upstream-fix reconciliation cases.
Keep historical replay explicitly selectable during rollout with a recorded reason; retire it only after the agreed production lifecycle has succeeded.
Observe a real checkpoint using compact replay, verify its package, and verify a subsequent checkpoint still uses compact replay with no unresolved carry defect.
Descriptive carry notes
Lightweight descriptive notes are part of the initial scope. Attach concise rationale and prior-resolution evidence to the relevant carry group or fix, together with applicability, source/upstream context, and supersession or reconciliation status. Link detailed history to the relevant GitHub PRs, commits, or issues (including the carry-set foundation in PR #149 and shadow reconstruction in PR #171). These notes are informational context for maintainers; they do not prescribe replay behavior, create a standalone notes framework, or add an operator step.
Public code starting points include scripts/lastcode-carry-set.ts, scripts/lastcode-carry-set.test.ts, scripts/lastcode-checkpoint.ts, scripts/lastcode-carry-set.json, and docs/lastcode/nightly-workflow.md.
Implementation status
PR #210 merged as 584b384b8a5e2766c4aa513125085448e25ca8db after exact-head Quick CI, GitHub CI, and handled review.
The first production carry revision is lastcode/revision/v0.0.39-nightly.20260905.1290.2, commit 16115406ac86bd5d78146110619602e127e8424d. Its tag records Replay-Mode: carry and the merged PR as its source. It has exactly six ordered commits, automatically folds PR #210, and preserves every one of the 282 bootstrap records. It now contains 301 contribution records across the six groups.
Package validation passed for this exact revision; build tag lastcode/build/v0.0.39-nightly.20260905.1290.2.1 records commit 16115406ac86bd5d78146110619602e127e8424d. Upstream 1291 reached compact replay (six commits) but retained an import conflict for normal maintenance recovery. That run also exposed an output-buffer limit in recovery fingerprinting, fixed by merged PR #211 (90313e56d82f2ebff196d09860c7b7f4f6552921). The maintenance recovery is incorporating that new source commit and reselecting 1291; the source guard correctly rejected its earlier selection. The full rollout proof still requires newer upstream checkpoints around normal PR incorporation and a successful package. Historical replay remains available until that lifecycle is proven; this issue remains open.
Goal
Complete the production carry replay so each new upstream nightly is built from a small, ordered set of maintained downstream patches instead of replaying an ever-growing historical downstream chain.
The initial contract has six groups, applied in this order: Upstream bugfixes, Tooling, Build & CI, Resumable Actions, Legacy Sidebar, and Incubator. Tooling owns checkpoint and carry orchestration plus general maintenance. Build & CI owns dependency setup, CI orchestration, packaging, and build verification. Feature tests remain with their feature owner, while upstream portability fixes belong in Upstream bugfixes. The full integrated result is validated as one stack; independent group builds are not required. Ordinary small PRs remain short-lived and must enter the owning group automatically, with repairs folded into that group and upstream provenance retained across generations.
Acceptance checklist
Descriptive carry notes
Lightweight descriptive notes are part of the initial scope. Attach concise rationale and prior-resolution evidence to the relevant carry group or fix, together with applicability, source/upstream context, and supersession or reconciliation status. Link detailed history to the relevant GitHub PRs, commits, or issues (including the carry-set foundation in PR #149 and shadow reconstruction in PR #171). These notes are informational context for maintainers; they do not prescribe replay behavior, create a standalone notes framework, or add an operator step.
Public code starting points include
scripts/lastcode-carry-set.ts,scripts/lastcode-carry-set.test.ts,scripts/lastcode-checkpoint.ts,scripts/lastcode-carry-set.json, anddocs/lastcode/nightly-workflow.md.Implementation status
PR #210 merged as
584b384b8a5e2766c4aa513125085448e25ca8dbafter exact-head Quick CI, GitHub CI, and handled review.The first production carry revision is
lastcode/revision/v0.0.39-nightly.20260905.1290.2, commit16115406ac86bd5d78146110619602e127e8424d. Its tag recordsReplay-Mode: carryand the merged PR as its source. It has exactly six ordered commits, automatically folds PR #210, and preserves every one of the 282 bootstrap records. It now contains 301 contribution records across the six groups.Package validation passed for this exact revision; build tag
lastcode/build/v0.0.39-nightly.20260905.1290.2.1records commit16115406ac86bd5d78146110619602e127e8424d. Upstream 1291 reached compact replay (six commits) but retained an import conflict for normal maintenance recovery. That run also exposed an output-buffer limit in recovery fingerprinting, fixed by merged PR #211 (90313e56d82f2ebff196d09860c7b7f4f6552921). The maintenance recovery is incorporating that new source commit and reselecting 1291; the source guard correctly rejected its earlier selection. The full rollout proof still requires newer upstream checkpoints around normal PR incorporation and a successful package. Historical replay remains available until that lifecycle is proven; this issue remains open.