Skip to content

T-5UT9-add-a-tmux-host-and-a-pi-harness

State: closed/done · Impact: medium · Complexity: medium

simple-dispatch’s host/harness survey covers three harnesses (claude, codex, pi) and adds a tmux host alongside terminal/orca/cmux, per docs/planning/notes/N-C7QF-hosts-tmux.md and docs/planning/notes/N-XA3J-harnesses-pi.md. Neither exists in sdlc today; this closes both gaps.

  1. Add a tmux host under lib/services/host/hosts/tmux.ts implementing session()/terminal() per the researched pane-naming and discovery scheme.
  2. Add pi as a third harness value alongside claude/codex in the split Harness enum (T-GG0N), with open/resume argv per docs/planning/notes/N-XA3J-harnesses-pi.md.
  3. Note pi’s --mode rpc surface for a later headless path (the P3 analog), without building headless dispatch here.
  4. Extend the host/harness mapping’s tests and available() probes to cover both.
AreaNote
solutions/ontological/lib/services/host/hosts/tmux.tsNew tmux host
solutions/ontological/lib/services/host/engines.tsAdd pi to the (post-split) Harness enum
docs/planning/notes/N-C7QF-hosts-tmux.mdSource for tmux pane naming/discovery
docs/planning/notes/N-XA3J-harnesses-pi.mdSource for pi’s open/resume/native-send/headless surface
  • AC-1: The tmux host passes the same session()/terminal() contract tests as terminal/orca/cmux, exercised against a fake CommandRunner (never a real tmux binary). Verified: hosts.test.ts’s “tmux host” describe block.
  • AC-2: pi is a selectable harness with an available() probe and open argv, unit-tested the same way claude/codex/cursor’s argv already are. Verified: harnessArgv('pi', ...)/harnessAvailable('pi') tests in hosts.test.ts.
  • AC-3 (refined — the task’s original “smoke test where both tools are installed” conflicts with this campaign’s testing rule that no test may launch a real tmux server or harness CLI): a tmux-hosted pi session’s full open path — composed argv, the tmux new-session invocation, and the tag used to name it — is exercised end-to-end against a fake CommandRunner that records the exact argv, in one test that never starts a real tmux server or pi process. Verified: hosts.test.ts’s standalone AC-3 test.
  • Host.send/native send for pi (T-CPJI)
  • pi’s headless RPC mode
  • T-GG0N

T-GG0N


← Back to Tasks