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
+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