Invariants¶
Invariants protect the meaning of DAG execution and must not drift silently.
Visual Summary¶
flowchart TD
invariants[Core invariants]
invariants --> identity[deterministic identity meaning]
invariants --> transitions[state transitions are explicit]
invariants --> lineage[artifacts remain attributable]
invariants --> classification[failures are classifiable]
invariants --> interfaces[interfaces remain structured]
identity --> tests[test and contract coverage]
transitions --> tests
lineage --> tests
classification --> tests
interfaces --> tests
Core Invariants¶
- canonical graph identity is stable for equivalent definitions
- run/replay identities remain attributable and non-ambiguous
- diff classifications preserve mismatch semantics and group boundaries
- artifact indexes/proofs remain internally consistent and verifiable
Invariant Breach Signals¶
- same graph yields different canonical fingerprint without rule change
- replay changes fidelity class without environment or input explanation
- diff reason-code meanings mutate without compatibility notice
- integrity validation accepts tampered or incomplete evidence
Code Anchors¶
crates/bijux-dag-core/src/analysis/fingerprint.rscrates/bijux-dag-runtime/src/replay/crates/bijux-dag-artifacts/src/integrity/