Write the terms
A writ has six parts: a mandate, grants, bounds, invariants, satisfaction, and remedies. Read about the structure.
You give an agent a goal, a budget, permission to touch some things, some hard limits, and a definition of done. Then you hold the agent to those terms. That arrangement is a contract. Writ makes the contract a file.
writ: bug-fixermandate: "Failing test {failing_test} passes without breaking other tests."
grants: - read: { paths: ["**/*"] } - shell: { commands: ["pytest *"] } - edit: { paths: ["src/**"] }
bounds: iterations: 40 cost: $2.50
invariants: - { layer: letter, untouched: "{failing_test_file}" }
satisfaction: all: - { layer: letter, run: "pytest -x -q", exit: 0 }The model plans the work. The writ controls what the model can do. A runtime called the registrar examines each action before the action occurs, and writes the result to a record.
Write the terms
A writ has six parts: a mandate, grants, bounds, invariants, satisfaction, and remedies. Read about the structure.
Know each check
Each clause declares its check layer. A machine, a judge model, or a person makes the decision. Read about the layers.
Read the record
The record shows each action, each check, and each decision. Read about the record.
Govern an agent you already have
The proxy applies grants to an MCP server. Your agent does not change. Read about the proxy.