Chalk Protocol
Ship agent-written code through gates, not vibes — a locked spec decides success, not the model.
Chalk turns an unattended coding agent into a disciplined contributor: every change lands through a gated loop it cannot talk its way around.
The loop — four gates every change must clear
A specced task enters the loop; nothing merges until all four gates say so.
- Locked test A real test is authored for the acceptance criteria, then locked read-only. The agent cannot weaken or delete it to pass.
- Verify The real toolchain plus a test-integrity check must print GREEN. The gate decides success — never the agent.
- Adversarial review A second agent tries to refute the change. Every blocking finding must be fixed before it passes.
- Merge gate `chalk done` only succeeds when verify is green, locked tests are untouched, and review passed.
Quickstart — the per-task loop
-
chalk nextfind the one task to work on -
chalk context <id>read the acceptance criteria and at-risk tests before coding -
chalk start <id>begin — it refuses tasks with no acceptance criteria -
write codesatisfy the criteria, keep the diff small -
chalk verifyloop until the gate prints GREEN -
chalk review <id>survive the adversarial reviewer -
chalk done <id>the merge gate closes the task
Docs
Protocol documentation lives in the parent repo — the source of truth this site cannot drift from.
- README What Chalk Protocol is and why it exists.
- PROTOCOL.md The full contract — every gate, spelled out.
- QUICKSTART.md From zero to a gated loop in minutes.
- RESEARCH.md The evidence behind the design.