{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "title": "SSOT Manifest Schema",
  "type": "object",
  "required": ["capabilities"],
  "properties": {
    "capabilities": {
      "type": "object",
      "additionalProperties": {
        "type": "object",
        "required": ["canonical"],
        "properties": {
          "canonical": {
            "type": "string",
            "description": "module/path.py::function_or_class syntax"
          },
          "deprecated_paths": {
            "type": "array",
            "items": {"type": "string"}
          },
          "state": {
            "type": "string",
            "enum": ["active", "deprecated", "tombstoned", "transitioning", "partially_converged"]
          },
          "expires_on": {
            "type": "string",
            "description": "ISO date after which deprecated/tombstoned entries can be deleted"
          },
          "sub_modalities": {
            "type": "array",
            "items": {"type": "string"}
          },
          "note": {
            "type": "string"
          },
          "runtime_only": {
            "type": "boolean",
            "description": "If true, AST validator skips this entry (path is dynamically registered)"
          }
        }
      }
    }
  }
}
