Turn a request into a contract, then into verified code.
CafeKit keeps the important truth outside chat. The assistant first writes the contract, then implements one approved task packet, then proves and syncs the result.
A human asks for a change.
C1/C2 scope, a plan, and flat tasks become durable files.
The assistant implements one approved task packet.
Real commands and runtime proof check the result.
A separate pass checks compliance and risk.
State moves only after evidence exists.
The simple version#
The spec is the durable contract, not chat memory. New work stores that contract in specs/<feature>/plan.md and flat task-NN-*.md files.
Write down what should happen before code changes.
Implement only the approved task boundary.
Run commands and record exact evidence.
Update task Status and inline Receipt after proof.
What each artifact answers#
Accepted C1/C2 scope, task index, ownership, dependencies, and completion boundary.
One flat implementation packet with Outcome, Scope, Acceptance, and Verification Plan.
Exact command, exit, current Base/Head, and non-empty current output.
| Artifact | Question |
|---|---|
plan.md | What outcome, scope, exclusions, acceptance, decisions, and task map were approved? |
task-NN-*.md | What single outcome is executable now, who owns it, and what exact proof is required? |
Final inline ## Receipt | What current command and output prove the task passed? |
Working rule#
- Use brainstorm only while intent or architecture is unresolved.
- Specs opens C1, writes the plan and tasks, then presents C2 findings.
- Planning stops. Start work only with a new explicit develop invocation.
- Develop executes one unblocked task; test and code review verify it.
- Sync only observed Status and proof. The user decides completion at C3.
Use the full path for substantial, risk-elevated, multi-file, runtime, data, auth, package, or handoff-sensitive work. Clear isolated one- or two-file routine changes may use direct work.
Read Core workflow for routing and Spec lifecycle for the full contract.