How 05 lands AI-written code without PR review

05 is the acceptance layer for AI-written code. It wraps one change in a declared plan up front and evidence at the end, so people own the request and the acceptance, and agents own the plan and the work.

The workflow at a glance

How a change moves through 05 Seven steps left to right. A person asks and the agent declares its plan, which 05 seals. Agents work, watched by advisory hooks. The runner proves the checks on the exact git tree and signs a receipt. A drift check compares intent to the actual diff. A one-page brief is produced. A human approves with a passphrase-signed approval. The change lands as a commit and is pushed; a CI required check enforces it, and the pre-push gate is advisory. A dashed side path shows a logged break-glass bypass from the brief to the landing. Humans own the request and the acceptance; agents own the plan and the work. HUMANS OWNTHE REQUEST AGENTS OWN THE PLAN AND THE WORK05 HOLDS THEM TO THE PLAN HUMANS OWNTHE ACCEPTANCE HUMAN 1 Human asks,agent plans The plan issealed beforethe first edit. AGENT 2 Agentswork Claude Code,Codex, others.Hooks watch(advisory). 05 RUNNER 3 Runner provesand signs Runs checks onthe exact tree,signs a receipt. 05 CHECK 4 Driftcheck Compares intentto the actualdiff. No AIjudges a gate. 05 BRIEF 5 One-pagebrief Intent, outcome,evidence, drift,unknowns, howto undo. HUMAN 6 Humanapproves Signed with apassphrase-protected key. GIT HOST 7 Landand push CI requiredcheck enforces.Pre-push gateis advisory. Break-glass bypass (logged) Human step Agent step 05: local CLI and portable runner Git host: a thin, replaceable enforcement adapter How a change moves through 05 Seven steps top to bottom. A person asks and the agent declares its plan, which 05 seals. Agents work, watched by advisory hooks. The runner proves the checks on the exact git tree and signs a receipt. A drift check compares intent to the actual diff. A one-page brief is produced. A human approves with a passphrase-signed approval. The Git host enforces the merge. A dashed side path shows a logged break-glass bypass from the brief to the landing. Humans own the request and the acceptance; agents own the plan and the work. HUMANS OWN THE REQUEST AGENTS OWN THE PLAN AND THE WORK HUMANS OWN THE ACCEPTANCE 1 HUMAN Human asks, agent plans The agent declares its plan; 05seals it before the first edit. 2 AGENT Agents work Claude Code, Codex, or any other agent.Hooks watch, and say they are advisory. 3 05 RUNNER Runner proves and signs Runs the checks on the exact git treeand signs the result as a receipt. 4 05 CHECK Drift check Compares intent to the actual diff.Deterministic: no AI judges a gate. 5 05 BRIEF One-page brief Intent, outcome, evidence, drift,unknowns, and how to undo it. 6 HUMAN Human approves Approval signed with apassphrase-protected key. 7 GIT HOST Land and push A CI required check enforces it;the pre-push gate is advisory. Break-glass bypass (logged) Human step Agent step 05: local CLI and portable runner Git host: replaceable enforcement adapter

The seven steps, in plain words

  1. A person asks, the agent declaresThe agent plans the change and declares it before its first edit: what it will do, where, and which checks must pass. 05 seals the declaration, so a later change to it shows. It works out how risky the plan is and tells the agent if another agent is already working there. A risky plan waits for a person; everything else goes ahead. For solo work the declaration can be inferred.
  2. Agents do the workClaude Code, Codex or any other agent writes the change. Hooks watch the session and report against the intent and policy. Hooks are advisory, and 05 says so.
  3. The runner proves the checksThe portable runner runs your checks on an exact git tree and signs the result as a receipt. A passing check and a failing check are both recorded. The receipt is verifiable offline by anyone.
  4. A drift check compares intent to the diffA deterministic check compares what was asked for with what actually changed. No AI judges a gate; if the diff wandered outside the intent, the brief says so.
  5. You get one pageYou read one brief and start from facts, not the diff; what it contains is below.
  6. A human approves, by exceptionA change that matched its plan and passed its checks says “nothing to read”. Only a risky plan, or a result that did not match, needs a person. Approval is a signed act, made with a passphrase-protected key and bound to what the approver was shown.
  7. It lands, and you pushuse05 land puts the approved change on its target branch as a commit, a fast-forward of exactly what was checked, and removes the agent's finished branch and worktree. You push it. No pull request is needed, though one works too. A CI required check on every pushed branch enforces the result; that strength is the host's, and 05 labels it that way. The pre-push gate gives the same answer earlier, on your machine, and is advisory. If a change must land anyway, a break-glass bypass exists, and it is logged.

What the reviewer's one-page brief contains

The brief exists so a person can decide quickly and on evidence, or not at all. It ends in one verdict. A change that matched its plan and passed its checks ends with ALLOW, nothing to read. Anything else leads with only what did not match.

Intent
What the agent declared it would do, sealed before its first edit.
Outcome
What the change actually does.
Evidence
Signed receipts for the checks that ran on the exact tree.
Drift
Where the actual diff departs from the declared intent, by the fixed rules listed under what 05 catches.
Approvals
Who approved or rejected, and whether each approval still counts for this exact content.
Unknowns
What 05 could not establish, listed rather than hidden.
How to undo
The way back if the change turns out to be wrong.

What 05 catches

Every finding is a plain sentence with a stable code, decided by fixed rules on the exact tree. No model is asked.

  • Work outside the plan. Files changed outside the declared scope (SCOPE_EXCEEDED), or no scope declared where the policy wants one (SCOPE_UNDECLARED, INTENT_REQUIRED).
  • A plan written after the fact. Files in the scope edited before the plan was sealed (DECLARED_LATE), or a plan changed after a person approved it (INTENT_CHANGED).
  • Two agents in one area. Another task reserved the same files, or changed them recently (OVERLAP).
  • Changes that need a person. Protected paths and risky areas such as auth, money, migrations, secrets and deployment, without a signed approval (PROTECTED_PATH, RISK_NOT_APPROVED), and dependency files changed when the plan promised none (DEP_FILES_CHANGED).
  • Checks that did not pass here. A required check that failed, was never run on this exact tree, or ran on an older one (CHECK_FAILED, CHECK_MISSING, EVIDENCE_STALE).
  • Weakened tests. Test files deleted, assertions removed, tests newly skipped, thresholds lowered, checks switched off or snapshots rewritten by the same change (TESTS_WEAKENED).
  • Claims the evidence does not back. “Tests pass” in the agent's summary when the receipt says otherwise, or when no receipt exists (CLAIM_CONTRADICTED, CLAIM_UNSUPPORTED).
  • A record edited after the fact. The agent's action log changed after it was sealed (LOG_ALTERED).
  • Broken folder and file rules. A locked file changed (LOCKED_PATH), an existing file in an append-only area edited, renamed or deleted (APPEND_ONLY), or a no-delete file deleted (NO_DELETE). These are denied, not held for approval; see locked folders and file rules.
  • A policy that needs a newer use05. A policy whose [use05] min_version is newer than the running use05 is refused with POLICY_NEEDS_NEWER and a note to upgrade, instead of being read wrongly.

Why intent comes first

A reviewer can only judge a change against a goal. Stating the goal before the agent starts, and checking the diff against it afterwards, turns "does this look right?" into "does this match what we asked for, and what proves it?".

Try 05 on your own repositories

The source, install steps and docs are on GitHub. Questions, or want to tell us which agent and Git host you use? Email us. No forms, no cookies.