The last 10% is the whole job. Start there.
AI made the first 90% cheap. Kotta holds the rest as a contract in your repo: acceptance traced to specification, checks that run instead of being narrated, and a human yes — with a receipt — before anything closes.
AI can execute more work than you can continuously observe.
The bottleneck moved. It is no longer producing code. It is keeping the agreement intact while agents move faster than the conversation around them.
Three ways in.
The specification says what must be true. The code is the implementation. A task connects them — and it cannot close until a human accepts the evidence. Three entries into the same loop.
-
New software
spec → task → codeYou have an idea, not a specification, and you are not going to write one in Word. The workshops run as conversation and land nodes an agent can execute against the same hour.
-
A legacy rewrite
code → spec → task → codeThe code is the only specification you have, and it will not say which behaviour was ever intended. Read it back out, and the rewrite finally has something to be wrong against.
-
A codebase already under way
running system → observation → spec → task → codeNobody stops the world to specify it first. What the running system tells you becomes an observation, dispositioned on purpose, never folded into the task you are on.
The agreement becomes executable.
Kotta keeps the promise, the run, and the proof in the repository. Your agent gets a bounded task. You get the final decision.
- 01
Define
Write the outcome, scope, acceptance, and verification.
backlog → defined - 02
Execute
Claim one task on one branch in one isolated worktree.
defined → active - 03
Prove
Map each acceptance condition to concrete, reproducible evidence.
active → review - 04
Accept
A human says yes. Kotta records who approved what and when.
review → done
.kotta/spec/what must be true
→
.kotta/process/what is happening
→
git historywhat actually happened
Not another agent. The control layer around all of them.
Keep the tools you already use. Kotta gives their work one durable agreement and one legal path to completion.
| Layer | What it keeps | What it controls | What “done” means |
|---|---|---|---|
| Agent chat | The conversation | The current run | The agent says so |
| Issue tracker | The human-readable issue | Status and ownership | Team convention |
| Agent runtime | Prompt and execution context | Tools and model | Runtime-specific checks |
| Spec generator | The spec files | Nothing after handoff | The plan was written |
| Kotta | The accepted repository agreement | Claims, Git isolation, gates | Evidence accepted by a human |
Install it. Define one real task.
Kotta runs inside the repository you already have. Node.js 20+ and Git are the only runtime requirements.
- No service to deploy
- No database to maintain
- No account to create
- No hidden state to trust
# Install the CLI
npm install --global @arpadtamasi/kotta@0.10.0
# Inside an existing Git repository:
# workspace, agent skills and the rules your agents read
kotta init
# Or drive it from the chat
/setup-kotta
/define-task