{
  "emergency_transition": {
    "allowed_destinations": [
      "stop_ordered",
      "partial_exception",
      "rolled_back"
    ],
    "required_fields": [
      "authority",
      "human_owner_actor_id",
      "reason",
      "scope",
      "review_deadline"
    ],
    "rule": "State skipping is invalid unless a typed emergency transition identifies human authority, bounded scope, reason, and a review deadline."
  },
  "idempotency_rule": "The same key and canonical payload returns the same result; the same key with a changed payload fails closed.",
  "initial_state": "proposed",
  "non_reactivation_rule": "A completed revocation may not silently return to active use.",
  "normal_transitions": [
    {
      "from": "proposed",
      "to": "authorized"
    },
    {
      "from": "proposed",
      "to": "rejected"
    },
    {
      "from": "proposed",
      "to": "expired"
    },
    {
      "from": "authorized",
      "to": "stop_ordered"
    },
    {
      "from": "authorized",
      "to": "rejected"
    },
    {
      "from": "authorized",
      "to": "expired"
    },
    {
      "from": "stop_ordered",
      "to": "recomputing"
    },
    {
      "from": "stop_ordered",
      "to": "rolled_back"
    },
    {
      "from": "recomputing",
      "to": "propagating"
    },
    {
      "from": "recomputing",
      "to": "rolled_back"
    },
    {
      "from": "propagating",
      "to": "verified"
    },
    {
      "from": "propagating",
      "to": "partial_exception"
    },
    {
      "from": "partial_exception",
      "to": "propagating"
    },
    {
      "from": "partial_exception",
      "to": "verified"
    }
  ],
  "release": "R45",
  "schema": "antichrist.cx.remedy-state-machine.r45.v1",
  "terminal_states": [
    "verified",
    "rejected",
    "expired",
    "rolled_back"
  ]
}
