The controlplane harness now uses Aider as the multi-agent orchestrator
instead of Codex. Aider launches via --message for non-interactive task
execution, with the same tmux glass-pane and log streaming as before.
Runtime changes:
- src/config.ts: ControlplaneRunner 'codex' -> 'aider', env vars renamed
- src/controlplane-codex-runner.ts -> controlplane-aider-runner.ts:
CodexRunOptions -> AiderRunOptions, runCodexTask -> runAiderTask,
adjusted CLI args for Aider (--message, --model)
- src/controlplane-heartbeat.ts: updated imports and branch logic
- setup/agent-cli-check.ts: pi and aider first, others optional
- setup/install.ts: added printAiderTip()
- scripts/glass.sh: right pane now launches aider instead of shell
Config:
- .env.example: CONTROLPLANE_CODEX_* -> CONTROLPLANE_AIDER_*
Docs:
- AGENTS.md: updated agent identity and CLI prerequisite
- README.md: Aider+Pi as primary driver
- doc/CONTROLPLANE-MESSAGE-CONTRACT.md: runner modes updated
Codex, Claude Code, and other CLIs remain installed and available
as optional tools. Only the harness default changed.
---
Build: pass | Tests: not run (Linux)
Remove Paperclip name from descriptive comments in setup/agent-cli-check.ts
and setup/onboarding.ts. Fix stale SQLite reference in
doc/CONTROLPLANE-AIDER-PI.md. Answer open questions and check off
completed tasks in the Aider+Pi handoff doc.
---
Build: pass | Tests: not run (Linux)
Mirrors Paperclip's per-adapter ensureCommandResolvable pattern as a single
fail-fast gate at the top of `setup onboard`. Probes {claude, codex, gemini,
pi} via commandExists; throws NoAgentCliError if none resolve. Also surfaces
all four in `setup verify` alongside the existing CODEX check.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
---
Build: pass | Tests: FAIL — Tests 1 failed | 846 passed (847)