One result contract¶
The CLI JSON interface and all SDKs use schema version 1. Python exposes the result as a dataclass; TypeScript and Rust provide corresponding result types.
| Field | Meaning |
|---|---|
schema_version |
Protocol version, currently 1 |
status |
changed, unchanged, or blocked |
summary |
The agent's account of the work; review it alongside evidence |
sources |
Referenced official URLs, possibly empty for repository-only work |
blockers |
Reasons the work needs attention |
validation |
passed, failed, or not_run |
checks |
Independently completed checks, each with check and passed |
artifacts.directory |
Absolute output directory, including result.json |
artifacts.report |
Report path |
artifacts.patch |
Patch path; may be empty or partial |
artifacts.diagnostics |
JSONL stage timing/error log path |
Changed means a nonempty, permitted patch passed independent configured checks in a fresh checkout. It does not prove untested behavior or live provider compatibility. Choose meaningful checks, rather than whitespace alone.
Unchanged means no patch was produced. Independent patch validation is
not_run; the result's summary does not establish that every endpoint or feature
was checked.
Blocked means the task or its checks could not complete. It may retain a
partial patch. Do not apply or publish it without investigating the blockers.
A validation failure has validation: failed; a blocked proposal that never
reached validation has not_run.
Configuration and setup failures can occur before a report exists. Rust returns
an error, Python raises MaintainerError, and TypeScript rejects with
MaintainerError. CLI JSON execution errors use
{"schema_version":1,"error":"redacted description"} and exit code 1.
A structured blocked run exits 2; clients return that as a normal blocked result.
Runs never modify the original working tree or publish automatically. Artifacts are retained until you remove them. Known credential environment values are redacted from errors; logs and patches may still contain repository content, so review them before sharing.