{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://bernan.ai/schemas/media-empire-v1.json",
  "title": "Bernan Media Empire Canon",
  "description": "Machine-readable business, offer, content, conversion, claim, and pack contract for bernan.ai.",
  "type": "object",
  "required": [
    "schema",
    "version",
    "status",
    "brand",
    "owner",
    "north_star",
    "economic_contract",
    "positioning",
    "offer_ladder",
    "conversion_routes",
    "pack_lineage",
    "packs",
    "content_contract",
    "measurement",
    "public_endpoints",
    "known_unbuilt_boundaries"
  ],
  "properties": {
    "schema": { "const": "https://bernan.ai/schemas/media-empire-v1.json" },
    "version": { "type": "string", "pattern": "^[0-9]+\\.[0-9]+\\.[0-9]+$" },
    "status": { "const": "canonical" },
    "brand": { "const": "Bernan Media Empire" },
    "owner": {
      "type": "object",
      "required": ["name", "role", "public_employee_count"],
      "properties": {
        "name": { "type": "string" },
        "role": { "type": "string" },
        "public_employee_count": { "type": "string" }
      }
    },
    "north_star": { "type": "string", "minLength": 40 },
    "economic_contract": {
      "type": "object",
      "required": ["high_ticket_percent", "recurring_authority_percent", "founder_hours_weekly_cap", "reallocation_gate"],
      "properties": {
        "high_ticket_percent": { "const": 65 },
        "recurring_authority_percent": { "const": 35 },
        "founder_hours_weekly_cap": { "const": 15 },
        "reallocation_gate": { "type": "string" }
      }
    },
    "positioning": { "type": "object", "required": ["master", "allowed_company_claim", "prohibited_company_claim", "organic_audience", "paid_target"] },
    "offer_ladder": {
      "type": "array",
      "minItems": 5,
      "items": { "type": "object", "required": ["id", "name", "intent", "billing", "state", "promise", "destination"] }
    },
    "conversion_routes": {
      "type": "array",
      "minItems": 3,
      "maxItems": 3,
      "items": { "type": "object", "required": ["intent", "buyer_language", "primary_offer"] }
    },
    "pack_lineage": { "type": "object", "required": ["canonical_generation", "state", "client_install_limit", "archive_generation", "room_boundary"] },
    "packs": {
      "type": "array",
      "minItems": 11,
      "maxItems": 11,
      "items": {
        "type": "object",
        "required": ["order", "id", "name", "promise"],
        "properties": {
          "order": { "type": "integer", "minimum": 0, "maximum": 10 },
          "id": { "type": "string" },
          "name": { "type": "string" },
          "promise": { "type": "string" }
        }
      }
    },
    "content_contract": { "type": "object", "required": ["first_cycle_original_masters", "weekly_original_masters", "platforms", "portfolio", "default_path", "claim_states"] },
    "measurement": { "type": "object", "required": ["content_id_required", "attribution_fields", "funnel_events", "commercial_gate", "geography_independence_gate", "recurring_proof_gate", "attention_rule"] },
    "public_endpoints": { "type": "object", "required": ["human_start", "machine_canon", "canon_schema", "ai_index", "starter", "room"] },
    "known_unbuilt_boundaries": { "type": "array", "items": { "type": "string" } }
  }
}
