Capability Matrix
Adapter Details
SubQ Code Adapter
Pi Agent
subq code --json "$PROMPT"
Real-time JSONL on stdout. Uses SUBQ_SYSTEM_INSTRUCTIONS_FILE for prompt override. Session ID passed directly. Streaming enrichment via Bun.JSONL.parseChunk().
Claude Code Adapter
Claude
claude -p "$PROMPT" --output-format stream-json --bare --permission-mode bypassPermissions
The --bare flag is critical: it skips hooks, plugins, and CLAUDE.md, ensuring clean evaluation. ANTHROPIC_API_KEY stripped from env to force Max subscription usage. Post-hoc session cross-reference via --session-id.
Codex CLI Adapter
Codex
codex exec --full-auto "$PROMPT" --json
No real-time streaming—JSONL written to ~/.codex/sessions/ post-hoc. Use proc.exited (not polling) to detect completion. Phase 7c—added after SubQ and Claude adapters prove the pattern.
--bare during evaluation. Without it, user-installed hooks and CLAUDE.md instructions interfere with enrichment—a user’s custom pre-commit hook could cause a false failure that has nothing to do with the agent’s capabilities.