Repository navigation
Conversation
…fier is allowed The maintainer's ruling of 2026-10-27, which #169's gate implements, reverses the commit-message half of ADR 0033's amendment of 2026-10-02. A reversal is a change of meaning, so under ADR 0068 point 2 it is a supersession: ADR 0241 supersedes that one ruling, and ModelNamedInTheRecordNotTheCommit moves to 0241's set under its key, filed unaccepted (ADR 0066). 0033's Status names the supersession, and AGENTS.md (Every commit, Never) and CONTRIBUTING.md state the ruling. The record still names the tool and the model exactly. Refs #257 Refs #169 Co-Authored-By: Claude <noreply@anthropic.com> Signed-off-by: Emil Okkels Klein <emil@okkels-klein.dk>
A section after Every commit: work starts from an issue, decisions and blockers go on it when they arise, found work is filed at once, the pull request lists every issue it touches, closings are checked after landing, and abandoned work is closed as not planned. As the prompt's note of 2026-11-10 asks, "the session" in Landing and After landing is whichever session lands: the delegate lands and checks (ADR 0239), and a cloud session posts its head, lists the issues and asks. Refs #257 Co-Authored-By: Claude <noreply@anthropic.com> Signed-off-by: Emil Okkels Klein <emil@okkels-klein.dk>
The prompts, the plan's correction from an amendment to ADR 0241's supersession, what changed and what was found (#258). The model is left for the maintainer to fill in, as ADR 0033 provides. Closes #257 Refs #169 Co-Authored-By: Claude <noreply@anthropic.com> Signed-off-by: Emil Okkels Klein <emil@okkels-klein.dk>
…in moves At both steps land.cs lists every issue a Closes, Fixes or Resolves trailer line in main..head closes, with its title, recognising a trailer as eng/issue-refs.cs does. A pull request's Completes: line is required: missing, malformed, or naming an issue no pushed trailer closes, the landing is refused, and a body it cannot read is refused too rather than skipped. A release descriptor's trailer is a commit's trailer, so it counts. After --main moves main, an issue a pushed trailer names that is still open is printed with its commit and the exit is 1; GitHub unread is 2. It closes nothing itself. Nine fixtures under tests/fixtures/land/, run by eng/ci.cs's land-fixtures job. Refs #209 Co-Authored-By: Claude <noreply@anthropic.com> Signed-off-by: Emil Okkels Klein <emil@okkels-klein.dk>
The template opens with `Completes: none` and says what the line is and that it is not a closing keyword (#108). AGENTS.md's Landing and After landing bullets name the line, land.cs's refusal and its check after main moves, so the rule and the script say the same thing. Refs #209 Co-Authored-By: Claude <noreply@anthropic.com> Signed-off-by: Emil Okkels Klein <emil@okkels-klein.dk>
…ogether Under ADR 0224 point 2 the SBOMs are created at the descriptor's date, so the two move together. --sbom runs eng/sbom.cs created at the current UTC day (or --today), replaces the sbom: block with its sbom.txt and sets date: to that day in one edit, then regenerates CHANGELOG.md. --from takes SBOMs already written and refuses them unless each was created on that day; --out says where eng/sbom.cs writes. A tagged version and a descriptor with no sbom: block are refused. --draft points at it. Gates: four fixtures under tests/fixtures/release-sbom/, run by eng/ci.cs's release-sbom-fixtures job, and a ci.yml step that rewrites the newest format-2 descriptor, renamed and backdated, in a scratch directory and requires every SBOM created at the new date and eng/sbom.cs --descriptor to match. Refs #248 Co-Authored-By: Claude <noreply@anthropic.com> Signed-off-by: Emil Okkels Klein <emil@okkels-klein.dk>
…fore landing At both steps, each release descriptor the head adds or changes is judged against the landing day (UTC): a date: more than three days earlier, or none, is refused, printing the release.cs --sbom command that writes the digests and the date again. Three fixtures join tests/fixtures/land/: four days refused, three days passing, no date refused. Refs #248 Co-Authored-By: Claude <noreply@anthropic.com> Signed-off-by: Emil Okkels Klein <emil@okkels-klein.dk>
docs/releases.md rule 3, amended 2026-11-10 with the old text struck and kept, and rule 11's "written, not typed" naming release.cs --sbom. ADR 0102 gets a dated amendment, add-only, saying the same, since rule 3 restates its line on date; no ruling changes, and ADR 0224 is untouched. AGENTS.md's close-out names the command and land.cs's refusal. Refs #248 Co-Authored-By: Claude <noreply@anthropic.com> Signed-off-by: Emil Okkels Klein <emil@okkels-klein.dk>
…s its digests Closes #248 Co-Authored-By: Claude <noreply@anthropic.com> Signed-off-by: Emil Okkels Klein <emil@okkels-klein.dk>
The three pull requests and their order, ADR 0241 and ADR 0102's amendment, the issues opened, closed and touched, the fixture counts, the questions for the maintainer, and #258 deferred. Refs #257 Refs #209 Refs #248 Co-Authored-By: Claude <noreply@anthropic.com> Signed-off-by: Emil Okkels Klein <emil@okkels-klein.dk>
Refs #209 Signed-off-by: Emil Okkels Klein <emil@okkels-klein.dk>
Refs #248 Signed-off-by: Emil Okkels Klein <emil@okkels-klein.dk>
The maintainer's decision on #230 (accepted as written on 2026-11-06), with his review of 2026-11-11 folded in: the four open questions settled (a reserved header byte as the unstable-build marker, stable tags cut by a workflow on request, packages and SBOMs only, the chain# namespace) and seven additions (landing trains, a pinned gate, bounded trial merges, stable implies accepted, no squash for chain branches, ADR numbers at landing as a step of its own, chain branches opt-in). Each is marked as settled in review, and a table lists every difference from the issue's text. Thirteen keys, filed unaccepted (ADR 0066). Dated amendments to 0088 (main moves by fast-forward, a merge commit made on a branch counts, and a train is one checked head) and to 0102 (chain builds are outside a release's scope, and the release workflow refuses chain/*). Numbered 0243: open pull requests hold 0240, 0241 (twice, #278) and 0242. Refs #277 Closes #230 Co-Authored-By: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01NbWSYNzDrbT3ENstGnmH3N Signed-off-by: Emil Okkels Klein <emil@okkels-klein.dk>
Refs #230 Co-Authored-By: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01NbWSYNzDrbT3ENstGnmH3N Signed-off-by: Emil Okkels Klein <emil@okkels-klein.dk>
…nder The maintainer's review of #281, 2026-11-11: land.cs and agent review run git merge-tree under the same settings. Attributes come from the train so far, never from a working tree, with the global and system files off; renames are fixed; a repository-local info/attributes refuses the train. A tree mismatch from a different git refuses the train too. `git merge-tree` reads the working tree's .gitattributes: a merge=union attribute there turned a conflict into a clean merge in a test, so the lander's checkout and the judge's could otherwise disagree. Refs #230 Refs #277 Co-Authored-By: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01NbWSYNzDrbT3ENstGnmH3N Signed-off-by: Emil Okkels Klein <emil@okkels-klein.dk>
The maintainer's decisions of 2026-11-11, recorded
New head The full Generated by Claude Code |
|
Completes: #230
What this changes, and why
Step 0 of the chain-builds work. This is the ADR for #230, with the maintainer's review of 2026-11-11 folded in.
It is stacked on #261 (which stacks on #260 and #259), so it lands after them. Its own commits are the last two:
743af6aand5a4850b. It stacks there for two reasons:its note on ADR 0102 follows A release descriptor's date follows its digests: release.cs --sbom, and land.cs's three days (#248) #261's amendment;
step 1 (Landing trains: several approved heads land in one run #277) extends land.cs: closing trailers checked before a push and after main moves (#209) #260's closing-trailer check.
docs/adr/0243-chain-builds-ahead-of-main.md. This is ADR proposal: chain builds ahead of main (feature tree, chain builds, path-encoded versions) #230's text with:.nupkgfiles and SBOMs only;https://w3id.org/varve/chain#;Each settled question and addition is marked settled in review, 2026-11-11. A table, Differences from ADR proposal: chain builds ahead of main (feature tree, chain builds, path-encoded versions) #230, lists every place where the review's ruling replaces the issue's text.
docs/decisions/chain-builds-ahead-of-main.md: thirteen keys, all unaccepted (ADR 0066). This session is a cloud session, not the delegate (ADR 0239).Dated amendments, unaccepted:
mainmoves only by fast-forward; a merge commit made on a branch counts as an ordinary commit; a chain branch never lands by squash; a train is one checked head.chain/*; a release may ride last in a train.docs/adr/README.mdrows, and the traceability record.Number 0243. Open pull requests already hold 0240 (#268), 0241 (#259, and also #264, filed as #278) and 0242 (#267).
What was measured
eng/ci.cs --only decision-sets: pass (220 sets, 1,528 decisions).eng/issue-refs.cs: 13 commits reference an issue, and every closing keyword is a trailer.eng/dco.cs: every commit is signed off.What was found
main. It is in AGENTS.md: issues are the work log; ADR 0241, a commit message never names a model (#257) #259, which this stacks on. The session followed it.What is left
CS0618until you accept them. Is that what you want, or should acceptance come on this pull request first?Head:
5a4850b7.Checklist
Refson each commit, andCloses #230on the ADR's commit.docs/spec/storage-format.mdchanges in step 3.docs/traceability/2026-11-11-issue-230-chain-builds-ahead-of-main.md.dotnet run eng/ci.cspasses locally: only the process gates were run. Red onCS0618is not expected, because nothing cites the new keys yet.Generated by Claude Code