Files
stack/docs/remediation/BOARD.md
T
8f02b55b03 docs(remediation): bank D-55 — the squash discards branch authorship, and pre-merge gates cannot see it
Diagnosed by the USC orchestrator, not by me; I decline that credit and record it where it belongs. My
contribution was the independent mosaicstack confirmation on a discriminating row and the generalisation.

Confirmed on my own lane: PR #1027's branch was entirely f10-coder and its squash f58b3699 on main is
authored mos-dt-0, the poster. f10-coder's authorship of this mission's first delivery was erased and
replaced with mine. 23/23 discriminating across two estates, two Gitea instances, three repos. My other
two merges were non-discriminating and are excluded rather than counted — excluding rows that cannot
distinguish the hypotheses is what makes this evidence instead of a tally.

The generalisation, which is mine and bigger than authorship: every check we run pre-merge measures the
BRANCH, and main gets the SQUASH, so whatever the transform discards is invisible to every gate we have.
Open question on both boards: what else does the squash drop that no pre-merge gate observes?

Ruling corrected to trailers rather than posters, on two independent refutations from seats that checked
rather than agreed: posting-by-author would have forced a declining seat to file for work another
finishes, manufacturing a second false attribution to prevent the first; and it has no clean answer for
a multi-author branch. #1030 has three authors and no single correct poster.

Executed on #1030 before merge-gate rather than at the merge instant: three authors named with commit
counts, required Co-authored-by trailers written into the body verbatim, single-author limitation
stated, branch marked MUST-NOT-DELETE as the only provider-side record until trailers are confirmed.
Verified by read-back — head unmoved, trailers present, Fixes #1029 intact.

D-55b: two parties quoting a third is not corroboration. The coordinator restated the orchestrator's
panel-green as though verified while unable to reach the panel host at all; tl-uconnect caught it. That
sharpens redundant observation — redundancy requires independent ACCESS TO THE EVIDENCE, not independent
voices, and restatement is nearly undetectable downstream because it is indistinguishable from a second
observation. Ask what each party could actually see.

D-55c: the mis-attribution to me was not D-53's sender label. It was one file to five recipients with
the finding addressed as "your attribution finding" — in a broadcast, second person is undefined, so
every recipient correctly read it as theirs. The coordinator had recorded that exact rule as doctrine an
hour earlier and then committed it, in the message announcing that a merge machine loses people's
credit. Declining the credit was load-bearing: had it stood, the record of who found the attribution bug
would have been wrong in exactly the way the bug is wrong.

Co-authored-by: f10-coder <[email protected]>
Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
2026-08-05 15:13:31 -05:00

84 lines
7.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# mos-remediation — LIVE BOARD (keep < 8 KB)
**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**).
## Head
- Charter + 15 decisions + 4-build plan: `MISSION.md`. Backlog + all findings: `TASKS.md`.
- Planning DONE (58 tasks, P0P5). **DECISION-1/2/3 all RULED by Mos 2026-07-31** (`TASKS.md` §5) —
nothing is waiting on a decision. D-2's availability _target_ is Jason-pending and non-blocking.
- **Executing, not planning.** RM-01 is MERGED; three lanes are live (see In-flight).
- Orchestrator seat `mos-remediation` LIVE, owns the mission, resumed across the rotation seam
2026-08-01 and re-attested to Mos from the files. Residency attestation: PASS.
## In-flight
| 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 | rev-974 | **RE-REVIEW @ `e910a45a`** — narrowing round; overclaim control fires @84 (verified). ⚠ **3 branch authors — squash erases 2 (D-55).** Trade + trailers recorded in body; **branch MUST NOT be deleted**. ACs @ `dde38717` |
| 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. **Lane state lives in the In-flight table above — this item does NOT restate it.** It went stale
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 58 findings
(D-1…D-6 in `BOARD-LEDGER.md`, D-7…D-55c + 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,
third arrival) and **no universally-quantified check may pass over an empty set** (D-44/D-46).
4. **Seat identity:** `export MOSAIC_GIT_IDENTITY=<seat>` is stripped by a context reset (**D-34**) —
every dispatch/rehydration brief must re-export it, or the seat cannot use its credentials.
5. **Scan CI from `-f json`, never default text** — text mode omits `clone` (**D-33**). State counts.
6. **The queue guard is zero-information until RM-03 merges** (**D-23**) — never cite its green.
7. **The bounded CI re-roll used on RM-02 was a one-time stopgap, NOT policy.** A per-PR free re-roll is
D-21 normalisation. Do not repeat it; RM-61 is the fix.
## Delivery gates — REFERENCE, do not restate
Canonical: `~/.config/mosaic/fleet/roles.local/merge-gate.md` (verdict authority) +
`~/.config/mosaic/fleet/roles/validator.md`. Order and the freeze/zero-information rules: `MISSION.md`
and `KICKSTART.md`. **Read them there** (why: **D-26**, in `BOARD-LEDGER.md`).
## Fleet seats
Roster rolled verbatim to [`BOARD-LEDGER.md`](./BOARD-LEDGER.md); live truth is `mosaic fleet ps`.
## Gate status
- Freeze: LIFTED for this workstream only.
- Git identity: orchestrator runs `MOSAIC_GIT_IDENTITY=mos-dt-0` INTERIM. Mos ruled gate-16 HOLDS (author≠reviewer is what
gate-16 protects; rev-974 reviews, mos-dt-0 never self-reviews). Dedicated identity TRACKED, Mos provisions.
- Capability + seat identity (**D-11b / D-11a**, incl. the false-NEGATIVE twin): authoritative in
`TASKS.md`. Short form — **assert the DIFFERENTIAL as that seat** (authenticated `push:true` vs
unauthenticated `push:false`); a single endpoint can be true for anyone or 403 for an unrelated
scope. Full text rolled to [`BOARD-LEDGER.md`](./BOARD-LEDGER.md).
-**LIVE HAZARD (D-37) — one shared `.git/config` re-identifies EVERY worktree at once.** Every seat,
including `rev-974`'s review worktree, currently authors as **`coder-mos1`**; `MOSAIC_GIT_IDENTITY`
does **not** override it. **STANDING ORDER: commit with explicit
`git -c user.name=<seat> -c user.email=<seat>@…`, and NOBODY rewrites the shared config mid-flight.**
Real fix authorised, Mos owns it, sequenced at a quiet seam. **#1024 implicated.** Detail: D-37.
- Standing worker-brief doctrine (mandatory in EVERY brief): re-export `MOSAIC_GIT_IDENTITY` (**D-34**);
commit early/WIP (**D-31**); don't weaken a RED test to pass; if a check is unrunnable SAY SO, never
substitute; `agent-send -f` never `-m`; artifacts off shared `/tmp`; scan CI from `-f json` (**D-33**);
**relay observations into an open review, NEVER your own conclusion on an open check (D-39)**; the
**author never adjudicates their own PR's blocker status** — surface evidence, prepare the fix, hold.
- Remote control: native `/remote-control` NOT wired in this runtime. Path is **Mos-relay**
(Jason ↔ mos-claude via Discord ↔ mos-remediation via agent-send). Not a blocker.
## Decisions log — full record in [`TASKS.md`](./TASKS.md)
All 58 findings (D-1…D-6 in `BOARD-LEDGER.md`, D-7…D-55c + 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).