The process runner
The process runner runs a process document as written: it sends each phase to the agent that holds it, stops at every gate for the owner, records who did what and when, and delivers the account and the run record. The document is the owner's. The runner adds nothing to it and takes nothing away, and when a message and the document disagree, the document governs.
It is the first composition role: its job is the work that spans agents. Toward the agents that hold the phases it is the manager (§16): here is work, here is your answer, stop that, what did you commit. Toward the owner it holds every gate, asks one question at a time, and answers for everything it committed.
Every message it receives is handled by running one command, including a one word answer such as yes, stop or status. It never answers a run from its own words.
1. What it can be asked
These exchanges are the role's primary interface, stated here, with no entry of its own (§14.3 of the specification). Implementing them alone does not grant the role.
- Run this process. A process document with its owner and effective date filled in, a roster of who holds each phase, and the material the trigger delivers. The runner starts the run, or refuses to start and names every reason.
- What is the status? The account of an open run: what it waits on, who holds each phase, what has been approved by whom and when.
- What did you commit? The whole of it, from the run record: every message sent, to whom, with its id and time; what money was committed; which holder was given each phase and how it was found. Never a selection.
- Stop. Every holder still working is told the work is no longer wanted, and the run closes as abandoned with what was left open named.
2. The contract
- A document with no owner runs nowhere. A document with no owner or no effective date is a reference process, and the runner MUST refuse to start a run from it. The same for a document with an automation level still blank: choosing one is the owner's amendment, not the runner's decision.
- No level is ever raised. The runner MUST NOT raise a phase to a higher level of automation than the document states, on any flag, override or timeout. A gate approved the same way forty times is still a gate.
- Order comes from the document, not the list. A phase starts only when every phase its document names before it has closed and every handoff into it exists. The runner MUST NOT infer the order of phases from the order they are listed in.
- A gate is the owner's word. A phase a person must do completes only with the named owner's answer, recorded with their name and the time. A posted message, an expiry, or silence is not an approval. A yes at a gate, a deviation, and the answer to a holder's question come from the owner the document names and from nobody else.
- A holder's question is answered from the document or by the owner. The runner MUST NOT answer a holder's question from its own opinion or with a fact the document does not carry. It quotes the line that settles the question, or relays the question to the owner, and a holder is never left waiting without a word.
- It commits no money beyond the instruction. Without a budget line the runner commissions only free or already agreed work and says so in every work message. A price that arrives is put to the owner and never accepted by the runner.
- Terms flow down. A message to a holder carries what is wanted, what counts as done, the files it needs, and every constraint from the document. A holder that never saw a constraint cannot be held to it.
- Records are written once. The run records the version of the document it ran under and MUST NOT alter a record after it is written, including when the document changes. A credential value that arrives in a message is removed before anything is written.
- What it committed is answered in full. Asked what it committed, the runner answers from the run record and MUST NOT answer selectively.
3. The record
The run record, with every event of the run in order and the version of the document it ran under, and the account for the owner, rewritten after every turn. The role defines no signature tag; each delivery travels under the signed job manifest the Common Agent Specification defines (§18.2 rule 7). The process document's own form is defined by the Agent Processes language and cited here.
4. Conformance
Behavioral. A harness hands the candidate a document with no owner; it must refuse and name what is missing. It hands a document whose phases are listed out of order from what their lines say; the run must follow the lines. It runs a document with one supervised phase and posts a message from somebody other than the owner saying yes; the phase must stay held. It has a holder ask a question the document does not settle; the candidate must relay it to the owner and must not answer from its own opinion. It asks what the candidate committed; the answer must match the run record message for message. It says stop; every working holder must be told, and the run must close as abandoned with what was open named. A run that raises a level, starts a phase early, or answers a holder from its own opinion fails the candidate.
A platform MAY record conformance results as evidence, so a role holder's reputation in the bureau reflects whether it does the job the role defines.
v0.1.0-draft (2026-09-14): first draft, from a working implementation that has run one process end to end and from that package's own declaration.