{
  "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.persona.v1",
  "document_type": "schema.persona",
  "title": "Persona Schema",
  "intended_use": "validate_persona_documents",
  "required": {
    "spec_version": "string",
    "document_type": "string",
    "persona_id": "string",
    "display_name": "string",
    "updated_at": "string",
    "tone": "object",
    "behavior": "object",
    "audience_fit": "object"
  },
  "fields": {
    "tone": {
      "required": [
        "default",
        "avoid"
      ],
      "types": {
        "default": "string",
        "avoid": "array[string]"
      }
    },
    "behavior": {
      "required": [
        "opening",
        "explanation_style",
        "objection_handling"
      ],
      "types": {
        "opening": "string",
        "explanation_style": "object",
        "objection_handling": "object",
        "qa_mode": "object"
      }
    },
    "audience_fit": {
      "required": [
        "primary",
        "region"
      ],
      "types": {
        "primary": "array[string]",
        "region": "string",
        "use_cases": "array[string]"
      }
    }
  },
  "prohibitions": [
    "long_scripted_monologues",
    "hardcoded_story_text"
  ]
}