exception-record.v1 invariants¶
exception-record.v1 is the smallest machine-readable seed for the full
exception record required by EXCEPTION-POLICY.
Invariants¶
policy/idMUST equalDIA-EXC-001.exception/type ∈ { ordinary, emergency, injunction }.risk/level ∈ { low, medium, high, critical }.status ∈ { proposed, active, suspended, expired, rolled_back }.owner/kind = node → owner/id MUST be node:did:key:....owner/kind = participant → owner/id MUST be participant:did:key:....owner/kind = org → owner/id MUST be org:did:key:....owner/kind = council → owner/id MUST be council:did:key:....requester/kind = node|participant|org|council|systemconstrainsrequester/idto the corresponding canonical form.approver/kind = node|participant|org|council|systemconstrainsapprover/idto the corresponding canonical form.risk/level ∈ { high, critical } → approvals, monitoring/metrics, and rollback/conditions MUST all be non-empty.expires/at > created/atandmonitoring/review-at >= created/atSHOULD be enforced by consumers at ingest time.
Scope note¶
This base record intentionally does not include the emergency-specific activation
extension fields from EMERGENCY-ACTIVATION-CRITERIA such as trigger_class,
credibility, activation_path, or ttl_expires_at. Those belong in a later
emergency-activation.v1 artifact layered on top of the same exception record.