{
  "$id": "https://ofsclock.com/spec/mt-event.schema.json",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "OFS Meaning-Time Event (MT)",
  "type": "object",
  "required": ["id", "ftStart", "privacy", "consent"],
  "properties": {
    "id": { "type": "string", "minLength": 8, "maxLength": 128 },
    "ftStart": { "type": "integer", "minimum": 0, "description": "Flow-Time start pulse (monotonic ordering)" },
    "ftEnd": { "type": "integer", "minimum": 0, "description": "Flow-Time end pulse (optional)" },
    "summary": { "type": "string", "maxLength": 280 },
    "privacy": { "type": "string", "enum": ["public", "restricted", "private"] },
    "consent": {
      "type": "object",
      "required": ["mode"],
      "properties": {
        "mode": { "type": "string", "enum": ["explicit", "implicit", "delegated"] },
        "actors": { "type": "array", "items": { "type": "string" }, "maxItems": 64 }
      },
      "additionalProperties": false
    },
    "causality": {
      "type": "object",
      "properties": {
        "causedBy": { "type": "array", "items": { "type": "string" }, "maxItems": 32 },
        "causes": { "type": "array", "items": { "type": "string" }, "maxItems": 32 }
      },
      "additionalProperties": false
    }
  },
  "additionalProperties": false
}
