Files
stack/docs/remediation/BOARD.md
T
d4f68040ab docs(remediation): board — PRs #1025/#1026 open, review dispatched, D-6 queue-guard finding
Third independent live instance of the inert-gate class this session: the mandated
ci-queue-wait.sh returned exit 0 on state=unknown while guarding a push.

Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
2026-07-31 17:25:04 -05:00

7.3 KiB
Raw Blame History

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

Phase: PLANNING COMPLETE — reconciled backlog landed; 3 decisions block dispatch. Updated: 2026-07-31 (mos-remediation orchestrator; seat active on mosaic-fleet).

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
PR #1026 remediation/mission-setup (docs-only) mos-remediation OPEN, stacked on #1025; retarget to main after merge
PR #1025 fix/hygiene-inert-format-gate rev-974 OPEN; ACs pre-registered 22:12:26Z; review DISPATCHED
DECISION-1 wire-in point (charter change) Mos / Jason ESCALATED — both planners reject the charter's target
DECISION-2 rollback artifact + availability trade Jason ESCALATED
DECISION-3 RM-03 vs parked PR #1023 ownership Mos ESCALATED
RM-01 reproducible checkout (unblocks everything) unassigned READY TO DISPATCH

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

  • Delivery gates active: author≠reviewer, diff-blind pre-registered checks, CI-green, merged-PR completion.
  • Freeze: LIFTED for this workstream only.
  • Git identity: 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.
  • 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 (from MISSION.md)

  1. Spine + choke-point service (MACP wiring @ mosaic_orchestrator.py::run_single_task) + PG/Redis ⚠ CONTESTED — see DECISION-1. Both planners independently reject this wire-in point: that controller is "enabled": false and references a dispatcher that does not exist here. Charter text left UNCHANGED pending Mos/Jason ruling; do not treat it as settled.
  2. Rotation daemon (finish Mission Control Plane, reuse packages/coord)
  3. Comms service (envelope→service→PG/Redis→adapters)
  4. Hygiene + conformance harness Cross-cutting retirements: flat-file tracking, 3 MACP islands, silent MOSAIC BYPASS.

Dogfood evidence captured this session (live failure classes, not hypotheticals)

  • D-1 / P-ACTIVATION + hygiene — committed .npmrc hard-pins store-dir=/root/.local/share/pnpm/store. Correct for the CI container (runs as root), fatal for EVERY non-root local checkout: EACCES on /root/.local/share/pnpm/store/v10/server/server.json. A committed config that only works on one runtime is exactly the activation-skew class. Fix candidate: make store-dir env-overridable, not hardcoded.

  • D-2 / hygiene — husky prepare fails EPERM copying into root-owned .husky/_/. Repo working tree has root-owned dirs (.husky/, repo root) under a non-root agent. Worked around with the intended HUSKY=0 escape hatch (does NOT disable the existing pre-commit/pre-push hooks).

  • D-3 / P-FLEET-001 — the seats running this mission are UNMANAGED. mos-remediation, rev-974, planner-opus, planner-sol appear in NO roster (~/.config/mosaic/fleet/roster.yaml, agents/). Planners run on socket default; the roster declares mosaic-fleet. This is the exact "one roster-owned socket/host + quarantine unmanaged + stale GC" failure P-FLEET-001 indicts — observed on the remediation mission's own fleet. Prerequisite for INBOX identity-addressing.

  • D-4 / P-LIFECYCLE + hygiene — a dispatched agent silently IGNORED an in-message context reset. planner-sol was at 64.3%/372k; the brief asked it to reset first; it began work on dirty context anyway. Only an out-of-band /new driven by the orchestrator guaranteed clean state. Confirms the postmortem thesis: instructions are not enforcement. Reset must be a mechanical pre-dispatch step, not a request.

  • D-6 / P-QUEUE-001 — the mandated queue guard returned PASS on an UNKNOWN state, live, today. Running the required ci-queue-wait.sh --purpose push before pushing produced state=unknown ... exit 0 — the exact defect at ci-queue-wait.sh:282-288 that PR #1023 is parked on. It also evaluated branch=main rather than the branch being pushed. The mission's own required pre-push gate passed me on an indeterminate result. Third independent live instance of the class.

  • D-5 / P-QUEUE-001 + P-CONFORMANCE-001 — KEYSTONE: an inert gate that erased its own evidence. Merged PR #868 (b79336a8) shipped a file that FAILS pnpm format:check ⇒ the CI format gate did not block. An unrelated later PR (#872) then reformatted that file via its own lint-staged, so main went green again and nobody learned the gate had failed to fire. Verified blob-level under the repo's own config. Detection must be per-merge-commit against that commit's own tree — a "is main green today" check reports all-clear on this exact defect. Binding on RM-02/RM-55. Full chain in TASKS.md §1a. NOT quiet-patched, by Mos's ruling: patching the symptom destroys the signal.

Decisions log

  • 2026-07-31 — Mission set up by Mos post-postmortem (15/15 decided). Dogfood posture active.
  • 2026-07-31 — Mos: stale .mosaic/orchestrator/mission.json is RESIDUE of the disabled Python orchestrator rail that this plan RETIRES. Do NOT invest in it; do NOT build on that rail. The 0/0 milestone banner is cosmetic. (Supersedes any plan to repair it.)
  • 2026-07-31 — Mos: planners must be dispatched with GUARANTEED clean context, not requested-clean. Prior default-socket planner sessions predate this mission; dirty context is the indicted hygiene.
  • 2026-07-31 — mos-remediation: worker briefs forbid all git ops and restrict each worker to a single named output file, so two planners can share one checkout without a branch race (M2-era incident doctrine).