maat axiom declare
Records a human-authored architectural claim in the ledger.
bash
maat axiom declare \
--id stable-boundary \
--scope packages/core \
--claim "Core must not import CLI code"What an axiom is
An axiom is not an automated finding. It is a manual claim the team wants to keep next to the codebase until there is a rule that can check it.
Axioms can also cover specific finding fingerprints. A covered fingerprint is treated as an explicit exception while the axiom is active.
bash
maat axiom declare \
--id domain-db-exception \
--scope @myapp/domain \
--claim "The legacy domain database adapter is allowed until the repository split." \
--fingerprints abc123,def456Options
| Option | Purpose |
|---|---|
--id <id> | Stable slug identifying the axiom. |
--scope <scope> | Architectural scope the axiom applies to. |
--claim <claim> | Invariant or exception being asserted. |
--note <note> | Optional rationale or references. |
--fingerprints <fingerprints> | Comma-separated finding fingerprints covered by the axiom. |
--force | Re-declare even if the axiom id already exists. |
When to use it
Use an axiom for architecture knowledge that should be recorded, reviewed, and versioned, but is not automated by a collector and rule yet.
See ADRs vs axioms for how axioms relate to architecture decision records.
