atomr-agents-coding-cli-harness 0.18.0

Harness wrapping local AI coding CLIs (Claude Code, Codex, Antigravity) as atomr-agents Callables. Headless mode parses structured streams; interactive mode bridges a tmux session to clients.
Documentation

atomr-agents-coding-cli-harness

Harness that wraps local AI coding CLIs as atomr-agents Callables.

                ┌────────────────────────────────────────┐
                │ CodingCliHarness                       │
                │                                        │
   CliRequest ─▶│  VendorRegistry → CliVendor adapter   │
                │  Isolator (Local or Docker)            │
                │  broadcast<CodingCliEvent>             │
                │  HashMap<SessionId, InteractiveSess>   │
                └────────────────────────────────────────┘
                          │                  │
                          ▼                  ▼
                  Headless CliResult   tmux PTY bytes
                                       → broadcast::Sender<Vec<u8>>

Two modes

Mode Surface
Headless harness.run(req) -> CliResult + SSE
Interactive harness.start_interactive(req) -> Id + WS PTY bridge

Concept projection

Before every run, the active CliVendor materializes the request's ConceptProjection (atomr Skill / Persona / Policy / MCP) into on-disk CLI config files (CLAUDE.md, AGENTS.md, .mcp.json, etc.). One-way; atomr is source of truth.

Callable

CodingCliHarness implements atomr-agents-callable::Callable, so a workflow step or another harness can invoke a coding CLI as if it were just another sub-agent.