{
  "schema_spec_version": "1.0.0",
  "schema_type": "ai_protocol_schema",
  "updated_at": "2026-02-04T15:01:10Z",
  "rules": {
    "machine_first": true,
    "no_hardcoded_long_text": true,
    "no_mixed_layers": true,
    "must_include_contract_fields": true
  },
  "contract_required_fields": [
    "spec_version",
    "document_type",
    "id",
    "intended_use",
    "updated_at"
  ],
  "validation": {
    "strict_json": true,
    "unknown_fields_policy": "allow_with_prefix_x_",
    "reserved_prefixes": [
      "x_",
      "_"
    ]
  },
  "id": "schema.protocol.v1",
  "document_type": "schema.protocol",
  "title": "Protocol Schema",
  "intended_use": "validate_protocol_documents",
  "required": {
    "spec_version": "string",
    "document_type": "string",
    "protocol_id": "string",
    "updated_at": "string",
    "priority": "number",
    "inputs": "object",
    "rules": "array[object]",
    "outputs": "object"
  },
  "fields": {
    "inputs": {
      "required": [
        "signals"
      ],
      "types": {
        "signals": "array[string]",
        "context_fields": "array[string]"
      }
    },
    "rules": {
      "types": "array[object]",
      "rule_object_required": [
        "if",
        "then"
      ],
      "rule_types": {
        "if": "object",
        "then": "object",
        "else": "object"
      }
    },
    "outputs": {
      "required": [
        "actions"
      ],
      "types": {
        "actions": "array[string]",
        "artifacts": "array[string]"
      }
    }
  }
}