For AI-native builders

Make AI-generated backend code hold together.

A general-purpose model generates plausible Python, and plausible is the problem: it hands you an aggregate that breaks the single-writer rule, or a handler that mutates two aggregates at once, and nothing catches it. A domain model has rules a framework can check.

The whitepaper → Back to overview

Generation, then verification

An AI proposes a model, Protean validates it at startup and says exactly what is wrong, and the AI corrects what the framework rejects. Generation followed by verification is a far safer loop than generation alone.

A small, rule-bound target

A domain model is compact and it has rules, which makes it the best possible thing for a machine to generate against, and the easiest for a framework to check.

One source of truth keeps generated systems coherent

When a machine generates the model, the spec, the client, and the tests separately, they drift fast. Deriving them all from one model is how a generated system stays coherent instead of fragmenting the moment it is built.