Knockmill — three heads, one door

Knockmill — three heads, one door An architecture diagram generated by Archify. Your chat · Claude Code · ChatGPT · Codex · any · Architecture component Your chat Claude Code · ChatGPT · Codex · any The door · MCP tools · order --file · Architecture component · lint vs definition.md The door MCP tools · order --file lint vs definition.md Runner · deterministic, no model · Architecture component · runner.ts · new-run.ts Runner deterministic, no model runner.ts · new-run.ts Worktree · git · frozen order · Architecture component · freeze-envelope.ts · order-lint.ts Worktree git · frozen order freeze-envelope.ts · order-lint.ts Builder · writes the change · Three heads · different model families · system-prompt.md Builder writes the change system-prompt.md Reviewer · other model family, attacks it · Three heads · different model families · system-prompt.md Reviewer other model family, attacks it system-prompt.md Judge · decides on evidence · Three heads · different model families · system-prompt.md · verdict.ts Judge decides on evidence system-prompt.md · verdict.ts Verification gate · tests · typecheck · scope · Architecture component · runner.ts Verification gate tests · typecheck · scope runner.ts Ledger + chronicle · every round on file · Architecture component · chronicle-append.ts · chronicle-schema.md Ledger + chronicle every round on file chronicle-append.ts · chronicle-schema.md Delivery · versions · reset · Architecture component · deliver.ts · reset.ts Delivery versions · reset deliver.ts · reset.ts Your subscriptions · seats run on your own plans · Architecture component · brain.ts Your subscriptions seats run on your own plans brain.ts order (plain Markdown) block: the violated sentence run freeze order + baseline build round attack the diff findings verdict escalation as an A/B question next round / stop evidence approved tree result + delivery proof model calls Three heads · different model families

Door, not desk

  • • Your chat writes the order itself — the definition is the tool text
  • • The lint blocks with the sentence you violated, or starts the run
  • • No model call before the build: no compiler, no preview, no fourth head

Three heads that distrust each other

  • • Builder, reviewer and judge come from different model families
  • • Frozen criteria; the judge escalates instead of guessing
  • • Escalations reach you as an A or B question in your own chat

Receipts

  • • The gate re-runs tests, typecheck and scope — mechanically
  • • Banked tests are off-limits unless you release them
  • • Every round, verdict and delivery is on file; reset to any version