Contracts
README.md
Contracts — resolver-seam-completion-01KXK0KG
This mission is an internal charter/doctrine seam change — it has no external REST/GraphQL/wire API contracts. The "contracts" it establishes are code-level invariants, verified by tests rather than schema files:
tests/doctrine/drg/test_cross_grain_integrity.py (all shipped type×action pairs are disjoint; a purpose-authored collision MUST fail) with its non-vacuity twin.
home of the type⊕action union; the two former test-side unions now read bundle.governance.
activated_mission_types / .action_sequence unchanged (regression-pinned in TestGovernanceThunkSeversCoupling).
load_action_index; the union materializes only on first .governance access (spy-verified in test_runtime_bridge_dispatch.py).
- Cross-grain disjointness (FR-013) — the doctrine-integrity gate
- Single union authority (C-002) —
src/charter/action_grain.pyis the sole - Activation gating byte-identical (C-001) —
existing_mission_types/ - Hot-path laziness (NFR-001) —
.action_sequencetriggers no - DRG node contract —
mission_type:<id>nodes ingraph.yaml, freshness-gated.