Keel is the governance layer for agent-driven engineering. It traces every change from requirement to passing test, separates the agents that write from the agents that check, and keeps people in charge of direction.
Code that compiles and passes its own tests — but does something nobody asked for.
An agent that writes the code, the tests and the definition of done will always pass its own exam.
Six months later, nobody can say why a line exists or which requirement it serves.
Requirement → acceptance criteria → test scenario → test case → unit test → review → merge. Each link is a record with a stable ID, versioned and queryable.
An examiner agent checks requirement changes before they're published; a separate reviewer agent checks every merge request. The coding agent can't change the acceptance criteria its tests must prove.
Questions about functionality, direction, exemptions or relaxing a check go to a person, and agents record the answer verbatim. Routine approvals are delegated — and the record shows which is which.
| People decide | Agents do |
|---|---|
| What to build, and in what order | Draft and evaluate requirements |
| How a feature should behave, when asked | Design test scenarios and cases |
| Exemptions and relaxed checks | Write the code and the unit tests |
| Credentials and access | Review each other's work, merge, release |
Keel is developed under its own governance. DynoInvoice, an invoicing system built with Keel, is being published on GitHub, with every commit traceable on dynokore.dev.
We're opening Keel to a small number of engineering teams already building with agents.