PYR0D-356: Run the supervision host by default on a Claude primary and hand away heartbeats to its engine #42
Loading…
Reference in a new issue
No description provided.
Delete branch "fm/fm-adopt-away-host"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Story: PYR0D-356
What this does
Adopts upstream's away-mode supervision host on this home, so an away posture gets an engine turn that re-reads the captain's away words, instead of the daemon only relaying escalations.
config/supervision-hostholdingoffopts a home out. Upstream 12e90e14 (secondmate opt-out inheritance) was not brought in: it conflicts on live-lab files this fork removed.package.json(reproduced with/home/john/package.json) made Node refuse the TypeScript import inbin/fm-branch-dispatch.mjs, silently handing every wake to main..pi/extensions/lib/package.json("type":"module") types the library directory. It is the narrowest scope: the dispatch import graph is onlyfm-branch-dispatch.tsandfm-async-exec.ts. Pi discovery only reads a subdirectorypackage.jsonfor api.extensionsmanifest, so Pi's loader is unaffected.state/.afk, so the watcher absorbed every idle heartbeat and the engine never got a turn on a quiet fleet. The heartbeat block inbin/fm-watch.shnow checks the away record too. Quiet mode is unaffected.The Forgejo green-and-head merge gate in
bin/fm-pr-merge.shis already in the rebuild; nothing changed there. Porting #33/#27/#30 is out of scope (#27 is the parallel watchdog task).Proof
Scratch-home tests in
tests/fm-supervision-host.test.sh: dispatch under a CommonJS ancestor; an away heartbeat reaches the engine with the away words appended and a declined wake is handed back to main.tests/fm-watch-triage.test.sh: heartbeat under an away record. No away mode was entered on the live home, and the live daemon and watcher were not touched.Trial plan (for firstmate to run)
Run on the live home after this lands and homes fast-forward.
offtoconfig/supervision-host, confirm the host steps aside and the plain watcher arm delivers wakes to main; remove the file to restore.Check afterwards that the live daemon and this host do not double-handle a wake (the parallel watchdog task owns that reconciliation).