Skip to content

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

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