From 8cef39f924ee143319f54c896092dd710ac40cab Mon Sep 17 00:00:00 2001 From: mos-dt-0 Date: Sat, 1 Aug 2026 09:56:44 -0500 Subject: [PATCH] =?UTF-8?q?docs(remediation):=20RM-61=20MERGED;=20bank=20D?= =?UTF-8?q?-43=20=E2=80=94=20I=20inverted=20a=20board=20fact=20while=20com?= =?UTF-8?q?pressing=20to=20fit=20the=20budget?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit #1033 merged f4fd5967, verified by property: merged=true + merge commit, #1034 (delivery) CLOSED, #1000 (retirement trigger) still OPEN. The exemption is on main and RM-02 is unblocked. D-43 is mine. Compressing RM-02's board row to meet the 8KB budget, I turned "2 reviews clear" into "2 live REQUEST_CHANGES" — an inversion. Provider truth: reviews 63 and 65 are at superseded heads and live REQUEST_CHANGES at f9746b23 is empty. The real state is subtler than either wording: no live blocker AND no live approval, because the head carries no review at all. Caught only by re-deriving RM-02's state from the provider before dispatching, not by re-reading the board. I was one message from briefing f10-coder to remediate two blocking reviews that do not exist. The transferable part: this board carries a hard <8KB budget, it exceeded that budget four times in one session, and each time I shaved prose to fit. Compression IS restatement, and this board's own rule is "REFERENCE, do not restate" (D-26) because restatement is lossy every time. The budget therefore forces the exact operation the board forbids, on its most load-bearing table. I flagged that as a risk earlier in the session; it then materialised as an actual error. Rule banked: meet a size budget by ROLLING content out to BOARD-LEDGER.md, never by rewording what stays. Deleting a row and pointing at its authoritative home is safe; paraphrasing to save bytes is not. Applied immediately — this commit rolls the Decisions-log narrative out verbatim rather than trimming it, and the board is back under budget at 8096. And the deeper one, onto RM-34: the orchestrator is the board's sole writer, so nothing external checks the board against reality. Code has rev-974, gates have the merge-gate, CI has the JSON scan — the control plane has no independent verifier. Handoff validation must include re-deriving the board's claims from the provider, not merely confirming a successor can read the file. Co-Authored-By: Claude Opus 5 (1M context) --- docs/remediation/BOARD-LEDGER.md | 12 +++++++++++ docs/remediation/BOARD.md | 35 +++++++++++++++----------------- docs/remediation/TASKS.md | 34 +++++++++++++++++++++++++++++++ 3 files changed, 62 insertions(+), 19 deletions(-) diff --git a/docs/remediation/BOARD-LEDGER.md b/docs/remediation/BOARD-LEDGER.md index 05cb05ae..e44021f8 100644 --- a/docs/remediation/BOARD-LEDGER.md +++ b/docs/remediation/BOARD-LEDGER.md @@ -39,3 +39,15 @@ Running the required `ci-queue-wait.sh --purpose push` before pushing produced ` ### **D-8 / P-CONFORMANCE-001 — a PRE-REGISTERED acceptance check that was not runnable as written.** PR #1025 AC2's fixture `mkdir -p apps/*/venv/lib` creates a literal `apps/*/venv/lib` dir when the glob is unmatched — it did not test what it claimed. rev-974 ran it exactly as written, caught it, re-ran the intended assertion at an explicit path, and **disclosed** rather than silently substituting a working fixture and reporting PASS. **Pre-registration protects a check from being retrofitted to the implementation; it does not make the check correct.** An unverified gate appeared inside the mechanism built to catch unverified gates. Hard requirement on RM-02: the registry must self-verify that every registered case runs AND can fail — presence is not evidence. + + + +### Decisions log — full record in [`TASKS.md`](./TASKS.md) + +All 44 findings (D-1…D-6 in `BOARD-LEDGER.md`, D-7…D-43 + D-38c in `TASKS.md`) and every ruling with its +rationale live there. **Not duplicated here** — a second copy is a second thing to go stale, which this +board had done three times in one night (gate list, capability registry, DECISION-1 status), and three +more times by the next rotation seam (RM-61 "building", "nothing implemented yet", DECISION-1/2/3 +"must be ruled"). The rulings a fresh seat needs are items 4–7 above; they are **not** repeated here, +because that repetition is what went stale. diff --git a/docs/remediation/BOARD.md b/docs/remediation/BOARD.md index 3a94cb9f..ea72be64 100644 --- a/docs/remediation/BOARD.md +++ b/docs/remediation/BOARD.md @@ -1,6 +1,6 @@ # mos-remediation — LIVE BOARD (keep < 8 KB) -**Phase:** EXECUTING — RM-03 at owner-merge; RM-02 blocked on RM-61; RM-61 **awaiting RE-GATE (Mos)**. +**Phase:** EXECUTING — RM-03 at owner-merge; RM-61 **MERGED**; **RM-02 keystone is the front**. **Updated:** 2026-08-01 — seam crossed; successor seat resumed, attested from the files, and is driving. ⚠ That was a **MANUAL pane respawn** (prior seat ~803k tokens): it validates the checkpoint+rehydration **design**, NOT a lifecycle **mechanism** — P-LIFECYCLE rotation does not exist yet (**D-41 / RM-62**). @@ -16,21 +16,21 @@ ## In-flight -| Task | Owner | State | -| ------------------- | ------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | -| RM-01 checkout | — | **MERGED** `f58b3699` (#1027) | -| RM-03 queue guard | **Jason** | **GO** @ `78ec47cd` (cmt 20392) — HELD FOR OWNER MERGE. Head unmoved; GO commit-bound, VOID if it moves — **do not push #1032** | -| RM-02 registry ★key | — | **BLOCKED on RM-61.** Complete @ `f9746b23`, head FROZEN, 2 live REQUEST_CHANGES. `ci-postgres` FAIL on #2187 **and** #2188 | -| RM-61 CI exemption | **MOS** | **NO-GO cleared @ `57cae04f`** — gate flagged missing `Closes`; issue **#1034** filed + linked, head NEVER moved, review 70 CURRENT. **Re-gate requested** | -| 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** | **GO** @ `78ec47cd` (cmt 20392) — HELD FOR OWNER MERGE. Head unmoved; GO commit-bound, VOID if it moves — **do not push #1032** | +| RM-02 registry ★key | f10-coder | ★ **UNBLOCKED — now the front.** @ `f9746b23`; **zero live REQUEST_CHANGES** (63/65 superseded) and **no live approval either**. Next: rebase onto `f4fd5967`, re-CI, review at the new head | +| 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 -1. **Nothing is waiting on you that is urgent.** RM-03 waits on Jason; RM-61 is gate-ready and waits on - Mos; RM-02 unblocks once RM-61 merges. Read the record before touching any lane. -2. **`docs/remediation/TASKS.md` is authoritative**, not the newest voice in a chat. It holds 43 findings - (D-1…D-6 in `BOARD-LEDGER.md`, D-7…D-42 + D-38c in TASKS.md), every ruling with its rationale, and the +1. **RM-02 is the front.** RM-03 waits on Jason; RM-61 MERGED; RM-02 needs rebase+CI+review on + post-#1033 main. ⚠ Re-derive board claims from the provider before acting (**D-43**). +2. **`docs/remediation/TASKS.md` is authoritative**, not the newest voice in a chat. It holds 44 findings + (D-1…D-6 in `BOARD-LEDGER.md`, D-7…D-43 + 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 five first-class principles**, all earned by live failures — observe the property not the proxy · pre-registration prevents retrofitting and nothing else · never ship an @@ -91,9 +91,6 @@ board is one of the six stale restatements below. ## Decisions log — full record in [`TASKS.md`](./TASKS.md) -All 43 findings (D-1…D-6 in `BOARD-LEDGER.md`, D-7…D-42 + D-38c in `TASKS.md`) and every ruling with its -rationale live there. **Not duplicated here** — a second copy is a second thing to go stale, which this -board had done three times in one night (gate list, capability registry, DECISION-1 status), and three -more times by the next rotation seam (RM-61 "building", "nothing implemented yet", DECISION-1/2/3 -"must be ruled"). The rulings a fresh seat needs are items 4–7 above; they are **not** repeated here, -because that repetition is what went stale. +All 44 findings (D-1…D-6 in `BOARD-LEDGER.md`, D-7…D-43 + 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 18763b4e..3f87abd4 100644 --- a/docs/remediation/TASKS.md +++ b/docs/remediation/TASKS.md @@ -500,6 +500,40 @@ holds the head.** `coder-mos1` was RIGHT to want it fixed and WRONG to try to se right again immediately after, ACKing the hold and volunteering unprompted that it held an unpushed local commit. That disclosure is the behaviour to reinforce. +### D-43 — the ORCHESTRATOR inverted a board fact while COMPRESSING to meet the byte budget + +Rewriting the board for a cold read, the orchestrator compressed RM-02's row from +_"Code complete @ `f9746b23`, own harness green in CI, **2 reviews clear**, head FROZEN"_ to +_"Complete @ `f9746b23`, head FROZEN, **2 live REQUEST_CHANGES**"_. + +**That inverts the meaning.** "Two review rounds have been CLEARED" became "two blocking reviews are +LIVE". Verified against the provider: reviews 63 (`9b4d4beb`) and 65 (`38f1b249`) are both at +**superseded** heads; **live `REQUEST_CHANGES` at `f9746b23` = `[]`**. (The true current state is +subtler than either version: no live blocker **and** no live approval — the head has no review at all.) + +**How it happened, which is the transferable part.** The board carries a hard `< 8 KB` budget. It +exceeded that budget **four separate times in one session**, and each time the orchestrator shaved prose +to fit. **Compression is a restatement operation** — and this board's own governing rule is +_"REFERENCE, do not restate"_ (D-26), because restatement is lossy every time. The byte budget therefore +**forces** the exact operation the board forbids, on the board's most load-bearing table. + +**Caught by:** the orchestrator re-deriving RM-02's state from the provider **before dispatching** rather +than trusting its own board — one dispatch away from briefing `f10-coder` to remediate two blocking +reviews that do not exist. It was flagged as a _risk_ earlier in the session ("the 8 KB budget is under +structural pressure; the honest fix is rolling to `BOARD-LEDGER.md`, not shaving prose"). The risk then +materialised, self-inflicted, and was not detected by re-reading the board — only by leaving it. + +> **RULE: a size budget on a state artifact must be met by ROLLING content out (`board-roll.sh` → +> `BOARD-LEDGER.md`), never by rewording what stays.** Rewording is restatement; restatement is how +> every stale-board finding in this ledger happened (D-26, D-36, D-38c). Deleting a whole row and +> pointing at its authoritative home is safe; paraphrasing a row to save bytes is not. + +**And the deeper one:** the orchestrator is the board's sole writer, so **nothing external checks the +board against reality.** Every other artifact on this mission has an independent verifier — code has +`rev-974`, gates have the merge-gate, CI has the JSON scan. The control plane has none. That belongs on +**RM-34** ("a handoff must VALIDATE the checkpoint"): validation must include **re-deriving the board's +claims from the provider**, not merely confirming the file parses or that a successor can read it. + ### D-42 — the head-pin is an enforcement mechanism whose NEGATIVE CONTROL has never been observed `merge-gate.md` states it directly: **a successful merge is NOT evidence the pin worked.** Only the