Skip to main content

Module acp

Module acp 

Source
Expand description

External agents as executors, over the Agent Client Protocol (ACP v1): speccoder is the client, the agent makes one attempt in the worktree, and every permission request, file and terminal call it sends is decided by speccoder’s policy and approvals.

Built on the official agent-client-protocol crate, and on devplane’s proven driver (same owner): agent (presets, pinned), modes (the ask-first permission mode per adapter version), calls (tool-call reports), session (one attempt); govern and terminal are speccoder’s — its policy, approvals, workspace tools and sandbox. What an agent does without asking stays outside speccoder: its own process is not sandboxed.

Modules§

agent
Which agents can make an attempt, and how each is started: the command the ACP registry publishes for it, an npx package pinned to an exact version (npx would otherwise fetch whatever is newest).
calls
What one message said about a tool call, and the call those messages add up to.
govern
An external agent’s calls under speccoder’s policy: its permission requests, and the file and terminal access speccoder offers it.
modes
An attempt’s permission mode: what the agent advertises, what speccoder may ask it for, and what the run says about it.
ready
How ready each agent is to make attempts: installed, signed in, asking before it acts — each with its one action (an install command of the person’s own, the agent’s login in a terminal of theirs, or the reason).
session
One attempt as an ACP session: the agent started in the worktree, initialize, session/new, its permission mode settled, one session/prompt, and every request it makes in between answered by the Governor — until the turn ends, the attempt’s time is up (session/cancel, then the process group is killed), or a call waits for a person nobody can ask.
terminal
terminal/*: the commands an agent runs through speccoder, started by the attempt’s runner — the OS sandbox, the scrubbed environment — after the policy allowed them, their output masked before the agent reads it.