{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "openmontage/artifacts/brief",
  "title": "Video Brief",
  "description": "Creative brief produced by the Idea Explorer agent.",
  "type": "object",
  "required": ["version", "title", "hook", "key_points", "tone", "style", "target_platform", "target_duration_seconds"],
  "properties": {
    "version": { "type": "string", "const": "1.0" },
    "title": { "type": "string", "minLength": 1 },
    "hook": { "type": "string", "description": "Opening hook / attention grabber" },
    "key_points": {
      "type": "array",
      "items": { "type": "string" },
      "minItems": 1
    },
    "core_message": { "type": "string" },
    "cta": { "type": "string", "description": "Call to action" },
    "tone": { "type": "string" },
    "style": { "type": "string", "description": "Style playbook name or custom description" },
    "target_audience": { "type": "string" },
    "target_platform": {
      "type": "string",
      "enum": ["youtube", "instagram", "tiktok", "linkedin", "generic"]
    },
    "target_duration_seconds": { "type": "number", "minimum": 1 },
    "reference_material": {
      "type": "array",
      "items": { "type": "string" },
      "description": "Paths or URLs to source material"
    },
    "angle_options": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "name": { "type": "string" },
          "description": { "type": "string" }
        },
        "required": ["name", "description"]
      },
      "description": "2-3 angle options for user to choose from"
    },
    "selected_angle": { "type": "string" },
    "metadata": { "type": "object" }
  },
  "additionalProperties": false
}
