plans: mos-0928 plan draft 2, NEW is the row 185 landing 490e2771d

NEW moves from the 9f5153deb candidate to 490e2771d, which lands row 185 (#1683), 52 commits past
89af38a83. The tool blob at NEW is f8051d81cc. P5 now checks that REPO's four service scripts
match NEW instead of HEAD equal to NEW, since record commits after NEW move HEAD. Sage's SESSIONS
line for the row 185 landing.
This commit is contained in:
jason.woltje committed 2026-10-20 02:14:16 -05:00
1 parent 0106660742
commit 2ea05700bf
2 files changed
+26 -15

No files matched your search

@@ -1,13 +1,13 @@
# Re-pin 89af38a83 to the refactor head (rows 177, 180-185), and the row 178 activation
Sage, 2026-10-20 (draft 1), for mos-0928 under DECISIONS Q173, with Q174 (mos-0882) while Jason is away.
Sage, 2026-10-20 (draft 2, NEW set to row 185's landing), for mos-0928 under DECISIONS Q173, with Q174 (mos-0882) while Jason is away.
Two parts. Part A is a re-pin Q173 covers, run by Darkwing, Mos and Sage the way the merged B+C window ran
(`repin-merged-bc.md`, draft 9). Part B turns on row 178's proxy proof. It changes who can reach the Console from
outside, so it waits for Jason. Part B is drafted here and goes on Jason's morning list; nobody runs any of it.
Status: Part A goes to Mos before W0, as draft 9 did. It needs one tool row to land first, the backup row below,
and NEW becomes that row's landing commit. Mos's formal check runs on this file at that NEW. Any change to this
Status: Part A goes to Mos before W0, as draft 9 did. The backup row below, row 185, landed in 490e2771d
(#1683, closed), and NEW is that commit. Mos's formal check runs on this file at that NEW. Any change to this
file or to the tool blob after the check means Mos checks again (mos-0849/0850).
# Part A: the re-pin
@@ -31,12 +31,14 @@ file or to the tool blob after the check means Mos checks again (mos-0849/0850).
- OLD, live: `89af38a83afa22a8a4f0d368a0a4030ad15a0efa`, pointer `pm: true`, schema 3i, Console flags
`--port 7332 --public-host mosaic.woltje.com --auth-header X-authentik-username --allow-user jason.woltje
--send --tester-port 7333` (read from the unit at 06:15Z, mos-0928).
- NEW: the origin `refactor` commit that lands the backup row. Until it lands, the candidate is
`9f5153deb23bcc4c7c1eaa60244a70ea75b2d770`, read at 06:23Z, 46 commits past OLD. `console-check.sh` takes the
bare sha (mos-0866 F3). Commits after NEW are records only and don't move NEW.
- REPO: the canonical checkout, held at NEW for the window (P5). The tool blob at 9f5153deb is
`a51b2bb68754955762cc553e8538db7ab9522fd8` (OLD's was `adcb68477c25`). The backup row changes it again, and the
blob at NEW goes in this file before the check. `stack-release.sh:N` references are at 9f5153deb.
- NEW: `490e2771d3d057ab76991e2c7859cd251857e64c`, the commit that lands the backup row (row 185), 52 commits
past OLD. Draft 1 named the candidate 9f5153deb, read at 06:23Z, 46 past OLD; 490e2771d adds row 185 and its
records on top. `console-check.sh` takes the bare sha (mos-0866 F3). Commits after NEW are records only and
don't move NEW.
- REPO: the canonical checkout. Its four service scripts are held at NEW for the window (P5). The tool blob at
NEW is `f8051d81cc18aedb7b6f2e743ec0c3f505e0e44b` (9f5153deb's was `a51b2bb68754`, OLD's `adcb68477c25`).
`stack-release.sh:N` references are at 9f5153deb unless marked "at NEW"; row 185 moved the lines from
`run_steps` on.
- `COPIES`, `C_OLD`, `C_NEW` as in draft 9. `C_NEW` is `node $COPIES/$NEW/packages/cli/src/cli.mjs`.
- `DATA`: the config's data root, absolute. The store is `$DATA/bus/bus.sqlite`.
- `P=/mnt/storage/scratch/sage-pin-de352dfaf`, with `business-check.mjs` and `console-check.sh` checked against
@@ -48,8 +50,8 @@ file or to the tool blob after the check means Mos checks again (mos-0849/0850).
## What NEW carries over OLD
The path-limited log over `packages`, `scripts`, `roles`, `contracts` and `adapters` from OLD to 9f5153deb lists
these code commits. The rest of the 46 are queue, sessions and brief records.
The path-limited log over `packages`, `scripts`, `roles`, `contracts` and `adapters` from OLD to NEW lists
these code commits. The rest of the 52 are queue, sessions, brief and plan records.
| Row | Commit | Live effect |
|---|---|---|
@@ -60,15 +62,16 @@ these code commits. The rest of the 46 are queue, sessions and brief records.
| 178 | b2b33aee5 | Proxy proof code, off unless both flags are set. Without them `proofOptions` returns null, serve skips the check, and the startup journal says `Proxy: proxy proof off`. `webui-service.sh` renders the pair only when given. |
| 182 | 33ab5eeb9 | A tester message reaches only a tester-owned thread; `thread-not-owned` both ways. |
| 184 | 87aca4cb8 | The CLI forms: `project create --tester`, `thread create\|open\|read --tester`, `threads --tester`, `talk --thread --tester`, `follow --thread --tester`. |
| 185 | (pending, #1683) | Tool only: every `activate` backs up the stopped store (brief `docs/plans/2026-10-20_activate-always-backs-up.md`). |
| 185 | 490e2771d | Tool only: every `activate` backs up the stopped store (brief `docs/plans/2026-10-20_activate-always-backs-up.md`). |
Unchanged from OLD to 9f5153deb: `roles/`, `skills/`, `contracts/`, `adapters/`, the plug-in kinds, every
Unchanged from OLD to NEW (9f5153deb..NEW changes only `stack-release.sh`, its test, `docs/TOOLS.md`, the
row 185 brief and this file): `roles/`, `skills/`, `contracts/`, `adapters/`, the plug-in kinds, every
migration, `stack-copy.sh` and `bus-service.sh`. So there's no harness set, no skill carry and no `pm-on` phase:
one `activate --pm`, like the 5fa9cc8f2 window.
## No schema step
`SCHEMA_VERSION` (`packages/bus/src/store.mjs:17`) is 3i at OLD and at 9f5153deb, and no migration file was
`SCHEMA_VERSION` (`packages/bus/src/store.mjs:17`) is 3i at OLD and at NEW, and no migration file was
added. The activate runs without `--migrate`, and `--plan` must print `migration: none; the store is at the
target's version` (`stack-release.sh:801`). If the backup row or anything else lands a schema change before NEW,
this plan is void and gets redrafted.
@@ -109,7 +112,7 @@ Nothing else changes: no plug-in set, no role change, no skill change.
| P2 | Sage | `console-check.sh $NEW` against a stub Console of NEW on a scratch port, once without and once with `--tester-port` on a second scratch port. CONSOLE_PASS both times. |
| P3 | Darkwing | The rehearsal on a scratch root seeded at OLD and 3i, on NEW's tool blob, with the example file plus the plug-in keys (mos-0847), `bus.tester` true and a scratch tester port. Run W3 and W5 on it, then the W9 tester thread flow (below), then three rollbacks. (1) A plain `rollback` back to OLD: passes, store untouched, Console flags keep `--tester-port`. (2) Activate NEW again, make one tester `project create` after the stamp, then `rollback --restore <id> --plan`, the real run without `--events` (must refuse `post-backup-events` and print the per-table counts), and the rerun with `--events N` (must pass). (3) After (1), OLD's Console and `$C_OLD threads --tester --json` read the store that NEW's tester thread wrote without an error. The chief launch is emulated as in queue-169. Output in `$WIN/p3/` with sha256 values Sage checks. |
| P4 | Darkwing | The tunnel, read only: `systemctl --user show mosaic-preview-tunnel.service -p ExecStart -p DropInPaths`. Exactly one `R:` spec, `R:0.0.0.0:7332:127.0.0.1:7332`, and DropInPaths empty. Anything else stops the window. |
| P5 | Darkwing | `git -C $REPO rev-parse HEAD` is NEW and `git -C $REPO status --porcelain -- scripts/stack-release.sh scripts/webui-service.sh scripts/bus-service.sh scripts/stack-copy.sh` is empty. `activate` runs REPO's `webui-service.sh` (`stack-release.sh:439`), so REPO must not move during the window. |
| P5 | Darkwing | `git -C $REPO diff --quiet $NEW HEAD -- scripts/stack-release.sh scripts/webui-service.sh scripts/bus-service.sh scripts/stack-copy.sh` exits 0, and `git -C $REPO status --porcelain -- scripts/stack-release.sh scripts/webui-service.sh scripts/bus-service.sh scripts/stack-copy.sh` is empty. `activate` runs REPO's `webui-service.sh` (`stack-release.sh:439`), so those four must not move during the window. Draft 1 asked for HEAD to equal NEW, which record commits after NEW break. |
| P6 | Darkwing | The 7332 matrix on OLD (below), saved as `$WIN/matrix-old.txt`. |
## The window
@@ -250,6 +253,13 @@ at row 185's landing sha before W0.
## What Sage ran for this plan
Draft 2, 2026-10-20 after 07:10Z: `git rev-parse 490e2771d:scripts/stack-release.sh` (f8051d81cc18),
`git rev-list --count 89af38a83..490e2771d` (52), and `git diff --stat 9f5153deb 490e2771d` without the queue
and SESSIONS files (the five paths named above, no migration, no `store.mjs`). Row 185's gate on b5d662cab plus
the patch: node 2518/0, scripts 422/0, queue 156. Filbert approved round 1 in #1683 comment 29404.
Draft 1:
Read only, 2026-10-20 between 06:15Z and 06:40Z. Nothing live was changed.
- `git fetch`, `git rev-parse origin/refactor` (9f5153deb), `git rev-list --count 89af38a83..origin/refactor`
+1
View File
@@ -1332,3 +1332,4 @@ are never rewritten or removed; corrections are new entries.
2026-10-20T06:14:11Z | Sage (Opus 5.5, 1ef1e4f8) | mos-0870 rows 177, 178, 180, 181 and follow-ups 182-184 (Q173, Q174), gates, landings and records | landed 177 1f994257a+9d9d95485 (#1675), 180 1905e385c (#1678), 181 ef48597d0 (#1679), 183 d1272e714 (#1681), 178 b2b33aee5 (#1676), 182 33ab5eeb9 (#1680), 184 87aca4cb8 (#1682), each on a green Sage gate with the patch-id matching the approved candidate; issues closed, P19 386 comments; sweep ef09f8b3f; first 178 landing attempt committed nothing (exported GIT_INDEX_FILE reached the worktree ls-files), fixed by scoping it; 178 activation needs its own Mos-checked window; nothing is live past copy 89af38a83afa
2026-10-20T06:35:58Z | Sage (Opus 5.5, 1ef1e4f8) | mos-0928 plan: Part A re-pin 89af38a83 to the refactor head (rows 177, 180-184) under Q173, Part B row 178 proxy proof activation for Jason | plan agents/sage/work/window-plan/repin-rows-177-185.md and row 185 brief in 10e1bb495; Gitea #1683; row 185 added and briefed (revs 2183-2184, f38186943); P19 task 403, comments 344 (386) and 345 (385); nothing live touched
2026-10-20T07:09:31Z | Filbert (Opus 5.5, 048f3c63) | row 185 r1 review (#1683, every activate backs up the stopped store) | approve, comment 29404, rev 2188; my run: stack-release 125/125, mutants M4 and M5 killed; N1 plan line note, N2 doc-only
2026-10-20T07:14:05Z | Sage (Opus 5.5, 1ef1e4f8) | row 185 (#1683) gate and landing; mos-0928 plan draft 2 | landed 490e2771d (author Darkwing) on a green Sage gate (node 2518/0, scripts 422/0, queue 156), patch-id 774cd23186d5 matching Filbert's approved r1 (29404); revs 2189-2190 in 010666074; #1683 closed (29405); plan repin-rows-177-185.md draft 2 sets NEW to 490e2771d and P5 to a four-script diff; Filbert N1/N2 doc follow-ups pending; nothing live touched, stack runs copy 89af38a83afa