MODEL JUDGMENT
Plans, patch proposals, diagnoses, summaries, reviews. Recorded, attributed, and useful — but never decisive. A model saying “the tests pass” changes nothing.
The load-bearing commitment: only reproducible evidence may carry a mission to a verified outcome. A model's review is worth recording — and can never promote. A compiler, a test runner, a hash comparison, and a policy engine can.

A chat request becomes a structured mission with a visible task trail. Chat is the one mission entry point.
The planner drafts a task graph from planner-eligible roles. Bounded handoffs keep it finite: depth ≤ 2, fewer than 12 tasks, no duplicates — runaway task creation is structurally impossible.
Researcher, Web, File, and UI Cartographer gather read-only context inside the workspace boundary: system facts, file sets, external sources, UI maps.
The Coder emits a patch set. Proposed code is data until the trusted runtime materializes it in an isolated mission workspace — a detached git worktree pinned to a base revision. Each proposal records the base hash of the file it read; a patch built on a stale read is refused.
Deterministic policy inserts the Tester and Soldier on every state-changing patch set — a plan that omits them is not a plan that skipped a step; the runtime adds them. The Tester may only run allowlisted checks and must produce evidence. The Soldier's policy scan reads the actual proposed content, and its blocks cannot be overridden by model text.
A retryable failure triggers the Medic — the only thing that does. It diagnoses from failure context and recommends a bounded repair (two diagnoses per mission), then work returns to the Coder and the checks run again.
The Verifier reads stored evidence — test reports, policy scans, hashes — and produces a verification bundle. A failed check or a policy block demotes the outcome deterministically. completed_verified is the only positive outcome, and only reproducible evidence can reach it.
Nothing applies itself. Proposed patches wait in one approval queue with one lifecycle — pending → approved → executed (or rejected / superseded). Approval is a distinct human step; executors re-check state at execution time, and duplicate proposals supersede rather than pile up.
The Builder assembles the operator-facing summary; the Scribe drafts release notes and documentation patches (documentation paths only).
After the canonical mission evaluation persists, the Archivist emits memory candidates and pheromone trails record what actually worked — never before finalization, and never positively from an unverified outcome.
Sources: PLAN.md §3, ANT_EXECUTION.md, APPROVALS.md.
Plans, patch proposals, diagnoses, summaries, reviews. Recorded, attributed, and useful — but never decisive. A model saying “the tests pass” changes nothing.
Build results, allowlisted check output, deterministic policy scans, content hashes — stored with provenance in the evidence store. This is the only thing that can verify an outcome or block one.
Illustrative walkthrough with representative output — not live telemetry.
Had pytest failed, the Tester's terminal failure would have routed through the Medic for one bounded repair and a mandatory re-check — and without passing evidence, the mission could end completed_unverified at best, which reinforces nothing.