the refusal stops naming the command that refuses: #939 catch-up remedy is the one loot adopt declines (#944)
#939 shipped a guard whose remedy was `loot adopt`. Measured minutes later: in
the exact state the guard fires in, that command refuses — a catch-up finalizes
the working change (it becomes a parent of the merge, ADR 0034), and finalizing
the described change under review PR-less is the one thing adopt declines. The
guard named the #921 failure shape and then repeated it.
This is the honest repair, not the fix. The refusal and workflow.md now warn off
`loot adopt`, and name what works today: re-do a small change in a fresh lane
(one change id start to finish), or `adopt --seal-wip` + a follow-up round.
The clumsiness of the second is structural, not wording: every route out of the
post-catch-up state changes the change id the pr-map row is keyed on, so the PR
stops recognising its own work (#832 Currency::Rotated). #944 carries the three
measurements and the fix that removes the dance — gate AFTER the ferry converge,
whose carry_line keeps change ids by construction (ADR 0039) — with the land
throughput trade that makes it a decision rather than a patch. a5e4d560 · dbf3dbe6…
Renames are not followed. loot's tree maps a path to an address, so a rename is a delete and an add. This list is the history of the name, not of the bytes.