Roadmap for coord-tui — the terminal UI companion for BoJ local-coord-mcp.
Everything working today:
-
✓ Interactive TUI with Peers and Claims panels (ratatui + crossterm)
-
✓
--idsilent registration mode for shell hooks -
✓ Window title set to peer ID on both interactive and silent modes
-
✓
coord_list_claimsendpoint + claims panel populated correctly -
✓ Commands sidebar (right panel, open by default,
\to toggle) -
✓
?full help overlay (keys, shell helpers, session info) -
✓
coord-hooks.sh—coord-peers/coord-claims/coord-claim/coord-status/coord-whoami -
✓ Tool launcher wrappers:
claude/gemini/cursor/codex/vibe -
✓
just coord-*recipes in boj-server Justfile -
✓
install.sh— one-command new-machine setup -
✓ Idris2
IsLoopbackproof in adapter ABI -
✓ Auto-refresh every 5 s; footer shows refresh age
Goal: make the sidebar more ergonomic; complete the claim lifecycle.
-
❏ Scrollable sidebar content (currently clips at terminal bottom)
-
❏ Per-section collapse/expand in the sidebar (
1–4to toggle sections) -
❏ Explicit claim release —
rto release your selected claim -
❏ Claim expiry countdown in the Claims panel (watchdog TTL remaining)
-
❏ Peer detail view — press Enter on a peer to expand role, variant, capabilities
-
❏
coord-hooks.shcompletion: tab-complete task names from live claim list -
❏
just coord-releaserecipe
Goal: zero-friction onboarding for new contributors.
-
❏ Colour-coded peer kinds (claude = cyan, gemini = blue, cursor = yellow, vibe = magenta)
-
❏ Status line shows claim count + peer count without opening TUI
-
❏
install.shidempotent dry-run mode (--check) -
❏
install.shHomebrew / standalone.tar.gzdistribution -
❏ Configurable refresh interval via
--refresh-secs -
❏
COORD_ADAPTER_TIMEOUT_MSenv var for slow machines -
❏ Man page (generated via
just coord-man) -
❏ Better error message when adapter is not running (link to install docs)
Goal: verify state transitions prove isolation and liveness.
-
❏ Extract state machine to
src/state.rs(pure, no I/O) -
❏ Idris2 ABI in
abi/CoordTUI.idr— formal spec ofMode,Focus,Apptransitions -
❏ Proof obligations:
-
P-01Mode transitions are acyclic (no infinite mode loops without user input) -
P-02Selection always in bounds (clamp_selectionproven correct) -
P-03Sidebar does not affect peer/claim data (purely presentational)
-
-
❏ Zig FFI for state helpers (replaces pure-Rust
next_indexetc.) -
❏ SPARK/Ada companion module for the transition kernel
Goal: coordinate across machines on the same LAN, not just localhost.
-
❏ Configurable adapter URL (already
COORD_BACKEND_URL; needs secure transport) -
❏ mTLS between coord-tui and non-local adapters
-
❏ Peer federation: list peers from multiple coord adapters in one TUI view
-
❏
coord-hooks.shSSH forwarding helper (coord-tunnel <host>)
Things that belong in local-coord-mcp (the cartridge), not coord-tui:
-
Claim persistence across adapter restarts
-
Master/journeyman/apprentice role promotion
-
Track-record affinity scoring
-
Envelope routing and typed messages
-
Watchdog TTL policy
These are adapter and MCP bridge concerns — coord-tui is intentionally a read/act client, not a policy engine.