plans: one-copy brief takes Mos's pm.conf drop-in, row 61 paths, #1579
Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
@@ -5,7 +5,8 @@ It is the fix plan in my comment 52 on Vikunja #225, which Mos asked for
|
||||
in sage-0094 ("Tell me the plan before anything touches the wrapper or
|
||||
the unit") and sage-0095 ("Keep the one-copy row brief going"). It
|
||||
follows queue row 77 (#1571), whose round 2 makes `webui-service.sh
|
||||
install --copy` refuse unless the bus runs from the same copy.
|
||||
install --copy` refuse unless the bus runs from the same copy. Gitea
|
||||
#1579.
|
||||
|
||||
## Bus, Console and mosaic CLI on one pinned copy (#225)
|
||||
|
||||
@@ -37,9 +38,10 @@ path, `/mnt/storage/src/mosaic-stack/scripts/mosaic talk pm ...`, which
|
||||
Jason confirmed works (6b5b7aef). The bus also runs code from the moving
|
||||
checkout, so every landing in `packages/bus` or `packages/cli` is live at
|
||||
its next restart, the same problem row 77 fixes for the Console (lead
|
||||
decision 109). And the unit starts the host without `--pm`
|
||||
(`packages/cli/src/cli.mjs:265-279`), so no PM session runs unless
|
||||
someone starts the host by hand (the S7 run log, 2026-10-12T18:49Z).
|
||||
decision 109). And the unit template has no `--pm`
|
||||
(`packages/cli/src/cli.mjs:265-279`), so no PM session ran until Mos
|
||||
added a temporary drop-in that sets it (sage-0096; the S7 run log,
|
||||
2026-10-12T18:49Z).
|
||||
|
||||
Accepting a second path in the proof (#225 option B) is rejected: it adds
|
||||
a trusted path and keeps the three trees on different code.
|
||||
@@ -86,7 +88,9 @@ One copy for all three:
|
||||
if any copied path imports it, `package.json` and `package-lock.json`.
|
||||
The script runs `npm ci` in the temp directory before the rename, so
|
||||
the copy carries the pi pin's `node_modules` and `pi-pin.mjs`'s lock
|
||||
check passes there (`packages/conversation/src/pi-pin.mjs:52-57`). The
|
||||
check passes there (`packages/conversation/src/pi-pin.mjs:52-57`). Row
|
||||
61 adds `packages/tasks/src` and `packages/tasks/fields.json` to what
|
||||
the Console loads (Darkwing, 2026-10-12), so the list carries them. The
|
||||
script refuses if `package.json` is missing from the temp directory, so
|
||||
`npm ci` can never walk up. Rocko derives the final list from the
|
||||
imports and records how in the packet.
|
||||
@@ -124,6 +128,15 @@ The bus unit:
|
||||
`refactor` points at another commit. It changes nothing.
|
||||
- The `--claude PATH` pin (lead decision 91) is unchanged and is rendered
|
||||
next to `--copy` and `--pm`.
|
||||
- Mos's temporary drop-in,
|
||||
`~/.config/systemd/user/mosaic-bus@mosaic-stack.service.d/pm.conf`
|
||||
(sage-0096, 2026-10-12T18:53:34Z), resets `ExecStart` to add `--pm`
|
||||
until this row lands. A drop-in overrides the installed unit, so
|
||||
`status` and `check` read the effective `ExecStart` and
|
||||
`WorkingDirectory` from `systemctl --user show`, not from the unit
|
||||
file, and `status` lists any drop-in files. `install` refuses while a
|
||||
drop-in for `mosaic-bus@` sets `ExecStart` or `WorkingDirectory`,
|
||||
naming the file. The update step removes `pm.conf` before the install.
|
||||
|
||||
The check and the wrapper:
|
||||
|
||||
@@ -143,7 +156,9 @@ The check and the wrapper:
|
||||
|
||||
The update step, documented once in `docs/TOOLS.md` and pointed to from
|
||||
both READMEs: `stack-copy.sh copy COMMIT`; stop the Console, then the
|
||||
bus; `bus-service.sh install --copy ID --pm` with its flags;
|
||||
bus; remove any `mosaic-bus@` drop-in that sets `ExecStart` (the first
|
||||
time, Mos's `pm.conf`) and run `systemctl --user daemon-reload`;
|
||||
`bus-service.sh install --copy ID --pm` with its flags;
|
||||
`webui-service.sh install --copy ID` with its flags; `stack-copy.sh
|
||||
wrapper ID`; start the bus, then the Console; `stack-copy.sh check`,
|
||||
`webui-service.sh status`, `/healthz` and `scripts/mosaic launches list`
|
||||
|
||||
Reference in New Issue
Block a user