Skip to content

feat: add read-only supervision command#76

Open
JTInventory wants to merge 1 commit into
kunchenguid:mainfrom
JTInventory:fm/fm-supervise-impl-0625
Open

feat: add read-only supervision command#76
JTInventory wants to merge 1 commit into
kunchenguid:mainfrom
JTInventory:fm/fm-supervise-impl-0625

Conversation

@JTInventory

Copy link
Copy Markdown

Summary

  • Adds bin/fm-supervise.sh and bin/fm-supervision-model.sh for read-only Firstmate supervision.
  • Emits concise text output plus a stable firstmate.supervision.v1 JSON model for future Radar consumption.
  • Adds focused shell tests and documents that Radar migration is deferred and should later consume 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.md and README.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.sh
  • bash tests/fm-supervision-model.test.sh
  • for test_script in tests/*.test.sh; do "$test_script"; done
  • git diff --check
  • bin/fm-supervise.sh --json --no-default-reminders | python3 -m json.tool
  • no-mistakes axi run --yes --intent ... passed review, test, document, and lint; push failed only because origin is not writable from this token, so this branch was pushed to fork.

ce-test-browser was skipped because this is a CLI/shell change with no browser-bearing surface.

@JTInventory

Copy link
Copy Markdown
Author

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.

@JTInventory JTInventory force-pushed the fm/fm-supervise-impl-0625 branch from a2bd2db to 0af5470 Compare June 25, 2026 17:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant