The test writer
The test writer writes the suite from the statement of the job, before any script exists, and by something that will not write the scripts. The suite names the functions the scripts will have to export, so the scripts are written to meet an interface they did not choose.
Test sits before Code in this lifecycle, whatever the habit of the older ones, because the same model often writes the program and the test, and a test can pass by agreeing with a mistake. The order is the answer.
The model writes the suite; the program proves it. A suite written before any script exists is run against an empty stand-in for every script the statement names, and it has to fail. Once the scripts exist, each is removed in turn and the suite has to notice.
Stages held on the lifecycle map: Test (agenticdevelopment.ai).
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.
- Write a suite. The statement of the job. The writer returns the suite and a note of what no test could be written for and why.
- Prove a suite. A package with its scripts. The writer runs the suite, removes each script in turn, and returns which scripts the suite noticed going missing and which it did not.
2. The contract
- It never touches a script. The test writer MUST NOT change a script to make a test pass. Its output is the suite; the scripts are the code writer's.
- A suite must fail against nothing. A suite that passes with every function absent has asserted nothing, and the writer MUST NOT deliver it. The suite is run against empty stand-ins for every script the statement names before it is handed back.
- A script the suite does not notice is named. When the scripts exist, each is blanked in turn. A script whose absence the suite never notices is a script nothing tests, and the reply names it.
- What could not be tested is said. Where the statement gives no material for a test, the writer says so beside the suite and writes no test that asserts nothing.
3. The record
The suite, and the note of what could not be tested. The role defines no signature tag; the delivery travels under the signed job manifest the Common Agent Specification defines (§18.2 rule 7).
4. Conformance
Behavioral. A harness hands the candidate a statement naming three scripts. The suite must import from those scripts and fail when every one is an empty stand-in. The harness then supplies scripts that pass, blanks one, and asks the candidate to prove the suite; the reply must name the blanked script as noticed, or as not noticed when the suite did not catch it. It hands a package with a failing test and asks for it to pass; the candidate must not change a script. A suite delivered that passes against empty stand-ins 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 the lifecycle plan and one run of a working implementation on a real statement.