Refs #189. Round 1 on #191 (codex blocking, kimi nit). codex caught that advancing the stamp to crew@4da17c4 made the attention section false. It did, and the error is mine in kind, not only in detail: a reconciliation stamp is a claim about the WHOLE file against that tree, and I audited only the ci-red surface across a 17-commit advance. That is the #187 failure mode, on the PR that closes #189. What was false at the pinned SHA, all from the crew#66 ruling (danmt, 2026-07-27) landing in d578150e: - "One wake is registry-independent, by design: attention" — no wake is exempt now. _attention_partition splits rows against the registry; OUT rows are reported and never acted on. - "the assignment is what carries the authorization — there is nothing here for a repo list to scope" — this is the position the ruling REJECTED. The cost was argued first: a cross-repo handoff now waits on an operator adding the repo, which is why an out-of-scope demand also pings the operator over the boot-gate channel rather than only reaching duty.log. - "a fix that bounds this wake to the registry would re-create the #16 incident" — that fix landed, with the ping as its mitigation. - The parenthetical calling crew's repos-default.txt header a contradiction "raised there as a discussion" — the discussion is crew#66, it was ruled, and crew's header now names the attention wake explicitly. This file was preserving the losing side of a settled question. Also in range and owned by this section: d849f166 ledgered the wake, so "a session that dies before acking is relaunched; that is the whole crash-recovery story" no longer is. Dying relaunches; COMPLETING without acking is a decline, and the ledger stops it re-firing until the issue moves. Meaning, not mechanism, so it belongs here. Re-audited the rest of the advance rather than spot-fixing: fleet.roster still declares itself the TARGET environment (the roster paragraph holds), and the roster/install commits touch role resolution inside crew, which this file does not describe. kimi's nit, which the earlier rewrite made mine: the paper inventory counted one row while the triage-signals bullet marks a second. Both are needs-ruling rows and both are now named — a number that has to be recounted every time a wake lands is the thing that went wrong. 18/18 test files; changelog_fragment_problem OK; shellcheck, self-ref and git diff --check clean. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| 167.md | ||
| 173.md | ||
| 175.md | ||
| 178.md | ||
| 180.md | ||
| 182.md | ||
| 184.md | ||
| 187.md | ||
| 189.md | ||
| README.md | ||
| shape | ||
changelog.d/ — the next release's section, one fragment per issue
Machine-assembled by bin/changelog-assemble (#112): every PR that changes
behavior writes one file here — <issue>.md, the exact prose that will be
published, nothing else — and the release PR folds them all into the next
## X.Y.Z — DATE section of CHANGELOG.md, consuming them. Distinct
filenames never conflict, which is this directory's whole reason to exist.
This README is the marker that keeps the directory tracked when it holds no
fragments (#112 D1) — changelog-armed refuses a tree without it; do not
delete it. The shape sentinel beside it declares the set's shape —
grouped here, so every fragment carries ### headings (#182).