docs(remediation): bank D-51 — merged, closed, and the running tool is still broken

#1032 merged 58b971ab and #1019 closed, both verified by property. RM-03 is delivered to main. And the
guard that actually executes on this host is unchanged: installed 291 lines with ZERO occurrences of
ASSERTED_NOT_READY, main 482 lines with five. Differing SHA-256. Measured, not inferred — the installed
guard contains none of the tri-state logic.

This is the install-drift disease the postmortem indicts, caught in the act on the mission's own fix.
Every completion signal is green — merged PR, closed issue, terminal CI, merge-gate GO — and the defect
is still live in the thing that runs. D-23's origin was an assumed-propagated-but-didn't guard; this is
that origin reproduced by the delivery of its own remedy.

Merge is not delivery for tool changes. Rules banked from Mos: propagate only via the canonical path
(mosaic upgrade / deploy pipeline), never a hand-copy that could diverge while appearing to fix it; the
installed guard stays zero-information until re-sync, so every state=unknown exit 0 this mission logged
remains correctly uncited; and on re-sync VERIFY THE PROPERTY by running the installed guard against a
known-red pipeline to confirm it exits non-zero and blocks. Closing this by assuming the upgrade worked
would reproduce D-23 a third time.

Generalises: every framework/tool change this mission delivers has the same main-to-installed gap. It
belongs on the completion checklist for tool-affecting tasks and mechanically on RM-63 — the same
systemd-service architecture that mechanises rotation also mechanises propagation.

Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
This commit is contained in:
mos-dt-0
2026-08-01 13:57:24 -05:00
co-authored by Claude Opus 5
parent 1aedf32523
commit 33caf78744
2 changed files with 50 additions and 11 deletions
+11 -11
View File
@@ -16,14 +16,14 @@
## In-flight
| Task | Owner | State |
| ------------------- | -------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| RM-01 checkout | — | **MERGED** `f58b3699` (#1027) |
| RM-03 queue guard | **MOS** | **GATE-READY @ `868b9b87`** (freshened; D-50 staleness). review **74 APPROVED**, CI 2199 **9/9**, **the guard can now FAIL** (production-proven exit 3). Merge-gate assigned; Jason approval STANDING |
| RM-02 registry ★key | **coder-mos2** | **Round 4 dispatched** @ `fbb61912` (3rd NO-GO). Blockers 2+3 + **(d)-strict** history removal per Jason INCREMENT. **NO 4th anchor — RM-60 is the anchor, tracked.** f10-coder parked read-only as reference |
| RM-61 CI exemption | — | ✅ **MERGED** `f4fd5967` (#1033). #1034 closed; **#1000 stays OPEN** (retirement trigger). Exemption is on `main` |
| RM-59 / RM-60 | Jason (infra) | tracked deps; RM-60 option **B** |
| #1023 queue attempt | Jason | SUPERSEDED-PENDING-JASON — live REQUEST_CHANGES, do **not** merge |
| Task | Owner | State |
| ------------------- | --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| RM-01 checkout | — | **MERGED** `f58b3699` (#1027) |
| RM-03 queue guard | Jason (re-sync) | **MERGED** `58b971ab` (#1032), #1019 closed. ⚠ **NOT DELIVERED**: installed guard still the broken one (291 lines / 0 `ASSERTED_NOT_READY` vs main 482 / 5). Re-sync via `mosaic upgrade`, then **prove it blocks a KNOWN-RED pipeline****D-51** |
| RM-02 registry ★key | **coder-mos2** | **Round 4 dispatched** @ `fbb61912` (3rd NO-GO). Blockers 2+3 + **(d)-strict** history removal per Jason INCREMENT. **NO 4th anchor — RM-60 is the anchor, tracked.** f10-coder parked read-only as reference |
| RM-61 CI exemption | — | ✅ **MERGED** `f4fd5967` (#1033). #1034 closed; **#1000 stays OPEN** (retirement trigger). Exemption is on `main` |
| RM-59 / RM-60 | Jason (infra) | tracked deps; RM-60 option **B** |
| #1023 queue attempt | Jason | SUPERSEDED-PENDING-JASON — live REQUEST_CHANGES, do **not** merge |
### For the incoming orchestrator — read this before acting
@@ -31,8 +31,8 @@
three times in one session by duplicating that table (D-26's class). Read the table. ⚠ **And
re-derive any board claim from the provider before load-bearing use (D-43)** — the board is
sole-written and has no independent verifier.
2. **`docs/remediation/TASKS.md` is authoritative**, not the newest voice in a chat. It holds 51 findings
(D-1…D-6 in `BOARD-LEDGER.md`, D-7…D-50 + D-38c in TASKS.md), every ruling with its rationale, and the
2. **`docs/remediation/TASKS.md` is authoritative**, not the newest voice in a chat. It holds 52 findings
(D-1…D-6 in `BOARD-LEDGER.md`, D-7…D-51 + D-38c in TASKS.md), every ruling with its rationale, and the
requirements each finding placed on RM-02/RM-34/RM-50/RM-55.
3. **`MISSION.md` carries the first-class principles** — read them there, they are not listed here.
Two added 2026-08-01: **the anchor must live outside the audited party's authority** (D-19/D-25/D-45,
@@ -78,6 +78,6 @@ Roster rolled verbatim to [`BOARD-LEDGER.md`](./BOARD-LEDGER.md); live truth is
## Decisions log — full record in [`TASKS.md`](./TASKS.md)
All 51 findings (D-1…D-6 in `BOARD-LEDGER.md`, D-7…D-50 + D-38c in `TASKS.md`) and every ruling with
All 52 findings (D-1…D-6 in `BOARD-LEDGER.md`, D-7…D-51 + D-38c in `TASKS.md`) and every ruling with
its rationale live there. **Not duplicated here.** The history of _why_ this board must not restate —
six stale copies across two seams — is rolled verbatim into [`BOARD-LEDGER.md`](./BOARD-LEDGER.md).
+39
View File
@@ -586,6 +586,45 @@ is that discipline without a mechanism eventually fails."_
> a failed round **or by a lucky manual sweep.** Interim: both coordinator and orchestrator sweep — and
> **the mechanism retires the sweep.**
### D-51 — the fix is merged, the issue is closed, and the RUNNING TOOL IS STILL BROKEN
`#1032` merged (`58b971ab`), `#1019` closed, both verified by property. **RM-03 is delivered to `main`.**
And the guard that actually executes on this host is unchanged:
| artifact | lines | `ASSERTED_NOT_READY` |
| -------------------------------------------- | ----- | -------------------- |
| `main:.../tools/git/ci-queue-wait.sh` | 482 | **5** |
| **installed** `~/.config/mosaic/tools/git/…` | 291 | **0** |
**The installed guard contains NONE of the tri-state logic.** Measured, not inferred: differing SHA-256,
191 fewer lines, zero occurrences of the marker the fix is built around.
> **★ THIS IS THE INSTALL-DRIFT DISEASE THE POSTMORTEM INDICTS, CAUGHT IN THE ACT ON THE MISSION'S OWN
> FIX.** A correct fix on `main` that never reaches the running tool. Every completion signal is green —
> merged PR, closed issue, terminal CI, merge-gate GO — and **the defect is still live in the thing that
> actually runs.** D-23's origin was an assumed-propagated-but-didn't guard; this is that same origin
> reproduced by the delivery of its own remedy.
**MERGE IS NOT DELIVERY FOR TOOL CHANGES.** The propagation is a **required delivery step**, tracked,
not a consequence of merging.
**Rules (Mos, 2026-08-01):**
1. **Canonical path only**`mosaic upgrade` / the deploy pipeline. **NOT a hand-copy**, which can
diverge and would reintroduce drift while appearing to fix it. (Likely needs Jason's gated
`mosaic upgrade`; Mos is flagging it.)
2. **The installed guard stays ZERO-INFORMATION until re-sync** — keep recording it as such. Every
`state=unknown exit 0` this mission has logged remains correctly uncited.
3. **★ ON RE-SYNC, VERIFY THE PROPERTY, DO NOT ASSUME PROPAGATION.** Run the **installed** guard against
a **KNOWN-RED** pipeline and confirm it exits **non-zero and BLOCKS**. _Assumed-propagated-but-didn't
is exactly D-23's origin_ — closing this finding by assuming the upgrade worked would reproduce it a
third time.
**Generalises beyond this guard:** any framework/tool change delivered by this mission has the same gap
between `main` and the installed surface. Belongs on the completion checklist for every tool-affecting
task, and mechanically on **RM-63** (systemd-managed services re-seeded on restart) — the same
architecture that mechanises rotation also mechanises propagation.
### D-50 — a GO has a SHELF LIFE: a gate-ready PR held too long goes stale under main drift
`#1032` (RM-03, the queue-guard fix) carried **review 66 APPROVED and a merge-gate GO, both bound to