The builder
The exchanges for turning a description of a needed agent into a package. Three: build this, what did you build, and revise it.
This is the primary interface of the agent builder role. Implementing it alone does not grant the role, because the role also carries its refusals, its draft rule, its conformance test, and the record its holders sign.
1. Why this exists
Anything that builds agent packages has to be askable in a known way, or every requester learns a different intake for every builder. This interface publishes the asking side of that job, so a caller who has never met a particular builder can still describe an agent, get a package back, and revise it.
2. The exchanges
- Build this. A description: a name, one sentence on what the agent does, the jobs it does, the systems it needs and at what access, what it refuses, what always goes to a person, and the records it must leave. The answer is a package, or a refusal that says what the description was missing.
- What did you build? The manifest of a package the implementer produced: its name, version, skills, systems, and obligations, and the note that it is a draft.
- Revise it. The same description changed, rebuilt to a new version, with the same parts required.
3. The contract
- Every exchange is answered or refused with a reason. Silence is not an answer.
- A build request must carry the judgment parts. An implementer refuses a description with no refusals or no records, naming the missing part, rather than inventing either.
- Every answer about a package says it is a draft. Nobody has run the agent a fresh package describes, and an answer must not present it as more.
- No document. The signed build record belongs to the agent builder role, not to this interface. An implementer that does not hold the role answers these exchanges and signs nothing.
4. Conformance
Behavioural. A harness asks all three exchanges. Each is answered or refused with a reason. A description missing its refusals, and one missing its records, are each refused with the missing part named. Every answer about a built package calls it a draft.
v0.1.0-draft (2026-08-31): first draft, extracted from the agent builder role, which previously carried these exchanges inline.