{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "BR-SAFE-A normalized event; JSONL one object per line",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "run_id",
    "case_id",
    "stage",
    "seq",
    "host_id",
    "monotonic_ns",
    "utc_iso8601",
    "clock_offset_ms",
    "component",
    "event",
    "decision",
    "fault_class",
    "correlation_id"
  ],
  "properties": {
    "run_id": {
      "type": "string"
    },
    "case_id": {
      "enum": [
        "T01",
        "T02",
        "T03",
        "T04",
        "T05",
        "T06",
        "T07",
        "T08",
        "T09",
        "T10",
        "T11",
        "T12"
      ]
    },
    "stage": {
      "enum": [
        "G0",
        "G1",
        "G2",
        "G3"
      ]
    },
    "seq": {
      "type": "integer",
      "minimum": 0
    },
    "host_id": {
      "type": "string"
    },
    "monotonic_ns": {
      "type": "integer",
      "minimum": 0
    },
    "utc_iso8601": {
      "type": "string",
      "format": "date-time"
    },
    "clock_offset_ms": {
      "type": [
        "number",
        "null"
      ]
    },
    "component": {
      "enum": [
        "fc",
        "supervisor",
        "ai",
        "observer",
        "admin"
      ]
    },
    "event": {
      "type": "string"
    },
    "decision": {
      "enum": [
        "allow",
        "deny",
        "observe",
        "abort"
      ]
    },
    "fault_class": {
      "enum": [
        "CONFIG",
        "AUTHORITY",
        "STATE",
        "TIMING_LINK",
        "RESOURCE",
        "EVIDENCE",
        "NONE"
      ]
    },
    "correlation_id": {
      "type": "string"
    },
    "details": {
      "type": "object"
    }
  }
}