{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://aiidiots.ai/specs/podcast-lesson.schema.json",
  "title": "Podcast U Lesson Record",
  "type": "object",
  "additionalProperties": true,
  "required": [
    "lesson_id",
    "lesson_title",
    "concise_lesson",
    "source_episode",
    "speaker_or_guest",
    "category",
    "tags",
    "confidence",
    "why_it_matters",
    "specific_value_detail",
    "specific_value_type",
    "quote_or_paraphrase_boundary",
    "reusable_agent_context",
    "follow_up_action",
    "learning_category",
    "source_label",
    "person_tags",
    "signal_score",
    "signal_reason",
    "signal_factors"
  ],
  "properties": {
    "lesson_id": { "type": "string" },
    "lesson_title": { "type": "string" },
    "concise_lesson": { "type": "string" },
    "source_episode": {
      "type": "object",
      "required": ["id", "title", "lane", "url"],
      "properties": {
        "id": { "type": "string" },
        "title": { "type": "string" },
        "lane": { "type": "string" },
        "url": { "type": "string" },
        "publish_date": { "type": "string" }
      }
    },
    "speaker_or_guest": { "type": "string" },
    "host": { "type": "string" },
    "category": {
      "type": "string",
      "enum": [
        "business",
        "company_building",
        "ai_usage",
        "product",
        "strategy",
        "market_structure",
        "operations",
        "founder_judgment",
        "mistake",
        "framework",
        "agent_lesson"
      ]
    },
    "tags": { "type": "array", "items": { "type": "string" } },
    "confidence": { "type": "string", "enum": ["low", "medium", "high"] },
    "why_it_matters": { "type": "string" },
    "specific_value_detail": {
      "type": "string",
      "minLength": 30,
      "description": "The smallest source-backed mechanism, constraint, failure mode, causal link, exception, pattern, market signal, operator move, or agent rule that makes this lesson worth saving."
    },
    "specific_value_type": {
      "type": "string",
      "enum": [
        "mechanism",
        "constraint",
        "failure_mode",
        "decision_rule",
        "exception",
        "pattern",
        "contradiction",
        "leverage_point",
        "market_signal",
        "operator_move",
        "agent_rule"
      ]
    },
    "quote_or_paraphrase_boundary": {
      "type": "string",
      "enum": ["quote", "paraphrase", "inference", "private_note"]
    },
    "reusable_agent_context": { "type": "string" },
    "follow_up_action": { "type": "string" }
    ,
    "learning_category": {
      "type": "string",
      "enum": [
        "AI & Agents",
        "Money & Markets",
        "Company Building",
        "Product & Distribution",
        "Strategy & Power",
        "Operating Wisdom",
        "Naval / Leverage"
      ]
    },
    "source_label": { "type": "string" },
    "person_tags": { "type": "array", "items": { "type": "string" } },
    "signal_score": { "type": "integer", "minimum": 1, "maximum": 100 },
    "signal_reason": { "type": "string" },
    "signal_factors": {
      "type": "object",
      "required": [
        "leverage",
        "actionability",
        "specificity",
        "durability",
        "non_obviousness",
        "source_confidence",
        "agent_utility",
        "recurrence"
      ],
      "properties": {
        "leverage": { "type": "integer", "minimum": 1, "maximum": 10 },
        "actionability": { "type": "integer", "minimum": 1, "maximum": 10 },
        "specificity": { "type": "integer", "minimum": 1, "maximum": 10 },
        "durability": { "type": "integer", "minimum": 1, "maximum": 10 },
        "non_obviousness": { "type": "integer", "minimum": 1, "maximum": 10 },
        "source_confidence": { "type": "integer", "minimum": 1, "maximum": 10 },
        "agent_utility": { "type": "integer", "minimum": 1, "maximum": 10 },
        "recurrence": { "type": "integer", "minimum": 1, "maximum": 10 }
      }
    }
  }
}
