From 8b34b9f317a2a54ddaf857a2dfb7d5cc5242c34d Mon Sep 17 00:00:00 2001 From: jarvis Date: Mon, 17 Aug 2026 09:48:04 -0500 Subject: [PATCH] =?UTF-8?q?docs(ri-050):=20continuation=20handoff=20?= =?UTF-8?q?=E2=80=94=20state,=20blocker,=20mechanics,=20next=20actions=20(?= =?UTF-8?q?#1275)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/scratchpads/ri-050.md | 104 +++++++++++++++++++++++++++++++++++++ 1 file changed, 104 insertions(+) diff --git a/docs/scratchpads/ri-050.md b/docs/scratchpads/ri-050.md index 94b5a8cb..85c69167 100644 --- a/docs/scratchpads/ri-050.md +++ b/docs/scratchpads/ri-050.md @@ -37,3 +37,107 @@ Soft cap 250K. Projected 190K across 10 cards. Track per-card used vs estimate i - 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. - Live RI-N1 evidence posted to #1275 (comment 22915): pipeline 2439 publish-next-npm SUCCESS beside build-gateway FAILURE. + +--- + +# HANDOFF — RI-050 continuation (written 2026-08-17 ~08:45 UTC, jarvis/dragon-lin) + +You are taking over the alpha 0.0.50 release-integrity workstream in place. Everything you +need is on the remote. Read this whole file, then `docs/release-integrity/TASKS.md` (same +branch), then the PRD section (`docs/PRD.md` § Release Integrity Workstream, same branch). + +## Identity / mode + +- Orchestrator identity: `jarvis` (dragon-lin). You continue as the RI-050 orchestrator under + whatever identity Jason gives you — if you are NOT jarvis, say so in comms and PR bodies. +- Jason's standing directives for this mission: work happens on THIS repo (mosaicstack/stack), + PRs target `next` (NOT main), workers are local pi headless sessions on + `zai/glm-5.3:high`. Do not hand this to mos-claude. Do not borrow other seats' lanes. +- All wrapper ops: pin `GITEA_LOGIN=mosaicstack-jarvis` (issue #1275 was verified authored by + @jarvis; keep identity consistent or verify yours with issue-view and READ BACK user.login). +- CI substitution rule (this host's ci-queue-wait.sh is fail-open; fix #1032 not installed): + judge CI by SHA-status via `/api/v1/repos/mosaicstack/stack/commits/{sha}/status` or the + woodpecker API (`pipeline-status.sh -r mosaicstack/stack -n N -f json`), and DIFF THE + FAILING STEP NAMES rather than trusting rc. + +## Mission state at handoff + +Mission: alpha 0.0.50 release-integrity floor. Issue #1275 (open, has live-evidence comment). +Decisions SDLC-D-033..038 live in jarvis-brain +`docs/plans/2026-08-16_mosaic-stack-sdlc-protocol.md` (normative text also mirrored in the +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. +- `feat/ri-050-publish-gate` @ 0aa5ed35 → PR #1277 (open, mergeable) — RI-1-001 COMPLETE + (worker reported success, orchestrator review PASSED: verify step asserts CI_COMMIT_SHA == + git rev-parse HEAD then runs canonical `pnpm verify:release`; every publish/image step + depends_on verify directly, confirmed by parsing the DAG: publish-npm, publish-next-npm, + build-gateway/appservice/web all -> [build, verify]; invariant test + 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, + 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 + results cannot satisfy any consumer, run `pnpm --filter @mosaicstack/forge test`. + +## The one blocker + +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 +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, +don't assume). + +## Remaining DAG (docs/release-integrity/TASKS.md is canonical) + +Wave 2 (next): RI-2-002 MACP fail-closed (brief pattern: mirror RI-2-001 for +packages/macp/src/gate-runner.ts — empty commands, stub executors, unimplemented CI-provider +gates fail closed; explicit simulate) and RI-4-001 PRD authority (one PRD service; +@mosaicstack/prdy docs/prdy authoritative via `mosaic mission --plan`; `mosaic prdy` routes +or becomes named Markdown adapter; mission<->PRD linkage persists — see PRD RI-N3). +Wave 3: RI-3-001 probe inventory (docs), RI-5-001 web stale-safety. +Wave 4: RI-1-002 negative-control tests, RI-3-002 TS evaluator absorbs shell probes. +Final: RI-V-001 evidence pack (real green next publish run post-gate + all cards verified). + +## 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 + /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). +- Briefs for 1-001/2-001 are at /var/tmp/ri-050/ on dragon-lin (may not survive; the + pattern is fully described above and in TASKS.md). +- Briefs must carry: worktree path, branch, base, requirements, known base-red list (so the + worker doesn't chase it), gates to run, PR creation command with GITEA_LOGIN pin, "do NOT + merge, do NOT touch docs/TASKS.md", and the JSON report format. +- Verify worker claims: read the PR, run their tests yourself, parse pipeline step names. + +## Do-not-touch + +- Main checkout at /home/jwoltje/src/mosaic-stack (dirty diverged main) — never touch. +- 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). + +## Session-restore command sequence + +1. `git -C /home/jwoltje/src/mosaic-stack-worktrees/ri-050 fetch origin --prune` +2. Read this file + `docs/release-integrity/TASKS.md` + PRD section. +3. Check PR states (#1270, #1276, #1277, #1278) and lane CI (SHA-status per above). +4. Review RI-2-001 (PR #1278) if not yet done; then dispatch wave 2. + +— jarvis, 2026-08-17