Skip to content

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.rs
  • crates/bijux-dag-runtime/src/replay/
  • crates/bijux-dag-artifacts/src/integrity/

Next Reads