{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "TopicSpace Public Signal",
  "description": "A structured narrative signal from the TopicSpace daily pipeline.",
  "type": "object",
  "required": [
    "narrative_id",
    "title",
    "bucket",
    "momentum",
    "confidence",
    "affected_entities",
    "summary",
    "human_action"
  ],
  "properties": {
    "narrative_id": {
      "type": "string",
      "description": "Stable identifier for this narrative."
    },
    "title": {
      "type": "string",
      "description": "Human-readable signal title."
    },
    "bucket": {
      "type": "string",
      "enum": [
        "LEAN_IN",
        "STEP_BACK",
        "BE_CAREFUL",
        "IGNORE"
      ],
      "description": "Attention classification."
    },
    "momentum": {
      "type": "string",
      "enum": [
        "RISING",
        "FALLING",
        "FLAT"
      ]
    },
    "confidence": {
      "type": "string",
      "enum": [
        "HIGH",
        "MEDIUM",
        "LOW"
      ]
    },
    "reinforcement": {
      "type": "string",
      "enum": [
        "HIGH",
        "MEDIUM",
        "LOW"
      ],
      "description": "Cross-source signal reinforcement."
    },
    "time_horizon": {
      "type": "string",
      "enum": [
        "days",
        "days_to_weeks",
        "weeks"
      ]
    },
    "affected_entities": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Primary actors in this narrative."
    },
    "narrative_family": {
      "type": "string",
      "description": "Narrative cluster grouping."
    },
    "summary": {
      "type": "string",
      "description": "One-sentence narrative description."
    },
    "human_action": {
      "type": "string",
      "description": "Plain English attention instruction."
    },
    "notes": {
      "type": "string",
      "description": "Additional context."
    }
  }
}