Files
stack/agents/sage/work/window-plan/repin-1024-draft1-prep.md

6.7 KiB

10-24 window, notes for draft 1

Sage, 2026-10-21T19:40Z. These are working notes, not a draft. Draft 1 is cut from them once NEW is fixed. Draft 0 is repin-1024-draft0.md.

Changes since draft 0

  • Phase 2 order (mos-1197 item 3). Phase 2 now runs after this window's re-pin is verified, not on 10-23 before it, and Jason picks the hour. So this window's OLD is the live pin, not a phase 2 copy, and draft 0's line 14-17 and Q2 are out of date.
  • Console flags. They stay as they are: no --sso and no --send. --send goes on with --sso in the phase 2 window (mos-1197 2a). P0 checks that the window's activate line carries neither flag.
  • NEW (mos-1161). NEW is the latest code landing when draft 1 is cut. At 19:40Z that is e54e05463 (row 215). 194 hasn't landed, so P3 has no lifecycle step unless it lands with a full gate first.
  • Row 66 live check (Vikunja #454, DEFERRED 3b0aef995). This is the first re-pin whose tree includes 2c38325ec. Add a step after the window is verified. One Claude Code managed session with a prompt that draws a known tell, then record the operator note on the RESULT, the next-turn notice and the unslop.jsonl counts. Backup first (Q173). Pi isn't run (#383).

OLD, read 19:38Z from stack-release.sh status mosaic-stack (read only)

  • Copy 4429a104f6, schema 3i, pm true, activation 20261020T220206Z-4429a104f6d6.
  • Console flags: --port 7332 --public-host mosaic.woltje.com --auth-header X-authentik-username --allow-user jason.woltje --tester-port 7333. P1 re-reads these on the day.
  • Check pass, unit flags match the pointer, 123 commits of drift.

Schema

git diff --name-only 4429a104f origin/refactor shows only packages/bus/schema.sql and migrations/3i-3j.sql (row 234). Nothing since c771a36f4 adds a step, so the migration is still 3i to 3j. Recheck this at the cut. Row 206 (3k-3l) hasn't landed.

Rows NEW carries after c771a36f4 (first-parent, code paths)

Row Commit Live effect to check
240 c515273db Installer I4: root host check, pins, boot unit. This window doesn't run it.
228 86249ac55 ZAI_API_KEY joins the session env allowlist. The live config sets no ZAI key, so the env is unchanged. Check in P3.
238 d49b1f2bd sso-config takes --instance on named instances. Default instance, --sso off, so there's no effect.
212 ee7b2f137 New package packages/library. The live business has no library entry.
195 b65014647 scripts/case1-accept.sh, root only. Not run.
213 361ba2387 Creative roles (roles/companion.*), persona file and block, launch-settings, bundle.mjs. Live roles are chief, pm, coder and reviewer. P3: the chief's and pm's bundles are unchanged apart from the new code path, and one pm reply.
231 29ce1e360 Library reader fixes. No live library.
235 b1fece6f0 Machine grant row b: raise binding, executor, reconcile, revoke and sweep (broker, host-grant, credentials, runtime). The live business has no hosts. P3: bus start runs the grant reconcile and sweep, and they change nothing. Show the log lines.
221 300766450 Persona import script, with a count-only dry run. Not run. yaml 2.9 joins package-lock, so P3 runs npm ci on the copy.
247 856c1826b Persona import follow-up. Not run.
245 6d5545d44 case1-accept F9 follow-up. Not run.
248 8a04f4aa4 Test stubs only.
249 9de5a57ab broker: hostLineLeft on a grant whose install never returned. No grants live. The A22b look-alike count in draft 0 already covers hostLineLeft.
197 a36523713 Test lane fixture. No live effect.
66 2c38325ec Managed sessions run the unslop check, runner.mjs, and stack-copy.sh COPY_PATHS adds tools/unslop-hook. P3 checks that the copy has tools/unslop-hook. The live check is above.
243 6096b051b Tests only.
215 e54e05463 Library entry kind, consumer skips, M9, bare mirror, library.file and library.status. The live business has no library entry. M9 refuses any organization write that changes projects, so P3 checks that the chief's or pm's usual organization writes don't touch projects.
250 1b6158ce2 Conversation shim and K12 test. No live effect on its own.
222 0b33f5e9d Fetch-only library sync: library.sync bus verb, a 60 s timer per library entry with a sync user, the askpass helper, and stack-copy.sh COPY_PATHS. The live business has no library entry, so the timer starts nothing. P3: the copy has packages/library/bin/askpass with its mode, and bus start logs no library: line.
196 7247d80c7 Human boundary: SO_PEERCRED on the bus socket, the interpreter receipt in bus/peercred-starts.jsonl, and the Console's private tester socket in place of --tester-port. The section "If 196 lands before the cut" applies. P3: bus start writes a receipt line, and the Console starts with --tester-socket.

Added 2026-10-21T20:30Z. NEW at this hour is 0b33f5e9d (row 222, landed 20:13Z), the latest code landing. PRD 1.9 (f48725cfc) and 1.10 are doc and test changes, but packages/tasks/requirements.json is in the copy, so task.create takes REQ-WEB-2 and REQ-INST-2 as ids after the re-pin. P3: requirements returns 70 ids at 1.10. 196 r6 (527b9a1e6, on f48725cfc) is in its gate, so the section below may apply.

Added 2026-10-21T21:02Z. 196 landed at 7247d80c7 (20:57Z), and c3d88840c after it is doc-only. NEW at this hour is 7247d80c7, so the section below applies.

If 196 lands before the cut

196 retires the Console's --tester-port (webui cli.mjs:30, "activate explicitly with --tester-socket"). The live Console runs --tester-port 7333, so a NEW that carries 196 changes the Console's command line. Draft 1 would then need:

  • the activate line with --tester-socket and its path;
  • the P2 unit diff showing only that change;
  • a P3 rehearsal that starts the Console with it.

bus.tester stays Jason's. The tester path changes how the test client reaches the Console, but not who can reach it from outside, so it stays Q173 work. I confirm that with Mos in draft 1. If 196 hasn't landed, NEW leaves it out and none of this applies.

mos-1198 item 4: until row 253 (#1758, case2-unit.sh and case1-accept.sh to --tester-socket) lands, no Case 1 or Case 2 host (.53, .54) takes a copy that carries 196. This window is dragon-lin only, so it isn't blocked, but any .53 or .54 step that names NEW waits on 253.

Row 250 landed 1b6158ce2 at 19:42Z (conversation shim and K12 test). It has no live effect on its own, but it is now the latest code landing if the cut were made today.

Still open from draft 0

  • The P-step evidence for rows 199, 210 and now 235 at bus start, from a P3 rehearsal run.
  • Recount the restore-guard table list from NEW (T46).
  • Q3 operator: Darkwing if free.