Files
stack/docs/remediation/BOARD.md
T
mos-dt-0andClaude Opus 5 6c779595e1 docs(remediation): rotation checkpoint — board rebuilt for a cold read, three stale restatements removed
Orchestrator rotating at ~803k tokens (~4x threshold). A mission built on
rotation-not-compaction should not run its own coordinator past it.

Board rewritten as the rehydration artifact: in-flight state, a read-this-first block
for the incoming seat, and the live rulings it most needs. Under the 8KB cap.

AUDIT AT THE SEAM found THREE stale restatements on this board, each of which would have
misled the incoming orchestrator:
  1. the delivery-gate list still OMITTED the merge-gate verdict step (the D-26 defect
     itself, still sitting on the board after MISSION.md was corrected);
  2. capability described as 'token-file set = authoritative registry', superseded by
     D-13/D-15 (capability is per-path; assert permissions.push as that seat);
  3. Sequencing still said DECISION-1 was CONTESTED and 'do not treat it as settled'
     hours after it was RULED — an incoming seat would have re-litigated a closed decision.

All three were restatements of text owned elsewhere. Replaced with references, per the
mission's own render-not-restate principle: a second copy is a second thing to go stale,
and this board proved it three times in one night.

Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
2026-08-01 08:13:12 -05:00

7.9 KiB
Raw Blame History

mos-remediation — LIVE BOARD (keep < 8 KB)

Phase: EXECUTING — RM-03 at owner-merge; RM-02 blocked on RM-61; RM-61 building. Updated: 2026-08-01 — ORCHESTRATOR ROTATION SEAM (prior seat rotated at ~803k tokens, ~4x threshold).

Head

  • Mission charter + 15 decisions + 4-build plan: PERSISTED (docs/remediation/MISSION.md).
  • HOLD lifted for this workstream (Jason 2026-07-31). Nothing implemented yet — planning first.
  • Orchestrator seat mos-remediation is LIVE and owns the mission. Residency attestation: PASS.
  • TASK-0 DONE — checkout repaired, all three gates green HONESTLY (no --no-verify), branch pushed.
  • TASK-1 DONE — both planners delivered independently on clean context; reconciled into TASKS.md (58 tasks across P0P5, 7 convergences, 7 adjudicated disagreements, 3 escalated decisions).
  • NEXT ACTION IS NOT MINE: DECISION-1/2/3 (TASKS.md §5) must be ruled before P0 dispatch. RM-01 is dispatchable immediately regardless — it depends on nothing and blocks everything.

In-flight

Task Owner State
RM-01 reproducible checkout MERGED f58b3699 (#1027)
RM-03 queue guard Jason merge-gate GO @ 78ec47cd (comment 20392) — HELD FOR OWNER MERGE. Head verified unmoved; GO is commit-bound and VOID if it moves — do not push to #1032
RM-02 gate registry ★keystone BLOCKED on RM-61. Code complete @ f9746b23, own harness green in CI, 2 reviews clear, head FROZEN. Cannot certify terminal-green: ci-postgres FAIL on #2187 and #2188
RM-61 CI-contract exemption coder-mos1 design APPROVED, building. Controls first → prove discrimination → then exempt
RM-59 / RM-60 Jason (infra) tracked deps; RM-60 option B (A does not fix the ordering defect)
#1023 queue-guard attempt Jason SUPERSEDED-PENDING-JASON — RM-03 supersedes; 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-02 waits on RM-61; RM-61 is building. Read the record before touching any lane.
  2. docs/remediation/TASKS.md is authoritative, not the newest voice in a chat. It holds 35 findings (D-1…D-6 in BOARD-LEDGER.md, D-7…D-35 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 integrity claim dressed as a property · when a property cannot exist at its layer, bound it and track the real guarantee · query for refutation, never for confirmation · redundant observation on evidence-bearing steps.
  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) and ~/.config/mosaic/fleet/roles/validator.md. Order + the freeze/zero-information rules are stated once in MISSION.md and KICKSTART.mdread them there.

This board deliberately does not repeat the gate definition: restating it from memory is exactly how the merge-gate step went missing from mission setup in the first place (D-26), twice, including once inside the correction for it.

Fleet seats

  • mos-remediation — project orchestrator (Claude, /src/mosaic-stack, socket mosaic-fleet) — ACTIVE
  • planner-opus — adversarial planner (robustness), Opus 5, socket default — DELIVERED, idle
  • planner-sol — adversarial planner (pragmatic), gpt-5.6-sol, socket default — DELIVERED, idle
  • rev-974 — mosaicstack reviewer identity (id 16, write:repository) — idle, on call
  • Mos (mos-claude) — lead coordinator, socket default — relay path to Jason

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 is per-path (D-11b → superseded in part by D-13/D-15): a token file is necessary, not sufficient. Three layers — token file (raw-API), tea login (tea paths), repository permission (writes). Before dispatch, assert permissions.push == true as that seat, not token existence and not a 200 on a read. Mos owns provisioning; escalate missing pairs.
  • Seat identity (D-11a): token identity AND git config user.name/user.email must BOTH be set and agree. Exporting MOSAIC_GIT_IDENTITY alone does NOT fix commit authorship.
  • 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).
  • 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.

Sequencing — see MISSION.md

Builds 1-5 and the cross-cutting retirements are stated once in the charter. Not repeated here.

DECISION-1 is RULED, not contested (this board previously said otherwise — stale for hours after the ruling). The choke point targets a new production Node TaskExecutor on the LIVE dispatch path (packages/mosaic launch + packages/coord); the disabled Python rail is deleted, not ported.

Decisions log — full record in TASKS.md

All 35 findings (D-1…D-6 in BOARD-LEDGER.md, D-7…D-35 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 has now done three times in one night (gate list, capability registry, DECISION-1 status).

Live rulings a fresh seat most needs:

  • D-23 queue guard is inert → zero-information until RM-03 merges. Never cite its green.
  • D-33 scan CI from -f json; text mode omits clone. State counts.
  • D-34 a context reset strips MOSAIC_GIT_IDENTITY → re-export in every brief.
  • RM-61 exemption: controls FIRST, prove discrimination, THEN adopt — or fall to option A.
  • The RM-02 bounded CI re-roll was a one-time stopgap, never policy.