| title | Future harness notes | ||
|---|---|---|---|
| summary | Notes on what the Coven adapter seam must preserve before adding Hermes, Aider, Cline, Gemini CLI, or other future harness integrations. | ||
| read_when |
|
||
| description | Notes on what the Coven adapter seam must preserve before adding Hermes, Aider, Cline, Gemini CLI, or other future harness integrations. |
Coven v0 intentionally supports only the Codex and Claude Code default adapters. This note records what the adapter seam must preserve before adding additional external harness adapters such as Hermes.
OpenClaw is the first external integration boundary, not a daemon-launched harness target. OpenClaw integration is externalized through the @opencoven/coven plugin, which acts as a socket client for the Rust daemon. See OpenClaw bridge.
A Coven harness adapter resolves to:
- a stable Coven harness id, such as
codexorclaude; - a user-facing label for
coven doctor; - an executable name to detect on
PATH; - optional fixed arguments that must come before the prompt; and
- the prompt as the final command argument.
This keeps the runtime generic enough for CLIs that are not shaped exactly like Codex or Claude Code, without adding unsupported harnesses prematurely.
Hermes should stay a phase-2 validation target until CastCodes and Coven have more direct Codex/Claude usage.
Observed public CLI surface:
- Interactive session:
hermes - TUI mode:
hermes --tui - One-shot prompt:
hermes chat -q "..." - Programmatic output mode:
hermes chat --quiet -q "..." - Model/provider overrides:
hermes chat --model ...,hermes chat --provider ... - Resume options:
--resume <session>and--continue [name] - Worktree mode:
--worktree - Approval bypass:
--yolo
Sources:
- https://hermes-agent.nousresearch.com/docs/user-guide/cli
- https://hermes-agent.nousresearch.com/docs/reference/cli-commands
A Hermes adapter probably should not be a direct copy of the Codex/Claude shape. It likely needs one of these modes:
- One-shot logged session using
hermes chat --quiet -q <prompt>.- Good for captured output and exit events.
- Less useful for long-lived attach/input because the process may exit after the answer.
- Interactive PTY session using
hermesorhermes --tui.- Better for human-visible attach/intervention.
- Requires testing whether initial prompt injection through argv is possible or whether Coven must write the prompt to stdin after spawn.
- Resume-aware session using
--resume/--continue.- Potentially useful once Coven has a first-class upstream session id field.
- Should not be added until Coven's own session identity model is stable.
Do not add Hermes to coven doctor or coven run yet.
For now, keep the adapter seam able to express prefix-arg CLIs (chat -q <prompt>) and revisit the actual Hermes adapter as an external adapter after:
- direct Coven Codex/Claude sessions have been used more;
- CastCodes-facing attach/open or lane replay has had real usage;
- we know whether Hermes should be one-shot, interactive, or resume-aware inside Coven; and
- we can test against a real Hermes install.
flowchart LR
subgraph V0["v0 (supported today)"]
Codex["codex\n@openai/codex"]
Claude["claude\n@anthropic-ai/claude-code"]
end
subgraph Research["Phase 1: research"]
Hermes["hermes\n(NousResearch)"]
Aider["aider"]
Gemini["gemini-cli\n(Google)"]
Cline["cline"]
end
subgraph Later["Later: revisit"]
OpenCode["opencode"]
Custom["user-defined custom adapter"]
end
subgraph Clients["External clients"]
OpenClaw["OpenClaw\n@opencoven/coven bridge"]
end
V0 --> Research
Research --> Later
OpenClaw --> V0
style Codex fill:#9A8ECD,stroke:#D4B5FF,color:#1A1825
style Claude fill:#9A8ECD,stroke:#D4B5FF,color:#1A1825
A candidate moves from Phase 1: research to public v0 support only after clearing every stage in the Harness adapters maturity checklist. The grid above is directional, not a promise.