12vectors / bench docs for 0.4-alpha
bench docs GitHub ↗
ConceptsAgent adapters

Agent adapters

The adapter is the layer that knows a coding agent. It launches one headless job, and translates that vendor's events into the board's own schema — which is what keeps every other line of core free of any particular agent.

Headless jobs run through an adapter (BOARD_AGENT_ADAPTER, default claude), so the manager works with other coding agents too. An adapter is a directory with run (execute one job: AGENT_PROMPT + AGENT_MODE work|act-pr|review + AGENT_COMMANDS in, stdout = the log, markers parsed from it) and wire (idempotently give the host project live-session visibility).

Headless jobs answer no permission prompts, so each intent is granted exactly the side effects its prompt demands — commit and test for work, push for act-pr, posting PR verdicts for review — with the project's own runnable commands coming from BOARD_AGENT_COMMANDS as neutral prefixes each adapter renders in its vendor's rule syntax.

Adapters translate their vendor's events into the board's normalized schema at the edge — core never sees vendor payloads. That is what keeps the board's own code free of any one vendor: swapping adapters swaps the binary that does the work, not the board. The full contract, including the event schema, lives in manager/core/adapters/README.md.