{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://loomi.ai/schemas/solution-pack.schema.json",
  "title": "Loomi Bloomreach Solution Pack",
  "type": "object",
  "required": [
    "kind",
    "version",
    "title",
    "objective",
    "strategy",
    "router",
    "context_digest",
    "loomi_context_plan",
    "evidence",
    "recommended_segments",
    "scenario_blueprint",
    "content_variants",
    "measurement_plan",
    "manual_implementation_steps",
    "validation",
    "assumptions",
    "missing_context"
  ],
  "properties": {
    "kind": {
      "const": "solution_pack"
    },
    "version": {
      "type": "string"
    },
    "title": {
      "type": "string"
    },
    "objective": {
      "type": "string"
    },
    "strategy": {
      "type": "string"
    },
    "router": {
      "type": "object",
      "required": ["intent", "industry_pack", "required_project_context", "advisors", "output_format"]
    },
    "context_digest": {
      "type": "object"
    },
    "loomi_context_plan": {
      "type": "array",
      "items": {
        "type": "object",
        "required": ["context_key", "preferred_tools"]
      }
    },
    "evidence": {
      "type": "array",
      "items": { "type": "string" }
    },
    "recommended_segments": {
      "type": "array",
      "items": {
        "type": "object",
        "required": ["name", "priority", "definition", "bloomreach_logic", "evidence"]
      }
    },
    "scenario_blueprint": {
      "type": "object",
      "required": ["name", "type", "trigger", "nodes", "guardrails"]
    },
    "content_variants": {
      "type": "array"
    },
    "measurement_plan": {
      "type": "object",
      "required": ["primary_kpi", "control_group", "kpis", "events_to_check"]
    },
    "manual_implementation_steps": {
      "type": "array",
      "items": { "type": "string" }
    },
    "validation": {
      "type": "object"
    },
    "assumptions": {
      "type": "array",
      "items": { "type": "string" }
    },
    "missing_context": {
      "type": "array",
      "items": { "type": "string" }
    }
  }
}
