diff --git a/docs/remediation/BOARD.md b/docs/remediation/BOARD.md index c42ec0c0..fbb7a257 100644 --- a/docs/remediation/BOARD.md +++ b/docs/remediation/BOARD.md @@ -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). diff --git a/docs/remediation/TASKS.md b/docs/remediation/TASKS.md index 9cdf94dc..25c0eaf1 100644 --- a/docs/remediation/TASKS.md +++ b/docs/remediation/TASKS.md @@ -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