decisions, build-log, sessions: cutover live, 109 landings are live Console changes

Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
2026-10-12 12:27:49 -05:00
co-authored by Claude Opus 5.5
parent 6040d42449
commit 51711d60ad
3 changed files with 31 additions and 0 deletions
+6
View File
@@ -4382,3 +4382,9 @@ After (c45b948d): Dewey's round 2, 9 files +798 -40 in packages/webui. Under `--
Before (23d38413): `scripts/webui-service.sh` took the preview set but no `--send`, so any unit it installed was read-only, and the only way to a sending Console was a hand-edited unit that the next install overwrote. Its header and install message said only Jason starts the Console.
After (1a8ba587): Dewey's round 1, 4 files +202 -22. render and install take `--send` only with all three preview flags and refuse before writing anything otherwise. With `--send` the ExecStart ends in `--send`; renders without it are byte-identical to the base. `status` says whether the installed unit sends. The script header, install message, README service paragraph and TOOLS.md carry lead decision 102: Jason or Mos starts and restarts the Console, no other agent. Approved by Darkwing (27721) and Filbert (27722) on manifest f764cd9e, no drift on the 4 paths from d13b9300. Sage's gate on 23d38413 plus the patch, 04:07:30Z to 04:10:47Z, full output kept: bus 95, webui 81, cli 114, control-board 124, the nine `scripts/test-*.sh` 0 failed (test-task 98). `queue review verify-commit 83 1a8ba587` matched 4 paths. Row 83 done at rev 635 (7a4ca67b), #1576 closed with comment 27728. Follow-ups after the cutover: the service.in comment at lines 6-9, an allowed user beginning with `-` (script and serve), a usage-text test for `[--send]`, README line 106 at 102 characters.
### 2026-10-12 — Sage, mosaic.woltje.com cutover live (decisions 102, 103)
Before: mosaic.woltje.com served the old build, and the Console unit (installed 04:14:24Z from 777ada59) was installed for mosaic-preview.woltje.com, disabled and inactive.
After: Jason gave the go at 17:21:09Z. Mos reports that ops-01 switched Argo `mosaic-preview` to `overlays/cutover` (Synced and Healthy at ebfd7065 from 17:21:32Z). Mos reinstalled the unit for mosaic.woltje.com under decision 103 and started it at 17:21:41Z, PID 3951396, from 6040d424, which has no webui diff from 36e34e5b. Their checks: anonymous LAN and external requests and forged headers get 302 to Authentik. Directly through the tunnel, the Console returns 401 with no identity and 403 for a non-local Host (ops-01, 17:22Z). Jason reached the dashboard from the WAN. Sage's read-only check at 17:27Z: `scripts/webui-service.sh status` enabled, active, NRestarts 0, "send: on", /healthz 200; ExecStart is decision 103's command. Undo: the Argo path back to `overlays/prod` and a reinstall with the preview host. Found while checking: the unit runs from the canonical checkout, and each request spawns human-cli from it, so landings there are live changes. Decision 109 sets the landing rule until a follow-up row pins the Console's copy.
+1
View File
@@ -751,3 +751,4 @@ are never rewritten or removed; corrections are new entries.
2026-10-12T14:46:53Z | sage | decision 106, I1-2 agreed | Jason agreed Q103 via Mos sage-0075 and installed the rootless packages, Mos set up the user units; Sage checked the endpoint read-only (rootless, cgroup v2, data root on /mnt/storage); brief pins it and fails closed without name=rootless
2026-10-12T14:59:20Z | sage | decision 107, I1-3 deferred | Jason deferred Q104 via Mos sage-0077: no WebAuthn in the I1 brief; reopens only as a new question once containers run; a compromised Console holding human authority is recorded as open
2026-10-12T15:00:59Z | sage | decision 108, I1-4 answered | Jason chose Q105 A via Mos sage-0078: subscription token as a read-only file secret per session container, no API key or gateway; copy-out risk accepted, bounded by the egress allowlist; all four I1 items answered, brief is Sage's on 2026-10-13
2026-10-12T17:27:49Z | sage | cutover live, decision 109 | verified the mosaic.woltje.com Console read-only after Mos's 17:21Z start (status active, send on, healthz 200); decision 109: landings touching webui, bus or cli in the canonical checkout are live changes until the Console runs from a pinned copy; BUILD-LOG entry
+24
View File
@@ -2413,3 +2413,27 @@ which stay with him. Each item names who decided it and what happened.
brief is Sage's to write. M1 is decision 104. Under decision 96,
when T3 Mos retires is still Jason's call after the M3 trial, and
nobody puts it to him before then.
109. **Landings in the canonical checkout are live Console changes
(2026-10-12).** The cutover Console (decision 103, started by Mos
at 17:21:41Z after Jason's go at 17:21:09Z) runs from
`/mnt/storage/src/mosaic-stack`, the checkout Sage lands rows into.
Its webui modules load once at start. But every read and send spawns
a fresh `node packages/bus/src/human-cli.mjs` from the same tree
(`packages/webui/src/bus.mjs:31`). So a landing that touches
`packages/bus` changes the live Console on its next request.
`Restart=on-failure` loads whatever webui and cli code the tree
holds at that moment.
- Until the Console runs from a pinned copy, Sage treats a landing
that touches `packages/webui`, `packages/bus` or `packages/cli`
as a live change. Sage tells Mos before it lands, gives the landed
commit after, and runs `scripts/webui-service.sh status` and
/healthz. The landing doesn't restart the unit. A webui change
reaches the Console when Jason or Mos restarts it.
- The landing itself stays the gate recipe: `git apply --index`
then `sha256sum -c` in one step. Seats don't edit or check out
branches in the canonical checkout, which is already the rule.
- Follow-up row for 2026-10-13: run the Console from a pinned
worktree or release copy at a landed commit, so landings stop
being deploys. Pointing the unit at it is a reinstall, which is
Mos's step under decisions 102 and 103. It goes in the same window
as decision 101's uid reinstall.