diff --git a/docs/release-integrity/TASKS.md b/docs/release-integrity/TASKS.md index 4c3f04d0..979bc4b2 100644 --- a/docs/release-integrity/TASKS.md +++ b/docs/release-integrity/TASKS.md @@ -15,18 +15,18 @@ > `done` requires: repo quality gates green, independent review recorded, terminal-green CI on > the PR head, squash merge to `next`, and acceptance evidence in notes. -| id | status | description | issue | agent | repo | branch | depends_on | estimate | notes | -| -------- | ----------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----- | ---------- | ----------------- | --------------------------------- | ---------------------------------------------------------- | -------- | ----- | -| RI-0-001 | in-progress | Bootstrap: issue #1275, PRD section, this DAG, scratchpad (docs only) | #1275 | pi-glm-5.3 | mosaicstack/stack | docs/ri-050-mission-bootstrap | — | 6K | | -| RI-1-001 | in-progress | RI-N1: canonical terminal verification command + publish-pipeline exact-commit gate (every publish step depends on verify; commit identity check; fail closed) | #1275 | pi-glm-5.3 | mosaicstack/stack | feat/ri-050-publish-gate | RI-0-001 | 25K | | -| RI-1-002 | not-started | RI-N1 negative control: checked-in tests proving a broken mandatory check blocks every publish step and that DAG edges cannot be bypassed | #1275 | pi-glm-5.3 | mosaicstack/stack | test/ri-050-publish-gate-negative | RI-1-001 | 12K | | -| RI-2-001 | in-progress | RI-N2 (Forge): remove stub-executor false success; `--simulate` typed `simulated` results that satisfy nothing; literal-`true` gates and echo-review replaced with real gates or typed waiting-for-authority | #1275 | pi-glm-5.3 | mosaicstack/stack | fix/ri-050-forge-fail-closed | RI-0-001 | 20K | | -| RI-2-002 | not-started | RI-N2 (MACP): gate runner fails closed on empty commands, stub executors, and unimplemented CI-provider gates unless explicit simulate; typed capability failures | #1275 | pi-glm-5.3 | mosaicstack/stack | fix/ri-050-macp-fail-closed | RI-0-001 | 15K | | -| RI-3-001 | not-started | RI-N4: complete probe inventory mapping every TS and shell quality-rail check to one canonical check with disposition (preserve/strengthen/retire, each named) | #1275 | pi-glm-5.3 | mosaicstack/stack | docs/ri-050-qr-probe-inventory | RI-0-001 | 12K | | -| RI-3-002 | not-started | RI-N4: TS evaluator absorbs effective shell probes; typed results (passed/failed/blocked/error/not-applicable) with versioned digested check definitions; shell commands become thin adapters; contract/parity/negative-control tests | #1275 | pi-glm-5.3 | mosaicstack/stack | feat/ri-050-qr-evaluator | RI-3-001 | 30K | | -| RI-4-001 | not-started | RI-N3: one PRD application service — `mission --plan` persists mission↔PRD linkage (ids/versions/selected requirements); `mosaic prdy` routes through the service or becomes a named import/export adapter; Markdown is a labeled generated view; explicit conflict-aware import | #1275 | pi-glm-5.3 | mosaicstack/stack | feat/ri-050-prd-authority | RI-0-001 | 35K | | -| RI-5-001 | not-started | RI-N5: typed freshness states (current/stale/partial/unknown/unavailable); no failed-fetch-renders-empty; stale derived verdicts → unknown; mutations disabled when stale; failure-matrix tests | #1275 | pi-glm-5.3 | mosaicstack/stack | feat/ri-050-web-stale-safety | RI-0-001 | 25K | | -| RI-V-001 | not-started | Final verification + release evidence: all cards verified merged, negative controls demonstrated, real `next` publish run green on exact commit, evidence pack recorded | #1275 | pi-glm-5.3 | mosaicstack/stack | docs/ri-050-release-evidence | RI-1-002, RI-2-001, RI-2-002, RI-3-002, RI-4-001, RI-5-001 | 10K | | +| id | status | description | issue | agent | repo | branch | depends_on | estimate | notes | +| -------- | ----------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----- | ---------- | ----------------- | --------------------------------- | ---------------------------------------------------------- | -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| RI-0-001 | in-progress | Bootstrap: issue #1275, PRD section, this DAG, scratchpad (docs only) | #1275 | pi-glm-5.3 | mosaicstack/stack | docs/ri-050-mission-bootstrap | — | 6K | | +| RI-1-001 | in-progress | RI-N1: canonical terminal verification command + publish-pipeline exact-commit gate (every publish step depends on verify; commit identity check; fail closed) | #1275 | pi-glm-5.3 | mosaicstack/stack | feat/ri-050-publish-gate | RI-0-001 | 25K | | +| RI-1-002 | not-started | RI-N1 negative control: checked-in tests proving a broken mandatory check blocks every publish step and that DAG edges cannot be bypassed | #1275 | pi-glm-5.3 | mosaicstack/stack | test/ri-050-publish-gate-negative | RI-1-001 | 12K | | +| RI-2-001 | in-progress | RI-N2 (Forge): remove stub-executor false success; `--simulate` typed `simulated` results that satisfy nothing; literal-`true` gates and echo-review replaced with real gates or typed waiting-for-authority | #1275 | pi-glm-5.3 | mosaicstack/stack | fix/ri-050-forge-fail-closed | RI-0-001 | 20K | Independent review APPROVED 2026-08-17 (Gitea review 172 on PR #1278, head 99b8f6ea; reviewing seat fargo — recorded under shared host principal mos-dt-0, provenance correction posted by fred; wrapper gap filed by fred). Executed at head: forge tests 116/116, lint green, typecheck green after building macp dist (minimal-install artifact, not a defect), workspace typecheck 45/45, no external type consumers of the changed interfaces. CI red = known lane-wide fleet-test failure only, carries no information about this change (fred, log-content analysis, pipelines 2456-2458). Non-blocking finding: README L141-143 + skills/mosaic-forge/SKILL.md document bare forge run/resume, which now fails closed — fast-follow docs touch. Merge queued behind #1270. | +| RI-2-002 | not-started | RI-N2 (MACP): gate runner fails closed on empty commands, stub executors, and unimplemented CI-provider gates unless explicit simulate; typed capability failures | #1275 | pi-glm-5.3 | mosaicstack/stack | fix/ri-050-macp-fail-closed | RI-0-001 | 15K | | +| RI-3-001 | not-started | RI-N4: complete probe inventory mapping every TS and shell quality-rail check to one canonical check with disposition (preserve/strengthen/retire, each named) | #1275 | pi-glm-5.3 | mosaicstack/stack | docs/ri-050-qr-probe-inventory | RI-0-001 | 12K | | +| RI-3-002 | not-started | RI-N4: TS evaluator absorbs effective shell probes; typed results (passed/failed/blocked/error/not-applicable) with versioned digested check definitions; shell commands become thin adapters; contract/parity/negative-control tests | #1275 | pi-glm-5.3 | mosaicstack/stack | feat/ri-050-qr-evaluator | RI-3-001 | 30K | | +| RI-4-001 | not-started | RI-N3: one PRD application service — `mission --plan` persists mission↔PRD linkage (ids/versions/selected requirements); `mosaic prdy` routes through the service or becomes a named import/export adapter; Markdown is a labeled generated view; explicit conflict-aware import | #1275 | pi-glm-5.3 | mosaicstack/stack | feat/ri-050-prd-authority | RI-0-001 | 35K | | +| RI-5-001 | not-started | RI-N5: typed freshness states (current/stale/partial/unknown/unavailable); no failed-fetch-renders-empty; stale derived verdicts → unknown; mutations disabled when stale; failure-matrix tests | #1275 | pi-glm-5.3 | mosaicstack/stack | feat/ri-050-web-stale-safety | RI-0-001 | 25K | | +| RI-V-001 | not-started | Final verification + release evidence: all cards verified merged, negative controls demonstrated, real `next` publish run green on exact commit, evidence pack recorded | #1275 | pi-glm-5.3 | mosaicstack/stack | docs/ri-050-release-evidence | RI-1-002, RI-2-001, RI-2-002, RI-3-002, RI-4-001, RI-5-001 | 10K | | ## Dispatch waves (max 2 parallel workers) diff --git a/docs/scratchpads/ri-050.md b/docs/scratchpads/ri-050.md index 85c69167..7515a0f2 100644 --- a/docs/scratchpads/ri-050.md +++ b/docs/scratchpads/ri-050.md @@ -35,7 +35,7 @@ Soft cap 250K. Projected 190K across 10 cards. Track per-card used vs estimate i - RI-1-001 worker: pi glm-5.3:high, pid 2322125, worktree ri-1-001, log /var/tmp/ri-050/ri-1-001-run.log - RI-2-001 worker: pi glm-5.3:high, pid 2322126, worktree ri-2-001, log /var/tmp/ri-050/ri-2-001-run.log - Gotcha recorded: pi has no -f flag (that's pi-do.sh); pass brief as positional message. First launch died "Unknown option: -f" — relaunched. -- CI lane: PR #1276 (bootstrap) fails `test` at base like every next PR — fred's green #1270 unblocks (comms sent 2026-08-17T05:21Z, comms/20260817T052148Z__from-jarvis__650fe8.md). Merge gate for all RI PRs queues behind #1270. +- CI lane: PR #1276 (bootstrap) fails `test` at base like every next PR — fred's green #1270 unblocks (comms sent 2026-08-17T05:21Z, `comms/20260817T052148Z__from-jarvis__650fe8.md`). Merge gate for all RI PRs queues behind #1270. - Live RI-N1 evidence posted to #1275 (comment 22915): pipeline 2439 publish-next-npm SUCCESS beside build-gateway FAILURE. --- @@ -70,6 +70,7 @@ PRD section on this branch, so this repo is self-sufficient). Base: `origin/next` @ 476db12b. NOTE: `main` and `next` have DIVERGED — never base on main. Branches (all pushed, all clean trees): + - `docs/ri-050-mission-bootstrap` @ 5114faa2 → PR #1276 (open, mergeable) — bootstrap docs + this scratchpad + TASKS.md DAG. STATUS: CI red on `test` only, which is the known lane-wide failure (see blocker below); own prettier issue already fixed. @@ -81,7 +82,7 @@ Branches (all pushed, all clean trees): scripts/verify-release.test.mjs passes 7/7 locally with negative fixtures). CI: same known lane-red `test` step only. - `fix/ri-050-forge-fail-closed` @ 99b8f6ea → PR #1278 (open, mergeable) — RI-2-001 worker - reported success (typed FORGE_* capability errors, --simulate typed simulated everywhere, + reported success (typed `FORGE_*` capability errors, --simulate typed simulated everywhere, vacuous true/echo gates replaced, closed ForgeOutcome set, 116 tests green incl. 16 new). ORCHESTRATOR REVIEW NOT YET DONE — your first job. Review the diff (1391 insertions across forge src), check the fail-closed paths and that simulated @@ -93,7 +94,7 @@ Every `next` PR pipeline is red on ONE assertion: `packages/mosaic/framework/tools/fleet/test-start-agent-session.sh:103` ("host provides 'pi' in the system path"). Pre-existing at base; affects PRs #1276/#1277/#1278 identically. fred's PR #1270 ("unblocks every PR on next") is green and open — it is HIS to merge; do not -merge it yourself. jarvis sent comms (comms/20260817T052148Z__from-jarvis__650fe8.md in +merge it yourself. jarvis sent comms (`comms/20260817T052148Z__from-jarvis__650fe8.md` in jarvis-brain) asking merge timing; no reply yet as of handoff. Merge gates for ALL RI PRs queue behind #1270 landing. Until then: review/develop freely, merge nothing that needs the green gate (docs-only #1276 arguably could merge red-lane with Jason's explicit call — ask, @@ -113,7 +114,7 @@ Final: RI-V-001 evidence pack (real green next publish run post-gate + all cards ## Worker mechanics (measured, reuse) - Dispatch: create worktree `git -C /home/jwoltje/src/mosaic-stack worktree add - /home/jwoltje/src/mosaic-stack-worktrees/ -b origin/next`, write a brief to +/home/jwoltje/src/mosaic-stack-worktrees/ -b origin/next`, write a brief to /var/tmp/ri-050/, then run from INSIDE the worktree: `pi -p --no-session --model zai/glm-5.3:high --tools read,bash,edit,write "$(cat brief.md)"` (pi has NO -f flag — pass the brief as a positional message; first dispatch died on that). @@ -130,8 +131,8 @@ Final: RI-V-001 evidence pack (real green next publish run post-gate + all cards - fred's open PRs (#1270 and others) — review evidence welcome, merging his is not yours. - Other RI PRs' authors' lanes: #1277/#1278 are yours to gate and merge ONCE lane is green and review is recorded. -- Never `--no-verify`; never bypass the wrapper-fails-closed rule (wrapper failure ⇒ blocked - + report exact command + stop). +- Never `--no-verify`; never bypass the wrapper-fails-closed rule (wrapper failure ⇒ + `blocked + report exact command + stop`). ## Session-restore command sequence @@ -141,3 +142,50 @@ Final: RI-V-001 evidence pack (real green next publish run post-gate + all cards 4. Review RI-2-001 (PR #1278) if not yet done; then dispatch wave 2. — jarvis, 2026-08-17 + +--- + +# CONTINUATION — fargo (sb-it-1-dt) + +Orchestrator seat is now **fargo** on sb-it-1-dt (Jason, 2026-08-17): Claude seat, worktree discipline +per fred's ruling (`~/agent-work/`, create → work → commit → push → remove as one act; the +helper's `/src` refusal is a web1 convention, does not bind here). fred supports; lane rulings are +his. Workers remain local pi `zai/glm-5.3:high` + limited Claude per Jason. + +## 2026-08-17 — RI-2-001 independent review DONE + +- **PR #1278 APPROVED** (Gitea review 172, pinned to head 99b8f6ea). Executed evidence, not read-only: + forge suite 116/116 at head (matches PR claim), forge lint green, forge typecheck green after + building `@mosaicstack/macp` dist (TS2307 on bare `pnpm install --frozen-lockfile` is a + minimal-install build-order artifact — the macp import is type-only, vitest passes unbuilt; CI + installs build workspace deps, hence green there), **workspace typecheck 45/45 at head**, + consumer sweep: no external type consumers of RunManifest/StageStatus/ForgeTaskResult/ + TaskExecutor; only importer of the package is packages/mosaic via registerForgeCommand + (smoke test asserts registration/help only — cannot break). Digest gate (shaggy's) before==after + with both-arm reactivity controls. +- CI red on #1276/#1277/#1278: lane-wide `test` failure only + (test-start-agent-session.sh:103, fred's guard mis-wired; #1270 unwires it). Fred measured log + content: one real byte-identical failure per pipeline (2456/2457/2458); 13 of ~14 `FAIL` grep + hits are passing fail-loud test NAMES. **The red carries no information about the RI changes.** +- Non-blocking finding: README L141-143 + skills/mosaic-forge/SKILL.md document bare + `mosaic forge run`/`resume`, which now exits 1 FORGE_NO_EXECUTOR — fast-follow docs touch. +- **Identity incident, ruled on by fred:** review 172 recorded under shared host principal + mos-dt-0, not fargo. Mechanism (measured, wrapper source): pr-review.sh resolves its acting login + from the tea login list only; no fargo tea login on this host → silent host-default fallback; + MOSAIC_GIT_IDENTITY is only read in detect-platform.sh get_gitea_token's fallback arm, never + reached. Exact-id read-back verifies against the writing token, so it passed while attribution + was wrong — durable-provenance machinery proves the write, not the seat. Fred's ruling: review + 172 stands (substance/verdict/pin correct; label wrong); NO re-approval (one approval, + annotated, is the stronger record); fred posts the provenance correction under @fred with + --login fred-ms (hard-fail path); no fargo tea login ever (freeze + Jason's to authorize); + tooling gap filed by fred. Also explains (does not reopen) #1228's mos-dt-0 attribution. +- Merge gate: all RI PRs queue behind fred's green #1270 (Jason's call). + +## Next + +1. Wave 2 dispatch: RI-2-002 (MACP fail-closed, mirror RI-2-001 pattern for + packages/macp/src/gate-runner.ts) + RI-4-001 (PRD authority). Two parallel workers max. +2. Docs fast-follow (README + mosaic-forge skill) — fold into #1276 or a tiny docs card. +3. RI-V-001 evidence at the end. + +— fargo, 2026-08-17