Add mosaic launch <seat> with seat registration for the control board (#1504)
New package packages/seat and wrapper scripts/mosaic. `launch <seat>` writes <dataRoot>/seats/<layout>/<seat>/registration.json and then execs the seat's launch.sh unchanged; `seat task <seat> <text>` edits the task only. The board reads registrations, matches by sessions directory, and lets a registered task, project or workspace override the derived value with a source tag. The four repository launch scripts register themselves unless already registered or run with --check. Fleet launchers untouched; one-liner on the plan page. Review found the record path keyed by seat name alone (repo and fleet "darkwing" would collide); fixed by keying on layout. Also: the Pi pin refusal now names installed and required versions. Tests: seat 15, control-board 89, launch scripts 5, registry 69, config 24. Co-Authored-By: Claude Fable 5.1 <[email protected]>
This commit is contained in:
+21
-7
@@ -22,13 +22,27 @@ First step-3 refinement landed 2026-09-12: liveness follows the tmux pane
|
||||
"Waiting on you" until the agent writes again
|
||||
(`docs/plans/reviews/2026-09-12_control-board-step3-seen-marks.md`).
|
||||
|
||||
Next action: step 3 of #1503 — daily use. Jason opens the page while he works
|
||||
and reports what is wrong, missing or confusing; each report becomes a small
|
||||
fix on this package with a test, committed and pushed to `refactor`. Close
|
||||
#1503 when Jason says the page answers "who is waiting on me" without him
|
||||
opening a terminal. Out of scope until he asks: auth, hooks/plugins, comms,
|
||||
memory, launcher changes, non-Pi harnesses, new root files. The registry line
|
||||
(increment 3, headless identity-env leak) stays parked; #1500 is closed.
|
||||
Gate A (task, active project, workspace per row) passed on 2026-09-12 and
|
||||
Jason's go on the professor session's brief opened #1504: seat registration.
|
||||
`scripts/mosaic launch <seat>` runs a seat's launch script unchanged and
|
||||
leaves one record at `<dataRoot>/seats/<layout>/<seat>/registration.json` that the
|
||||
board reads instead of guessing; `scripts/mosaic seat task <seat> <text>`
|
||||
changes the task. The four repository launch scripts register themselves.
|
||||
Package: `packages/seat`. Fleet launchers under `~/.mosaic` are not edited
|
||||
from this repository; the one-line change for them is in the plan page.
|
||||
|
||||
Next action: step 3 of #1503 continues — daily use with #1504 landed. Jason
|
||||
launches his seats through the new path (or the launch scripts, which now
|
||||
register), sets tasks with `seat task`, and reports what is wrong, missing
|
||||
or confusing; each report becomes a small fix with a test, committed and
|
||||
pushed to `refactor`. The sequence Jason set stays: seat registration (done),
|
||||
then reply-from-board, then the WebUI on Dewey's Console design absorbs the
|
||||
board as its first screen. Close #1503 when Jason says the page answers "who
|
||||
is waiting on me" without him opening a terminal. Out of scope until he
|
||||
asks: auth or provider registry, roster schema changes, hooks/plugins, comms,
|
||||
memory, multiple sessions per seat, stopping seats, new root files. The
|
||||
registry line (increment 3, headless identity-env leak) stays parked; #1500
|
||||
is closed.
|
||||
|
||||
## Completed checkpoint: #1500 increment 2 (historical)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user