{
  "type": "object",
  "additionalProperties": false,
  "required": [
    "headline",
    "summary",
    "manager_questions",
    "management_plan",
    "top_risks",
    "top_forecasts",
    "actions",
    "caveats"
  ],
  "properties": {
    "headline": {
      "type": "string",
      "minLength": 1,
      "maxLength": 180
    },
    "summary": {
      "type": "array",
      "minItems": 3,
      "maxItems": 6,
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 260
      }
    },
    "manager_questions": {
      "type": "array",
      "minItems": 4,
      "maxItems": 6,
      "items": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "question",
          "answer",
          "recommended_action"
        ],
        "properties": {
          "question": {
            "type": "string",
            "minLength": 1,
            "maxLength": 120
          },
          "answer": {
            "type": "string",
            "minLength": 1,
            "maxLength": 320
          },
          "recommended_action": {
            "type": "string",
            "minLength": 1,
            "maxLength": 220
          }
        }
      }
    },
    "management_plan": {
      "type": "array",
      "minItems": 3,
      "maxItems": 5,
      "items": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "horizon",
          "focus",
          "action",
          "expected_effect",
          "metric"
        ],
        "properties": {
          "horizon": {
            "type": "string",
            "enum": ["today", "week", "30d"]
          },
          "focus": {
            "type": "string",
            "minLength": 1,
            "maxLength": 160
          },
          "action": {
            "type": "string",
            "minLength": 1,
            "maxLength": 280
          },
          "expected_effect": {
            "type": "string",
            "minLength": 1,
            "maxLength": 220
          },
          "metric": {
            "type": "string",
            "minLength": 1,
            "maxLength": 180
          }
        }
      }
    },
    "top_risks": {
      "type": "array",
      "maxItems": 5,
      "items": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "company",
          "severity",
          "reason",
          "recommended_action"
        ],
        "properties": {
          "company": {
            "type": "string",
            "minLength": 1,
            "maxLength": 160
          },
          "severity": {
            "type": "string",
            "minLength": 1,
            "maxLength": 32
          },
          "reason": {
            "type": "string",
            "minLength": 1,
            "maxLength": 260
          },
          "recommended_action": {
            "type": "string",
            "minLength": 1,
            "maxLength": 260
          }
        }
      }
    },
    "top_forecasts": {
      "type": "array",
      "maxItems": 5,
      "items": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "company",
          "forecast_30d",
          "interpretation"
        ],
        "properties": {
          "company": {
            "type": "string",
            "minLength": 1,
            "maxLength": 160
          },
          "forecast_30d": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64
          },
          "interpretation": {
            "type": "string",
            "minLength": 1,
            "maxLength": 260
          }
        }
      }
    },
    "actions": {
      "type": "array",
      "minItems": 2,
      "maxItems": 5,
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 260
      }
    },
    "caveats": {
      "type": "array",
      "minItems": 1,
      "maxItems": 4,
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 260
      }
    }
  }
}
