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:
@@ -2102,3 +2102,23 @@ on the way: Jason's own launch refused on the Pi pin because
|
||||
`node_modules` still held 0.84.4 after commit 557aba0f moved the pin to
|
||||
0.85.1; `npm ci` fixed it and the refusal message now names both versions.
|
||||
The pin is canon and stays unless Jason decides otherwise.
|
||||
|
||||
## 2026-09-12 — Seat registration follow-up: test leak and stale records (#1504)
|
||||
|
||||
Before: 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
|
||||
(dead pids, `/tmp` workspaces), overwriting Jason's live darkwing record.
|
||||
Separately, a launch the script itself refused (Pi pin) left a record with
|
||||
a dead pid that the board showed as registered. Both reported by the
|
||||
professor session, verified against the commit and the data root.
|
||||
|
||||
After: the spawn names the fixture config; both launch test files set
|
||||
`MOSAIC_CONFIG` to a nonexistent path and clear `MOSAIC_LAUNCH_REGISTERED`
|
||||
process-wide so a forgotten env fails instead of polluting. The scanner
|
||||
probes the recorded pid (`pidAlive`, signal 0, EPERM counts as alive); a
|
||||
gone pid marks the record stale: kept on the Registered line with
|
||||
`registered.alive` false, derived values win, `registrationStale` on the
|
||||
index, stale count in the CLI summary. Fleet launchers marked not planned
|
||||
per Jason. Tests: board 90/90, seat 15/15, launch scripts 5/5, real data
|
||||
root untouched by the run. The three fixture records were deleted by hand.
|
||||
|
||||
Reference in New Issue
Block a user