Emergency Activation v1¶
Source schema: doc/schemas/emergency-activation.v1.schema.json
Machine-readable schema for one emergency activation decision layered over an existing exception-record.v1. This artifact carries trigger selection, credibility, activation path, TTL ceilings, agent elevation, deactivation, and post-crisis review state.
Governing Basis¶
doc/normative/50-constitutional-ops/EMERGENCY-ACTIVATION-CRITERIA.mddoc/normative/50-constitutional-ops/EXCEPTION-POLICY.mddoc/project/20-memos/emergency-activation-v1-invariants.md
Project Lineage¶
Fields¶
| Field | Required | Shape | Description |
|---|---|---|---|
schema/v |
yes |
const: 1 |
Schema version. |
exception/id |
yes |
string | Identifier of the already-created exception-record.v1 associated with this activation cycle. |
exception/type |
yes |
const: emergency |
Emergency activations always extend an emergency exception. |
trigger/class |
yes |
enum: TC1, TC2, TC3, TC4, TC5 |
Trigger class that justified activation. |
trigger/signal-refs |
yes |
array | Emergency signal ids that justified the activation. |
credibility/class |
yes |
enum: C0, C1, C2, C3, C4 |
Credibility class used at the moment of activation. |
activation/path |
yes |
enum: automatic, manual, escalation_auto |
How the activation entered force. |
activated-by/kind |
yes |
enum: node, system |
Activator identity class. |
activated-by/id |
yes |
string | Activator identifier. node uses canonical node:did:key:...; system uses literal system. |
activated/at |
yes |
string | Timestamp when the activation entered force. |
ttl/expires-at |
yes |
string | Current TTL deadline of the activation. Consumers SHOULD enforce ttl/expires-at > activated/at. |
max-extension/until |
yes |
string | Absolute extension ceiling for the activation. Consumers SHOULD enforce max-extension/until >= ttl/expires-at. |
extensions |
yes |
array | Recorded TTL extensions for this activation cycle. |
agents/elevated |
yes |
array | Identifiers of agents elevated to A3 or equivalent emergency mode. TC5 may keep this empty. |
scope/summary |
yes |
string | Operational scope covered by this activation. |
fail-closed/target |
yes |
string | Return state after TTL expiry or manual deactivation. |
deactivated/at |
no |
string | Timestamp when the activation was deactivated. |
deactivation/reason |
no |
enum: ttl_expired, operator_deactivated, threat_resolved, superseded |
Reason why the activation stopped being active. |
review/due-at |
no |
string | Mandatory post-crisis review deadline. Consumers SHOULD enforce review/due-at >= deactivated/at when deactivation exists. |
review/status |
yes |
enum: pending, in_progress, completed |
Status of the post-crisis review. |
notes |
no |
string | Optional human-readable notes. |
Definitions¶
| Definition | Shape | Description |
|---|---|---|
extension |
object |
Conditional Rules¶
Rule 1¶
When:
{
"properties": {
"activated-by/kind": {
"const": "node"
}
},
"required": [
"activated-by/kind"
]
}
Then:
{
"properties": {
"activated-by/id": {
"pattern": "^node:did:key:z[1-9A-HJ-NP-Za-km-z]+$"
}
}
}
Rule 2¶
When:
{
"properties": {
"activated-by/kind": {
"const": "system"
}
},
"required": [
"activated-by/kind"
]
}
Then:
{
"properties": {
"activated-by/id": {
"const": "system"
}
}
}
Rule 3¶
When:
{
"properties": {
"trigger/class": {
"enum": [
"TC1",
"TC2",
"TC3",
"TC4"
]
}
},
"required": [
"trigger/class"
]
}
Then:
{
"properties": {
"agents/elevated": {
"minItems": 1
}
}
}
Rule 4¶
When:
{
"properties": {
"trigger/class": {
"const": "TC5"
}
},
"required": [
"trigger/class"
]
}
Then:
{
"properties": {
"agents/elevated": {
"maxItems": 0
}
}
}
Rule 5¶
When:
{
"required": [
"deactivated/at"
]
}
Then:
{
"required": [
"deactivation/reason",
"review/due-at"
],
"properties": {
"review/status": {
"enum": [
"pending",
"in_progress",
"completed"
]
}
}
}
Field Semantics¶
schema/v¶
- Required:
yes - Shape: const:
1
Schema version.
exception/id¶
- Required:
yes - Shape: string
Identifier of the already-created exception-record.v1 associated with this activation cycle.
exception/type¶
- Required:
yes - Shape: const:
emergency
Emergency activations always extend an emergency exception.
trigger/class¶
- Required:
yes - Shape: enum:
TC1,TC2,TC3,TC4,TC5
Trigger class that justified activation.
trigger/signal-refs¶
- Required:
yes - Shape: array
Emergency signal ids that justified the activation.
credibility/class¶
- Required:
yes - Shape: enum:
C0,C1,C2,C3,C4
Credibility class used at the moment of activation.
activation/path¶
- Required:
yes - Shape: enum:
automatic,manual,escalation_auto
How the activation entered force.
activated-by/kind¶
- Required:
yes - Shape: enum:
node,system
Activator identity class.
activated-by/id¶
- Required:
yes - Shape: string
Activator identifier. node uses canonical node:did:key:...; system uses literal system.
activated/at¶
- Required:
yes - Shape: string
Timestamp when the activation entered force.
ttl/expires-at¶
- Required:
yes - Shape: string
Current TTL deadline of the activation. Consumers SHOULD enforce ttl/expires-at > activated/at.
max-extension/until¶
- Required:
yes - Shape: string
Absolute extension ceiling for the activation. Consumers SHOULD enforce max-extension/until >= ttl/expires-at.
extensions¶
- Required:
yes - Shape: array
Recorded TTL extensions for this activation cycle.
agents/elevated¶
- Required:
yes - Shape: array
Identifiers of agents elevated to A3 or equivalent emergency mode. TC5 may keep this empty.
scope/summary¶
- Required:
yes - Shape: string
Operational scope covered by this activation.
fail-closed/target¶
- Required:
yes - Shape: string
Return state after TTL expiry or manual deactivation.
deactivated/at¶
- Required:
no - Shape: string
Timestamp when the activation was deactivated.
deactivation/reason¶
- Required:
no - Shape: enum:
ttl_expired,operator_deactivated,threat_resolved,superseded
Reason why the activation stopped being active.
review/due-at¶
- Required:
no - Shape: string
Mandatory post-crisis review deadline. Consumers SHOULD enforce review/due-at >= deactivated/at when deactivation exists.
review/status¶
- Required:
yes - Shape: enum:
pending,in_progress,completed
Status of the post-crisis review.
notes¶
- Required:
no - Shape: string
Optional human-readable notes.
Definition Semantics¶
$defs.extension¶
- Shape: object