plan: activate for mosaic-stack
from: 4429a104f6d65ccf165f6c83b5d1dce3147dfde0
to: 7247d80c7af7ffa70fc61557406bf491cdf3bfc7
store schema: 3i (read from the store the running bus holds)
target schema: 3j
migration: 3i to 3j, after a backup of the stopped store
migration steps: 3i to 3j
needs: --migrate (given)
needs: Jason present for this run (decision 96 condition 2)
backup: the run backs up the stopped store to /home/jwoltje/.mosaic-dev/backups/stack/<activation>/ before any migration
commits: the run adds 135 (newest first, at most 200):
  7247d80c7 row 196: human boundary on peer credentials, interpreter receipt and the Console tester socket (#1694)
  666173292 sessions: Sage row 222 landing, PRD 1.9 and 1.10, Pocket ID row 255, 196 r6 grants, overlap class rule (mos-1204)
  21def2850 queue: revs 2968-2976; Gander 196 r5 manifest and r6 changes move, Sage 222 review request and done, Duckworth 196 m1 changes record, rows 254 and 255 added
  add0f1aae PRD 1.10: REQ-INST-2, a bundled Pocket ID for users with no OIDC provider, post-v1 (Q203, mos-1204)
  7d08237e1 brief: bundled Pocket ID for users with no OIDC provider, design (Q203, Vikunja #458, mos-1202)
  f48725cfc PRD 1.9: REQ-WEB-2, Console decide buttons for a human the Console signed in, and the REQ-DEC-3 amendment (mos-1202)
  0de97f429 brief: library sync follow-up, client timeout, STATUS codes and README (row 222 deferrals, #1723)
  0b33f5e9d row 222: C2-03a fetch-only library sync, askpass helper, bus verb and timer (#1723)
  358695528 sessions: Sage row 250 landing, 196 r5 run 4 and resume, F27 row 253; Dewey 66 r4, 251 r1 and 222 r1 lines; Darkwing 251 line
  a54a17f3d queue: revs 2905-2967 (rows 66, 215, 243, 250 landings; 196, 222, 244, 250, 251 rounds; row 253 added)
  0cdead66c brief: F27, case2-unit.sh and case1-accept.sh move to --tester-socket, chained after row 196 (#1758)
  1b6158ce2 row 250: K12 holds the stop's release while it reads the shim, the release answers the events read's reason, and R13 closes its controller (#1755)
  081ff6b12 sessions: Sage row 215 landing, 196 r4 grant after the base change, slot order for 250, 222, 244 and 251; Herb row 215 line
  be86adbff sessions: Filbert row 250 round 2 static review, approve
  d163afc47 sessions: Filbert row 250 round 1 static review, changes
  e54e05463 row 215: C2-04 the library entry in the business file, consumer skips, M9 organization-projects-protected, the bare mirror, library.file and library.status (#1716)
  6096b051b row 243: tests that depend on the gate umask set their file modes; stack-instances bootstraps under an explicit umask with a 077 subtest (#1754)
  9a8c8860d sessions: Sage row 66 landing, J2 brief and REQ-WEB-2 wording, gate coordination for 196 r2, 215, 243, 250, 251
  6195a00f8 sessions: Filbert row 215 round 2 merge-scoped review, approve
  3b0aef995 deferred: row 66 live checks, Claude Code at the first re-pin with row 66 and pi after #383, Vikunja #454 (mos-1186)
  2c38325ec row 66: managed sessions run the unslop check on both harnesses, the operator note on the RESULT, a correction notice on the next turn, and unslop.jsonl counts (#1559)
  640aa03f2 brief: Console inbox Approve and Deny for grant requests, Vikunja #435 (mos-1193)
  a36523713 test: resolve the real Docker binary inside lane fixtures
  5afff5490 brief: T27 row 251 records the monotonic-boundary check, 8 of 80 adds lost the key (mos-1185 item 2)
  f33932921 brief: T27 lists no identities right after ssh-add -t 1, Vikunja #453 (mos-1185 item 2); row 197 lane-b observation (item 3)
  1be656ac9 brief: K12 reads cgroup.events after cgroup.kill under load, Vikunja #450 (mos-1182 item 3)
  19d3d5f02 sessions: Filbert row 66 round 4 review, approve
  6c75887b0 sessions: Sage 10-21 afternoon (rows 249, 197, 222, 66, queue revs 2642-2904), with pending Dewey and Researcher lines
  0636721e6 queue: revs 2642-2904 (rows 234, 235, 249 landed; 212, 213, 218, 221, 231, 247 landed; 228, 233, 238, 240, 195, 245, 248 landed; 197 r8 approve, 215 r1 approve, 66 round 4; Case 2 and installer row notes)
  7b9737953 deferred: row 248 Webby N1, the grant executor test sleep 30 can outlive its test; Duckworth deferred it in the row 249 review (#1751 c30070)
  9de5a57ab row 249: row 235 follow-up, a grant whose install never returned records hostLineLeft, since the remote add can outlive an abort or a timeout (#1751)
  8ca064158 sessions: Filbert row 215 candidate review r1, approve
  8a04f4aa4 row 248: row 235 follow-up, the grant-executor hold-add and hold-remove stubs stop when their test dir is gone, so no stub outlives its test (#1750)
  bc579f7a8 docs: host run sheet section 4, the apt-get download W: line as root is expected, and the profile's sha256 is checked again at /etc/apparmor.d (mos-1168)
  6de1ebc62 plans: row 235 follow-up brief, the grant undo records a host line it can't prove gone (mos-1166, gizmoduck-0139, duckworth-0091)
  540239b6b plans: row 235 follow-up brief, the held grant-executor stubs stop when their test dir is gone
  6d5545d44 row 245: row 195 follow-up, F9 runs node as root only at the pinned root-only path, the header and TOOLS.md list what root runs, F6 refuses .. after claude-<pin>/ (Duckworth N1-N3, #1693)
  856c1826b row 247: C2-20b persona import follow-up, keys from config.yaml print as JSON strings, the dry run applies C2-08's fence and refuses, privateDir refuses an EEXIST race by name (#1749)
  f8276c5eb row 218: C2-12 setup sheet for Melanie and the library survey run sheet (#1719)
  b65f3a0e8 sessions: Darkwing row 245 slot green, round 1 in review
  5c6f73ed7 plans: C2-03a brief, the mirror HEAD is a symbolic ref to refs/heads/served so the C2-12 survey reads the served commit
  947101d8a sessions: Sage 235, 221 and C2-20b landings, 197 r7 request and proof prep
  335bb3e30 plans: C2-20b brief (row 221 follow-up, Webby N1, N2 and N4) and DEFERRED for N3, Morgana's 213 B3 anchor
  300766450 row 221: C2-20 Bean and Chet persona import, stage and install script with a count-only dry run, personaTextFault exported from bundle.mjs, yaml 2.9.0 exact, fixture Hermes home and read trace (#1722)
  b1fece6f0 row 235: machine grant row b, raise binding, executor, reconcile, revoke and sweep, creative roles refused at raise, recheck and host.run, N10 (#1741)
  aa19a2464 sessions: Darkwing row 245 built, slot asked
  29ce1e360 row 231: C2-01b library reader and survey fixes: control and bidi escapes, front matter list links, an unresolved body embed to a non-.md target is an attachment (#1733)
  62ddc96cc plans: row 195 follow-up (Duckworth N1-N3) and the .53 window row, which carries 195's done condition after its early done move
  d6cff0cdd deferred: Duckworth's N1-N3 on row 195, the Case 1 acceptance script's root parse order, header and prefix match
  361ba2387 row 213: Case 2 C2-08 creative roles, persona file and block, M1, M2, M6, M10, prompt passed by file (#1714)
  b65014647 row 195: scripts/case1-accept.sh, root's Case 1 acceptance (F1-F11, P1-P11), its test, TOOLS.md entry (#1693)
  4364dddb0 plans: row b (235) host.run also refuses a creative agent at spend time, grant record kept for revoke (mos-1164, sage-1908)
  01e1fe512 plans: row b (235) refuses a host grant to a creative role, after row 213 lands (mos-1163, Webby N2 on 213 r4)
  38b83ea5c sessions: Sage, 212 landing, 197 proof stop and r6, rows 243/244, row 66 r4b
  fefd54e13 deferred: N7 lane image base inspect; brief for two gate environment rows (mos-1162)
  ee7b2f137 row 212: packages/library, mapping, scope, reader, resolver, R-rules, renderItems, survey (#1713)
  f6c70f944 sessions: Darkwing, row 195 build in review (37171f65b, rev 2756), slot green 22/22, 12/12 mutants, gate 662/0 + 429/0
  b3b2374ea sessions: Filbert, row 215 manifest r2 approve
  696255f88 sessions: Filbert, row 215 manifest review, changes requested (B1-B3)
  059577886 deferred: gate runs mount the host pi auth file (Webby N4 on the row 197 proof driver, traced by Herb)
  4ced5e63d sessions: Sage, rows 240, 228 and 238 landed (c515273db, 86249ac55, d49b1f2bd), 197 r5 rebuild, Gosalyn 212 slot (sage-1788..1826)
  e7078e6a8 deferred: Webby's row 238 N1, the sso-config first-step hint has no business (#1744)
  d49b1f2bd row 238: stack-release's sso-config first step carries --instance NAME on a named instance (#1744)
  86249ac55 row 228: ZAI_API_KEY in the session env allowlist (#1729)
  59f817c32 sessions: Darkwing, row 195 DESIGN r7 pushed (5425ea2f3), Duckworth review requested (Gitea 29960), row 226 items to Gosalyn
  c515273db row 240: installer I4, root's host check, its pins and the boot unit; I3's N1, N4 and N5 (#1746, Vikunja #432)
  da3051ccc deferred: Filbert's row 240 N1 and N2 (29945, #1746); 10-24 window draft Q1 takes the mos-1161 ruling
  060a17b54 sessions: Filbert, row 240 round 1 approve (29945, rev 2696)
  ffd90e7fc sessions: Darkwing, row 240 in review round 1 (ad1b23ab2, manifest 573ece95, revs 2694 and 2695), with its BUILD-LOG entry
  02709125a sessions: Sage, row 234 landing c771a36f4, 235 briefed, rebuilt-row slot order, 10-24 draft NEW (sage-1766..1787)
  c771a36f4 row 234: machine grant row a, host enrollment, store records and bus schema 3i to 3j (#1740, Vikunja #436)
  caa4b5944 sessions: Sage, row 233 landing 57f59e0c3, 234 gate stop and r3, 240 briefed, 197/238 drift (sage-1742..1758)
  57f59e0c3 row 233: installer I3, stack-upgrade.sh and the host run sheet (#1735, Vikunja #432)
  5465fd52d sage: DEFERRED, checkCreative doesn't refuse credentials (row 213 r3 Webby N1, mos-1160)
  b00d7d94d sage: row 240 (I4) carries Filbert N1, N4 and N5 from the 233 review; N2 and N3 go to DEFERRED (29922, sage-1727)
  642a9b87d sessions: Filbert, row 233 round 1 approve (29922, rev 2659)
  16019b80e sessions: Darkwing, row 233 in review round 1 (1a1dc80ca, manifest 464ce9eb, revs 2644 and 2647), with its BUILD-LOG entry
  9b5362018 sage: 10-24 window draft 0 counts grant look-alike events before --migrate (row 234 A22b, gizmoduck-0107)
  7662b0490 sage: 10-24 window draft 0 adds rows 232 (e65a3ab4d), 241 (5d4a61776) and 242 (5fb736b92, fc1cb856b); 199 and 210 evidence list due in draft 1
  04ce8dfd5 queue: revs 2639-2641 (row 242 Duckworth approve record, landing note and done)
  fc1cb856b publish: row 242 follow-up docs, the git socket comments name the hold and the late record; BUILD.md residual and :311 cite (Duckworth N1, N2, N4, #1748)
  c0c4907af sessions: Sage, rows 241 (5d4a61776) and 242 (5fb736b92) landed, queue revs 2628-2641
  5fb736b92 publish: a retry after publish-timeout pushes once; the bus holds the decision until its push ends and records a late push (row 242, #1748, P19 440)
  96bac588f queue: revs 2628-2638 (row 241 approve record, landing note and done; row 232 landing note and done; row 233 brief re-pin and Darkwing claim; row 242 in review round 1, request 29888)
  5d4a61776 bus: row 241 one decision lands once; a broker test with two checkLand tickets on one decision, where the second recordLand refuses decision-consumed and records nothing (row 241, #1747, P19 441)
  e65a3ab4d stack-release: --units external for root-owned units, with confirm, revert and gate --since; stack-copy copy --bundle and wrapper --create (row 232, #1734, installer I1)
  0444acd08 queue: revs 2618-2627 (row 232 round 2 approve; row 241 in review round 1, request 29868; row 234 and row 242 claimed)
  052ba95c7 sessions: Filbert row 232 I1 review round 2, approve (#1734)
  a52d64ed4 sage: 10-24 window draft 0 names the landed commits for rows 210 (f5753c0e8), 237 (d7d943199) and the PRD (0adf8ddfe)
  8fede5fc6 sessions: Sage, row 210 landed f5753c0e8, queue revs 2604-2617
  c084d8d42 queue: revs 2604-2617 (row 210 done, landed f5753c0e8; rows 241 and 242 added and briefed, 241 claimed by Megavolt; row 234 briefed)
  f5753c0e8 host access: agent host sudo through the credential store, host.run over broker.sock (row 210, #1707)
  9d165be8c plans: row 237 follow-up N1 brief, a retry after publish-timeout pushes once (duckworth-0069, P19 440)
  c25785d3d plans: row 237 follow-up brief, one decision lands once, tests at the broker (megavolt-0069, sage-1651, P19 441)
  ad95c888c sessions: Sage, row 237 and PRD 1.7+1.8 landed, queue revs 2540-2603
  584e2bd82 queue: revs 2540-2603 (rows 199, 200, 230, 237 done; 210 r4 and 238 in review; 232 in review round 1 approve; 233 briefed; rows 239 and 240 added)
  0adf8ddfe prd: Mosaic Stack PRD versions 1.7 and 1.8, status approved version 1.8 (DECISIONS Q192, decision d52febb5, Vikunja #434)
  d7d943199 bus: one decision, one open publish; checkPublish refuses publish-busy while another ticket holds the decision (row 237, #1743)
  a0e3d7cfd plans: installer I4 hostcheck row brief, split out of I3 (darkwing row 233 G2, sage-1650)
  9d24ff9b2 sessions: Filbert row 232 I1 review round 1, approve (#1734)
  6c04b89da plans: row 194 follow-up brief, the revoke under the writer's lock and a fire test (duckworth-0074, mos-1158)
  6f7dacb41 sage: 10-24 window draft 0 carries PRD 1.7+1.8 (mos-1154, mos-1156, DECISIONS Q192); the live pm cites 1.6 until the window
  d21b2615c darkwing: row 232 in review round 1 (#1734), BUILD-LOG and SESSIONS lines
  816d48b03 sage: row 42 run log, Jason's pre-S7 checks (mos-1154); PRD 1.8 r7 raise dropped, Jason approved in T3 (DECISIONS Q192, NOTE.md)
  011d41ba6 sage: row 42 S7 dates in the run log (sage-1622, mos-1148 C1 C2, Vikunja 442), 10-24 window draft 0 (mos-1145; NEW open), Vikunja scripts and records: 412/424 landing comments, 237 follow-ups 440/441, P19 405-408 and 411 re-plan comments 416-420, read-tasks.mjs (#1524)
  c8bc5cf4c case2: unit render and host precheck, case2-unit.sh and case2-precheck.sh (row 230, #1732)
  390ea5261 business: README names nine hard waits, git.push.remote included; row 199 added it to GATED_ONLY (row 199 review N3, duckworth-0068, #1697)
  cb5fdb064 credentials: a credential store per agent, its own git identity, pushes to a remote (row 199, #1697)
  76134dfde plans: row 200 follow-up N1 brief (#1744, Launchpad, Webby): the sso-config hint carries --instance NAME
  9e1085816 stack-release: activate --sso for the Q175 phase 2 window (row 200, #1698)
  722136772 plans: row 194 item 7 takes the restart route (honker-0044) and item 8 revokes on fire and delete before the business file changes (row 199 D13), with tests and mutants
  a304dad94 plans: C2-03a askpass ruling (megavolt-0060 to -0063, dewey-0765, gosalyn-0068): fixed argv with followRedirects=false and credential.helper reset, LC_ALL=C, exact-prompt helper with row 199's HOST/NAME checks, no userinfo; tests and four mutants
  919a84738 plans: #436b build brief (#1742, schema 3j-3k, design r5 1be535aca) and row 199 N1 follow-up (#1743); row 194 carries 199 N2; 193b2 moves to 3k-3l after #436b
  2d8687bcf sessions: pending lines from Darkwing, Rocko, Launchpad, Morgana, Honker, Gander, Herb, Dewey and Sage (2026-10-20 18:45Z to 23:32Z)
  1c46d0abf queue: revs 2456-2539. Morgana row 213 in-review rounds 1-2 (2456-2476); Gizmoduck row 210 in-review 1 (2458-2459); Gosalyn row 212 in-review r1 and row 230 start (2464-2470); Duckworth row 210 record (2466); Webby row 213 verdicts r1-r2 and row 200 r3 approve (2469, 2500, 2539); Darkwing row 190 r3 in-progress through row 232 in-progress (2501-2514); Filbert row 190 record and row 66 r3 approve (2504, 2526); Dewey row 66 r3 approve (2529); Megavolt row 199 in-review round 1 (2535-2536); Launchpad row 200 r3 in-progress and in-review (2509-2525); Sage requests, row 190 done, rows 232/233 added and briefed, row 195 after 190 and 233, brief re-pins of 226/230/232/233, row 66 round 3, the row 200 r3 request as jarvis, machine grant rows 234 and 235 added and row 206 after 234 with its 3k brief and piece, the row 199 r1 request as jarvis (2460-2538, 57 revs)
  f519fb1d2 plans: machine grant rows a (#1740, schema 3i-3j) and b (#1741) briefs from design r6 f9039682e; 193b2 moves to schema 3j-3k after row a
  b8236a7e1 sessions: Filbert row 66 round 3 APPROVE
  c7675476b sage: P19 catch-up comments 411-413 on 413 (row 189 landed, no-send activate), 424 (row 210 status) and 414 (rows 201 and 204 landed)
  9de7ad829 sage: row 66 r3 packet, rebase of r2 onto c40d846cb (sage/row66-r3 2369c00e36874e1100b301e0d01cbd105c0c5d4f, same patch-id, manifest 42e3876ca168)
  c40d846cb sage: Vikunja comment scripts and read-backs for row 192 landing (P19 412) and the row 190 W11 comments 406-409
  01b40d357 plans: C2-13a rulings for gosalyn-0065. G1: default instance only, no --instance, a named instance is a follow-up. G2: library refuses --sso for 10-27, preview set and proof pair stay, --sso waits for Q175 phase 2. Line cites moved to their places after rows 190 and 192 (webui-service.sh, stack-copy.sh, bus-service.sh, serve.mjs), and the Console's WantedBy replaces :41
  ad6f0be7a plans: installer I1/I3 brief, the stack user's stack-release.sh runs from its own clone of the release bundle (darkwing question, sage-1561)
  ffc124bf6 plans: installer I2 re-brief of C2-13a (row 230, #1732) and C2-13b (row 226, #1727) for Vikunja #432. Q189: both units WantedBy=multi-user.target, root's 2c step enables both and starts the bus then the Console, no hand start at step 9 (gosalyn-0064, mos-1122, mos-1123). Row 190 landed first, so row 230 renders @CONFIG_ENV@ and @SESSION_ENV@
  8a14931fa plans: installer briefs I1 (Gitea #1734) and I3 (#1735) for Vikunja #432 (mos-1118, mos-1122). I1 builds on row 190's landing 00d4cc1f6; I3 carries the root lock finding, duckworth-0055's notes, the per-host enrollment step and the credential slot table
  0272383f5 sessions: Darkwing row 190 landed as 00d4cc1f6, row 195 r6 approved and held
  00d4cc1f6 stack: several Mosaic Stack instances on one host (row 190, #1688)
  99a406ed3 sage: re-pin window 490e2771d to 4429a104f (row 192) record, STATE.md (sha256 a4d0a7b12f431f15), W.txt (ca9ad4a09059d3b7), S1/S2, matrices, W10 browser check and diagnosis (screenshots not committed), Mos's P3 rehearsal and flags check, W11 reads. Plan corrections after the window: NEW is 103 commits past OLD (not 106), the P3 flags note (mos-1107), and W10's line g and corrected browser checks (mos-1135, mos-1137). PRD 1.8 raise record, decision 3a6c8fb9 (mos-1140) (#1690; P19 386, 412)
  d0bbc5c1c business: 193a access level check widened to viewer (row 204, #1702)
  c9f374284 sessions: Filbert row 190 manifest round 3 APPROVE
  4385b9ec1 plans: Case 2 briefs. C2-13a factory profile from gosalyn-0057 items 1-3 (--pm, --claude under the --node rule, no proxy flags), row 190 tokens to whichever lands second. New C2-01b for row 212's notes N1-N3, N4 to the C2-12 setup sheet, N5 to C2-10b (webby-0041, sage-1517)
  afad4993f business: FED R1, access.json loader and validator with covers (row 201, #1699)
  f41729178 plans: re-pin plan 490e2771d to 4429a104f (row 192, Q175 phase 1), npm ci in the new copy, for Mos's check (mos-1099 item 3)
  305857c8f queue: revs 2362-2455. Sage: Case 2 rows re-pinned to design r11 (5b8def2f1, row 226 to C2-13b), row 230 C2-13a added and briefed (#1732), row 215 (C2-04) assigned to Herb, row 192 landed 4429a104f with landing note and done, row 228 review request resolved, plus earlier Sage revs. Other seats' revs: Filbert 2362, 2447 (row 190 verdicts); Herb 2395-2396; Webby 2420, 2428 (rows 197/228 verdicts); Morgana 2421 (row 213 claim); Researcher subagent 2422-2424 (row 228); Gosalyn 2426 (row 212 claim); Darkwing 2431, 2433, 2438 (row 190)
  176a6bf4b sessions: Filbert row 190 manifest round 2 CHANGES (base drift on row 192)
  5b8def2f1 plans: Case 2 row briefs from Gosalyn's eac92d956 (design r11, approved webby-0038: C2-13 split into C2-13a unit render and host precheck and C2-13b install script and library precheck, C2-04 owner Herb, Console unit without [Install] per mos-1097)
bus: scripts/bus-service.sh install --copy 7247d80c7af7ffa70fc61557406bf491cdf3bfc7 --copies /home/jwoltje/.local/share/mosaic-stack/copies --pm --claude /home/jwoltje/.local/bin/claude
drop --tester-port 7333 (replaced by private Unix socket); the target Console does not support it
proof: off
send: off
Console: scripts/webui-service.sh install --copy 7247d80c7af7ffa70fc61557406bf491cdf3bfc7 --copies /home/jwoltje/.local/share/mosaic-stack/copies --port 7332 --public-host mosaic.woltje.com --auth-header X-authentik-username --allow-user jason.woltje --tester-socket
CLI: scripts/stack-copy.sh wrapper 7247d80c7af7ffa70fc61557406bf491cdf3bfc7 --copies /home/jwoltje/.local/share/mosaic-stack/copies --bin /home/jwoltje/.npm-global/bin
interpreter: {"path":"/usr/bin/python3.14","version":[3,14,6],"dev":66308,"ino":3968163,"sha256":"8735f172622a7f8d27e293fd0fd36fc55c4cb9b663b6630d33b57870e36c24cc"}
