From f13222b76bccae6007152374ed322c08e073a0f2 Mon Sep 17 00:00:00 2001 From: mos-dt-0 Date: Fri, 31 Jul 2026 18:07:16 -0500 Subject: [PATCH] docs(remediation): charter reflects DECISION-1 corrected wire-in target and current status MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The charter's build-1 cell still named mosaic_orchestrator.py::run_single_task after DECISION-1 ruled against it. Leaving the charter contradicting the ruled decision would mislead any future reader who starts there — corrected in place with the rationale and provenance, rather than only in TASKS.md. Also: status PLANNING -> EXECUTING; scout TODO discharged (file is in-tree) with a note that its findings stand but its recommended wire-in point is superseded. Co-Authored-By: Claude Opus 5 (1M context) --- docs/remediation/MISSION.md | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/docs/remediation/MISSION.md b/docs/remediation/MISSION.md index 682eda5e..bb823ad3 100644 --- a/docs/remediation/MISSION.md +++ b/docs/remediation/MISSION.md @@ -1,7 +1,7 @@ # Mosaic Stack Remediation — Mission Charter **Owner:** project orchestrator `mos-remediation` (Claude, launched in `/src/mosaic-stack`). -**Origin:** 2026-07-16..31 fleet lifecycle postmortem. **Status:** PLANNING (task decomposition). +**Origin:** 2026-07-16..31 fleet lifecycle postmortem. **Status:** EXECUTING (planning complete; RM-01 in flight). **HOLD lifted** for this workstream by Jason, 2026-07-31 — "begin full mosaic fleet operation on this." ## Goal @@ -34,17 +34,17 @@ gate/program; the LLM handles only genuine judgment. - Site + `annotations.json`: `jarvis-brain/docs/postmortem-spec/site/` (committed, origin/main). - Discussion checkpoint (rich rationale per proposal): `jarvis-brain/docs/scratchpads/postmortem/REMEDIATION-DISCUSSION-STATE.md`. - Postmortem report: mosaicstack/stack PR #107 (merged 88f4ee04). -- MACP wiring scout (verdict c=STRANDED): `/tmp/macp-wiring-investigation.md` (copy into this dir — see TODO). +- MACP wiring scout (verdict c=STRANDED): [`MACP-WIRING-SCOUT.md`](./MACP-WIRING-SCOUT.md) (copied into this dir; TODO discharged). Its findings are sound; its _recommended wire-in point_ is superseded by DECISION-1. ## The plan — 15 proposals collapse to 4 builds + hygiene -| Build | Absorbs | What it is | -| ------------------------------------------------------------ | --------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| **1. One choke-point service** (mechanical enforcer) | MISSION, STATE, AUDIT, WRAPPER, QUEUE | Deterministic program every task/data mutation flows through. **Wire the stranded `@mosaicstack/macp`** in at `mosaic_orchestrator.py::run_single_task` — typed tasks, gate-runner, event ledger, credential binding, tri-state write outcomes. | -| **2. One durable spine + hot path** | (storage under everything) | **PG system-of-record + Redis hot queue** (transactional-outbox). Mission/tasks/state-claims/audit-ledger/comms-inbox all land here. | -| **3. Rotation lifecycle** (finish the Mission Control Plane) | LIFECYCLE, CONTRACT, GUIDE, RECOVERY | Coordinator daemon: contract-hash binding, compaction-detected → rotate-not-compact, checkpoint→fresh-session→rehydrate, broker-independent recovery. Deterministic, not an LLM. Reuse `packages/coord`; existing PRD at `docs/mission-control/`. | -| **4. Comms service** | AUTHORITY, INBOX (+ versioning roadmap) | Envelope (comms/v1) → sole-path service → PG/Redis → pluggable adapters (tmux→Matrix/Discord/Slack/Telegram). Version the protocol, not participants. | -| **+ Hygiene & proof** | FLEET, WORKFLOW, CONFORMANCE | One roster-owned socket/host + stale GC; allowlist auto-sync; the conformance harness that fault-injects the failure classes and proves builds 1–4 hold. | +| Build | Absorbs | What it is | +| ------------------------------------------------------------ | --------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| **1. One choke-point service** (mechanical enforcer) | MISSION, STATE, AUDIT, WRAPPER, QUEUE | Deterministic program every task/data mutation flows through. **Wire the stranded `@mosaicstack/macp`** — typed tasks, gate-runner, event ledger, credential binding, tri-state write outcomes. ⚠ **Target CORRECTED 2026-07-31 (DECISION-1, Mos):** a new production Node `TaskExecutor` on the **live** dispatch path (`packages/mosaic` launch + `packages/coord`), which Coord/Forge/live-dispatch submit through. **NOT** `mosaic_orchestrator.py::run_single_task` — that controller is `"enabled": false` and references a dispatcher absent from this checkout; wiring it would strand the executor, reproducing this mission's own disease. The Python rail is **deleted**, not ported. Both planners reached this independently. | +| **2. One durable spine + hot path** | (storage under everything) | **PG system-of-record + Redis hot queue** (transactional-outbox). Mission/tasks/state-claims/audit-ledger/comms-inbox all land here. | +| **3. Rotation lifecycle** (finish the Mission Control Plane) | LIFECYCLE, CONTRACT, GUIDE, RECOVERY | Coordinator daemon: contract-hash binding, compaction-detected → rotate-not-compact, checkpoint→fresh-session→rehydrate, broker-independent recovery. Deterministic, not an LLM. Reuse `packages/coord`; existing PRD at `docs/mission-control/`. | +| **4. Comms service** | AUTHORITY, INBOX (+ versioning roadmap) | Envelope (comms/v1) → sole-path service → PG/Redis → pluggable adapters (tmux→Matrix/Discord/Slack/Telegram). Version the protocol, not participants. | +| **+ Hygiene & proof** | FLEET, WORKFLOW, CONFORMANCE | One roster-owned socket/host + stale GC; allowlist auto-sync; the conformance harness that fault-injects the failure classes and proves builds 1–4 hold. | ## The finding that sets the cost @@ -55,6 +55,7 @@ orphaned context loader, a fail-open bypass. **Work = wire + consolidate + retir ## Sequencing (skeleton — adversarial decomposition refines this) 1. **Spine + choke-point service** (builds 1+2) — foundation; unlocks MISSION/STATE/AUDIT/WRAPPER/QUEUE at one integration point. + (Per DECISION-1, a P0 phase of provable-gate + activation work precedes this; see `TASKS.md` §3.) 2. **Rotation daemon** (build 3) on that spine — the drift fix proper. 3. **Comms service** (build 4) — envelope → service → PG/Redis → adapters; retire direct-tmux. 4. **Hygiene + conformance** (build 5) — fleet convergence, allowlist sync, dogfood harness.