Why contract-oriented software?
Reduce behavioral drift without requiring one framework across the stack.
API descriptions are valuable, but software teams also coordinate behavior: retry and cache policy, projections, validation, authentication expectations, streaming, package targets, UI contracts, and compatibility decisions. When those rules live only in application glue or prose, each client can interpret them differently.
The coordination problem
A backend change can require independent edits in web, mobile, mocks, tests, documentation, and release automation. Generated clients reduce typing work, but generated code still has to be reviewed and integrated, and it does not by itself establish one auditable behavioral boundary.
The AxiomCore approach
AxiomCore builds a versioned artifact that tooling can inspect, lock, compare, test, mock, and consume. Thin framework integrations can delegate supported behavior to a shared runtime, while semantic diffs make important contract and package changes visible before an upgrade.
scattered assumptions contract-oriented boundary
backend ─┬─ web retry backend/extractor ─► .axiom
├─ mobile cache │
├─ mock fixture ┌──────────┼──────────┐
└─ release notes ▼ ▼ ▼
clients tests reviewWhat this does not promise
A contract does not remove application design, backend enforcement, target testing, or operational responsibility. AxiomCore also does not require teams to abandon Flutter, React, Swift, Python, or Go. It provides an incremental boundary whose exact support is documented in the availability matrix.