Files
jason.woltje c5ae4d7ac4 darkwing: merged B+C window packet, STATE.md (sha256 7be42b6bcab5657d), W0-W11 transcripts, S1/S2/S2b snapshots, P3 rehearsals and snapshot.mjs checks (#1673, #1674; P19 386, 382)
Evidence for the STATE report Sage checked and filed in 88f3253d9 (sage-1151). The skills-enabled
tar stays out of git; it is the W0b restore point under $WIN only. No credential or Environment
values: unit reads record ExecStart only, and the P3 credential files were fake placeholders.
2026-10-19 21:26:49 -05:00

9.5 KiB

Merged B+C window, STATE report (W11)

Operator: Darkwing. Plan: agents/sage/work/window-plan/repin-merged-bc.md draft 9, sha256 523f20e03be8aa11 (commit c49de08e8). OLD 5fa9cc8f2c, NEW 89af38a83a. Transcripts are in window/. Every stamp below comes from them. Written 2026-10-20 after W10 (mos-0922).

Outcome

NEW is live for mosaic-stack with its PM. The store is on 3i, and the tester listener is on 127.0.0.1:7333. W0 to W10 passed. Three plan deviations are recorded below, and Mos accepted each one. No stop condition fired and nothing was rolled back. The only stop in the window was the planned 15-minute coder stop at W9o.

Stamps and activations

Step Start (UTC) Result Activation id
pre / W0 01:33:05Z / 01:33:22Z copy NEW, business-check OLD and NEW pass
W0b backups 01:33:51Z business file and skills-enabled tar saved
W1 + S1 01:34:42.608Z / 01:34:49.332Z chief idle; S1 taken
W2 status 01:34:52.183Z pointer OLD, check pass
W3 plan 01:34:58.880Z exit 0
W4 unit read 01:35:16.787Z OLD units, no drop-ins
W5 activate (mos-0910) 01:37:08.484Z, end 01:37:11.255Z exit 0, 3h to 3i, gate passed 20261020T013708Z-89af38a83afa
W6 plugins set harness (tester) 01:39:58.308Z exit 0, transaction 0a63a1dc
W7 pm-on (mos-0912) 01:41:02.949Z, end 01:41:05.278Z exit 0, gate passed, chief rc78c9700c8e9 launched 20261020T014103Z-89af38a83afa
W8 skills carry (mos-0913, mos-0914) 01:43:16.793Z all seven match NEW
W9 tester checks, coder, S2 01:44:03.003Z to 02:12:46Z verified by Mos (mos-0918)
W10 browser, 7332, P4 02:10:27.070Z to 02:15:46.240Z pass with deviation 3 (mos-0920, mos-0922)
W11 reads after 02:16Z W11.txt

Backups and hashes

  • Store backup: ~/.mosaic-dev/backups/stack/20261020T013708Z-89af38a83afa. STAMP 2026-10-20T01:37:08.917Z, SCHEMA 3h. SHA256SUMS sha256 ef78f7d4f4ea7dd9262393eea4b77f84928d9b945ad8585d471e877f85e169fc. bus.sqlite sha256 eadd96d0d10663a95034303b337933227f90ccbb2378b38afe1541f1e40e09d6. Its sha256sum -c was OK at W5 and again at S2b, and the hash didn't change across S2b.
  • Rollback sets: ~/.mosaic-dev/state/stack-rollback/20261020T013708Z-89af38a83afa (W5) and .../20261020T014103Z-89af38a83afa (W7).
  • Business file before W6: 82e726b9c416ddeaac699580bfa3b2854a40597bfe481679a3e88cc133d830b0, with the same hash in the W0b backup ~/.config/mosaic-dev/businesses/mosaic-stack.json.pre-window-20261020T013351Z. After W6: 1e49bdf05e62607972958f5b7298cfd600c7825812370e26d7c2a842f2af9b93 (actor tester, transaction 0a63a1dc). $WIN/harness.json sha256 77fd493ffc9f3901.
  • Skills restore point: $WIN/skills-enabled-20261020T013351Z.tar, sha256 d124631408e3801c.
  • snapshot.mjs was 639fd28a2674aaa03ce824e3394b4052f21cdef7d6fa49bae61a9927ed341e67 before S1 and before S2.

Pointer

  • Before (W2): stack-active.json copy 5fa9cc8f2c, pm true, check pass, bus pid 1338933 since 2026-10-19T21:45:25.614Z, drift 149 commits.
  • After (W7b, and again at W11c): copy 89af38a83a, pm true, check pass for bus, Console and CLI, bus pid 1514133 since 2026-10-20T01:41:03.795Z, unit flags match the pointer. At W11c, drift is 7 commits.

Units (ExecStart only, no Environment values)

Before (W4):

  • bus: copies/5fa9cc8f2c66.../scripts/mosaic bus start mosaic-stack --pm, DropInPaths empty.
  • Console: /usr/bin/node copies/5fa9cc8f2c66.../packages/webui/src/cli.mjs serve --checkout /mnt/storage/src/mosaic-stack --port 7332 --public-host mosaic.woltje.com --auth-header X-authentik-username --allow-user jason.woltje --send, DropInPaths empty.

After (W11a, W11b, W11d):

  • bus: copies/89af38a83afa.../scripts/mosaic bus start mosaic-stack --pm, WorkingDirectory the NEW copy, DropInPaths empty. active/running, MainPID 1514133, since 2026-10-19 20:41:03 CDT.
  • Console: /usr/bin/node copies/89af38a83afa.../packages/webui/src/cli.mjs serve --checkout /mnt/storage/src/mosaic-stack --port 7332 --public-host mosaic.woltje.com --auth-header X-authentik-username --allow-user jason.woltje --send --tester-port 7333, DropInPaths empty. active/running, MainPID 1475392, since 2026-10-19 20:37:09 CDT.
  • W11e: healthz 7332 200, listening 127.0.0.1:7332 and 127.0.0.1:7333.
  • P4 tunnel (W10i, W10j): ExecStart byte-identical to pre.txt:29, one spec R:0.0.0.0:7332:127.0.0.1:7332, DropInPaths empty, active since 2026-10-13 08:40:19 CDT.

S1, S2, S2b

S1 at 01:34:49.332Z on 3h, S2 at 02:05:17.993Z on 3i. Unchanged: decision_events 20, decisions 20, instance_names 0, message_threads 0, projects 0, thread_claims 0, thread_opens 0, threads 0, with the same sha256 where snapshot.mjs prints one. Changed:

Table S1 S2
deliveries 1654 1673
events 1383 1396
messages (count only) 543 550
role_claims 87 91
task_comment_cursors 145 146
task_snapshots 349 351
usage_records 4 12

meta changed only schema_digest and schema_version. Usage byRun at S2: r8fba7e598156 0/0 with unknownTurns 1, and r4a96e2142e4d 2/52, both as in S1. New: chief rc78c9700c8e9 input 14, output 1519, unknownTurns 0, and coder r293f33bcbc63 input 2, output 44, unknownTurns 0.

S2b (an extra read, S2 against the W5 backup, opened immutable) shows priorSame true for every table and onlyInBackup []. stopTables lists deliveries, messages, role_claims, task_comment_cursors, task_snapshots and usage_records. Those are the rows added since W5. It's a pre-restore test, not a W9 stop, and if a rollback is ever chosen it names what a restore would drop.

File hashes (sha256, first 16): S1.json a4b48c69188ef856, S1.out 2de540bbf9908904, S2.json 92c3a66930db59ca, S2.out edfd2e18ae3d1806, S2b.json a703b109cd5a5f68, S2b.out eded254a8dd25328.

W9 outputs

  • Tester reads all exit 0: status, console-check (5 PASS: markdown-preview, /api/config, project.files, project.file north-star, loopback save 403), launches, agents, plugins, names, threads, limits, usage.
  • Chief talk (W9e): reply 49c7dc51, "I took no action and sent no staffing request".
  • Coder via the chief (W9l): chief message 5b58f447 to coder r293f33bcbc63 at 01:45:48.780Z. The coder replied 7815907c at 01:45:54.714Z with "ms-unslop, ms-sdlc, ms-file-read, ms-file-write". That matches its bundle manifest (W9m), and each SKILL.md sha256 equals NEW's. The chief relayed it to the tester as 97139ccd at 01:45:59.450Z. 97139ccd is still unreceived, as Mos ruled in mos-0918.
  • The coder made no tool calls. It left no repo write, push, PR, issue or outward message. I stopped it at 02:01:41.636Z (W9o, exit 0), and W9p shows only the chief live.

W10 outputs

  • Browser on 127.0.0.1:7333 (W10b) showed the tester banner, the instance, routes and name editors, and only tester forms. No launch settings, assistant, limit reset or send appeared. The Board reads. All 20 requests were GET. Screenshots: window/w10-settings.png, window/w10-board.png.
  • 7332 with x-mosaic-tester: 1 and Host 127.0.0.1:7332: 403 {"error":"tester listener required"}. The control without the header got 200.

Plan deviations (all accepted by Mos)

  1. W8 (mos-0914). carry-past-row64.md:23 cds into the pinned copy, which has no scripts/skill.sh or skills/. The loop ran from REPO after an empty diff against 89af38a83, followed by a per-file sha256 check that all seven skills match NEW.
  2. W9 (mos-0917). Plan lines 202-203 call for "a coder session the tester starts", but TESTER_VERBS (broker.mjs:97) has no role.launch. Instead a tester talk asked the chief to start one coder.
  3. W10 (mos-0920, mos-0922). "Board and Settings read. The tester Settings has no Token limits panel, by design at bus.js settingsView isTester branch. No daily quota entry shows. Token limits read as the tester: W9i mosaic limits shows tokens [] (none set), and W10b's tester page GETs /api/bus/limits without refusal. No step rendered the human Token limits panel." Mos's code read: "bus.js tokenLimits (:599-609) renders 'No token limits are set.' for an empty row list, and its daily line appears only when a row's path[1] is 'daily'. With W9i's tokens [], the human panel would show no daily quota entry. This is a code read, not a rendered check." No human Console read ran, because on 7332 it would mean sending Jason's auth header.

Corrections during the window

  • W9 no-reply. My interim said the coder hadn't answered. It had answered within 5 s. My wait polled inbox --tester --json, which prints decisions only (cli.mjs:298-300). A message to the tester arrives only through message.receive. So the stop at 02:01:41Z hit an idle coder. W9s, W9t.
  • My own git status in the coder workspace moved its .git directory mtime to 02:07:22Z through the index lock. The index file itself didn't change.
  • W10a failed on two selector bugs in my script, not in the Console: the Board is #board-view, and conv-form is the global hidden form. W10b reran the same read-only check.
  • My 02:14Z message claimed token limits were read on the human path at W9b console-check. That was false. console-check has no limits check. I corrected it at 02:15Z (W10d).

After-window items, not part of this report's pass

  • Sage: fold the plan line 222 text fix into #394 with the carry doc fix (mos-0920). Decide whether the inbox --json point belongs with row 177 (W9t).
  • Mos: a separate Console task for the "Read never." settings subtitle against the top bar's read time.
  • P19 390: the --restore guard tool fix, unchanged by this window.