control board: stale registrations and a launch-test leak (#1504)

Two defects in 69f99323, reported by the professor session and verified.

The darkwing launch test's flock-contention spawn ran without the fixture
config, so launch.sh re-entered scripts/mosaic against the real data root
and wrote fixture records for darkwing, dewey and filbert there. That
spawn now names the fixture config, and both launch test files set
MOSAIC_CONFIG to a nonexistent path and clear MOSAIC_LAUNCH_REGISTERED
process-wide, so a spawn that forgets fails instead of polluting.

A registration is written before the launch script's own checks, so a
refused launch left a record with a dead pid that the board honoured. The
scanner now probes the recorded pid (pidAlive, signal 0); a gone pid makes
the record stale: still on the Registered line with alive false, derived
task, project and workspace win, index gains registrationStale, CLI
summary gains a stale count.

Fleet launchers marked not planned per Jason. Board 90/90, seat 15/15,
launch scripts 5/5. Sonnet review APPROVED.

Co-Authored-By: Claude Fable 5.1 <[email protected]>
This commit is contained in:
2026-09-12 11:04:49 -05:00
co-authored by Claude Fable 5.1
parent 69f99323c7
commit 17153fe140
14 changed files with 166 additions and 18 deletions
+3 -2
View File
@@ -28,8 +28,9 @@ Jason's go on the professor session's brief opened #1504: seat registration.
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.
Package: `packages/seat`. Fleet seats stay on their own launchers (Jason's
ruling, 2026-09-12); only `agents/` seats register. A record whose pid is
gone is stale and does not override the derived values.
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