Contract-Driven AI Development (C-DAD)
Last updated: June 2026
AI coding tools are good at describing what software does. They are not good at knowing why it does it. The constraint that exists because of a regulatory audit three years ago. The non-goal that was obvious in the room and invisible in the repo. The exception path that one engineer carries in their head and nowhere else. When an AI agent encounters that code it guesses. Sometimes correctly. Often not. The problem is not the model. The problem is that the codebase has no contracts, only code. Contract-Driven AI Development is a response to that problem.
What is Contract-Driven AI Development?
A specification describes what a system does. A contract describes why it can be trusted. That distinction is the foundation of C-DAD. Contract-Driven AI Development is a framework for building AI-native systems where contracts, not code, define the collaboration between humans, machines, and runtimes. Every capability declares its preconditions, postconditions, invariants, and exception flows in machine-readable form. Not documentation, but contracts that the pipeline can enforce. Automated reasoning becomes possible because the structure carries the intent. Hybrid governance means humans author the intent and machines validate the implementation. Neither replaces the other. The combination produces systems that are both navigable and trustworthy at scale.
What is the difference between a spec and a contract?
Spec-driven development describes behavior. C-DAD declares accountability. A spec tells an agent what a function does. A contract tells an agent what the function is responsible for and under what conditions it can be trusted. That difference determines what AI agents can safely do with your codebase. Agents working with contracts can navigate, validate, and compose capabilities without breaking invariants. Agents working with specs can only read and describe them. If your team is already writing OpenAPI specs, ADRs, or structured documentation you are closer than you think. The gap is making those artifacts machine-enforceable rather than only human-readable.
Why can't AI agents navigate code without contracts?
Because code encodes behavior, not intent. The constraint that prevents a certain operation exists in the code as a conditional, but the reason it exists (regulatory requirement, domain invariant, safety boundary) is nowhere in the repository. It lived in a meeting, then in someone's head, then nowhere at all when that person left. An AI agent reading the code sees the conditional. It does not know whether it is load-bearing or legacy. Contracts make that information explicit and machine-readable for the first time.
Where did C-DAD come from?
C-DAD emerged from years of watching the same failure pattern: codebases built by smart people that became progressively less navigable as they grew. Not because the code was bad but because the intent was never declared. The knowledge lived in people, not in the system. When those people left, or when an AI agent arrived, the system became opaque. The C-DAD white paper was published in November 2025. The companion CLI tool audits codebases for agent-readiness and scaffolds the contracts needed to fix what it finds. The second book, The Day After, builds the full organizational model around C-DAD role by role.
The work
- C-DAD White Paper, the foundational paper. November 2025.
- the-day-after-toolkit, CLI tool for auditing codebase agent-readiness
- The Day After, the book. Forthcoming.
- Traverse, the runtime that implements C-DAD principles