feat: add read-only supervision command#76
Conversation
|
Maintainer update from JTInventory, 2026-06-25:\n\nThis PR is still wanted. It is the read-only fm-supervise foundation for turning Firstmate/Radar state into a concise decision model. Downstream workflow-structure work is waiting on either merge or sidecar adoption of this command.\n\nRecommended handling:\n- Keep the read-only boundary intact: no teardown, merge, restart, backlog mutation, treehouse mutation, or service changes.\n- If GitHub reports the branch stale/unknown, I can refresh it against current main after the active branch-metadata hardening PR completes.\n- Future Radar work should consume fm-supervise --json instead of duplicating decision rules.\n- This PR should stay separate from PR #68; #68 is about optional no-mistakes gate mode, while this is the supervision decision model.\n\nOwner can review the behavior model now; code refresh can be handled by us if needed before merge. |
a2bd2db to
0af5470
Compare
0af5470 to
746cae0
Compare
6e9d89a to
746cae0
Compare
Summary
bin/fm-supervise.shandbin/fm-supervision-model.shfor read-only Firstmate supervision.firstmate.supervision.v1JSON model for future Radar consumption.fm-supervise --json.Read-only boundaries
The command reads existing state/status/meta, tmux liveness, treehouse status, git worktree/status data, and GitHub through
gh-axi api GET. It does not mutate state, backlog, tmux, git, treehouse, services, teardown, merge, or GitHub.PR #68 compatibility
Firstmate PR #68 is still open. This PR overlaps it only in
AGENTS.mdandREADME.md; there is no material overlap in the new supervision scripts or tests.Validation
bash -n bin/fm-supervise.sh bin/fm-supervision-model.sh tests/fm-supervision-model.test.shbash tests/fm-supervision-model.test.shfor test_script in tests/*.test.sh; do "$test_script"; donegit diff --checkbin/fm-supervise.sh --json --no-default-reminders | python3 -m json.toolno-mistakes axi run --yes --intent ...passed review, test, document, and lint; push failed only becauseoriginis not writable from this token, so this branch was pushed tofork.ce-test-browserwas skipped because this is a CLI/shell change with no browser-bearing surface.