2026-07-27 18:46:10 +00:00
|
|
|
### Changed
|
|
|
|
|
|
|
|
|
|
- `BUILDER.md` gates both review-request points on a green check at the
|
|
|
|
|
head, carries crew#45's argued exception for failures outside the PR,
|
|
|
|
|
and states the ruled classification: cancelled and stale are not a
|
|
|
|
|
green head; skipped and neutral are (#189).
|
|
|
|
|
- `BUILDER.md` documents CI-red recovery in pickup precedence: a red head
|
|
|
|
|
of your own PR is picked up before claiming another issue, is never a
|
|
|
|
|
parked claim, and follows crew#17's recovery path (#189).
|
|
|
|
|
- `FLEET.md` writes the ci-red wake into the duty order between resume
|
docs(fleet): ci-red is deployed engine — advance the stamp to crew@4da17c4
Refs #189 — the post-merge, triage-owned task, now reachable: heavy-duty/crew#64
merged at 4da17c49594c2d86bd3793fa3567846cbca38e90.
#190 wrote the ci-red wake into FLEET.md deliberately marked on paper, per this
file's convention for a spec that is not yet running, and left the reconciliation
stamp at crew@01fb49c because advancing it to a SHA that did not carry the wake
would be the drift #187 exists to remove. crew#64 has merged, so both halves flip:
- The stamp advances to crew@4da17c4, and every crew permalink in the file with
it. A stamp and its evidence links naming different trees is worse than no
stamp: the reader diffs the wrong engine and finds no drift because the tree
they were pointed at is the one the prose was written against.
- The four on-paper markers go: the duty-order caveat, the ci-red bullet's
parenthetical, the Build bullet's "once ci-red deploys", and the closing
paper inventory — which now names one remaining paper wake, the notifier's
needs-ruling queue, not two.
The Build bullet is not a pure marker removal. crew#64's last review round
changed what it has to say: the operator ruled the round gate a whitelist, so
the wake admits a green head OR one with no checks configured, and holds a red
head AND one whose check has not finished. Copying the old "never a round at a
red head" through the flip would have shipped a fresh inaccuracy on the same
commit that claims the file is reconciled. The ci-red bullet gains the matching
sentence from the other side: an unfinished check is not a red head and wakes
nothing, because nothing has failed yet.
Verified at the stamped SHA rather than assumed: duty.sh's header carries
attention → … → resume → ci-red → build (and says it is what this file is
reconciled against), shared/README.md's duty order matches, and notify.sh's
only label filter is still state:needs-human — which is what keeps the
remaining paper claim true.
18/18 test files pass; changelog_fragment_problem OK (it caught a 387-char
entry against the 300 bound, now split); shellcheck, actionlint self-ref and
git diff --check clean.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-27 21:22:07 +00:00
|
|
|
and build, now as deployed engine rather than on paper: the
|
|
|
|
|
reconciliation stamp advances to the crew SHA carrying crew#64 (#189).
|
|
|
|
|
- `FLEET.md` describes the build wake's check gate as the engine
|
|
|
|
|
implements it: a green head, or one with no checks configured, opens a
|
|
|
|
|
round; a red head and an unfinished one are held and reported
|
|
|
|
|
separately (#189).
|
docs(fleet): reconcile the attention wake too — the stamp covers the whole file
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>
2026-07-27 21:36:10 +00:00
|
|
|
- `FLEET.md` corrects the attention wake to the crew#66 ruling: the query
|
|
|
|
|
is cross-repo, the action is registry-bounded, and an out-of-scope
|
|
|
|
|
demand is reported and escalated to the operator rather than worked. It
|
|
|
|
|
no longer claims attention is exempt from the registry (#189).
|
|
|
|
|
- `FLEET.md` distinguishes an attention session that dies before acking,
|
|
|
|
|
which relaunches, from one that completes without acking, which is a
|
|
|
|
|
decline a ledger keeps from re-firing (#189).
|
2026-07-27 19:53:59 +00:00
|
|
|
- `BUILDER.md` re-requests by head, not by verdict: a push while
|
|
|
|
|
answering a round stales every approval, so every panelist is
|
|
|
|
|
re-requested; only an unchanged head re-requests the non-approvers
|
|
|
|
|
alone (#190).
|