{
  "schemaVersion": "deck-intelligence.v1",
  "id": "019dd923-5ca1-7489-b63a-1688bfd92139",
  "slug": "8415682c8c4fabdf",
  "title": "IAB Podcast Ad Revenue",
  "subtitle": "PwC",
  "author": "PwC",
  "pageCount": 14,
  "kind": "consulting-deck",
  "orientation": "landscape",
  "aspectRatio": 1.778,
  "document": {
    "id": "019dd923-5ca1-7489-b63a-1688bfd92139",
    "slug": "8415682c8c4fabdf",
    "title": "IAB Podcast Ad Revenue",
    "rawTitle": "IAB Podcast Ad Revenue",
    "authorId": "PwC",
    "authorName": "PwC",
    "authorDisplay": "PwC",
    "kind": {
      "slug": "consulting-deck",
      "label": "Consulting deck"
    },
    "sourceType": {
      "slug": "strategy_consulting",
      "label": "Strategy consulting"
    },
    "fileName": "2017-IAB-Podcast-Ad-Revenue.pdf",
    "sourceUrl": "https://www.iab.com/wp-content/uploads/2017/06/PwC_IAB-Podcast-Advertising-Study_FY2016_Final.pdf",
    "sourceDate": "2017-06-15 00:00:00",
    "presentationDate": null,
    "ingestedAt": "2026-04-23 20:51:42+00",
    "status": "ready",
    "pageCount": 14,
    "orientation": "landscape",
    "aspectRatio": 1.778,
    "targetCompany": null,
    "targetTicker": null,
    "metadata": {
      "local_root": "/tmp/legacy-images/8415682c8c4fabdf",
      "origin_corpus": "consulting"
    }
  },
  "coverage": {
    "pageCount": 14,
    "pagesIndexed": 14,
    "pagesWithImages": 14,
    "pagesWithMetadata": 14,
    "imageCoveragePct": 100,
    "metadataCoveragePct": 100,
    "componentCount": 71,
    "chartCount": 8,
    "metricSlides": 0,
    "toolMatches": 33,
    "documentToolMatches": 0,
    "frameworkMatches": 0,
    "arcMatches": 1,
    "beatMatches": 5,
    "loopMatches": 2,
    "patternMatches": 0,
    "storymakersMatch": true,
    "scoreAvailable": true,
    "reviewAvailable": true,
    "activistThesisAvailable": false,
    "pitchdeckMetadataAvailable": false,
    "pitchdeckProfileAvailable": false
  },
  "blocks": [],
  "matches": {
    "arcs": [
      {
        "arc": {
          "name": "The Consultant's Gambit",
          "slug": "consultants-gambit",
          "status": "active",
          "bestFor": "Business cases, project proposals, strategic recommendations",
          "canonId": "019dd956-5e0a-73c8-b305-81c38c959e9c",
          "version": 1,
          "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
          "structure": "Situation & Context -> Problem & Complication -> Solution & Approach -> Evidence & Proof -> Impact & Next Steps",
          "description": null,
          "familyLabel": null,
          "categoryName": "Strategy & Business",
          "categorySlug": "strategy-business"
        },
        "matchId": "019de958-3ed7-733a-993b-dd5eefebaef2",
        "evidence": "Cover/sponsors set context (p1-3); p4 names complication 'estimates too wide to be reliable'; p5 methodology; p6-10 evidence; p11-14 contacts.",
        "isPrimary": true,
        "confidence": 75,
        "extraction": {
          "at": "2026-05-02 15:39:27.658783+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        }
      }
    ],
    "beats": [
      {
        "to": 3,
        "arc": {
          "name": "The Consultant's Gambit",
          "slug": "consultants-gambit",
          "status": "active",
          "bestFor": "Business cases, project proposals, strategic recommendations",
          "canonId": "019dd956-5e0a-73c8-b305-81c38c959e9c",
          "version": 1,
          "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
          "structure": "Situation & Context -> Problem & Complication -> Solution & Approach -> Evidence & Proof -> Impact & Next Steps",
          "description": null,
          "familyLabel": null,
          "categoryName": "Strategy & Business",
          "categorySlug": "strategy-business"
        },
        "from": 1,
        "name": "Situation & Context",
        "beatId": "019de958-3f07-73b2-ada2-42006fe71d13",
        "matchId": "019de958-3ed7-733a-993b-dd5eefebaef2",
        "beatType": null,
        "evidence": "Cover, sponsor grid, outline establish topic and credibility",
        "position": 1,
        "isPrimaryArc": true,
        "parentBeatType": null,
        "alignedBlockIds": null,
        "matchConfidence": 75
      },
      {
        "to": 4,
        "arc": {
          "name": "The Consultant's Gambit",
          "slug": "consultants-gambit",
          "status": "active",
          "bestFor": "Business cases, project proposals, strategic recommendations",
          "canonId": "019dd956-5e0a-73c8-b305-81c38c959e9c",
          "version": 1,
          "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
          "structure": "Situation & Context -> Problem & Complication -> Solution & Approach -> Evidence & Proof -> Impact & Next Steps",
          "description": null,
          "familyLabel": null,
          "categoryName": "Strategy & Business",
          "categorySlug": "strategy-business"
        },
        "from": 4,
        "name": "Problem & Complication",
        "beatId": "019de958-3f3d-769a-834a-e91f7391d6c0",
        "matchId": "019de958-3ed7-733a-993b-dd5eefebaef2",
        "beatType": null,
        "evidence": "p4 callout: 'range in published estimates was too wide to be reliable'",
        "position": 2,
        "isPrimaryArc": true,
        "parentBeatType": null,
        "alignedBlockIds": null,
        "matchConfidence": 75
      },
      {
        "to": 5,
        "arc": {
          "name": "The Consultant's Gambit",
          "slug": "consultants-gambit",
          "status": "active",
          "bestFor": "Business cases, project proposals, strategic recommendations",
          "canonId": "019dd956-5e0a-73c8-b305-81c38c959e9c",
          "version": 1,
          "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
          "structure": "Situation & Context -> Problem & Complication -> Solution & Approach -> Evidence & Proof -> Impact & Next Steps",
          "description": null,
          "familyLabel": null,
          "categoryName": "Strategy & Business",
          "categorySlug": "strategy-business"
        },
        "from": 5,
        "name": "Solution & Approach",
        "beatId": "019de958-3f70-75ab-a8ab-28a6ba0c645c",
        "matchId": "019de958-3ed7-733a-993b-dd5eefebaef2",
        "beatType": null,
        "evidence": "p5 lays out survey scope and methodology rigor",
        "position": 3,
        "isPrimaryArc": true,
        "parentBeatType": null,
        "alignedBlockIds": null,
        "matchConfidence": 75
      },
      {
        "to": 10,
        "arc": {
          "name": "The Consultant's Gambit",
          "slug": "consultants-gambit",
          "status": "active",
          "bestFor": "Business cases, project proposals, strategic recommendations",
          "canonId": "019dd956-5e0a-73c8-b305-81c38c959e9c",
          "version": 1,
          "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
          "structure": "Situation & Context -> Problem & Complication -> Solution & Approach -> Evidence & Proof -> Impact & Next Steps",
          "description": null,
          "familyLabel": null,
          "categoryName": "Strategy & Business",
          "categorySlug": "strategy-business"
        },
        "from": 6,
        "name": "Evidence & Proof",
        "beatId": "019de958-3fa0-7663-b8cd-0f5f64e21cb1",
        "matchId": "019de958-3ed7-733a-993b-dd5eefebaef2",
        "beatType": null,
        "evidence": "p6-10 deliver charts: market size, growth, delivery/ad/campaign mix",
        "position": 4,
        "isPrimaryArc": true,
        "parentBeatType": null,
        "alignedBlockIds": null,
        "matchConfidence": 75
      },
      {
        "to": 14,
        "arc": {
          "name": "The Consultant's Gambit",
          "slug": "consultants-gambit",
          "status": "active",
          "bestFor": "Business cases, project proposals, strategic recommendations",
          "canonId": "019dd956-5e0a-73c8-b305-81c38c959e9c",
          "version": 1,
          "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
          "structure": "Situation & Context -> Problem & Complication -> Solution & Approach -> Evidence & Proof -> Impact & Next Steps",
          "description": null,
          "familyLabel": null,
          "categoryName": "Strategy & Business",
          "categorySlug": "strategy-business"
        },
        "from": 11,
        "name": "Impact & Next Steps",
        "beatId": "019de958-3fe5-718a-8363-f01482c00bbf",
        "matchId": "019de958-3ed7-733a-993b-dd5eefebaef2",
        "beatType": null,
        "evidence": "p11-14 contacts, firm credentials, disclaimer (weak next-steps)",
        "position": 5,
        "isPrimaryArc": true,
        "parentBeatType": null,
        "alignedBlockIds": null,
        "matchConfidence": 75
      }
    ],
    "loops": [
      {
        "to": 7,
        "from": 6,
        "loop": {
          "name": "02_pattern_hunter",
          "slug": "02-pattern-hunter",
          "status": "active",
          "bestFor": "Time-pressed audiences, building consensus, when data is strong",
          "canonId": "019dd956-6695-771a-be2e-f1748ef041a4",
          "version": 1,
          "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
          "structure": "Evidence A -> Evidence B -> Evidence C -> Pattern/Conclusion",
          "description": "Group multiple pieces of evidence that together point to a pattern or conclusion",
          "familyLabel": null,
          "categoryName": "Logical Reasoning",
          "categorySlug": "logical-reasoning"
        },
        "matchId": "019de958-4010-7305-8bde-e59dd802a7af",
        "evidence": "p6 shows 72%/85% YoY; p7 shows 228% quarterly with 19% CQGR — same growth thesis from two angles",
        "position": 1,
        "objective": "Stack annual + quarterly evidence to prove rapid market growth",
        "confidence": 75,
        "extraction": {
          "at": "2026-05-02 15:39:27.658783+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        }
      },
      {
        "to": 10,
        "from": 8,
        "loop": {
          "name": "34_segmentation_split",
          "slug": "34-segmentation-split",
          "status": "active",
          "bestFor": "Customer analysis, market research, resource allocation",
          "canonId": "019dd956-7398-77a8-9a5f-2e4d39589f42",
          "version": 1,
          "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
          "structure": "The Aggregate View -> Segment A Behavior -> Segment B Behavior -> The Insight in the Difference",
          "description": "Divide a whole into meaningful segments to reveal hidden patterns",
          "familyLabel": null,
          "categoryName": "Consulting Framework",
          "categorySlug": "consulting-framework"
        },
        "matchId": "019de958-4040-741f-9b63-5c3a52c00c97",
        "evidence": "Three consecutive 2015-vs-2016 donut comparisons: delivery mechanism, ad mechanism, campaign type",
        "position": 2,
        "objective": "Slice ad revenue by three categorical dimensions to reveal mix shifts",
        "confidence": 85,
        "extraction": {
          "at": "2026-05-02 15:39:27.658783+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        }
      }
    ],
    "tools": [
      {
        "tool": {
          "name": "Curiosity Gap",
          "slug": "curiosity-gap",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-9703-74ef-8b85-96dfd8525025",
          "version": 1,
          "bodyDocId": null,
          "description": "People seek missing information - create open questions that demand resolution",
          "familyLabel": null,
          "categoryName": "Block",
          "categorySlug": "block"
        },
        "agent": "Storyteller",
        "layer": "block",
        "agents": [
          "Storyteller"
        ],
        "matchId": "019de958-41c4-7548-b4e8-843c0bde52db",
        "evidence": "Names a gap (true revenue) study will fill",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 60,
        "extraction": {
          "at": "2026-05-02 15:39:27.658783+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 4,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Problem Statement Canvas",
          "slug": "problem-statement-canvas",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-839d-744b-ad11-9bf3e3642a18",
          "version": 1,
          "bodyDocId": null,
          "description": "Structured definition of the problem: What? Who? Where? When? Scale?",
          "familyLabel": null,
          "categoryName": "Block",
          "categorySlug": "block"
        },
        "agent": "Architect",
        "layer": "block",
        "agents": [
          "Architect"
        ],
        "matchId": "019de958-4159-7407-953a-a20fa03aef9e",
        "evidence": "Bolded callout names problem: unreliable industry estimates",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 75,
        "extraction": {
          "at": "2026-05-02 15:39:27.658783+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 4,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "SCQA Framework",
          "slug": "scqa-framework",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-7bcb-763f-bdf6-1dfedf3bd36c",
          "version": 1,
          "bodyDocId": "019df22a-a0b0-719e-937e-2ac31e53d32c",
          "description": "Situation, Complication, Question, Answer - structured problem framing",
          "familyLabel": null,
          "categoryName": "Block",
          "categorySlug": "block"
        },
        "agent": "Architect",
        "layer": "block",
        "agents": [
          "Architect"
        ],
        "matchId": "019de958-4131-724d-932b-3b43d65e0376",
        "evidence": "Three paragraphs walk Situation, Complication, Question, Answer",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": null,
        "confidence": 80,
        "extraction": {
          "at": "2026-05-02 15:39:27.658783+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 4,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "MECE Principle",
          "slug": "mece-principle",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-7c60-71a8-8758-c79d914489c9",
          "version": 1,
          "bodyDocId": null,
          "description": "Mutually Exclusive, Collectively Exhaustive - ensuring complete, non-overlapping structure",
          "familyLabel": null,
          "categoryName": "Block",
          "categorySlug": "block"
        },
        "agent": "Architect",
        "layer": "block",
        "agents": [
          "Architect"
        ],
        "matchId": "019de958-4205-71f2-ba50-7627ba94a571",
        "evidence": "Two-column split cleanly separates Scope from Methodology",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": null,
        "confidence": 65,
        "extraction": {
          "at": "2026-05-02 15:39:27.658783+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 5,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Chunking",
          "slug": "chunking",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-abab-72ce-b64c-2924cc83cf39",
          "version": 1,
          "bodyDocId": null,
          "description": "Information grouped into chunks is remembered better - structure content in digestible units",
          "familyLabel": null,
          "categoryName": "Loop",
          "categorySlug": "loop"
        },
        "agent": "Architect",
        "layer": "loop",
        "agents": [
          "Architect"
        ],
        "matchId": "019de958-4108-76bb-b02e-86a4be4f8369",
        "evidence": "Outline groups deck into scope, methodology, findings, contacts",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 60,
        "extraction": {
          "at": "2026-05-02 15:39:27.658783+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 3,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Inductive Reasoning",
          "slug": "inductive-reasoning",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-99c6-705e-94cc-76a504c3da37",
          "version": 1,
          "bodyDocId": null,
          "description": "Grouping similar evidence to form a conclusion (Evidence → Pattern → Conclusion)",
          "familyLabel": null,
          "categoryName": "Loop",
          "categorySlug": "loop"
        },
        "agent": "Architect",
        "layer": "loop",
        "agents": [
          "Architect"
        ],
        "matchId": "019de958-4367-72f0-9bea-5bb8038866f2",
        "evidence": "First evidence point in pattern-hunter loop on growth",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": null,
        "confidence": 70,
        "extraction": {
          "at": "2026-05-02 15:39:27.658783+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 6,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Contrast Pairs",
          "slug": "contrast-pairs",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-9b77-70d3-88b1-f34e26f60860",
          "version": 1,
          "bodyDocId": null,
          "description": "Creating tension through opposites: Before↔After, Problem↔Solution, Pain↔Relief",
          "familyLabel": null,
          "categoryName": "Loop",
          "categorySlug": "loop"
        },
        "agent": "Storyteller",
        "layer": "loop",
        "agents": [
          "Storyteller"
        ],
        "matchId": "019de958-4503-7173-b239-6ccc60da5a96",
        "evidence": "2015 vs 2016 contrast opens segmentation-split loop",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": null,
        "confidence": 85,
        "extraction": {
          "at": "2026-05-02 15:39:27.658783+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 8,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Slide recipe: Cover",
          "slug": "cover-slide",
          "status": "active",
          "bestFor": null,
          "canonId": "019df269-2a08-767d-9128-e7431e6fe8a3",
          "version": 1,
          "bodyDocId": "019df269-29e5-7738-b5fa-6892e5dc8e65",
          "description": "The first ten seconds. Build it deliberately.",
          "familyLabel": "slide-recipe",
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "designer",
        "layer": "slide",
        "agents": [
          "designer"
        ],
        "matchId": "1aa6e097-c1d3-4fa0-95b6-134a9cd06c83",
        "evidence": "IAB Podcast Ad Revenue Study: An Analysis of the Largest Players in the Podcasting Industry",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.9,
        "extraction": {
          "at": "2026-07-16 21:19:38.069024+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 1,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Authority Bias",
          "slug": "authority-bias",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-c38d-70b9-a284-b2b479763356",
          "version": 1,
          "bodyDocId": null,
          "description": "Expert opinions are weighted more heavily - cite credible sources",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Storyteller",
        "layer": "slide",
        "agents": [
          "Architect",
          "Storyteller"
        ],
        "matchId": "019de958-40af-74ce-9a43-6db35d9a5bb2",
        "evidence": "Corporate sponsors cited to lend report weight",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 70,
        "extraction": {
          "at": "2026-05-02 15:39:27.658783+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 2,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Credibility Transfer",
          "slug": "credibility-transfer",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-bd34-759a-8e3b-2f14b571a2a1",
          "version": 1,
          "bodyDocId": null,
          "description": "Borrowing authority from trusted sources or vivid details",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Storyteller",
        "layer": "slide",
        "agents": [
          "Storyteller"
        ],
        "matchId": "019de958-407b-771e-8fe8-14c22514138b",
        "evidence": "Sponsor logo grid borrows authority from named brands",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 80,
        "extraction": {
          "at": "2026-05-02 15:39:27.658783+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 2,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Core Message Extraction",
          "slug": "core-message-extraction",
          "status": "active",
          "bestFor": "Any slide that carries an argument or finding. The diagnostic: if the slide has a chart on it, it needs a core message. Run extraction whenever the current title is a topic (Q3 performance, Customer satisfaction) rather than a claim, or when a reader could reasonably draw more than one conclusion from the visible evidence.",
          "canonId": "019dd956-bc71-707d-8867-1b2e810175cf",
          "version": 1,
          "bodyDocId": "f85613cb-4b77-462f-bfe6-3b862516e1a6",
          "description": "The discipline of distilling raw analysis, data, or content into a single declarative sentence — the slide's core message — that the audience would walk away with if they remembered nothing else. Process, not artefact: extraction questions run on the raw content until one sentence falls out.",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Architect",
        "layer": "slide",
        "agents": [
          "Architect"
        ],
        "matchId": "019de958-4191-7736-b6cc-5fe3c186d7a3",
        "evidence": "Bolding isolates 'too wide to be reliable' as core message",
        "pageRefs": null,
        "priority": null,
        "whenToUse": "Any slide that carries an argument or finding. The diagnostic: if the slide has a chart on it, it needs a core message. Run extraction whenever the current title is a topic (Q3 performance, Customer satisfaction) rather than a claim, or when a reader could reasonably draw more than one conclusion from the visible evidence.",
        "confidence": 75,
        "extraction": {
          "at": "2026-05-02 15:39:27.658783+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 4,
        "whyItWorks": "Solves the two failure modes of slide writing simultaneously: the topic title (which outsources interpretation to the audience and produces three different conclusions in three different heads) and the multi-thesis stapler (which exceeds working memory and gets remembered as fragments). Aligns with how readers actually consume decks — Heath & Heath's Find the Core, the journalist's nut graf, and Minto's governing thought all converge on the same cognitive economics.",
        "antipattern": "Topic titles disguised as core messages (Customer satisfaction, no verb, no stake); multi-thesis sentences stapled with and; hedged sentences (may show signs of possible softening); chart-caption titles (Revenue fell 4%) that restate what the chart already shows instead of naming the so-what; meta-commentary (this slide explores...) that describes the slide rather than concluding it.",
        "cardinality": null,
        "narrativePurpose": "Forces the slide author to do the interpretive work before the slide ships, so the audience does not have to do it during the meeting. Wins the WYSIATI battle on purpose — the loudest fragment on the page becomes the author's chosen sentence rather than whichever chart label happens to be largest."
      },
      {
        "tool": {
          "name": "Credibility Transfer",
          "slug": "credibility-transfer",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-bd34-759a-8e3b-2f14b571a2a1",
          "version": 1,
          "bodyDocId": null,
          "description": "Borrowing authority from trusted sources or vivid details",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Storyteller",
        "layer": "slide",
        "agents": [
          "Storyteller"
        ],
        "matchId": "019de958-423f-72f3-9f5a-1e6508a23f2f",
        "evidence": "Detailed methodology (20 firms, 11 weeks) signals rigor",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 75,
        "extraction": {
          "at": "2026-05-02 15:39:27.658783+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 5,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Action Titles",
          "slug": "action-titles",
          "status": "active",
          "bestFor": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
          "canonId": "019dd956-ac70-700b-a608-ba58e78f5dcc",
          "version": 1,
          "bodyDocId": "816dad3c-9983-41c1-a86e-978ebd582841",
          "description": "The McKinsey-bred discipline of writing every slide title as a complete declarative sentence with a verb and an insight, not a topic label. Each title is a sub-claim that ladders up to the deck's governing thought; read in sequence, the titles reconstruct the executive summary.",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Architect",
        "layer": "slide",
        "agents": [
          "Architect"
        ],
        "matchId": "dda32e57-64a3-49e2-9537-8e0709544dee",
        "evidence": "Podcast advertising revenue grew at a double-digit rate from 2015 to 2016, and the growth is forecast to build in 2017.",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
        "confidence": 0.7,
        "extraction": {
          "at": "2026-07-16 21:19:38.271934+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 6,
        "whyItWorks": "Solves two failure modes at once. (1) The buried claim: action titles place the conclusion on the page before any analysis is read, so a busy reader doesn't reverse-engineer it from the chart. (2) The spineless deck: because each title is a claim, slides have to ladder up to the governing thought; logical gaps become visible as topic-shaped titles in a sequence that no longer reads as a story.",
        "antipattern": "Topic labels disguised as titles — Volume by quarter, Key findings, Pricing strategy, Margins have been impacted. No verb, or a passive verb with no agent, or a fact (Revenue grew 12%) without the so-what. Also: titles that overreach the chart's evidence, multi-claim X-grew-but-Y-fell welded titles, and mechanical repetition of the same X-drove-Y template across the deck.",
        "cardinality": null,
        "narrativePurpose": "Forces the deck to carry its argument in the title bar so a senior reader can extract the recommendation without opening a single slide; converts a binder of topics into a navigable pyramid where every slide is a node defending the apex."
      },
      {
        "tool": {
          "name": "Action Titles",
          "slug": "action-titles",
          "status": "active",
          "bestFor": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
          "canonId": "019dd956-ac70-700b-a608-ba58e78f5dcc",
          "version": 1,
          "bodyDocId": "816dad3c-9983-41c1-a86e-978ebd582841",
          "description": "The McKinsey-bred discipline of writing every slide title as a complete declarative sentence with a verb and an insight, not a topic label. Each title is a sub-claim that ladders up to the deck's governing thought; read in sequence, the titles reconstruct the executive summary.",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Architect",
        "layer": "slide",
        "agents": [
          "Architect"
        ],
        "matchId": "019de958-4266-710f-8541-82cf4c1402f6",
        "evidence": "Title states insight: 'grew at double-digit rate... forecast to build'",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
        "confidence": 90,
        "extraction": {
          "at": "2026-05-02 15:39:27.658783+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 6,
        "whyItWorks": "Solves two failure modes at once. (1) The buried claim: action titles place the conclusion on the page before any analysis is read, so a busy reader doesn't reverse-engineer it from the chart. (2) The spineless deck: because each title is a claim, slides have to ladder up to the governing thought; logical gaps become visible as topic-shaped titles in a sequence that no longer reads as a story.",
        "antipattern": "Topic labels disguised as titles — Volume by quarter, Key findings, Pricing strategy, Margins have been impacted. No verb, or a passive verb with no agent, or a fact (Revenue grew 12%) without the so-what. Also: titles that overreach the chart's evidence, multi-claim X-grew-but-Y-fell welded titles, and mechanical repetition of the same X-drove-Y template across the deck.",
        "cardinality": null,
        "narrativePurpose": "Forces the deck to carry its argument in the title bar so a senior reader can extract the recommendation without opening a single slide; converts a binder of topics into a navigable pyramid where every slide is a node defending the apex."
      },
      {
        "tool": {
          "name": "Annotation",
          "slug": "annotation",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-b5b9-7668-bf0e-3af99823ec5c",
          "version": 1,
          "bodyDocId": null,
          "description": "Adding explanatory labels to highlight key data points",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Designer",
        "layer": "slide",
        "agents": [
          "Designer"
        ],
        "matchId": "019de958-42e3-767a-af8b-d089a3c332ed",
        "evidence": "Arrows annotate 72% and 85% YoY growth between bars",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 90,
        "extraction": {
          "at": "2026-05-02 15:39:27.658783+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 6,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Chart Selection Guide",
          "slug": "chart-selection-guide",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-b1a0-700b-ba17-0e16c4d5bcae",
          "version": 1,
          "bodyDocId": null,
          "description": "Choosing the right chart type for your data and message",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Designer",
        "layer": "slide",
        "agents": [
          "Designer"
        ],
        "matchId": "019de958-4317-76db-ba43-e49da974b1b4",
        "evidence": "Bar chart fits comparing three discrete years",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 80,
        "extraction": {
          "at": "2026-05-02 15:39:27.658783+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 6,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Pre-attentive Attributes",
          "slug": "pre-attentive-attributes",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-b61d-717f-a402-24ccbb4b60d8",
          "version": 1,
          "bodyDocId": null,
          "description": "Visual properties processed instantly: color, size, orientation, shape",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Designer",
        "layer": "slide",
        "agents": [
          "Designer"
        ],
        "matchId": "019de958-4341-76b8-97d0-68b50388f40a",
        "evidence": "Orange bars and grey arrows pop against white",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 70,
        "extraction": {
          "at": "2026-05-02 15:39:27.658783+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 6,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "So What? Test",
          "slug": "so-what-test",
          "status": "active",
          "bestFor": "On every slide carrying a chart, number, list, or finding intended to inform a decision; whenever a draft title is descriptive rather than directive; whenever the deck will circulate without its author.",
          "canonId": "019dd956-acd2-76f8-b59a-9bf15a89f10a",
          "version": 1,
          "bodyDocId": "fec04b06-b2f1-432b-a97b-916dc7563f64",
          "description": "The recursive editorial discipline of asking so-what of every slide, chart, and statement until the answer is an implication for the audience — that final answer becomes the slide's title; the chain becomes its body.",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Architect",
        "layer": "slide",
        "agents": [
          "Architect"
        ],
        "matchId": "019de958-42a8-717c-af71-84a5fe1af4fe",
        "evidence": "Title delivers the implication, not the topic",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": "On every slide carrying a chart, number, list, or finding intended to inform a decision; whenever a draft title is descriptive rather than directive; whenever the deck will circulate without its author.",
        "confidence": 85,
        "extraction": {
          "at": "2026-05-02 15:39:27.658783+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 6,
        "whyItWorks": "Solves the two failure modes of analytical communication at once: stopping at description (analyst-confidence problem) and leaving insight stranded in the analyst's head (translation problem). The recursion is what guarantees the implication makes it into ink.",
        "antipattern": "Stopping at the first tighter description (still a fact, not an implication), regressing past the audience's decision space into philosophy, smuggling the so-what into speaker notes, or re-using an implication aimed at a previous audience.",
        "cardinality": null,
        "narrativePurpose": "Forces every analytical artefact to close the gap between fact and decision, so the reader holds the recommendation by reading titles alone rather than reconstructing the analyst's mental model from raw evidence."
      },
      {
        "tool": {
          "name": "Action Titles",
          "slug": "action-titles",
          "status": "active",
          "bestFor": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
          "canonId": "019dd956-ac70-700b-a608-ba58e78f5dcc",
          "version": 1,
          "bodyDocId": "816dad3c-9983-41c1-a86e-978ebd582841",
          "description": "The McKinsey-bred discipline of writing every slide title as a complete declarative sentence with a verb and an insight, not a topic label. Each title is a sub-claim that ladders up to the deck's governing thought; read in sequence, the titles reconstruct the executive summary.",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Architect",
        "layer": "slide",
        "agents": [
          "Architect"
        ],
        "matchId": "019de958-438e-74bd-a3df-e82a706f8904",
        "evidence": "Title states insight: 'grew 228% on quarterly basis'",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
        "confidence": 90,
        "extraction": {
          "at": "2026-05-02 15:39:27.658783+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 7,
        "whyItWorks": "Solves two failure modes at once. (1) The buried claim: action titles place the conclusion on the page before any analysis is read, so a busy reader doesn't reverse-engineer it from the chart. (2) The spineless deck: because each title is a claim, slides have to ladder up to the governing thought; logical gaps become visible as topic-shaped titles in a sequence that no longer reads as a story.",
        "antipattern": "Topic labels disguised as titles — Volume by quarter, Key findings, Pricing strategy, Margins have been impacted. No verb, or a passive verb with no agent, or a fact (Revenue grew 12%) without the so-what. Also: titles that overreach the chart's evidence, multi-claim X-grew-but-Y-fell welded titles, and mechanical repetition of the same X-drove-Y template across the deck.",
        "cardinality": null,
        "narrativePurpose": "Forces the deck to carry its argument in the title bar so a senior reader can extract the recommendation without opening a single slide; converts a binder of topics into a navigable pyramid where every slide is a node defending the apex."
      },
      {
        "tool": {
          "name": "Annotation",
          "slug": "annotation",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-b5b9-7668-bf0e-3af99823ec5c",
          "version": 1,
          "bodyDocId": null,
          "description": "Adding explanatory labels to highlight key data points",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Designer",
        "layer": "slide",
        "agents": [
          "Designer"
        ],
        "matchId": "019de958-43dd-730d-9c5b-7e3befe75b4e",
        "evidence": "'19% CQGR' annotation overlaid on trend arrow",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 90,
        "extraction": {
          "at": "2026-05-02 15:39:27.658783+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 7,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Chart Selection Guide",
          "slug": "chart-selection-guide",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-b1a0-700b-ba17-0e16c4d5bcae",
          "version": 1,
          "bodyDocId": null,
          "description": "Choosing the right chart type for your data and message",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Designer",
        "layer": "slide",
        "agents": [
          "Designer"
        ],
        "matchId": "019de958-4423-723d-b456-22886c556c81",
        "evidence": "Area chart suits continuous quarterly trend",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 75,
        "extraction": {
          "at": "2026-05-02 15:39:27.658783+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 7,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Data-Ink Ratio",
          "slug": "data-ink-ratio",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-afc8-70da-b378-92834d36fde6",
          "version": 1,
          "bodyDocId": null,
          "description": "Maximize data, minimize non-data ink - remove chartjunk and decoration",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Designer",
        "layer": "slide",
        "agents": [
          "Designer"
        ],
        "matchId": "019de958-4401-72fe-9c13-7d27c5184017",
        "evidence": "Minimal gridlines, single-color area, clean labels",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": null,
        "confidence": 70,
        "extraction": {
          "at": "2026-05-02 15:39:27.658783+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 7,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "So What? Test",
          "slug": "so-what-test",
          "status": "active",
          "bestFor": "On every slide carrying a chart, number, list, or finding intended to inform a decision; whenever a draft title is descriptive rather than directive; whenever the deck will circulate without its author.",
          "canonId": "019dd956-acd2-76f8-b59a-9bf15a89f10a",
          "version": 1,
          "bodyDocId": "fec04b06-b2f1-432b-a97b-916dc7563f64",
          "description": "The recursive editorial discipline of asking so-what of every slide, chart, and statement until the answer is an implication for the audience — that final answer becomes the slide's title; the chain becomes its body.",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Architect",
        "layer": "slide",
        "agents": [
          "Architect"
        ],
        "matchId": "019de958-43b9-7432-8f44-db853806c206",
        "evidence": "Headline gives so-what (228%) before chart",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": "On every slide carrying a chart, number, list, or finding intended to inform a decision; whenever a draft title is descriptive rather than directive; whenever the deck will circulate without its author.",
        "confidence": 80,
        "extraction": {
          "at": "2026-05-02 15:39:27.658783+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 7,
        "whyItWorks": "Solves the two failure modes of analytical communication at once: stopping at description (analyst-confidence problem) and leaving insight stranded in the analyst's head (translation problem). The recursion is what guarantees the implication makes it into ink.",
        "antipattern": "Stopping at the first tighter description (still a fact, not an implication), regressing past the audience's decision space into philosophy, smuggling the so-what into speaker notes, or re-using an implication aimed at a previous audience.",
        "cardinality": null,
        "narrativePurpose": "Forces every analytical artefact to close the gap between fact and decision, so the reader holds the recommendation by reading titles alone rather than reconstructing the analyst's mental model from raw evidence."
      },
      {
        "tool": {
          "name": "Action Titles",
          "slug": "action-titles",
          "status": "active",
          "bestFor": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
          "canonId": "019dd956-ac70-700b-a608-ba58e78f5dcc",
          "version": 1,
          "bodyDocId": "816dad3c-9983-41c1-a86e-978ebd582841",
          "description": "The McKinsey-bred discipline of writing every slide title as a complete declarative sentence with a verb and an insight, not a topic label. Each title is a sub-claim that ladders up to the deck's governing thought; read in sequence, the titles reconstruct the executive summary.",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Architect",
        "layer": "slide",
        "agents": [
          "Architect"
        ],
        "matchId": "019de958-44cd-736b-bd44-7df83cef52b7",
        "evidence": "Subtitle callout states 51% increase (title is descriptive)",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
        "confidence": 60,
        "extraction": {
          "at": "2026-05-02 15:39:27.658783+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 8,
        "whyItWorks": "Solves two failure modes at once. (1) The buried claim: action titles place the conclusion on the page before any analysis is read, so a busy reader doesn't reverse-engineer it from the chart. (2) The spineless deck: because each title is a claim, slides have to ladder up to the governing thought; logical gaps become visible as topic-shaped titles in a sequence that no longer reads as a story.",
        "antipattern": "Topic labels disguised as titles — Volume by quarter, Key findings, Pricing strategy, Margins have been impacted. No verb, or a passive verb with no agent, or a fact (Revenue grew 12%) without the so-what. Also: titles that overreach the chart's evidence, multi-claim X-grew-but-Y-fell welded titles, and mechanical repetition of the same X-drove-Y template across the deck.",
        "cardinality": null,
        "narrativePurpose": "Forces the deck to carry its argument in the title bar so a senior reader can extract the recommendation without opening a single slide; converts a binder of topics into a navigable pyramid where every slide is a node defending the apex."
      },
      {
        "tool": {
          "name": "Color Strategy",
          "slug": "color-strategy",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-b202-77cf-8a6e-f445b08c0fd3",
          "version": 1,
          "bodyDocId": null,
          "description": "Using color for emphasis, categories, sentiment, and hierarchy",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Designer",
        "layer": "slide",
        "agents": [
          "Designer"
        ],
        "matchId": "019de958-448f-760b-afb3-b6410fe83510",
        "evidence": "Consistent orange/dark-red palette across both donuts",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 80,
        "extraction": {
          "at": "2026-05-02 15:39:27.658783+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 8,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Small Multiples",
          "slug": "small-multiples",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-b32d-7586-b368-baa1dd388ed4",
          "version": 1,
          "bodyDocId": null,
          "description": "Repeating similar charts for comparison across categories or time",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Designer",
        "layer": "slide",
        "agents": [
          "Designer"
        ],
        "matchId": "019de958-4452-73de-86ab-1dc23c11513b",
        "evidence": "Two identical donuts side-by-side for 2015 vs 2016",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 90,
        "extraction": {
          "at": "2026-05-02 15:39:27.658783+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 8,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Action Titles",
          "slug": "action-titles",
          "status": "active",
          "bestFor": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
          "canonId": "019dd956-ac70-700b-a608-ba58e78f5dcc",
          "version": 1,
          "bodyDocId": "816dad3c-9983-41c1-a86e-978ebd582841",
          "description": "The McKinsey-bred discipline of writing every slide title as a complete declarative sentence with a verb and an insight, not a topic label. Each title is a sub-claim that ladders up to the deck's governing thought; read in sequence, the titles reconstruct the executive summary.",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Architect",
        "layer": "slide",
        "agents": [
          "Architect"
        ],
        "matchId": "019de958-457a-735c-828c-7514db377e1d",
        "evidence": "Callout carries insight; title is descriptive",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
        "confidence": 55,
        "extraction": {
          "at": "2026-05-02 15:39:27.658783+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 9,
        "whyItWorks": "Solves two failure modes at once. (1) The buried claim: action titles place the conclusion on the page before any analysis is read, so a busy reader doesn't reverse-engineer it from the chart. (2) The spineless deck: because each title is a claim, slides have to ladder up to the governing thought; logical gaps become visible as topic-shaped titles in a sequence that no longer reads as a story.",
        "antipattern": "Topic labels disguised as titles — Volume by quarter, Key findings, Pricing strategy, Margins have been impacted. No verb, or a passive verb with no agent, or a fact (Revenue grew 12%) without the so-what. Also: titles that overreach the chart's evidence, multi-claim X-grew-but-Y-fell welded titles, and mechanical repetition of the same X-drove-Y template across the deck.",
        "cardinality": null,
        "narrativePurpose": "Forces the deck to carry its argument in the title bar so a senior reader can extract the recommendation without opening a single slide; converts a binder of topics into a navigable pyramid where every slide is a node defending the apex."
      },
      {
        "tool": {
          "name": "Color Strategy",
          "slug": "color-strategy",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-b202-77cf-8a6e-f445b08c0fd3",
          "version": 1,
          "bodyDocId": null,
          "description": "Using color for emphasis, categories, sentiment, and hierarchy",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Designer",
        "layer": "slide",
        "agents": [
          "Designer"
        ],
        "matchId": "019de958-4559-70a5-b44e-4c453a24ed7f",
        "evidence": "Same two-color palette as p8 for consistency",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 75,
        "extraction": {
          "at": "2026-05-02 15:39:27.658783+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 9,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Small Multiples",
          "slug": "small-multiples",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-b32d-7586-b368-baa1dd388ed4",
          "version": 1,
          "bodyDocId": null,
          "description": "Repeating similar charts for comparison across categories or time",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Designer",
        "layer": "slide",
        "agents": [
          "Designer"
        ],
        "matchId": "019de958-4532-77df-98f7-80506d955318",
        "evidence": "Paired donuts for 2015 vs 2016 ad mechanism mix",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 90,
        "extraction": {
          "at": "2026-05-02 15:39:27.658783+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 9,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Action Titles",
          "slug": "action-titles",
          "status": "active",
          "bestFor": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
          "canonId": "019dd956-ac70-700b-a608-ba58e78f5dcc",
          "version": 1,
          "bodyDocId": "816dad3c-9983-41c1-a86e-978ebd582841",
          "description": "The McKinsey-bred discipline of writing every slide title as a complete declarative sentence with a verb and an insight, not a topic label. Each title is a sub-claim that ladders up to the deck's governing thought; read in sequence, the titles reconstruct the executive summary.",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Architect",
        "layer": "slide",
        "agents": [
          "Architect"
        ],
        "matchId": "019de958-45fa-7722-9f42-60c7fbaab277",
        "evidence": "Callout states the shift; title is descriptive",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
        "confidence": 55,
        "extraction": {
          "at": "2026-05-02 15:39:27.658783+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 10,
        "whyItWorks": "Solves two failure modes at once. (1) The buried claim: action titles place the conclusion on the page before any analysis is read, so a busy reader doesn't reverse-engineer it from the chart. (2) The spineless deck: because each title is a claim, slides have to ladder up to the governing thought; logical gaps become visible as topic-shaped titles in a sequence that no longer reads as a story.",
        "antipattern": "Topic labels disguised as titles — Volume by quarter, Key findings, Pricing strategy, Margins have been impacted. No verb, or a passive verb with no agent, or a fact (Revenue grew 12%) without the so-what. Also: titles that overreach the chart's evidence, multi-claim X-grew-but-Y-fell welded titles, and mechanical repetition of the same X-drove-Y template across the deck.",
        "cardinality": null,
        "narrativePurpose": "Forces the deck to carry its argument in the title bar so a senior reader can extract the recommendation without opening a single slide; converts a binder of topics into a navigable pyramid where every slide is a node defending the apex."
      },
      {
        "tool": {
          "name": "Color Strategy",
          "slug": "color-strategy",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-b202-77cf-8a6e-f445b08c0fd3",
          "version": 1,
          "bodyDocId": null,
          "description": "Using color for emphasis, categories, sentiment, and hierarchy",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Designer",
        "layer": "slide",
        "agents": [
          "Designer"
        ],
        "matchId": "019de958-45cb-77a6-b56b-d8686a040365",
        "evidence": "Repeated palette completes segmentation triptych",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 75,
        "extraction": {
          "at": "2026-05-02 15:39:27.658783+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 10,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Small Multiples",
          "slug": "small-multiples",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-b32d-7586-b368-baa1dd388ed4",
          "version": 1,
          "bodyDocId": null,
          "description": "Repeating similar charts for comparison across categories or time",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Designer",
        "layer": "slide",
        "agents": [
          "Designer"
        ],
        "matchId": "019de958-45a6-705a-8aa0-6d22733bb008",
        "evidence": "Paired donuts for 2015 vs 2016 campaign-type mix",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 90,
        "extraction": {
          "at": "2026-05-02 15:39:27.658783+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 10,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Credibility Transfer",
          "slug": "credibility-transfer",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-bd34-759a-8e3b-2f14b571a2a1",
          "version": 1,
          "bodyDocId": null,
          "description": "Borrowing authority from trusted sources or vivid details",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Storyteller",
        "layer": "slide",
        "agents": [
          "Storyteller"
        ],
        "matchId": "019de958-462a-7465-a62a-d78d0a355a50",
        "evidence": "PwC TMT credentials added at deck close",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 75,
        "extraction": {
          "at": "2026-05-02 15:39:27.658783+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 12,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      }
    ],
    "frameworks": [],
    "patterns": []
  },
  "storymakers": {
    "model": "claude-cli",
    "backend": "claude",
    "rawJson": {
      "arc": {
        "id": 1,
        "slug": "consultants-gambit",
        "beats": [
          {
            "name": "Situation & Context",
            "end_page": 3,
            "evidence": "Cover, sponsor grid, outline establish topic and credibility",
            "position": 1,
            "start_page": 1
          },
          {
            "name": "Problem & Complication",
            "end_page": 4,
            "evidence": "p4 callout: 'range in published estimates was too wide to be reliable'",
            "position": 2,
            "start_page": 4
          },
          {
            "name": "Solution & Approach",
            "end_page": 5,
            "evidence": "p5 lays out survey scope and methodology rigor",
            "position": 3,
            "start_page": 5
          },
          {
            "name": "Evidence & Proof",
            "end_page": 10,
            "evidence": "p6-10 deliver charts: market size, growth, delivery/ad/campaign mix",
            "position": 4,
            "start_page": 6
          },
          {
            "name": "Impact & Next Steps",
            "end_page": 14,
            "evidence": "p11-14 contacts, firm credentials, disclaimer (weak next-steps)",
            "position": 5,
            "start_page": 11
          }
        ],
        "evidence": "Cover/sponsors set context (p1-3); p4 names complication 'estimates too wide to be reliable'; p5 methodology; p6-10 evidence; p11-14 contacts.",
        "confidence": 75
      },
      "loops": [
        {
          "id": 2,
          "slug": "02-pattern-hunter",
          "end_page": 7,
          "evidence": "p6 shows 72%/85% YoY; p7 shows 228% quarterly with 19% CQGR — same growth thesis from two angles",
          "position": 1,
          "objective": "Stack annual + quarterly evidence to prove rapid market growth",
          "confidence": 75,
          "start_page": 6
        },
        {
          "id": 34,
          "slug": "34-segmentation-split",
          "end_page": 10,
          "evidence": "Three consecutive 2015-vs-2016 donut comparisons: delivery mechanism, ad mechanism, campaign type",
          "position": 2,
          "objective": "Slice ad revenue by three categorical dimensions to reveal mix shifts",
          "confidence": 85,
          "start_page": 8
        }
      ],
      "slide_tools": [
        {
          "tools": [
            {
              "id": 155,
              "slug": "credibility-transfer",
              "layer": "Slide",
              "evidence": "Sponsor logo grid borrows authority from named brands",
              "confidence": 80
            },
            {
              "id": 169,
              "slug": "authority-bias",
              "layer": "Slide",
              "evidence": "Corporate sponsors cited to lend report weight",
              "confidence": 70
            }
          ],
          "page_number": 2
        },
        {
          "tools": [
            {
              "id": 116,
              "slug": "chunking",
              "layer": "Loop",
              "evidence": "Outline groups deck into scope, methodology, findings, contacts",
              "confidence": 60
            }
          ],
          "page_number": 3
        },
        {
          "tools": [
            {
              "id": 1,
              "slug": "scqa-framework",
              "layer": "Block",
              "evidence": "Three paragraphs walk Situation, Complication, Question, Answer",
              "confidence": 80
            },
            {
              "id": 20,
              "slug": "problem-statement-canvas",
              "layer": "Block",
              "evidence": "Bolded callout names problem: unreliable industry estimates",
              "confidence": 75
            },
            {
              "id": 153,
              "slug": "core-message-extraction",
              "layer": "Slide",
              "evidence": "Bolding isolates 'too wide to be reliable' as core message",
              "confidence": 75
            },
            {
              "id": 67,
              "slug": "curiosity-gap",
              "layer": "Block",
              "evidence": "Names a gap (true revenue) study will fill",
              "confidence": 60
            }
          ],
          "page_number": 4
        },
        {
          "tools": [
            {
              "id": 2,
              "slug": "mece-principle",
              "layer": "Block",
              "evidence": "Two-column split cleanly separates Scope from Methodology",
              "confidence": 65
            },
            {
              "id": 155,
              "slug": "credibility-transfer",
              "layer": "Slide",
              "evidence": "Detailed methodology (20 firms, 11 weeks) signals rigor",
              "confidence": 75
            }
          ],
          "page_number": 5
        },
        {
          "tools": [
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "Title states insight: 'grew at double-digit rate... forecast to build'",
              "confidence": 90
            },
            {
              "id": 119,
              "slug": "so-what-test",
              "layer": "Slide",
              "evidence": "Title delivers the implication, not the topic",
              "confidence": 85
            },
            {
              "id": 138,
              "slug": "annotation",
              "layer": "Slide",
              "evidence": "Arrows annotate 72% and 85% YoY growth between bars",
              "confidence": 90
            },
            {
              "id": 129,
              "slug": "chart-selection-guide",
              "layer": "Slide",
              "evidence": "Bar chart fits comparing three discrete years",
              "confidence": 80
            },
            {
              "id": 139,
              "slug": "pre-attentive-attributes",
              "layer": "Slide",
              "evidence": "Orange bars and grey arrows pop against white",
              "confidence": 70
            },
            {
              "id": 74,
              "slug": "inductive-reasoning",
              "layer": "Loop",
              "evidence": "First evidence point in pattern-hunter loop on growth",
              "confidence": 70
            }
          ],
          "page_number": 6
        },
        {
          "tools": [
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "Title states insight: 'grew 228% on quarterly basis'",
              "confidence": 90
            },
            {
              "id": 119,
              "slug": "so-what-test",
              "layer": "Slide",
              "evidence": "Headline gives so-what (228%) before chart",
              "confidence": 80
            },
            {
              "id": 138,
              "slug": "annotation",
              "layer": "Slide",
              "evidence": "'19% CQGR' annotation overlaid on trend arrow",
              "confidence": 90
            },
            {
              "id": 125,
              "slug": "data-ink-ratio",
              "layer": "Slide",
              "evidence": "Minimal gridlines, single-color area, clean labels",
              "confidence": 70
            },
            {
              "id": 129,
              "slug": "chart-selection-guide",
              "layer": "Slide",
              "evidence": "Area chart suits continuous quarterly trend",
              "confidence": 75
            }
          ],
          "page_number": 7
        },
        {
          "tools": [
            {
              "id": 133,
              "slug": "small-multiples",
              "layer": "Slide",
              "evidence": "Two identical donuts side-by-side for 2015 vs 2016",
              "confidence": 90
            },
            {
              "id": 130,
              "slug": "color-strategy",
              "layer": "Slide",
              "evidence": "Consistent orange/dark-red palette across both donuts",
              "confidence": 80
            },
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "Subtitle callout states 51% increase (title is descriptive)",
              "confidence": 60
            },
            {
              "id": 78,
              "slug": "contrast-pairs",
              "layer": "Loop",
              "evidence": "2015 vs 2016 contrast opens segmentation-split loop",
              "confidence": 85
            }
          ],
          "page_number": 8
        },
        {
          "tools": [
            {
              "id": 133,
              "slug": "small-multiples",
              "layer": "Slide",
              "evidence": "Paired donuts for 2015 vs 2016 ad mechanism mix",
              "confidence": 90
            },
            {
              "id": 130,
              "slug": "color-strategy",
              "layer": "Slide",
              "evidence": "Same two-color palette as p8 for consistency",
              "confidence": 75
            },
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "Callout carries insight; title is descriptive",
              "confidence": 55
            }
          ],
          "page_number": 9
        },
        {
          "tools": [
            {
              "id": 133,
              "slug": "small-multiples",
              "layer": "Slide",
              "evidence": "Paired donuts for 2015 vs 2016 campaign-type mix",
              "confidence": 90
            },
            {
              "id": 130,
              "slug": "color-strategy",
              "layer": "Slide",
              "evidence": "Repeated palette completes segmentation triptych",
              "confidence": 75
            },
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "Callout states the shift; title is descriptive",
              "confidence": 55
            }
          ],
          "page_number": 10
        },
        {
          "tools": [
            {
              "id": 155,
              "slug": "credibility-transfer",
              "layer": "Slide",
              "evidence": "PwC TMT credentials added at deck close",
              "confidence": 75
            }
          ],
          "page_number": 12
        }
      ],
      "slides_seen": 14,
      "deck_summary": "Partial Storymakers alignment: clean Consultant's Gambit setup with strong action-titles on headline charts (p6-7) and a tidy segmentation-split (p8-10), but the deck stops at 'Evidence' — no real implications, recommendations, or call-to-action.",
      "secondary_arcs": [],
      "images_inspected": 4,
      "slide_frameworks": []
    },
    "matchedAt": "2026-05-02 15:39:27.794+00",
    "slidesSeen": 14,
    "deckSummary": "Partial Storymakers alignment: clean Consultant's Gambit setup with strong action-titles on headline charts (p6-7) and a tidy segmentation-split (p8-10), but the deck stops at 'Evidence' — no real implications, recommendations, or call-to-action.",
    "imagesInspected": 4,
    "extractionSeconds": 233.264
  },
  "score": {
    "backend": "codex",
    "scoredAt": "2026-05-02 09:48:35.777+00",
    "subScores": {
      "scqa_arc": 48,
      "action_titles": 38,
      "mece_structure": 60,
      "closing_strength": 20,
      "evidence_quality": 76,
      "clarity_of_thesis": 45,
      "production_quality": 62,
      "visual_storytelling": 70
    },
    "totalScore": 52,
    "coveragePct": 100,
    "explanations": {
      "scqa_arc": "Slide 4 creates a complication around unreliable estimates, but the implied question and answer are never made explicit before the deck turns into sequential analysis.",
      "action_titles": "Only a few slides use insight-bearing titles; most are topic labels such as slide 8, \"Revenue by Delivery Mechanism - 2015 to 2016.\"",
      "mece_structure": "The report separates scope, methodology, market growth, and revenue-mix cuts reasonably cleanly, but the finding sections are not framed as a complete answer or issue tree.",
      "closing_strength": "The deck closes with contacts, PwC credentials, and a disclaimer on slides 11-14 rather than a recommendation, decision, or next-step agenda.",
      "evidence_quality": "Core claims on slides 6-10 are supported by quantified survey charts and slide 5 explains methodology, making the evidence base relatively strong.",
      "clarity_of_thesis": "The first five slides establish study purpose and methodology, but the central market thesis is not declaratively stated until slide 6.",
      "production_quality": "PwC branding, footnotes, and chart discipline are professional, but topic-label titles, sparse synthesis, and administrative back matter reduce Storymakers polish.",
      "visual_storytelling": "Slides 6-10 generally match the message with appropriate bar, area, and donut charts plus callouts, though the repeated donut comparisons limit narrative force."
    },
    "slidesAnalyzed": 14
  },
  "review": {
    "backend": null,
    "verdict": "A credible industry data study with a strong SCQA opening and two exemplary action titles, but it degrades into topic-labeled data tables and ends in administrative back matter - useful as a teaching example for the p.4-7 setup, not as a full Storymakers exemplar.",
    "reviewedAt": "2026-04-25 07:20:27+00",
    "slidesSeen": 14,
    "suggestions": [
      "Insert a 'What this means' synthesis slide after p.10 stating 2-3 implications (e.g., dynamic insertion is the structural growth lever; brand dollars are arriving; direct response is shrinking as a share) before the contacts section",
      "Rewrite the p.8-10 action titles using their existing callouts: e.g., p.8 -> 'Dynamically inserted ads gained 51% share of spend in 2016', p.10 -> 'Brand awareness overtook direct response as branded content debuted'",
      "Add a forward-looking outlook slide tied to the 2017 forecast already mentioned on p.6, giving the deck a Resolution beat instead of trailing off into PwC practice marketing"
    ],
    "closingScore": 22,
    "openingScore": 72,
    "topStrengths": [
      "p.4 frames a real complication ('estimates were too wide to be reliable') that motivates the entire study - textbook SCQA setup",
      "p.6 and p.7 lead with quantified insight in the action title (double-digit growth, 228% / 19% CQGR) rather than topic labels",
      "Callout sentences on p.8-10 carry concrete deltas (51% rise in dynamic insertion, +3pp pre-produced share, branded content debut) that rescue the otherwise generic titles"
    ],
    "topWeaknesses": [
      "No synthesis or implications slide between p.10 (last data) and p.11 (Contacts) - the 'so what' for advertisers, publishers, or platforms is never stated",
      "p.8, p.9, p.10 titles are topic labels in the form 'Revenue by X - 2015 to 2016', forcing the reader into the callout to find the insight",
      "Four of the last five slides (p.11-14) are administrative back matter - the deck ends on a disclaimer URL ('pwc.com/us/tmt'), not a memorable close",
      "No section dividers or pillar structure; analytical slides are sequenced by data cut, not by argument"
    ],
    "narrativeScore": 55,
    "pillarCritique": "No explicit section divider slides are visible in the inventory; the analytical block (p.6-10) is a topic dump organized by data cut (delivery mechanism, ad mechanism, campaign type) rather than by MECE pillars tied to a thesis.",
    "closingCritique": "The last analytical slide (p.10) is followed immediately by Contacts (p.11), the PwC TMT practice (p.12-13), and a disclaimer (p.14) - no synthesis, no 'so what', no recommendation. The deck stops rather than closes.",
    "openingCritique": "p.4 earns the opening with a genuine complication ('range in published estimates was too wide to be reliable'), and p.6 leads with the headline answer ('grew at a double-digit rate'). The first three slides (cover/sponsors/outline) are conventional, but the thesis is reachable by p.4-6.",
    "extractionSeconds": 66.47846,
    "narrativeCritique": "Clean S->C setup on p.4 ('estimates were too wide to be reliable') leading into analysis on p.6-10, but the deck never lands a Resolution - there is no synthesis, implication, or call-to-action slide before the back matter. Effectively a three-act stub (setup -> analysis -> contacts) with the fourth act missing.",
    "titleQualityScore": 58,
    "titleQualityCritique": "p.6 and p.7 are exemplary action titles ('Podcast advertising revenue grew at a double-digit rate...', '...growing 228%, on a quarterly basis'), but p.8-10 fall back to topic labels ('Revenue by Delivery Mechanism - 2015 to 2016', 'Revenue by Ad Mechanism - 2015 to 2016') with the actual insight buried in the callout."
  },
  "activistThesis": null,
  "pitchdeck": {
    "metadata": null,
    "profile": null
  },
  "slides": [
    {
      "page": 1,
      "type": "setup",
      "function": "front_matter",
      "imagePath": "https://imgproxy.kitesheet.com/ozSp2Hx83ytiyndXkfVKIvmE-bVzDBhY868t2ynkHOk/rs:fit:1200:1200:0/q:82/f:webp/czM6Ly9raXRlc2hlZXQvY29ycHVzL3NsaWRlcy84NDE1NjgyYzhjNGZhYmRmL3AwMDEuanBn",
      "rawType": "cover",
      "block": null,
      "metadata": {
        "slideType": "cover",
        "slideTypeCanon": {
          "name": "Cover",
          "slug": "cover",
          "status": "active",
          "canonId": "019de52d-05f2-729d-9f93-e0504f0a2410",
          "version": 1,
          "description": null
        },
        "function": "front_matter",
        "functionCanon": {
          "name": "Front matter",
          "slug": "front_matter",
          "status": "active",
          "canonId": "019de52d-133d-73f0-9e26-201eda96b098",
          "version": 1,
          "description": null
        },
        "density": "sparse",
        "densityScore": 23,
        "componentCount": 5,
        "textChars": 197,
        "nDataPoints": 0,
        "notes": null,
        "elementsJson": [
          "photo",
          "logo_grid"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 19:11:53.962+00",
          "seconds": 5.06,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5ca1-7489-b63a-1688bfd92139/1",
        "deck": "/decks/019dd923-5ca1-7489-b63a-1688bfd92139",
        "deckAnchor": "/decks/019dd923-5ca1-7489-b63a-1688bfd92139#slide-1",
        "deckJson": "/decks/019dd923-5ca1-7489-b63a-1688bfd92139.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.05,
            "w": 0.1,
            "x": 0.02,
            "y": 0.45
          },
          "kind": "image",
          "text": "iab.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Image",
              "slug": "image",
              "status": "active",
              "canonId": "019de52c-f978-701f-a720-51d029d769e7",
              "version": 1,
              "description": "Photo, illustration, screenshot or icon."
            },
            "tool": null,
            "subkind": {
              "name": "Logo",
              "slug": "logo",
              "status": "active",
              "canonId": "019de52c-fdaf-743d-94c4-d7c6a0e55302",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "logo",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:11:53.962+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "4083c791-4fe2-46df-b666-f9aed5f58b66",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.08,
            "x": 0.12,
            "y": 0.92
          },
          "kind": "image",
          "text": "pwc",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Image",
              "slug": "image",
              "status": "active",
              "canonId": "019de52c-f978-701f-a720-51d029d769e7",
              "version": 1,
              "description": "Photo, illustration, screenshot or icon."
            },
            "tool": null,
            "subkind": {
              "name": "Logo",
              "slug": "logo",
              "status": "active",
              "canonId": "019de52c-fdaf-743d-94c4-d7c6a0e55302",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "logo",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:11:53.962+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "a0d18270-9939-467c-934f-1daf04340761",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.58,
            "w": 0.61,
            "x": 0.19,
            "y": 0.42
          },
          "kind": "image",
          "text": null,
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Image",
              "slug": "image",
              "status": "active",
              "canonId": "019de52c-f978-701f-a720-51d029d769e7",
              "version": 1,
              "description": "Photo, illustration, screenshot or icon."
            },
            "tool": null,
            "subkind": {
              "name": "Photo",
              "slug": "photo",
              "status": "active",
              "canonId": "019de52c-fd37-757f-b4a8-ca26d4888875",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "photo",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:11:53.962+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "16b9980a-580d-4da8-957d-32934101e026",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.1,
            "w": 0.16,
            "x": 0.02,
            "y": 0.58
          },
          "kind": "paragraph",
          "text": "June 2017\nAn industry survey conducted by PwC and sponsored by Interactive Advertising Bureau (IAB)",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "5f2affc0-941d-4d07-959d-4bfc1930cea4",
              "version": 1,
              "description": "Single prose block in the body of a slide."
            },
            "tool": null,
            "subkind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "019de52c-fb80-75af-aa5c-a7a4bfac2433",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "paragraph",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:11:53.962+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "6c3526b1-94d0-47f4-ab2d-48b646da138d",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.58,
            "x": 0.205,
            "y": 0.115
          },
          "kind": "title",
          "text": "IAB Podcast Ad Revenue Study: An Analysis of the Largest Players in the Podcasting Industry",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:11:53.962+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "764dd826-73b4-4de0-9de5-26f268f851d2",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "Slide recipe: Cover",
            "slug": "cover-slide",
            "status": "active",
            "bestFor": null,
            "canonId": "019df269-2a08-767d-9128-e7431e6fe8a3",
            "version": 1,
            "bodyDocId": "019df269-29e5-7738-b5fa-6892e5dc8e65",
            "description": "The first ten seconds. Build it deliberately.",
            "familyLabel": "slide-recipe",
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "designer",
          "layer": "slide",
          "agents": [
            "designer"
          ],
          "matchId": "1aa6e097-c1d3-4fa0-95b6-134a9cd06c83",
          "evidence": "IAB Podcast Ad Revenue Study: An Analysis of the Largest Players in the Podcasting Industry",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.9,
          "extraction": {
            "at": "2026-07-16 21:19:38.069024+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 1,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 3,
          "arc": {
            "name": "The Consultant's Gambit",
            "slug": "consultants-gambit",
            "status": "active",
            "bestFor": "Business cases, project proposals, strategic recommendations",
            "canonId": "019dd956-5e0a-73c8-b305-81c38c959e9c",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Situation & Context -> Problem & Complication -> Solution & Approach -> Evidence & Proof -> Impact & Next Steps",
            "description": null,
            "familyLabel": null
          },
          "from": 1,
          "name": "Situation & Context",
          "beatId": "019de958-3f07-73b2-ada2-42006fe71d13",
          "matchId": "019de958-3ed7-733a-993b-dd5eefebaef2",
          "beatType": null,
          "evidence": "Cover, sponsor grid, outline establish topic and credibility",
          "position": 1,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 75
        }
      ],
      "loops": [],
      "thumbSrc": "https://imgproxy.kitesheet.com/BHco0Tl287ojejPdtIf2IHAQx1l25Yl_Y8JzM_3-tEk/rs:fit:480:480:0/q:78/f:webp/czM6Ly9raXRlc2hlZXQvY29ycHVzL3NsaWRlcy84NDE1NjgyYzhjNGZhYmRmL3AwMDEuanBn",
      "imagePathAlt": "https://imgproxy.kitesheet.com/a60CQvlxKJKPkfC__vYd22byMDGtu84EDTKu6F-PX4Q/rs:fit:1200:1200:0/q:82/f:webp/czM6Ly9raXRlc2hlZXQvY29ycHVzL3NsaWRlcy84NDE1NjgyYzhjNGZhYmRmL3AwMDEucG5n",
      "thumbSrcAlt": "https://imgproxy.kitesheet.com/sDeuWSjPLcTL6rz39QlKoQNyu_QKahERbzDXwpGAbis/rs:fit:480:480:0/q:78/f:webp/czM6Ly9raXRlc2hlZXQvY29ycHVzL3NsaWRlcy84NDE1NjgyYzhjNGZhYmRmL3AwMDEucG5n"
    },
    {
      "page": 2,
      "type": "setup",
      "title": "Includes a legal disclaimer regarding trademarks and affiliation.",
      "function": "other",
      "rawType": "appendix_disclosure",
      "block": null,
      "metadata": {
        "slideType": "appendix_disclosure",
        "slideTypeCanon": {
          "name": "Appendix disclosure",
          "slug": "appendix_disclosure",
          "status": "active",
          "canonId": "019de52d-07b2-7549-8e8b-932a19f6e616",
          "version": 1,
          "description": null
        },
        "function": "other",
        "functionCanon": {
          "name": "Other (fallback)",
          "slug": "other",
          "status": "active",
          "canonId": "019de52d-15e1-75bc-99dc-07732380e2ce",
          "version": 1,
          "description": null
        },
        "density": "sparse",
        "densityScore": 16,
        "componentCount": 3,
        "textChars": 289,
        "nDataPoints": 0,
        "notes": "Includes a legal disclaimer regarding trademarks and affiliation.",
        "elementsJson": [
          "headline_text",
          "logo_grid"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 19:11:51.029+00",
          "seconds": 2.042,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5ca1-7489-b63a-1688bfd92139/2",
        "deck": "/decks/019dd923-5ca1-7489-b63a-1688bfd92139",
        "deckAnchor": "/decks/019dd923-5ca1-7489-b63a-1688bfd92139#slide-2",
        "deckJson": "/decks/019dd923-5ca1-7489-b63a-1688bfd92139.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.05,
            "w": 0.9,
            "x": 0.05,
            "y": 0.88
          },
          "kind": "disclaimer",
          "text": "Any trademarks included are trademarks of their respective owners and are not affiliated with, nor endorsed by, PricewaterhouseCoopers LLP, its subsidiaries or affiliates.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Disclaimer",
              "slug": "disclaimer",
              "status": "active",
              "canonId": "91173477-d91f-4024-bbaf-d4f93e3f82dc",
              "version": 1,
              "description": "Legal/cautionary text that occupies most of the body of its slide."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:11:51.029+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "db11147b-ecde-4f05-950d-b6c14635dfef",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.5,
            "w": 0.9,
            "x": 0.05,
            "y": 0.3
          },
          "kind": "image",
          "text": "Sponsor logos",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Image",
              "slug": "image",
              "status": "active",
              "canonId": "019de52c-f978-701f-a720-51d029d769e7",
              "version": 1,
              "description": "Photo, illustration, screenshot or icon."
            },
            "tool": null,
            "subkind": {
              "name": "Logo grid",
              "slug": "logo-grid",
              "status": "active",
              "canonId": "019de52c-fdd7-7409-93e5-81280a8ca215",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "logo-grid",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:11:51.029+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "0939fdac-67c2-4472-9e89-f360c30f2c00",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.9,
            "x": 0.05,
            "y": 0.1
          },
          "kind": "title",
          "text": "The Podcast Ad Revenue Study was made possible by the financial support of the following sponsors to IAB:",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:11:51.029+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "de8a9bbf-67e4-417e-bc5a-4e5291551bb8",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "Authority Bias",
            "slug": "authority-bias",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-c38d-70b9-a284-b2b479763356",
            "version": 1,
            "bodyDocId": null,
            "description": "Expert opinions are weighted more heavily - cite credible sources",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Storyteller",
          "layer": "slide",
          "agents": [
            "Architect",
            "Storyteller"
          ],
          "matchId": "019de958-40af-74ce-9a43-6db35d9a5bb2",
          "evidence": "Corporate sponsors cited to lend report weight",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 70,
          "extraction": {
            "at": "2026-05-02 15:39:27.658783+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 2,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Credibility Transfer",
            "slug": "credibility-transfer",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-bd34-759a-8e3b-2f14b571a2a1",
            "version": 1,
            "bodyDocId": null,
            "description": "Borrowing authority from trusted sources or vivid details",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Storyteller",
          "layer": "slide",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019de958-407b-771e-8fe8-14c22514138b",
          "evidence": "Sponsor logo grid borrows authority from named brands",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 80,
          "extraction": {
            "at": "2026-05-02 15:39:27.658783+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 2,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 3,
          "arc": {
            "name": "The Consultant's Gambit",
            "slug": "consultants-gambit",
            "status": "active",
            "bestFor": "Business cases, project proposals, strategic recommendations",
            "canonId": "019dd956-5e0a-73c8-b305-81c38c959e9c",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Situation & Context -> Problem & Complication -> Solution & Approach -> Evidence & Proof -> Impact & Next Steps",
            "description": null,
            "familyLabel": null
          },
          "from": 1,
          "name": "Situation & Context",
          "beatId": "019de958-3f07-73b2-ada2-42006fe71d13",
          "matchId": "019de958-3ed7-733a-993b-dd5eefebaef2",
          "beatType": null,
          "evidence": "Cover, sponsor grid, outline establish topic and credibility",
          "position": 1,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 75
        }
      ],
      "loops": [],
      "locked": true
    },
    {
      "page": 3,
      "type": "setup",
      "function": "summarize",
      "rawType": "agenda",
      "block": null,
      "metadata": {
        "slideType": "agenda",
        "slideTypeCanon": {
          "name": "Agenda",
          "slug": "agenda",
          "status": "active",
          "canonId": "019de52d-061b-7470-b138-3ffa5e612cce",
          "version": 1,
          "description": null
        },
        "function": "summarize",
        "functionCanon": {
          "name": "Summarize",
          "slug": "summarize",
          "status": "active",
          "canonId": "019de52d-1541-704f-b86f-bf7b75056373",
          "version": 1,
          "description": null
        },
        "density": "sparse",
        "densityScore": 9,
        "componentCount": 2,
        "textChars": 209,
        "nDataPoints": 0,
        "notes": null,
        "elementsJson": [
          "headline_text",
          "bullet_list"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 19:11:50.915+00",
          "seconds": 1.737,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5ca1-7489-b63a-1688bfd92139/3",
        "deck": "/decks/019dd923-5ca1-7489-b63a-1688bfd92139",
        "deckAnchor": "/decks/019dd923-5ca1-7489-b63a-1688bfd92139#slide-3",
        "deckJson": "/decks/019dd923-5ca1-7489-b63a-1688bfd92139.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.495,
            "w": 0.513,
            "x": 0.058,
            "y": 0.267
          },
          "kind": "list",
          "text": "Overview\nStudy scope & Methodology\nStudy findings\n- Full year results (2015 and 2016 actuals, and 2017 forecast)\n- Quarterly trends\n- Delivery mechanism\n- Ad mechanism\n- Campaign type\nContacts\nAbout PwC",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "List",
              "slug": "list",
              "status": "active",
              "canonId": "019de52c-f94b-779b-a53b-fd4904a5f4d2",
              "version": 1,
              "description": "Bullet or numbered list."
            },
            "tool": null,
            "subkind": {
              "name": "Bullet list",
              "slug": "bullet",
              "status": "active",
              "canonId": "019de52c-fc98-7169-a083-5cab805076ca",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bullet",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:11:50.915+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "cfa11cbd-8964-4c7d-a31b-4fad0cabeb07",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.045,
            "w": 0.155,
            "x": 0.058,
            "y": 0.108
          },
          "kind": "title",
          "text": "Outline",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:11:50.915+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "b03933ea-ab38-4725-bd7e-bb00b91f8fca",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "Chunking",
            "slug": "chunking",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-abab-72ce-b64c-2924cc83cf39",
            "version": 1,
            "bodyDocId": null,
            "description": "Information grouped into chunks is remembered better - structure content in digestible units",
            "familyLabel": null,
            "categoryName": "Loop",
            "categorySlug": "loop"
          },
          "agent": "Architect",
          "layer": "loop",
          "agents": [
            "Architect"
          ],
          "matchId": "019de958-4108-76bb-b02e-86a4be4f8369",
          "evidence": "Outline groups deck into scope, methodology, findings, contacts",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 60,
          "extraction": {
            "at": "2026-05-02 15:39:27.658783+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 3,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 3,
          "arc": {
            "name": "The Consultant's Gambit",
            "slug": "consultants-gambit",
            "status": "active",
            "bestFor": "Business cases, project proposals, strategic recommendations",
            "canonId": "019dd956-5e0a-73c8-b305-81c38c959e9c",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Situation & Context -> Problem & Complication -> Solution & Approach -> Evidence & Proof -> Impact & Next Steps",
            "description": null,
            "familyLabel": null
          },
          "from": 1,
          "name": "Situation & Context",
          "beatId": "019de958-3f07-73b2-ada2-42006fe71d13",
          "matchId": "019de958-3ed7-733a-993b-dd5eefebaef2",
          "beatType": null,
          "evidence": "Cover, sponsor grid, outline establish topic and credibility",
          "position": 1,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 75
        }
      ],
      "loops": [],
      "locked": true
    },
    {
      "page": 4,
      "type": "setup",
      "title": "The slide serves as an introduction to the report, detailing the timeline from the 2015 IAB Podcast Upfront to the 2017 PwC study.",
      "function": "establish_context",
      "rawType": "situation_overview",
      "block": null,
      "metadata": {
        "slideType": "situation_overview",
        "slideTypeCanon": {
          "name": "Situation overview",
          "slug": "situation_overview",
          "status": "active",
          "canonId": "019de52d-0cfe-7769-99aa-9a2fe82a4039",
          "version": 1,
          "description": null
        },
        "function": "establish_context",
        "functionCanon": {
          "name": "Establish context",
          "slug": "establish_context",
          "status": "active",
          "canonId": "019de52d-1314-74e6-9074-d213dc0bdcdf",
          "version": 1,
          "description": null
        },
        "density": "dense",
        "densityScore": 66,
        "componentCount": 7,
        "textChars": 1123,
        "nDataPoints": 0,
        "notes": "The slide serves as an introduction to the report, detailing the timeline from the 2015 IAB Podcast Upfront to the 2017 PwC study.",
        "elementsJson": [
          "paragraph",
          "photo"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 19:11:53.103+00",
          "seconds": 3.537,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5ca1-7489-b63a-1688bfd92139/4",
        "deck": "/decks/019dd923-5ca1-7489-b63a-1688bfd92139",
        "deckAnchor": "/decks/019dd923-5ca1-7489-b63a-1688bfd92139#slide-4",
        "deckJson": "/decks/019dd923-5ca1-7489-b63a-1688bfd92139.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "Industry estimates existed; but, the range in published estimates was too wide to be reliable.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": {
              "name": "Visual emphasis",
              "slug": "visual-emphasis",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-474b-736b-a8eb-a794dd88241c",
              "version": 1,
              "bodyDocId": null,
              "description": "Drawing the eye to one element above the rest of the slide.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:46:46+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-dfa2-7185-b39b-a801a7d187ac",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 1,
            "w": 0.535,
            "x": 0,
            "y": 0
          },
          "kind": "image",
          "text": null,
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Image",
              "slug": "image",
              "status": "active",
              "canonId": "019de52c-f978-701f-a720-51d029d769e7",
              "version": 1,
              "description": "Photo, illustration, screenshot or icon."
            },
            "tool": null,
            "subkind": {
              "name": "Photo",
              "slug": "photo",
              "status": "active",
              "canonId": "019de52c-fd37-757f-b4a8-ca26d4888875",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "photo",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:11:53.103+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "91ae99a5-1d86-4038-8259-b5e435125f75",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.084,
            "w": 0.385,
            "x": 0.558,
            "y": 0.523
          },
          "kind": "paragraph",
          "text": "Over 11 weeks, PwC performed a market scan, conducted three discovery interviews, facilitated a working session with IAB’s audio working group, and surveyed 20 of the largest podcast advertising companies to generate the findings presented here.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "5f2affc0-941d-4d07-959d-4bfc1930cea4",
              "version": 1,
              "description": "Single prose block in the body of a slide."
            },
            "tool": null,
            "subkind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "019de52c-fb80-75af-aa5c-a7a4bfac2433",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "paragraph",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:11:53.103+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "0f42f3ea-702e-4f72-8178-b9f360655841",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.168,
            "w": 0.385,
            "x": 0.558,
            "y": 0.345
          },
          "kind": "paragraph",
          "text": "In recognition of the platform’s growth as an important and emerging marketing medium, a formal, data-driven revenue analysis needed to be executed. Industry estimates existed; but, the range in published estimates was too wide to be reliable. IAB’s podcast group met and a sub-group of members elected to sponsor a study to properly assess the potential for advertising revenue across the industry. PwC was engaged in March 2017 to conduct a study by directly surveying the industry’s significant revenue generators.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "5f2affc0-941d-4d07-959d-4bfc1930cea4",
              "version": 1,
              "description": "Single prose block in the body of a slide."
            },
            "tool": null,
            "subkind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "019de52c-fb80-75af-aa5c-a7a4bfac2433",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "paragraph",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:11:53.103+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "4279ab39-6c1c-467a-a9a8-624a4ed909ca",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.072,
            "w": 0.385,
            "x": 0.558,
            "y": 0.263
          },
          "kind": "paragraph",
          "text": "IAB held its first annual Podcast Upfront showcase in September 2015, hosting an audience of marketers and media buyers interested in learning more about the “power of podcasts as a valuable platform to reach consumers.”",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "5f2affc0-941d-4d07-959d-4bfc1930cea4",
              "version": 1,
              "description": "Single prose block in the body of a slide."
            },
            "tool": null,
            "subkind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "019de52c-fb80-75af-aa5c-a7a4bfac2433",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "paragraph",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:11:53.103+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "b89abe8b-53c5-43f0-a563-8e81e74e1d43",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.014,
            "w": 0.257,
            "x": 0.057,
            "y": 0.946
          },
          "kind": "source-note",
          "text": "IAB Podcast Ad Revenue Study, June 2017",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Source note",
              "slug": "source-note",
              "status": "active",
              "canonId": "23484952-494b-4a5e-b1ad-550d0d70e948",
              "version": 1,
              "description": "Attribution / source / caveat placed at the slide footer. Numbered footnotes use attrs.numbered."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:11:53.103+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "86fac48c-e6b7-47d3-a4f9-a96381843ef9",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.036,
            "w": 0.126,
            "x": 0.558,
            "y": 0.105
          },
          "kind": "title",
          "text": "Overview",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:11:53.103+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "2ef070e5-bca2-4a1f-b0c2-81ab0b3537ee",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "Curiosity Gap",
            "slug": "curiosity-gap",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-9703-74ef-8b85-96dfd8525025",
            "version": 1,
            "bodyDocId": null,
            "description": "People seek missing information - create open questions that demand resolution",
            "familyLabel": null,
            "categoryName": "Block",
            "categorySlug": "block"
          },
          "agent": "Storyteller",
          "layer": "block",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019de958-41c4-7548-b4e8-843c0bde52db",
          "evidence": "Names a gap (true revenue) study will fill",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 60,
          "extraction": {
            "at": "2026-05-02 15:39:27.658783+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 4,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Problem Statement Canvas",
            "slug": "problem-statement-canvas",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-839d-744b-ad11-9bf3e3642a18",
            "version": 1,
            "bodyDocId": null,
            "description": "Structured definition of the problem: What? Who? Where? When? Scale?",
            "familyLabel": null,
            "categoryName": "Block",
            "categorySlug": "block"
          },
          "agent": "Architect",
          "layer": "block",
          "agents": [
            "Architect"
          ],
          "matchId": "019de958-4159-7407-953a-a20fa03aef9e",
          "evidence": "Bolded callout names problem: unreliable industry estimates",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 75,
          "extraction": {
            "at": "2026-05-02 15:39:27.658783+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 4,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "SCQA Framework",
            "slug": "scqa-framework",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-7bcb-763f-bdf6-1dfedf3bd36c",
            "version": 1,
            "bodyDocId": "019df22a-a0b0-719e-937e-2ac31e53d32c",
            "description": "Situation, Complication, Question, Answer - structured problem framing",
            "familyLabel": null,
            "categoryName": "Block",
            "categorySlug": "block"
          },
          "agent": "Architect",
          "layer": "block",
          "agents": [
            "Architect"
          ],
          "matchId": "019de958-4131-724d-932b-3b43d65e0376",
          "evidence": "Three paragraphs walk Situation, Complication, Question, Answer",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": null,
          "confidence": 80,
          "extraction": {
            "at": "2026-05-02 15:39:27.658783+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 4,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Core Message Extraction",
            "slug": "core-message-extraction",
            "status": "active",
            "bestFor": "Any slide that carries an argument or finding. The diagnostic: if the slide has a chart on it, it needs a core message. Run extraction whenever the current title is a topic (Q3 performance, Customer satisfaction) rather than a claim, or when a reader could reasonably draw more than one conclusion from the visible evidence.",
            "canonId": "019dd956-bc71-707d-8867-1b2e810175cf",
            "version": 1,
            "bodyDocId": "f85613cb-4b77-462f-bfe6-3b862516e1a6",
            "description": "The discipline of distilling raw analysis, data, or content into a single declarative sentence — the slide's core message — that the audience would walk away with if they remembered nothing else. Process, not artefact: extraction questions run on the raw content until one sentence falls out.",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Architect",
          "layer": "slide",
          "agents": [
            "Architect"
          ],
          "matchId": "019de958-4191-7736-b6cc-5fe3c186d7a3",
          "evidence": "Bolding isolates 'too wide to be reliable' as core message",
          "pageRefs": null,
          "priority": null,
          "whenToUse": "Any slide that carries an argument or finding. The diagnostic: if the slide has a chart on it, it needs a core message. Run extraction whenever the current title is a topic (Q3 performance, Customer satisfaction) rather than a claim, or when a reader could reasonably draw more than one conclusion from the visible evidence.",
          "confidence": 75,
          "extraction": {
            "at": "2026-05-02 15:39:27.658783+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 4,
          "whyItWorks": "Solves the two failure modes of slide writing simultaneously: the topic title (which outsources interpretation to the audience and produces three different conclusions in three different heads) and the multi-thesis stapler (which exceeds working memory and gets remembered as fragments). Aligns with how readers actually consume decks — Heath & Heath's Find the Core, the journalist's nut graf, and Minto's governing thought all converge on the same cognitive economics.",
          "antipattern": "Topic titles disguised as core messages (Customer satisfaction, no verb, no stake); multi-thesis sentences stapled with and; hedged sentences (may show signs of possible softening); chart-caption titles (Revenue fell 4%) that restate what the chart already shows instead of naming the so-what; meta-commentary (this slide explores...) that describes the slide rather than concluding it.",
          "cardinality": null,
          "narrativePurpose": "Forces the slide author to do the interpretive work before the slide ships, so the audience does not have to do it during the meeting. Wins the WYSIATI battle on purpose — the loudest fragment on the page becomes the author's chosen sentence rather than whichever chart label happens to be largest."
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 4,
          "arc": {
            "name": "The Consultant's Gambit",
            "slug": "consultants-gambit",
            "status": "active",
            "bestFor": "Business cases, project proposals, strategic recommendations",
            "canonId": "019dd956-5e0a-73c8-b305-81c38c959e9c",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Situation & Context -> Problem & Complication -> Solution & Approach -> Evidence & Proof -> Impact & Next Steps",
            "description": null,
            "familyLabel": null
          },
          "from": 4,
          "name": "Problem & Complication",
          "beatId": "019de958-3f3d-769a-834a-e91f7391d6c0",
          "matchId": "019de958-3ed7-733a-993b-dd5eefebaef2",
          "beatType": null,
          "evidence": "p4 callout: 'range in published estimates was too wide to be reliable'",
          "position": 2,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 75
        }
      ],
      "loops": [],
      "locked": true
    },
    {
      "page": 5,
      "type": "setup",
      "function": "summarize",
      "rawType": "appendix_methodology",
      "block": null,
      "metadata": {
        "slideType": "appendix_methodology",
        "slideTypeCanon": {
          "name": "Appendix methodology",
          "slug": "appendix_methodology",
          "status": "active",
          "canonId": "019de52d-07d9-726c-8599-167f2d2ffaa7",
          "version": 1,
          "description": null
        },
        "function": "summarize",
        "functionCanon": {
          "name": "Summarize",
          "slug": "summarize",
          "status": "active",
          "canonId": "019de52d-1541-704f-b86f-bf7b75056373",
          "version": 1,
          "description": null
        },
        "density": "dense",
        "densityScore": 69,
        "componentCount": 7,
        "textChars": 1472,
        "nDataPoints": 0,
        "notes": null,
        "elementsJson": [
          "headline_text",
          "bullet_list",
          "paragraph"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 19:11:56.774+00",
          "seconds": 6.921,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5ca1-7489-b63a-1688bfd92139/5",
        "deck": "/decks/019dd923-5ca1-7489-b63a-1688bfd92139",
        "deckAnchor": "/decks/019dd923-5ca1-7489-b63a-1688bfd92139#slide-5",
        "deckJson": "/decks/019dd923-5ca1-7489-b63a-1688bfd92139.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.02,
            "w": 0.2,
            "x": 0.05,
            "y": 0.95
          },
          "kind": "disclaimer",
          "text": "IAB Podcast Ad Revenue Study, June 2017",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Disclaimer",
              "slug": "disclaimer",
              "status": "active",
              "canonId": "91173477-d91f-4024-bbaf-d4f93e3f82dc",
              "version": 1,
              "description": "Legal/cautionary text that occupies most of the body of its slide."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:11:56.774+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "09ef0d54-cf49-4f60-b9f4-2a64e745733f",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.4,
            "w": 0.4,
            "x": 0.05,
            "y": 0.28
          },
          "kind": "list",
          "text": "The IAB Podcast Advertising Revenue Study is part of an ongoing IAB mission to provide an accurate barometer of podcast advertising growth. To achieve differentiation from existing estimates and accomplish industry-wide acceptance, key aspects of the survey include: Obtaining historical data directly from companies generating internet (publishers and advertising networks) advertising revenues; Making the survey as inclusive as possible, encompassing significant forms of podcast advertising; and Establishing and maintaining a confidential process, only releasing aggregate data.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "List",
              "slug": "list",
              "status": "active",
              "canonId": "019de52c-f94b-779b-a53b-fd4904a5f4d2",
              "version": 1,
              "description": "Bullet or numbered list."
            },
            "tool": null,
            "subkind": {
              "name": "Bullet list",
              "slug": "bullet",
              "status": "active",
              "canonId": "019de52c-fc98-7169-a083-5cab805076ca",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bullet",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:11:56.774+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "0be4434d-f419-4b23-8a4b-d259023e0e10",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.6,
            "w": 0.4,
            "x": 0.55,
            "y": 0.28
          },
          "kind": "list",
          "text": "The methodology employed here is similar to the methodology which PwC has used to conduct the half-year and full-year internet advertising revenue report since 1996. Throughout the reporting process, PwC: Compiles a database of the 20 largest podcast advertising revenue generators. Companies surveyed are believed to make-up a significant amount of the overall market, but they are not meant to estimate the entire market. Conducts a quantitative mailing survey with leading industry players, including podcast publishers and ad networks. Requests and compiles several specific data items, including quarterly net commissionable advertising revenue by delivery mechanism, advertisement type, campaign type, and advertising industry category. Analyzes the findings, identifies and reports key trends.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "List",
              "slug": "list",
              "status": "active",
              "canonId": "019de52c-f94b-779b-a53b-fd4904a5f4d2",
              "version": 1,
              "description": "Bullet or numbered list."
            },
            "tool": null,
            "subkind": {
              "name": "Bullet list",
              "slug": "bullet",
              "status": "active",
              "canonId": "019de52c-fc98-7169-a083-5cab805076ca",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bullet",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:11:56.774+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "bbc1db3d-d3fa-4a6a-87a6-5c53706db341",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.2,
            "w": 0.1,
            "x": 0.45,
            "y": 0.4
          },
          "kind": "other",
          "text": "&",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Other",
              "slug": "other",
              "status": "active",
              "canonId": "019de52c-fa90-743c-8bf6-20d1fbe82b6d",
              "version": 1,
              "description": "Fallback when no canonical kind applies."
            },
            "tool": null,
            "subkind": {
              "name": "Unclassified",
              "slug": "unclassified",
              "status": "active",
              "canonId": "019de52d-05ca-77db-81fb-db7d4234bbc0",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "unclassified",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:11:56.774+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "95b2d10c-6cba-47c5-80b8-ee64359bff7c",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.15,
            "x": 0.05,
            "y": 0.23
          },
          "kind": "paragraph",
          "text": "Survey scope",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "5f2affc0-941d-4d07-959d-4bfc1930cea4",
              "version": 1,
              "description": "Single prose block in the body of a slide."
            },
            "tool": null,
            "subkind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "019de52c-fb80-75af-aa5c-a7a4bfac2433",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "paragraph",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:11:56.774+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "726c0fe8-eb78-4b24-a93c-d0e1bc4c6487",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.15,
            "x": 0.55,
            "y": 0.23
          },
          "kind": "paragraph",
          "text": "Methodology",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "5f2affc0-941d-4d07-959d-4bfc1930cea4",
              "version": 1,
              "description": "Single prose block in the body of a slide."
            },
            "tool": null,
            "subkind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "019de52c-fb80-75af-aa5c-a7a4bfac2433",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "paragraph",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:11:56.774+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "75c1127e-cd4a-4815-aa23-1c81eea14b92",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.4,
            "x": 0.05,
            "y": 0.08
          },
          "kind": "title",
          "text": "Survey Scope & Methodology",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:11:56.774+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "667dab57-a870-495c-ba95-cbe8deb0f8b6",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "MECE Principle",
            "slug": "mece-principle",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-7c60-71a8-8758-c79d914489c9",
            "version": 1,
            "bodyDocId": null,
            "description": "Mutually Exclusive, Collectively Exhaustive - ensuring complete, non-overlapping structure",
            "familyLabel": null,
            "categoryName": "Block",
            "categorySlug": "block"
          },
          "agent": "Architect",
          "layer": "block",
          "agents": [
            "Architect"
          ],
          "matchId": "019de958-4205-71f2-ba50-7627ba94a571",
          "evidence": "Two-column split cleanly separates Scope from Methodology",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": null,
          "confidence": 65,
          "extraction": {
            "at": "2026-05-02 15:39:27.658783+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 5,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Credibility Transfer",
            "slug": "credibility-transfer",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-bd34-759a-8e3b-2f14b571a2a1",
            "version": 1,
            "bodyDocId": null,
            "description": "Borrowing authority from trusted sources or vivid details",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Storyteller",
          "layer": "slide",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019de958-423f-72f3-9f5a-1e6508a23f2f",
          "evidence": "Detailed methodology (20 firms, 11 weeks) signals rigor",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 75,
          "extraction": {
            "at": "2026-05-02 15:39:27.658783+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 5,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 5,
          "arc": {
            "name": "The Consultant's Gambit",
            "slug": "consultants-gambit",
            "status": "active",
            "bestFor": "Business cases, project proposals, strategic recommendations",
            "canonId": "019dd956-5e0a-73c8-b305-81c38c959e9c",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Situation & Context -> Problem & Complication -> Solution & Approach -> Evidence & Proof -> Impact & Next Steps",
            "description": null,
            "familyLabel": null
          },
          "from": 5,
          "name": "Solution & Approach",
          "beatId": "019de958-3f70-75ab-a8ab-28a6ba0c645c",
          "matchId": "019de958-3ed7-733a-993b-dd5eefebaef2",
          "beatType": null,
          "evidence": "p5 lays out survey scope and methodology rigor",
          "position": 3,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 75
        }
      ],
      "loops": [],
      "locked": true
    },
    {
      "page": 6,
      "type": "resolution",
      "title": "The chart uses a waterfall-style connector to show growth rates between bars.",
      "function": "size_opportunity",
      "rawType": "market_sizing",
      "block": null,
      "metadata": {
        "slideType": "market_sizing",
        "slideTypeCanon": {
          "name": "Market sizing",
          "slug": "market_sizing",
          "status": "active",
          "canonId": "019de52d-08c8-756c-8664-733b73a7ee7b",
          "version": 1,
          "description": null
        },
        "function": "size_opportunity",
        "functionCanon": {
          "name": "Size opportunity",
          "slug": "size_opportunity",
          "status": "active",
          "canonId": "019de52d-147b-7568-8828-a74a27697618",
          "version": 1,
          "description": null
        },
        "density": "balanced",
        "densityScore": 38,
        "componentCount": 5,
        "textChars": 418,
        "nDataPoints": 3,
        "notes": "The chart uses a waterfall-style connector to show growth rates between bars.",
        "elementsJson": [
          "headline_text",
          "bar_chart_vertical",
          "footnote"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 19:11:52.216+00",
          "seconds": 2.366,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5ca1-7489-b63a-1688bfd92139/6",
        "deck": "/decks/019dd923-5ca1-7489-b63a-1688bfd92139",
        "deckAnchor": "/decks/019dd923-5ca1-7489-b63a-1688bfd92139#slide-6",
        "deckJson": "/decks/019dd923-5ca1-7489-b63a-1688bfd92139.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.6,
            "w": 0.9,
            "x": 0.05,
            "y": 0.25
          },
          "kind": "chart",
          "text": "Podcast Advertising Revenues, 2015 - 2017 (in millions)",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Chart",
              "slug": "chart",
              "status": "active",
              "canonId": "019de52c-f9a0-76ef-adc6-0b859109d1f8",
              "version": 1,
              "description": "Quantitative chart."
            },
            "tool": null,
            "subkind": {
              "name": "Vertical bar chart",
              "slug": "bar-vertical",
              "status": "active",
              "canonId": "019de52c-fe9d-70f2-b3b7-a9ae294f5917",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bar-vertical",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:11:52.216+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "fa8d3a23-1792-4e16-8178-8c43a70e4249",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.6,
            "x": 0.05,
            "y": 0.85
          },
          "kind": "disclaimer",
          "text": "Advertising revenues represent the 20 companies surveyed, less than 100% of the podcast advertising market. * 2017 revenue is a forecast based upon self-reported estimates.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Disclaimer",
              "slug": "disclaimer",
              "status": "active",
              "canonId": "91173477-d91f-4024-bbaf-d4f93e3f82dc",
              "version": 1,
              "description": "Legal/cautionary text that occupies most of the body of its slide."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:11:52.216+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "c9d80298-da69-464e-a641-22f9f9484432",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Podcast Advertising Revenue: $220",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:46:46+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-dfa2-7185-b39b-e2d7375e76a2",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.2,
            "x": 0.05,
            "y": 0.95
          },
          "kind": "source-note",
          "text": "IAB Podcast Ad Revenue Study, June 2017",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Source note",
              "slug": "source-note",
              "status": "active",
              "canonId": "23484952-494b-4a5e-b1ad-550d0d70e948",
              "version": 1,
              "description": "Attribution / source / caveat placed at the slide footer. Numbered footnotes use attrs.numbered."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:11:52.216+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "f6109ba7-129a-42fd-a913-04436db4a438",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.1,
            "w": 0.9,
            "x": 0.05,
            "y": 0.1
          },
          "kind": "title",
          "text": "Podcast advertising revenue grew at a double-digit rate from 2015 to 2016, and the growth is forecast to build in 2017.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Action title",
              "slug": "action-title",
              "status": "active",
              "canonId": "019de52c-fb31-734c-a0f5-a3935b73135d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "action-title",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:11:52.216+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "38d3355d-9129-4033-93a7-3ffc668129ee",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "Inductive Reasoning",
            "slug": "inductive-reasoning",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-99c6-705e-94cc-76a504c3da37",
            "version": 1,
            "bodyDocId": null,
            "description": "Grouping similar evidence to form a conclusion (Evidence → Pattern → Conclusion)",
            "familyLabel": null,
            "categoryName": "Loop",
            "categorySlug": "loop"
          },
          "agent": "Architect",
          "layer": "loop",
          "agents": [
            "Architect"
          ],
          "matchId": "019de958-4367-72f0-9bea-5bb8038866f2",
          "evidence": "First evidence point in pattern-hunter loop on growth",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": null,
          "confidence": 70,
          "extraction": {
            "at": "2026-05-02 15:39:27.658783+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 6,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Action Titles",
            "slug": "action-titles",
            "status": "active",
            "bestFor": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
            "canonId": "019dd956-ac70-700b-a608-ba58e78f5dcc",
            "version": 1,
            "bodyDocId": "816dad3c-9983-41c1-a86e-978ebd582841",
            "description": "The McKinsey-bred discipline of writing every slide title as a complete declarative sentence with a verb and an insight, not a topic label. Each title is a sub-claim that ladders up to the deck's governing thought; read in sequence, the titles reconstruct the executive summary.",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Architect",
          "layer": "slide",
          "agents": [
            "Architect"
          ],
          "matchId": "dda32e57-64a3-49e2-9537-8e0709544dee",
          "evidence": "Podcast advertising revenue grew at a double-digit rate from 2015 to 2016, and the growth is forecast to build in 2017.",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 21:19:38.271934+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 6,
          "whyItWorks": "Solves two failure modes at once. (1) The buried claim: action titles place the conclusion on the page before any analysis is read, so a busy reader doesn't reverse-engineer it from the chart. (2) The spineless deck: because each title is a claim, slides have to ladder up to the governing thought; logical gaps become visible as topic-shaped titles in a sequence that no longer reads as a story.",
          "antipattern": "Topic labels disguised as titles — Volume by quarter, Key findings, Pricing strategy, Margins have been impacted. No verb, or a passive verb with no agent, or a fact (Revenue grew 12%) without the so-what. Also: titles that overreach the chart's evidence, multi-claim X-grew-but-Y-fell welded titles, and mechanical repetition of the same X-drove-Y template across the deck.",
          "cardinality": null,
          "narrativePurpose": "Forces the deck to carry its argument in the title bar so a senior reader can extract the recommendation without opening a single slide; converts a binder of topics into a navigable pyramid where every slide is a node defending the apex."
        },
        {
          "tool": {
            "name": "Action Titles",
            "slug": "action-titles",
            "status": "active",
            "bestFor": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
            "canonId": "019dd956-ac70-700b-a608-ba58e78f5dcc",
            "version": 1,
            "bodyDocId": "816dad3c-9983-41c1-a86e-978ebd582841",
            "description": "The McKinsey-bred discipline of writing every slide title as a complete declarative sentence with a verb and an insight, not a topic label. Each title is a sub-claim that ladders up to the deck's governing thought; read in sequence, the titles reconstruct the executive summary.",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Architect",
          "layer": "slide",
          "agents": [
            "Architect"
          ],
          "matchId": "019de958-4266-710f-8541-82cf4c1402f6",
          "evidence": "Title states insight: 'grew at double-digit rate... forecast to build'",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
          "confidence": 90,
          "extraction": {
            "at": "2026-05-02 15:39:27.658783+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 6,
          "whyItWorks": "Solves two failure modes at once. (1) The buried claim: action titles place the conclusion on the page before any analysis is read, so a busy reader doesn't reverse-engineer it from the chart. (2) The spineless deck: because each title is a claim, slides have to ladder up to the governing thought; logical gaps become visible as topic-shaped titles in a sequence that no longer reads as a story.",
          "antipattern": "Topic labels disguised as titles — Volume by quarter, Key findings, Pricing strategy, Margins have been impacted. No verb, or a passive verb with no agent, or a fact (Revenue grew 12%) without the so-what. Also: titles that overreach the chart's evidence, multi-claim X-grew-but-Y-fell welded titles, and mechanical repetition of the same X-drove-Y template across the deck.",
          "cardinality": null,
          "narrativePurpose": "Forces the deck to carry its argument in the title bar so a senior reader can extract the recommendation without opening a single slide; converts a binder of topics into a navigable pyramid where every slide is a node defending the apex."
        },
        {
          "tool": {
            "name": "Annotation",
            "slug": "annotation",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-b5b9-7668-bf0e-3af99823ec5c",
            "version": 1,
            "bodyDocId": null,
            "description": "Adding explanatory labels to highlight key data points",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "019de958-42e3-767a-af8b-d089a3c332ed",
          "evidence": "Arrows annotate 72% and 85% YoY growth between bars",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 90,
          "extraction": {
            "at": "2026-05-02 15:39:27.658783+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 6,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Chart Selection Guide",
            "slug": "chart-selection-guide",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-b1a0-700b-ba17-0e16c4d5bcae",
            "version": 1,
            "bodyDocId": null,
            "description": "Choosing the right chart type for your data and message",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "019de958-4317-76db-ba43-e49da974b1b4",
          "evidence": "Bar chart fits comparing three discrete years",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 80,
          "extraction": {
            "at": "2026-05-02 15:39:27.658783+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 6,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Pre-attentive Attributes",
            "slug": "pre-attentive-attributes",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-b61d-717f-a402-24ccbb4b60d8",
            "version": 1,
            "bodyDocId": null,
            "description": "Visual properties processed instantly: color, size, orientation, shape",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "019de958-4341-76b8-97d0-68b50388f40a",
          "evidence": "Orange bars and grey arrows pop against white",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 70,
          "extraction": {
            "at": "2026-05-02 15:39:27.658783+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 6,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "So What? Test",
            "slug": "so-what-test",
            "status": "active",
            "bestFor": "On every slide carrying a chart, number, list, or finding intended to inform a decision; whenever a draft title is descriptive rather than directive; whenever the deck will circulate without its author.",
            "canonId": "019dd956-acd2-76f8-b59a-9bf15a89f10a",
            "version": 1,
            "bodyDocId": "fec04b06-b2f1-432b-a97b-916dc7563f64",
            "description": "The recursive editorial discipline of asking so-what of every slide, chart, and statement until the answer is an implication for the audience — that final answer becomes the slide's title; the chain becomes its body.",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Architect",
          "layer": "slide",
          "agents": [
            "Architect"
          ],
          "matchId": "019de958-42a8-717c-af71-84a5fe1af4fe",
          "evidence": "Title delivers the implication, not the topic",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": "On every slide carrying a chart, number, list, or finding intended to inform a decision; whenever a draft title is descriptive rather than directive; whenever the deck will circulate without its author.",
          "confidence": 85,
          "extraction": {
            "at": "2026-05-02 15:39:27.658783+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 6,
          "whyItWorks": "Solves the two failure modes of analytical communication at once: stopping at description (analyst-confidence problem) and leaving insight stranded in the analyst's head (translation problem). The recursion is what guarantees the implication makes it into ink.",
          "antipattern": "Stopping at the first tighter description (still a fact, not an implication), regressing past the audience's decision space into philosophy, smuggling the so-what into speaker notes, or re-using an implication aimed at a previous audience.",
          "cardinality": null,
          "narrativePurpose": "Forces every analytical artefact to close the gap between fact and decision, so the reader holds the recommendation by reading titles alone rather than reconstructing the analyst's mental model from raw evidence."
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 10,
          "arc": {
            "name": "The Consultant's Gambit",
            "slug": "consultants-gambit",
            "status": "active",
            "bestFor": "Business cases, project proposals, strategic recommendations",
            "canonId": "019dd956-5e0a-73c8-b305-81c38c959e9c",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Situation & Context -> Problem & Complication -> Solution & Approach -> Evidence & Proof -> Impact & Next Steps",
            "description": null,
            "familyLabel": null
          },
          "from": 6,
          "name": "Evidence & Proof",
          "beatId": "019de958-3fa0-7663-b8cd-0f5f64e21cb1",
          "matchId": "019de958-3ed7-733a-993b-dd5eefebaef2",
          "beatType": null,
          "evidence": "p6-10 deliver charts: market size, growth, delivery/ad/campaign mix",
          "position": 4,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 75
        }
      ],
      "loops": [
        {
          "to": 7,
          "from": 6,
          "loop": {
            "name": "02_pattern_hunter",
            "slug": "02-pattern-hunter",
            "status": "active",
            "bestFor": "Time-pressed audiences, building consensus, when data is strong",
            "canonId": "019dd956-6695-771a-be2e-f1748ef041a4",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "Evidence A -> Evidence B -> Evidence C -> Pattern/Conclusion",
            "description": "Group multiple pieces of evidence that together point to a pattern or conclusion",
            "familyLabel": null
          },
          "matchId": "019de958-4010-7305-8bde-e59dd802a7af",
          "evidence": "p6 shows 72%/85% YoY; p7 shows 228% quarterly with 19% CQGR — same growth thesis from two angles",
          "position": 1,
          "objective": "Stack annual + quarterly evidence to prove rapid market growth",
          "confidence": 75,
          "extraction": {
            "at": "2026-05-02 15:39:27.658783+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 7,
      "type": "analysis",
      "title": "The data represents 20 surveyed companies, which is noted as less than 100% of the total market.",
      "function": "analyze_data",
      "rawType": "industry_trends",
      "block": null,
      "metadata": {
        "slideType": "industry_trends",
        "slideTypeCanon": {
          "name": "Industry trends",
          "slug": "industry_trends",
          "status": "active",
          "canonId": "019de52d-0b1d-7705-a0e0-c663199cd1fa",
          "version": 1,
          "description": null
        },
        "function": "analyze_data",
        "functionCanon": {
          "name": "Analyze data",
          "slug": "analyze_data",
          "status": "active",
          "canonId": "019de52d-1590-7413-8c82-cc218cff40b4",
          "version": 1,
          "description": null
        },
        "density": "balanced",
        "densityScore": 39,
        "componentCount": 5,
        "textChars": 412,
        "nDataPoints": 8,
        "notes": "The data represents 20 surveyed companies, which is noted as less than 100% of the total market.",
        "elementsJson": [
          "headline_text",
          "area_chart",
          "footnote"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 19:11:52.274+00",
          "seconds": 2.251,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5ca1-7489-b63a-1688bfd92139/7",
        "deck": "/decks/019dd923-5ca1-7489-b63a-1688bfd92139",
        "deckAnchor": "/decks/019dd923-5ca1-7489-b63a-1688bfd92139#slide-7",
        "deckJson": "/decks/019dd923-5ca1-7489-b63a-1688bfd92139.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "19% CQGR*",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": {
              "name": "Visual emphasis",
              "slug": "visual-emphasis",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-474b-736b-a8eb-a794dd88241c",
              "version": 1,
              "bodyDocId": null,
              "description": "Drawing the eye to one element above the rest of the slide.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:46:47+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-dfa2-7185-b39c-2030a36d7e3c",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.6,
            "w": 0.88,
            "x": 0.06,
            "y": 0.25
          },
          "kind": "chart",
          "text": "Podcast Advertising Revenue, by Quarter, 2015 – 2016 (in millions)",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Chart",
              "slug": "chart",
              "status": "active",
              "canonId": "019de52c-f9a0-76ef-adc6-0b859109d1f8",
              "version": 1,
              "description": "Quantitative chart."
            },
            "tool": null,
            "subkind": {
              "name": "Area chart",
              "slug": "area",
              "status": "active",
              "canonId": "019de52c-ff89-71e0-911e-5cab78b90f53",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "area",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:11:52.274+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "78b0a7bb-7dcc-481b-b2c6-9ee35043aece",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Podcast Advertising Revenue: 228%",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:46:47+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-dfa2-7185-b39c-27a91492a77d",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.1,
            "w": 0.6,
            "x": 0.06,
            "y": 0.85
          },
          "kind": "source-note",
          "text": "Advertising revenues represent the 20 companies surveyed, less than 100% of the podcast advertising market. * CQGR – Compound Quarterly Growth Rate. IAB Podcast Ad Revenue Study, June 2017",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Source note",
              "slug": "source-note",
              "status": "active",
              "canonId": "23484952-494b-4a5e-b1ad-550d0d70e948",
              "version": 1,
              "description": "Attribution / source / caveat placed at the slide footer. Numbered footnotes use attrs.numbered."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:11:52.274+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "0d6f79a0-7380-4798-98ec-12214fc59651",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.1,
            "w": 0.88,
            "x": 0.06,
            "y": 0.1
          },
          "kind": "title",
          "text": "Podcast advertising revenue has increased steadily, growing 228%, on a quarterly basis, between Q1 2015 and Q4 2016.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Action title",
              "slug": "action-title",
              "status": "active",
              "canonId": "019de52c-fb31-734c-a0f5-a3935b73135d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "action-title",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:11:52.274+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "69079656-aa6e-4db0-aae5-7ec5b8028cff",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "Action Titles",
            "slug": "action-titles",
            "status": "active",
            "bestFor": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
            "canonId": "019dd956-ac70-700b-a608-ba58e78f5dcc",
            "version": 1,
            "bodyDocId": "816dad3c-9983-41c1-a86e-978ebd582841",
            "description": "The McKinsey-bred discipline of writing every slide title as a complete declarative sentence with a verb and an insight, not a topic label. Each title is a sub-claim that ladders up to the deck's governing thought; read in sequence, the titles reconstruct the executive summary.",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Architect",
          "layer": "slide",
          "agents": [
            "Architect"
          ],
          "matchId": "019de958-438e-74bd-a3df-e82a706f8904",
          "evidence": "Title states insight: 'grew 228% on quarterly basis'",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
          "confidence": 90,
          "extraction": {
            "at": "2026-05-02 15:39:27.658783+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 7,
          "whyItWorks": "Solves two failure modes at once. (1) The buried claim: action titles place the conclusion on the page before any analysis is read, so a busy reader doesn't reverse-engineer it from the chart. (2) The spineless deck: because each title is a claim, slides have to ladder up to the governing thought; logical gaps become visible as topic-shaped titles in a sequence that no longer reads as a story.",
          "antipattern": "Topic labels disguised as titles — Volume by quarter, Key findings, Pricing strategy, Margins have been impacted. No verb, or a passive verb with no agent, or a fact (Revenue grew 12%) without the so-what. Also: titles that overreach the chart's evidence, multi-claim X-grew-but-Y-fell welded titles, and mechanical repetition of the same X-drove-Y template across the deck.",
          "cardinality": null,
          "narrativePurpose": "Forces the deck to carry its argument in the title bar so a senior reader can extract the recommendation without opening a single slide; converts a binder of topics into a navigable pyramid where every slide is a node defending the apex."
        },
        {
          "tool": {
            "name": "Annotation",
            "slug": "annotation",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-b5b9-7668-bf0e-3af99823ec5c",
            "version": 1,
            "bodyDocId": null,
            "description": "Adding explanatory labels to highlight key data points",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "019de958-43dd-730d-9c5b-7e3befe75b4e",
          "evidence": "'19% CQGR' annotation overlaid on trend arrow",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 90,
          "extraction": {
            "at": "2026-05-02 15:39:27.658783+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 7,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Chart Selection Guide",
            "slug": "chart-selection-guide",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-b1a0-700b-ba17-0e16c4d5bcae",
            "version": 1,
            "bodyDocId": null,
            "description": "Choosing the right chart type for your data and message",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "019de958-4423-723d-b456-22886c556c81",
          "evidence": "Area chart suits continuous quarterly trend",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 75,
          "extraction": {
            "at": "2026-05-02 15:39:27.658783+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 7,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Data-Ink Ratio",
            "slug": "data-ink-ratio",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-afc8-70da-b378-92834d36fde6",
            "version": 1,
            "bodyDocId": null,
            "description": "Maximize data, minimize non-data ink - remove chartjunk and decoration",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "019de958-4401-72fe-9c13-7d27c5184017",
          "evidence": "Minimal gridlines, single-color area, clean labels",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": null,
          "confidence": 70,
          "extraction": {
            "at": "2026-05-02 15:39:27.658783+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 7,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "So What? Test",
            "slug": "so-what-test",
            "status": "active",
            "bestFor": "On every slide carrying a chart, number, list, or finding intended to inform a decision; whenever a draft title is descriptive rather than directive; whenever the deck will circulate without its author.",
            "canonId": "019dd956-acd2-76f8-b59a-9bf15a89f10a",
            "version": 1,
            "bodyDocId": "fec04b06-b2f1-432b-a97b-916dc7563f64",
            "description": "The recursive editorial discipline of asking so-what of every slide, chart, and statement until the answer is an implication for the audience — that final answer becomes the slide's title; the chain becomes its body.",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Architect",
          "layer": "slide",
          "agents": [
            "Architect"
          ],
          "matchId": "019de958-43b9-7432-8f44-db853806c206",
          "evidence": "Headline gives so-what (228%) before chart",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": "On every slide carrying a chart, number, list, or finding intended to inform a decision; whenever a draft title is descriptive rather than directive; whenever the deck will circulate without its author.",
          "confidence": 80,
          "extraction": {
            "at": "2026-05-02 15:39:27.658783+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 7,
          "whyItWorks": "Solves the two failure modes of analytical communication at once: stopping at description (analyst-confidence problem) and leaving insight stranded in the analyst's head (translation problem). The recursion is what guarantees the implication makes it into ink.",
          "antipattern": "Stopping at the first tighter description (still a fact, not an implication), regressing past the audience's decision space into philosophy, smuggling the so-what into speaker notes, or re-using an implication aimed at a previous audience.",
          "cardinality": null,
          "narrativePurpose": "Forces every analytical artefact to close the gap between fact and decision, so the reader holds the recommendation by reading titles alone rather than reconstructing the analyst's mental model from raw evidence."
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 10,
          "arc": {
            "name": "The Consultant's Gambit",
            "slug": "consultants-gambit",
            "status": "active",
            "bestFor": "Business cases, project proposals, strategic recommendations",
            "canonId": "019dd956-5e0a-73c8-b305-81c38c959e9c",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Situation & Context -> Problem & Complication -> Solution & Approach -> Evidence & Proof -> Impact & Next Steps",
            "description": null,
            "familyLabel": null
          },
          "from": 6,
          "name": "Evidence & Proof",
          "beatId": "019de958-3fa0-7663-b8cd-0f5f64e21cb1",
          "matchId": "019de958-3ed7-733a-993b-dd5eefebaef2",
          "beatType": null,
          "evidence": "p6-10 deliver charts: market size, growth, delivery/ad/campaign mix",
          "position": 4,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 75
        }
      ],
      "loops": [
        {
          "to": 7,
          "from": 6,
          "loop": {
            "name": "02_pattern_hunter",
            "slug": "02-pattern-hunter",
            "status": "active",
            "bestFor": "Time-pressed audiences, building consensus, when data is strong",
            "canonId": "019dd956-6695-771a-be2e-f1748ef041a4",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "Evidence A -> Evidence B -> Evidence C -> Pattern/Conclusion",
            "description": "Group multiple pieces of evidence that together point to a pattern or conclusion",
            "familyLabel": null
          },
          "matchId": "019de958-4010-7305-8bde-e59dd802a7af",
          "evidence": "p6 shows 72%/85% YoY; p7 shows 228% quarterly with 19% CQGR — same growth thesis from two angles",
          "position": 1,
          "objective": "Stack annual + quarterly evidence to prove rapid market growth",
          "confidence": 75,
          "extraction": {
            "at": "2026-05-02 15:39:27.658783+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 8,
      "type": "analysis",
      "function": "analyze_data",
      "rawType": "data_table",
      "block": null,
      "metadata": {
        "slideType": "data_table",
        "slideTypeCanon": {
          "name": "Data table",
          "slug": "data_table",
          "status": "active",
          "canonId": "019de52d-0bbd-71b9-9918-417f904abbf8",
          "version": 1,
          "description": null
        },
        "function": "analyze_data",
        "functionCanon": {
          "name": "Analyze data",
          "slug": "analyze_data",
          "status": "active",
          "canonId": "019de52d-1590-7413-8c82-cc218cff40b4",
          "version": 1,
          "description": null
        },
        "density": "dense",
        "densityScore": 51,
        "componentCount": 7,
        "textChars": 340,
        "nDataPoints": 4,
        "notes": null,
        "elementsJson": [
          "headline_text",
          "donut_chart",
          "paragraph"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 19:11:52.859+00",
          "seconds": 2.702,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5ca1-7489-b63a-1688bfd92139/8",
        "deck": "/decks/019dd923-5ca1-7489-b63a-1688bfd92139",
        "deckAnchor": "/decks/019dd923-5ca1-7489-b63a-1688bfd92139#slide-8",
        "deckJson": "/decks/019dd923-5ca1-7489-b63a-1688bfd92139.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "Dynamically inserted ads increased their proportion of ad spend by 51% from 2015 to 2016",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": {
              "name": "Visual emphasis",
              "slug": "visual-emphasis",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-474b-736b-a8eb-a794dd88241c",
              "version": 1,
              "bodyDocId": null,
              "description": "Drawing the eye to one element above the rest of the slide.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:46:47+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-dfa2-7185-b39c-3a34ef49d5c4",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.4,
            "w": 0.3,
            "x": 0.55,
            "y": 0.35
          },
          "kind": "chart",
          "text": "2016 revenue share donut chart",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Chart",
              "slug": "chart",
              "status": "active",
              "canonId": "019de52c-f9a0-76ef-adc6-0b859109d1f8",
              "version": 1,
              "description": "Quantitative chart."
            },
            "tool": null,
            "subkind": {
              "name": "Donut chart",
              "slug": "donut",
              "status": "active",
              "canonId": "019de52d-0006-752c-9528-0fef476b8004",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "donut",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:11:52.859+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "0e4d727a-a770-487e-a83e-0c3f39dfb7cf",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.4,
            "w": 0.3,
            "x": 0.15,
            "y": 0.35
          },
          "kind": "chart",
          "text": "2015 revenue share donut chart",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Chart",
              "slug": "chart",
              "status": "active",
              "canonId": "019de52c-f9a0-76ef-adc6-0b859109d1f8",
              "version": 1,
              "description": "Quantitative chart."
            },
            "tool": null,
            "subkind": {
              "name": "Donut chart",
              "slug": "donut",
              "status": "active",
              "canonId": "019de52d-0006-752c-9528-0fef476b8004",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "donut",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:11:52.859+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "d371c722-e9e2-4053-ad5a-4f271272d938",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Ad revenue share: 51%",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:46:47+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-dfa2-7185-b39c-3f6ea309a0dd",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.8,
            "x": 0.05,
            "y": 0.2
          },
          "kind": "paragraph",
          "text": "Dynamically inserted ads increased their proportion of ad spend by 51% from 2015 to 2016",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "5f2affc0-941d-4d07-959d-4bfc1930cea4",
              "version": 1,
              "description": "Single prose block in the body of a slide."
            },
            "tool": null,
            "subkind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "019de52c-fb80-75af-aa5c-a7a4bfac2433",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "paragraph",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:11:52.859+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "bc649974-83f8-4497-8c12-50983b0dfb03",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.3,
            "x": 0.05,
            "y": 0.95
          },
          "kind": "source-note",
          "text": "IAB Podcast Ad Revenue Study, June 2017",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Source note",
              "slug": "source-note",
              "status": "active",
              "canonId": "23484952-494b-4a5e-b1ad-550d0d70e948",
              "version": 1,
              "description": "Attribution / source / caveat placed at the slide footer. Numbered footnotes use attrs.numbered."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:11:52.859+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "05f892c0-4215-47fd-ba58-a26fd4dc0b5a",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.6,
            "x": 0.05,
            "y": 0.1
          },
          "kind": "title",
          "text": "Revenue by Delivery Mechanism – 2015 to 2016",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:11:52.859+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "adbd71a7-270d-444f-9046-94228edf2b26",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "Contrast Pairs",
            "slug": "contrast-pairs",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-9b77-70d3-88b1-f34e26f60860",
            "version": 1,
            "bodyDocId": null,
            "description": "Creating tension through opposites: Before↔After, Problem↔Solution, Pain↔Relief",
            "familyLabel": null,
            "categoryName": "Loop",
            "categorySlug": "loop"
          },
          "agent": "Storyteller",
          "layer": "loop",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019de958-4503-7173-b239-6ccc60da5a96",
          "evidence": "2015 vs 2016 contrast opens segmentation-split loop",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": null,
          "confidence": 85,
          "extraction": {
            "at": "2026-05-02 15:39:27.658783+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 8,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Action Titles",
            "slug": "action-titles",
            "status": "active",
            "bestFor": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
            "canonId": "019dd956-ac70-700b-a608-ba58e78f5dcc",
            "version": 1,
            "bodyDocId": "816dad3c-9983-41c1-a86e-978ebd582841",
            "description": "The McKinsey-bred discipline of writing every slide title as a complete declarative sentence with a verb and an insight, not a topic label. Each title is a sub-claim that ladders up to the deck's governing thought; read in sequence, the titles reconstruct the executive summary.",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Architect",
          "layer": "slide",
          "agents": [
            "Architect"
          ],
          "matchId": "019de958-44cd-736b-bd44-7df83cef52b7",
          "evidence": "Subtitle callout states 51% increase (title is descriptive)",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
          "confidence": 60,
          "extraction": {
            "at": "2026-05-02 15:39:27.658783+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 8,
          "whyItWorks": "Solves two failure modes at once. (1) The buried claim: action titles place the conclusion on the page before any analysis is read, so a busy reader doesn't reverse-engineer it from the chart. (2) The spineless deck: because each title is a claim, slides have to ladder up to the governing thought; logical gaps become visible as topic-shaped titles in a sequence that no longer reads as a story.",
          "antipattern": "Topic labels disguised as titles — Volume by quarter, Key findings, Pricing strategy, Margins have been impacted. No verb, or a passive verb with no agent, or a fact (Revenue grew 12%) without the so-what. Also: titles that overreach the chart's evidence, multi-claim X-grew-but-Y-fell welded titles, and mechanical repetition of the same X-drove-Y template across the deck.",
          "cardinality": null,
          "narrativePurpose": "Forces the deck to carry its argument in the title bar so a senior reader can extract the recommendation without opening a single slide; converts a binder of topics into a navigable pyramid where every slide is a node defending the apex."
        },
        {
          "tool": {
            "name": "Color Strategy",
            "slug": "color-strategy",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-b202-77cf-8a6e-f445b08c0fd3",
            "version": 1,
            "bodyDocId": null,
            "description": "Using color for emphasis, categories, sentiment, and hierarchy",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "019de958-448f-760b-afb3-b6410fe83510",
          "evidence": "Consistent orange/dark-red palette across both donuts",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 80,
          "extraction": {
            "at": "2026-05-02 15:39:27.658783+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 8,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Small Multiples",
            "slug": "small-multiples",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-b32d-7586-b368-baa1dd388ed4",
            "version": 1,
            "bodyDocId": null,
            "description": "Repeating similar charts for comparison across categories or time",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "019de958-4452-73de-86ab-1dc23c11513b",
          "evidence": "Two identical donuts side-by-side for 2015 vs 2016",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 90,
          "extraction": {
            "at": "2026-05-02 15:39:27.658783+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 8,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 10,
          "arc": {
            "name": "The Consultant's Gambit",
            "slug": "consultants-gambit",
            "status": "active",
            "bestFor": "Business cases, project proposals, strategic recommendations",
            "canonId": "019dd956-5e0a-73c8-b305-81c38c959e9c",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Situation & Context -> Problem & Complication -> Solution & Approach -> Evidence & Proof -> Impact & Next Steps",
            "description": null,
            "familyLabel": null
          },
          "from": 6,
          "name": "Evidence & Proof",
          "beatId": "019de958-3fa0-7663-b8cd-0f5f64e21cb1",
          "matchId": "019de958-3ed7-733a-993b-dd5eefebaef2",
          "beatType": null,
          "evidence": "p6-10 deliver charts: market size, growth, delivery/ad/campaign mix",
          "position": 4,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 75
        }
      ],
      "loops": [
        {
          "to": 10,
          "from": 8,
          "loop": {
            "name": "34_segmentation_split",
            "slug": "34-segmentation-split",
            "status": "active",
            "bestFor": "Customer analysis, market research, resource allocation",
            "canonId": "019dd956-7398-77a8-9a5f-2e4d39589f42",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Aggregate View -> Segment A Behavior -> Segment B Behavior -> The Insight in the Difference",
            "description": "Divide a whole into meaningful segments to reveal hidden patterns",
            "familyLabel": null
          },
          "matchId": "019de958-4040-741f-9b63-5c3a52c00c97",
          "evidence": "Three consecutive 2015-vs-2016 donut comparisons: delivery mechanism, ad mechanism, campaign type",
          "position": 2,
          "objective": "Slice ad revenue by three categorical dimensions to reveal mix shifts",
          "confidence": 85,
          "extraction": {
            "at": "2026-05-02 15:39:27.658783+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 9,
      "type": "analysis",
      "title": "The slide uses two donut charts to visualize the shift in ad revenue composition.",
      "function": "analyze_data",
      "rawType": "data_table",
      "block": null,
      "metadata": {
        "slideType": "data_table",
        "slideTypeCanon": {
          "name": "Data table",
          "slug": "data_table",
          "status": "active",
          "canonId": "019de52d-0bbd-71b9-9918-417f904abbf8",
          "version": 1,
          "description": null
        },
        "function": "analyze_data",
        "functionCanon": {
          "name": "Analyze data",
          "slug": "analyze_data",
          "status": "active",
          "canonId": "019de52d-1590-7413-8c82-cc218cff40b4",
          "version": 1,
          "description": null
        },
        "density": "dense",
        "densityScore": 63,
        "componentCount": 8,
        "textChars": 462,
        "nDataPoints": 4,
        "notes": "The slide uses two donut charts to visualize the shift in ad revenue composition.",
        "elementsJson": [
          "headline_text",
          "paragraph",
          "donut_chart"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 19:11:52.953+00",
          "seconds": 2.594,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5ca1-7489-b63a-1688bfd92139/9",
        "deck": "/decks/019dd923-5ca1-7489-b63a-1688bfd92139",
        "deckAnchor": "/decks/019dd923-5ca1-7489-b63a-1688bfd92139#slide-9",
        "deckJson": "/decks/019dd923-5ca1-7489-b63a-1688bfd92139.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "Host Read Ads continue to be the preferred Ad Mechanism. Pre-Produced ads share of total Ad Mechanism revenue increased by 3 percentage points in 2016",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": {
              "name": "Visual emphasis",
              "slug": "visual-emphasis",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-474b-736b-a8eb-a794dd88241c",
              "version": 1,
              "bodyDocId": null,
              "description": "Drawing the eye to one element above the rest of the slide.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:46:47+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-dfa2-7185-b39c-692b32a86416",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.4,
            "w": 0.3,
            "x": 0.55,
            "y": 0.35
          },
          "kind": "chart",
          "text": "2016 Revenue Share",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Chart",
              "slug": "chart",
              "status": "active",
              "canonId": "019de52c-f9a0-76ef-adc6-0b859109d1f8",
              "version": 1,
              "description": "Quantitative chart."
            },
            "tool": null,
            "subkind": {
              "name": "Donut chart",
              "slug": "donut",
              "status": "active",
              "canonId": "019de52d-0006-752c-9528-0fef476b8004",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "donut",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:11:52.953+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "3e8d6db4-9ed4-45ba-93f9-db37bd8f38b6",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.4,
            "w": 0.3,
            "x": 0.15,
            "y": 0.35
          },
          "kind": "chart",
          "text": "2015 Revenue Share",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Chart",
              "slug": "chart",
              "status": "active",
              "canonId": "019de52c-f9a0-76ef-adc6-0b859109d1f8",
              "version": 1,
              "description": "Quantitative chart."
            },
            "tool": null,
            "subkind": {
              "name": "Donut chart",
              "slug": "donut",
              "status": "active",
              "canonId": "019de52d-0006-752c-9528-0fef476b8004",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "donut",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:11:52.953+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "e63bc3f7-b881-412e-a25e-4a548c3954df",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.1,
            "w": 0.2,
            "x": 0.05,
            "y": 0.08
          },
          "kind": "legend",
          "text": "Pre-Produced Ads; Host Read Ads",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Legend",
              "slug": "legend",
              "status": "active",
              "canonId": "31361933-3d22-4c70-bbad-0801e9fffc0c",
              "version": 1,
              "description": "Color/symbol decoder placed adjacent to a chart or diagram."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:11:52.953+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "daaba8f8-695d-44ca-bb20-ec0b050c0350",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Revenue share: 60%",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:46:47+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-dfa2-7185-b39c-6d792f828285",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.08,
            "w": 0.85,
            "x": 0.05,
            "y": 0.18
          },
          "kind": "paragraph",
          "text": "Host Read Ads continue to be the preferred Ad Mechanism. Pre-Produced ads share of total Ad Mechanism revenue increased by 3 percentage points in 2016",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "5f2affc0-941d-4d07-959d-4bfc1930cea4",
              "version": 1,
              "description": "Single prose block in the body of a slide."
            },
            "tool": null,
            "subkind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "019de52c-fb80-75af-aa5c-a7a4bfac2433",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "paragraph",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:11:52.953+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "9fba2e69-9593-43cc-8dbe-57d8aacd0f3e",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.3,
            "x": 0.05,
            "y": 0.95
          },
          "kind": "source-note",
          "text": "IAB Podcast Ad Revenue Study, June 2017",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Source note",
              "slug": "source-note",
              "status": "active",
              "canonId": "23484952-494b-4a5e-b1ad-550d0d70e948",
              "version": 1,
              "description": "Attribution / source / caveat placed at the slide footer. Numbered footnotes use attrs.numbered."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:11:52.953+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "0e33ae36-c17e-4346-a02f-8f918f0d9559",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.5,
            "x": 0.05,
            "y": 0.08
          },
          "kind": "title",
          "text": "Revenue by Ad Mechanism – 2015 to 2016",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:11:52.953+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "4ffa8269-7575-4df9-90bf-d273bb755e3f",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "Action Titles",
            "slug": "action-titles",
            "status": "active",
            "bestFor": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
            "canonId": "019dd956-ac70-700b-a608-ba58e78f5dcc",
            "version": 1,
            "bodyDocId": "816dad3c-9983-41c1-a86e-978ebd582841",
            "description": "The McKinsey-bred discipline of writing every slide title as a complete declarative sentence with a verb and an insight, not a topic label. Each title is a sub-claim that ladders up to the deck's governing thought; read in sequence, the titles reconstruct the executive summary.",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Architect",
          "layer": "slide",
          "agents": [
            "Architect"
          ],
          "matchId": "019de958-457a-735c-828c-7514db377e1d",
          "evidence": "Callout carries insight; title is descriptive",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
          "confidence": 55,
          "extraction": {
            "at": "2026-05-02 15:39:27.658783+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 9,
          "whyItWorks": "Solves two failure modes at once. (1) The buried claim: action titles place the conclusion on the page before any analysis is read, so a busy reader doesn't reverse-engineer it from the chart. (2) The spineless deck: because each title is a claim, slides have to ladder up to the governing thought; logical gaps become visible as topic-shaped titles in a sequence that no longer reads as a story.",
          "antipattern": "Topic labels disguised as titles — Volume by quarter, Key findings, Pricing strategy, Margins have been impacted. No verb, or a passive verb with no agent, or a fact (Revenue grew 12%) without the so-what. Also: titles that overreach the chart's evidence, multi-claim X-grew-but-Y-fell welded titles, and mechanical repetition of the same X-drove-Y template across the deck.",
          "cardinality": null,
          "narrativePurpose": "Forces the deck to carry its argument in the title bar so a senior reader can extract the recommendation without opening a single slide; converts a binder of topics into a navigable pyramid where every slide is a node defending the apex."
        },
        {
          "tool": {
            "name": "Color Strategy",
            "slug": "color-strategy",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-b202-77cf-8a6e-f445b08c0fd3",
            "version": 1,
            "bodyDocId": null,
            "description": "Using color for emphasis, categories, sentiment, and hierarchy",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "019de958-4559-70a5-b44e-4c453a24ed7f",
          "evidence": "Same two-color palette as p8 for consistency",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 75,
          "extraction": {
            "at": "2026-05-02 15:39:27.658783+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 9,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Small Multiples",
            "slug": "small-multiples",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-b32d-7586-b368-baa1dd388ed4",
            "version": 1,
            "bodyDocId": null,
            "description": "Repeating similar charts for comparison across categories or time",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "019de958-4532-77df-98f7-80506d955318",
          "evidence": "Paired donuts for 2015 vs 2016 ad mechanism mix",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 90,
          "extraction": {
            "at": "2026-05-02 15:39:27.658783+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 9,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 10,
          "arc": {
            "name": "The Consultant's Gambit",
            "slug": "consultants-gambit",
            "status": "active",
            "bestFor": "Business cases, project proposals, strategic recommendations",
            "canonId": "019dd956-5e0a-73c8-b305-81c38c959e9c",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Situation & Context -> Problem & Complication -> Solution & Approach -> Evidence & Proof -> Impact & Next Steps",
            "description": null,
            "familyLabel": null
          },
          "from": 6,
          "name": "Evidence & Proof",
          "beatId": "019de958-3fa0-7663-b8cd-0f5f64e21cb1",
          "matchId": "019de958-3ed7-733a-993b-dd5eefebaef2",
          "beatType": null,
          "evidence": "p6-10 deliver charts: market size, growth, delivery/ad/campaign mix",
          "position": 4,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 75
        }
      ],
      "loops": [
        {
          "to": 10,
          "from": 8,
          "loop": {
            "name": "34_segmentation_split",
            "slug": "34-segmentation-split",
            "status": "active",
            "bestFor": "Customer analysis, market research, resource allocation",
            "canonId": "019dd956-7398-77a8-9a5f-2e4d39589f42",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Aggregate View -> Segment A Behavior -> Segment B Behavior -> The Insight in the Difference",
            "description": "Divide a whole into meaningful segments to reveal hidden patterns",
            "familyLabel": null
          },
          "matchId": "019de958-4040-741f-9b63-5c3a52c00c97",
          "evidence": "Three consecutive 2015-vs-2016 donut comparisons: delivery mechanism, ad mechanism, campaign type",
          "position": 2,
          "objective": "Slice ad revenue by three categorical dimensions to reveal mix shifts",
          "confidence": 85,
          "extraction": {
            "at": "2026-05-02 15:39:27.658783+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 10,
      "type": "analysis",
      "title": "The charts are donut charts representing percentage shares of total revenue.",
      "function": "analyze_data",
      "rawType": "data_table",
      "block": null,
      "metadata": {
        "slideType": "data_table",
        "slideTypeCanon": {
          "name": "Data table",
          "slug": "data_table",
          "status": "active",
          "canonId": "019de52d-0bbd-71b9-9918-417f904abbf8",
          "version": 1,
          "description": null
        },
        "function": "analyze_data",
        "functionCanon": {
          "name": "Analyze data",
          "slug": "analyze_data",
          "status": "active",
          "canonId": "019de52d-1590-7413-8c82-cc218cff40b4",
          "version": 1,
          "description": null
        },
        "density": "dense",
        "densityScore": 59,
        "componentCount": 7,
        "textChars": 507,
        "nDataPoints": 8,
        "notes": "The charts are donut charts representing percentage shares of total revenue.",
        "elementsJson": [
          "headline_text",
          "paragraph",
          "donut_chart"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 19:11:57.882+00",
          "seconds": 7.41,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5ca1-7489-b63a-1688bfd92139/10",
        "deck": "/decks/019dd923-5ca1-7489-b63a-1688bfd92139",
        "deckAnchor": "/decks/019dd923-5ca1-7489-b63a-1688bfd92139#slide-10",
        "deckJson": "/decks/019dd923-5ca1-7489-b63a-1688bfd92139.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "Direct Response campaigns decreased from 2015 to 2016, as a percent of total revenue, while Brand Awareness campaigns increased. Branded Content made its revenue generating debut.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": {
              "name": "Visual emphasis",
              "slug": "visual-emphasis",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-474b-736b-a8eb-a794dd88241c",
              "version": 1,
              "bodyDocId": null,
              "description": "Drawing the eye to one element above the rest of the slide.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:46:55+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-dfa2-7185-b39d-20b150b94f3f",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.4,
            "w": 0.4,
            "x": 0.55,
            "y": 0.35
          },
          "kind": "chart",
          "text": "2016 Revenue Share",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Chart",
              "slug": "chart",
              "status": "active",
              "canonId": "019de52c-f9a0-76ef-adc6-0b859109d1f8",
              "version": 1,
              "description": "Quantitative chart."
            },
            "tool": null,
            "subkind": {
              "name": "Donut chart",
              "slug": "donut",
              "status": "active",
              "canonId": "019de52d-0006-752c-9528-0fef476b8004",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "donut",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:11:57.882+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "036b0db1-bf79-4821-a30a-2939d87492d1",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.4,
            "w": 0.4,
            "x": 0.05,
            "y": 0.35
          },
          "kind": "chart",
          "text": "2015 Revenue Share",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Chart",
              "slug": "chart",
              "status": "active",
              "canonId": "019de52c-f9a0-76ef-adc6-0b859109d1f8",
              "version": 1,
              "description": "Quantitative chart."
            },
            "tool": null,
            "subkind": {
              "name": "Donut chart",
              "slug": "donut",
              "status": "active",
              "canonId": "019de52d-0006-752c-9528-0fef476b8004",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "donut",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:11:57.882+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "bb11edd9-f34b-4af3-b66a-ae457abc12db",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Revenue share by campaign type: 73%",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:46:55+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-dfa2-7185-b39d-26ae93c8ad2e",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.08,
            "w": 0.9,
            "x": 0.05,
            "y": 0.2
          },
          "kind": "paragraph",
          "text": "Direct Response campaigns decreased from 2015 to 2016, as a percent of total revenue, while Brand Awareness campaigns increased. Branded Content made its revenue generating debut.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "5f2affc0-941d-4d07-959d-4bfc1930cea4",
              "version": 1,
              "description": "Single prose block in the body of a slide."
            },
            "tool": null,
            "subkind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "019de52c-fb80-75af-aa5c-a7a4bfac2433",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "paragraph",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:11:57.882+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "e6a14818-03e6-45df-9526-52351b95b88b",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.3,
            "x": 0.05,
            "y": 0.95
          },
          "kind": "source-note",
          "text": "IAB Podcast Ad Revenue Study, June 2017",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Source note",
              "slug": "source-note",
              "status": "active",
              "canonId": "23484952-494b-4a5e-b1ad-550d0d70e948",
              "version": 1,
              "description": "Attribution / source / caveat placed at the slide footer. Numbered footnotes use attrs.numbered."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:11:57.882+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "7e75f9bc-a385-4208-bb26-0ece2ee09728",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.6,
            "x": 0.05,
            "y": 0.1
          },
          "kind": "title",
          "text": "Revenue by Campaign Type – 2015 to 2016",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:11:57.882+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "cc3badd9-3414-4a89-9c1b-c99b68de87a2",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "Action Titles",
            "slug": "action-titles",
            "status": "active",
            "bestFor": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
            "canonId": "019dd956-ac70-700b-a608-ba58e78f5dcc",
            "version": 1,
            "bodyDocId": "816dad3c-9983-41c1-a86e-978ebd582841",
            "description": "The McKinsey-bred discipline of writing every slide title as a complete declarative sentence with a verb and an insight, not a topic label. Each title is a sub-claim that ladders up to the deck's governing thought; read in sequence, the titles reconstruct the executive summary.",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Architect",
          "layer": "slide",
          "agents": [
            "Architect"
          ],
          "matchId": "019de958-45fa-7722-9f42-60c7fbaab277",
          "evidence": "Callout states the shift; title is descriptive",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
          "confidence": 55,
          "extraction": {
            "at": "2026-05-02 15:39:27.658783+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 10,
          "whyItWorks": "Solves two failure modes at once. (1) The buried claim: action titles place the conclusion on the page before any analysis is read, so a busy reader doesn't reverse-engineer it from the chart. (2) The spineless deck: because each title is a claim, slides have to ladder up to the governing thought; logical gaps become visible as topic-shaped titles in a sequence that no longer reads as a story.",
          "antipattern": "Topic labels disguised as titles — Volume by quarter, Key findings, Pricing strategy, Margins have been impacted. No verb, or a passive verb with no agent, or a fact (Revenue grew 12%) without the so-what. Also: titles that overreach the chart's evidence, multi-claim X-grew-but-Y-fell welded titles, and mechanical repetition of the same X-drove-Y template across the deck.",
          "cardinality": null,
          "narrativePurpose": "Forces the deck to carry its argument in the title bar so a senior reader can extract the recommendation without opening a single slide; converts a binder of topics into a navigable pyramid where every slide is a node defending the apex."
        },
        {
          "tool": {
            "name": "Color Strategy",
            "slug": "color-strategy",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-b202-77cf-8a6e-f445b08c0fd3",
            "version": 1,
            "bodyDocId": null,
            "description": "Using color for emphasis, categories, sentiment, and hierarchy",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "019de958-45cb-77a6-b56b-d8686a040365",
          "evidence": "Repeated palette completes segmentation triptych",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 75,
          "extraction": {
            "at": "2026-05-02 15:39:27.658783+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 10,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Small Multiples",
            "slug": "small-multiples",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-b32d-7586-b368-baa1dd388ed4",
            "version": 1,
            "bodyDocId": null,
            "description": "Repeating similar charts for comparison across categories or time",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "019de958-45a6-705a-8aa0-6d22733bb008",
          "evidence": "Paired donuts for 2015 vs 2016 campaign-type mix",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 90,
          "extraction": {
            "at": "2026-05-02 15:39:27.658783+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 10,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 10,
          "arc": {
            "name": "The Consultant's Gambit",
            "slug": "consultants-gambit",
            "status": "active",
            "bestFor": "Business cases, project proposals, strategic recommendations",
            "canonId": "019dd956-5e0a-73c8-b305-81c38c959e9c",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Situation & Context -> Problem & Complication -> Solution & Approach -> Evidence & Proof -> Impact & Next Steps",
            "description": null,
            "familyLabel": null
          },
          "from": 6,
          "name": "Evidence & Proof",
          "beatId": "019de958-3fa0-7663-b8cd-0f5f64e21cb1",
          "matchId": "019de958-3ed7-733a-993b-dd5eefebaef2",
          "beatType": null,
          "evidence": "p6-10 deliver charts: market size, growth, delivery/ad/campaign mix",
          "position": 4,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 75
        }
      ],
      "loops": [
        {
          "to": 10,
          "from": 8,
          "loop": {
            "name": "34_segmentation_split",
            "slug": "34-segmentation-split",
            "status": "active",
            "bestFor": "Customer analysis, market research, resource allocation",
            "canonId": "019dd956-7398-77a8-9a5f-2e4d39589f42",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Aggregate View -> Segment A Behavior -> Segment B Behavior -> The Insight in the Difference",
            "description": "Divide a whole into meaningful segments to reveal hidden patterns",
            "familyLabel": null
          },
          "matchId": "019de958-4040-741f-9b63-5c3a52c00c97",
          "evidence": "Three consecutive 2015-vs-2016 donut comparisons: delivery mechanism, ad mechanism, campaign type",
          "position": 2,
          "objective": "Slice ad revenue by three categorical dimensions to reveal mix shifts",
          "confidence": 85,
          "extraction": {
            "at": "2026-05-02 15:39:27.658783+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 11,
      "type": "appendix",
      "function": "other",
      "rawType": "appendix",
      "block": null,
      "metadata": {
        "slideType": "appendix",
        "slideTypeCanon": {
          "name": "Appendix",
          "slug": "appendix",
          "status": "active",
          "canonId": "019de52d-0762-71f8-b564-89ab863301cc",
          "version": 1,
          "description": null
        },
        "function": "other",
        "functionCanon": {
          "name": "Other (fallback)",
          "slug": "other",
          "status": "active",
          "canonId": "019de52d-15e1-75bc-99dc-07732380e2ce",
          "version": 1,
          "description": null
        },
        "density": "balanced",
        "densityScore": 36,
        "componentCount": 6,
        "textChars": 322,
        "nDataPoints": 0,
        "notes": null,
        "elementsJson": [
          "logo_grid"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 19:11:53.418+00",
          "seconds": 2.909,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5ca1-7489-b63a-1688bfd92139/11",
        "deck": "/decks/019dd923-5ca1-7489-b63a-1688bfd92139",
        "deckAnchor": "/decks/019dd923-5ca1-7489-b63a-1688bfd92139#slide-11",
        "deckJson": "/decks/019dd923-5ca1-7489-b63a-1688bfd92139.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.065,
            "w": 0.145,
            "x": 0.633,
            "y": 0.158
          },
          "kind": "image",
          "text": "PwC logo",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Image",
              "slug": "image",
              "status": "active",
              "canonId": "019de52c-f978-701f-a720-51d029d769e7",
              "version": 1,
              "description": "Photo, illustration, screenshot or icon."
            },
            "tool": null,
            "subkind": {
              "name": "Logo",
              "slug": "logo",
              "status": "active",
              "canonId": "019de52c-fdaf-743d-94c4-d7c6a0e55302",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "logo",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:11:53.418+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "33ca0d49-680f-4ac6-ba1c-a7006fc1456b",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.065,
            "w": 0.126,
            "x": 0.058,
            "y": 0.237
          },
          "kind": "image",
          "text": "IAB logo",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Image",
              "slug": "image",
              "status": "active",
              "canonId": "019de52c-f978-701f-a720-51d029d769e7",
              "version": 1,
              "description": "Photo, illustration, screenshot or icon."
            },
            "tool": null,
            "subkind": {
              "name": "Logo",
              "slug": "logo",
              "status": "active",
              "canonId": "019de52c-fdaf-743d-94c4-d7c6a0e55302",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "logo",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:11:53.418+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "9dcec2ef-542e-4027-aca0-886fc4ced2f6",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.23,
            "w": 0.25,
            "x": 0.633,
            "y": 0.385
          },
          "kind": "list",
          "text": "David Silverman, Partner, Assurance Services, david.silverman@pwc.com; Brian Gaffney, Manager, Advisory Services, brian.gaffney@pwc.com",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "List",
              "slug": "list",
              "status": "active",
              "canonId": "019de52c-f94b-779b-a53b-fd4904a5f4d2",
              "version": 1,
              "description": "Bullet or numbered list."
            },
            "tool": null,
            "subkind": {
              "name": "Bullet list",
              "slug": "bullet",
              "status": "active",
              "canonId": "019de52c-fc98-7169-a083-5cab805076ca",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bullet",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:11:53.418+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "20b217ee-dd5b-4e2c-81f5-6e8bb1574028",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.23,
            "w": 0.25,
            "x": 0.058,
            "y": 0.385
          },
          "kind": "list",
          "text": "Kristina Sruoginis, Research Director, IAB, Kristina@IAB.com; Jennifer Lane, Audio Industry Lead, IAB, Jennifer.Lane@IAB.com",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "List",
              "slug": "list",
              "status": "active",
              "canonId": "019de52c-f94b-779b-a53b-fd4904a5f4d2",
              "version": 1,
              "description": "Bullet or numbered list."
            },
            "tool": null,
            "subkind": {
              "name": "Bullet list",
              "slug": "bullet",
              "status": "active",
              "canonId": "019de52c-fc98-7169-a083-5cab805076ca",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bullet",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:11:53.418+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "9c535b5e-dea4-4349-80c5-4b3db01b8e1c",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.257,
            "x": 0.058,
            "y": 0.945
          },
          "kind": "paragraph",
          "text": "IAB Podcast Ad Revenue Study, June 2017",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "5f2affc0-941d-4d07-959d-4bfc1930cea4",
              "version": 1,
              "description": "Single prose block in the body of a slide."
            },
            "tool": null,
            "subkind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "019de52c-fb80-75af-aa5c-a7a4bfac2433",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "paragraph",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:11:53.418+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "bbd968c9-d1fd-479c-a48c-81f4f19e0327",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.051,
            "w": 0.191,
            "x": 0.058,
            "y": 0.108
          },
          "kind": "title",
          "text": "Contacts",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:11:53.418+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "c4a8c86c-0013-455f-872f-b6ec77816787",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 14,
          "arc": {
            "name": "The Consultant's Gambit",
            "slug": "consultants-gambit",
            "status": "active",
            "bestFor": "Business cases, project proposals, strategic recommendations",
            "canonId": "019dd956-5e0a-73c8-b305-81c38c959e9c",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Situation & Context -> Problem & Complication -> Solution & Approach -> Evidence & Proof -> Impact & Next Steps",
            "description": null,
            "familyLabel": null
          },
          "from": 11,
          "name": "Impact & Next Steps",
          "beatId": "019de958-3fe5-718a-8363-f01482c00bbf",
          "matchId": "019de958-3ed7-733a-993b-dd5eefebaef2",
          "beatType": null,
          "evidence": "p11-14 contacts, firm credentials, disclaimer (weak next-steps)",
          "position": 5,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 75
        }
      ],
      "loops": [],
      "locked": true
    },
    {
      "page": 12,
      "type": "appendix",
      "function": "summarize",
      "rawType": "other",
      "block": null,
      "metadata": {
        "slideType": "other",
        "slideTypeCanon": {
          "name": "Other (fallback)",
          "slug": "other",
          "status": "active",
          "canonId": "019de52d-0af5-71ed-83de-d51ae245fc43",
          "version": 1,
          "description": null
        },
        "function": "summarize",
        "functionCanon": {
          "name": "Summarize",
          "slug": "summarize",
          "status": "active",
          "canonId": "019de52d-1541-704f-b86f-bf7b75056373",
          "version": 1,
          "description": null
        },
        "density": "balanced",
        "densityScore": 49,
        "componentCount": 4,
        "textChars": 1228,
        "nDataPoints": 1,
        "notes": null,
        "elementsJson": [
          "headline_text",
          "paragraph",
          "bullet_list"
        ],
        "confidence": 0.9,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 21:24:08.265+00",
          "seconds": 5.661,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5ca1-7489-b63a-1688bfd92139/12",
        "deck": "/decks/019dd923-5ca1-7489-b63a-1688bfd92139",
        "deckAnchor": "/decks/019dd923-5ca1-7489-b63a-1688bfd92139#slide-12",
        "deckJson": "/decks/019dd923-5ca1-7489-b63a-1688bfd92139.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.35,
            "w": 0.5,
            "x": 0.05,
            "y": 0.55
          },
          "kind": "list",
          "text": "Business assurance services; Web audience measurement and advertising delivery auditing and advisory; IAB Measurement Certification Compliance auditing; Privacy policy structuring, attestation, and compliance advisory; Mergers & acquisitions assistance; Tax planning and compliance; Capital sourcing and IPO assistance; Marketing & Media operations enablement",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "List",
              "slug": "list",
              "status": "active",
              "canonId": "019de52c-f94b-779b-a53b-fd4904a5f4d2",
              "version": 1,
              "description": "Bullet or numbered list."
            },
            "tool": null,
            "subkind": {
              "name": "Bullet list",
              "slug": "bullet",
              "status": "active",
              "canonId": "019de52c-fc98-7169-a083-5cab805076ca",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bullet",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 21:24:08.265+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "ff685cfd-6bd2-404b-9501-52f28bc7ca12",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.25,
            "w": 0.9,
            "x": 0.05,
            "y": 0.25
          },
          "kind": "paragraph",
          "text": "With approximately 1,200 practitioners serving TMT clients in the United States, PwC is deeply committed to providing clients with industry experience and resources. In recent years, our pioneering work in TMT has included developing strategies to leverage digital technology, identifying new sources of financing, and marketplace positioning in industries characterized by consolidation and transformation. Our experience reaches across all geographies and segments of the TMT sector, including broadband, wireless, the internet, music, film, television, publishing, advertising, gaming, theme parks, computers and networking, and software. With thousands of practitioners around the world, we're always close at hand to provide deep industry knowledge and resources.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "5f2affc0-941d-4d07-959d-4bfc1930cea4",
              "version": 1,
              "description": "Single prose block in the body of a slide."
            },
            "tool": null,
            "subkind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "019de52c-fb80-75af-aa5c-a7a4bfac2433",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "paragraph",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 21:24:08.265+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "474021ad-a93d-4604-a938-7ec93767cbc1",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.3,
            "x": 0.05,
            "y": 0.95
          },
          "kind": "source-note",
          "text": "IAB Podcast Ad Revenue Study, June 2017",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Source note",
              "slug": "source-note",
              "status": "active",
              "canonId": "23484952-494b-4a5e-b1ad-550d0d70e948",
              "version": 1,
              "description": "Attribution / source / caveat placed at the slide footer. Numbered footnotes use attrs.numbered."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 21:24:08.265+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "3f82c1ee-a42b-4f43-89cf-b77273a5581e",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.9,
            "x": 0.05,
            "y": 0.1
          },
          "kind": "title",
          "text": "PwC's Technology, Media, and Telecommunications (TMT) practice",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 21:24:08.265+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "40d9aafd-e0b0-49ee-a0a8-309f0fa5253c",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "Credibility Transfer",
            "slug": "credibility-transfer",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-bd34-759a-8e3b-2f14b571a2a1",
            "version": 1,
            "bodyDocId": null,
            "description": "Borrowing authority from trusted sources or vivid details",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Storyteller",
          "layer": "slide",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019de958-462a-7465-a62a-d78d0a355a50",
          "evidence": "PwC TMT credentials added at deck close",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 75,
          "extraction": {
            "at": "2026-05-02 15:39:27.658783+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 12,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 14,
          "arc": {
            "name": "The Consultant's Gambit",
            "slug": "consultants-gambit",
            "status": "active",
            "bestFor": "Business cases, project proposals, strategic recommendations",
            "canonId": "019dd956-5e0a-73c8-b305-81c38c959e9c",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Situation & Context -> Problem & Complication -> Solution & Approach -> Evidence & Proof -> Impact & Next Steps",
            "description": null,
            "familyLabel": null
          },
          "from": 11,
          "name": "Impact & Next Steps",
          "beatId": "019de958-3fe5-718a-8363-f01482c00bbf",
          "matchId": "019de958-3ed7-733a-993b-dd5eefebaef2",
          "beatType": null,
          "evidence": "p11-14 contacts, firm credentials, disclaimer (weak next-steps)",
          "position": 5,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 75
        }
      ],
      "loops": [],
      "locked": true
    },
    {
      "page": 13,
      "type": "appendix",
      "function": "other",
      "rawType": "appendix",
      "block": null,
      "metadata": {
        "slideType": "appendix",
        "slideTypeCanon": {
          "name": "Appendix",
          "slug": "appendix",
          "status": "active",
          "canonId": "019de52d-0762-71f8-b564-89ab863301cc",
          "version": 1,
          "description": null
        },
        "function": "other",
        "functionCanon": {
          "name": "Other (fallback)",
          "slug": "other",
          "status": "active",
          "canonId": "019de52d-15e1-75bc-99dc-07732380e2ce",
          "version": 1,
          "description": null
        },
        "density": "sparse",
        "densityScore": 15,
        "componentCount": 3,
        "textChars": 271,
        "nDataPoints": 0,
        "notes": null,
        "elementsJson": [
          "paragraph"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 19:11:55.217+00",
          "seconds": 4.405,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5ca1-7489-b63a-1688bfd92139/13",
        "deck": "/decks/019dd923-5ca1-7489-b63a-1688bfd92139",
        "deckAnchor": "/decks/019dd923-5ca1-7489-b63a-1688bfd92139#slide-13",
        "deckJson": "/decks/019dd923-5ca1-7489-b63a-1688bfd92139.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.236,
            "w": 0.236,
            "x": 0.058,
            "y": 0.308
          },
          "kind": "list",
          "text": "David Silverman\nPartner, Assurance Services\n646.471.5421\ndavid.silverman@pwc.com\n\nBrian Gaffney\nManager, Advisory Services\n646.471.4722\nbrian.gaffney@pwc.com",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "List",
              "slug": "list",
              "status": "active",
              "canonId": "019de52c-f94b-779b-a53b-fd4904a5f4d2",
              "version": 1,
              "description": "Bullet or numbered list."
            },
            "tool": null,
            "subkind": {
              "name": "Bullet list",
              "slug": "bullet",
              "status": "active",
              "canonId": "019de52c-fc98-7169-a083-5cab805076ca",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bullet",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:11:55.217+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "3056660e-022a-45da-9586-427de3d4f6bb",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.022,
            "w": 0.473,
            "x": 0.058,
            "y": 0.261
          },
          "kind": "paragraph",
          "text": "For information, contact one of the following PwC professionals:",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "5f2affc0-941d-4d07-959d-4bfc1930cea4",
              "version": 1,
              "description": "Single prose block in the body of a slide."
            },
            "tool": null,
            "subkind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "019de52c-fb80-75af-aa5c-a7a4bfac2433",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "paragraph",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:11:55.217+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "cf49a5db-524a-4599-81eb-0d2abc277d56",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.044,
            "w": 0.763,
            "x": 0.058,
            "y": 0.108
          },
          "kind": "title",
          "text": "Technology, Media, and Telecommunications practice",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:11:55.217+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "7072fca8-cdb2-416c-b495-5940bf959f33",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 14,
          "arc": {
            "name": "The Consultant's Gambit",
            "slug": "consultants-gambit",
            "status": "active",
            "bestFor": "Business cases, project proposals, strategic recommendations",
            "canonId": "019dd956-5e0a-73c8-b305-81c38c959e9c",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Situation & Context -> Problem & Complication -> Solution & Approach -> Evidence & Proof -> Impact & Next Steps",
            "description": null,
            "familyLabel": null
          },
          "from": 11,
          "name": "Impact & Next Steps",
          "beatId": "019de958-3fe5-718a-8363-f01482c00bbf",
          "matchId": "019de958-3ed7-733a-993b-dd5eefebaef2",
          "beatType": null,
          "evidence": "p11-14 contacts, firm credentials, disclaimer (weak next-steps)",
          "position": 5,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 75
        }
      ],
      "loops": [],
      "locked": true
    },
    {
      "page": 14,
      "type": "setup",
      "function": "other",
      "rawType": "disclaimer",
      "block": null,
      "metadata": {
        "slideType": "disclaimer",
        "slideTypeCanon": {
          "name": "Disclaimer",
          "slug": "disclaimer",
          "status": "active",
          "canonId": "019de52d-0801-727b-b98a-5ed095aeee78",
          "version": 1,
          "description": null
        },
        "function": "other",
        "functionCanon": {
          "name": "Other (fallback)",
          "slug": "other",
          "status": "active",
          "canonId": "019de52d-15e1-75bc-99dc-07732380e2ce",
          "version": 1,
          "description": null
        },
        "density": "balanced",
        "densityScore": 37,
        "componentCount": 2,
        "textChars": 1223,
        "nDataPoints": 0,
        "notes": null,
        "elementsJson": [
          "paragraph"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 19:11:53.112+00",
          "seconds": 2.297,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5ca1-7489-b63a-1688bfd92139/14",
        "deck": "/decks/019dd923-5ca1-7489-b63a-1688bfd92139",
        "deckAnchor": "/decks/019dd923-5ca1-7489-b63a-1688bfd92139#slide-14",
        "deckJson": "/decks/019dd923-5ca1-7489-b63a-1688bfd92139.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.25,
            "w": 0.9,
            "x": 0.05,
            "y": 0.68
          },
          "kind": "disclaimer",
          "text": "PricewaterhouseCoopers has exercised reasonable care in the collecting, processing, and reporting of this information but has not independently verified, validated, or audited the data to verify the accuracy or completeness of the information. PricewaterhouseCoopers gives no express or implied warranties, including but not limited to any warranties of merchantability or fitness for a particular purpose or use and shall not be liable to any entity or person using this document, or have any liability with respect to this document. This report is for general purposes only, and is not a substitute for consultation with professional advisors. At PwC, our purpose is to build trust in society and solve important problems. PwC is a network of firms in 157 countries with more than 223,000 people who are committed to delivering quality in assurance, advisory and tax services. Find out more and tell us what matters to you by visiting us at www.pwc.com/US. © 2017 PwC. All rights reserved. PwC refers to the US member firm or one of its subsidiaries or affiliates, and may sometimes refer to the PwC network. Each member firm is a separate legal entity. Please see www.pwc.com/structure for further details.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Disclaimer",
              "slug": "disclaimer",
              "status": "active",
              "canonId": "91173477-d91f-4024-bbaf-d4f93e3f82dc",
              "version": 1,
              "description": "Legal/cautionary text that occupies most of the body of its slide."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:11:53.112+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "6a84ee0a-d381-4da7-9755-f2d9860f997c",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.08,
            "w": 0.35,
            "x": 0.05,
            "y": 0.08
          },
          "kind": "title",
          "text": "pwc.com/us/tmt",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:11:53.112+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "cfacc757-bdc7-4a30-bdd5-a1b69d563f5e",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 14,
          "arc": {
            "name": "The Consultant's Gambit",
            "slug": "consultants-gambit",
            "status": "active",
            "bestFor": "Business cases, project proposals, strategic recommendations",
            "canonId": "019dd956-5e0a-73c8-b305-81c38c959e9c",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Situation & Context -> Problem & Complication -> Solution & Approach -> Evidence & Proof -> Impact & Next Steps",
            "description": null,
            "familyLabel": null
          },
          "from": 11,
          "name": "Impact & Next Steps",
          "beatId": "019de958-3fe5-718a-8363-f01482c00bbf",
          "matchId": "019de958-3ed7-733a-993b-dd5eefebaef2",
          "beatType": null,
          "evidence": "p11-14 contacts, firm credentials, disclaimer (weak next-steps)",
          "position": 5,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 75
        }
      ],
      "loops": [],
      "locked": true
    }
  ],
  "arcBeats": [
    {
      "from": 1,
      "to": 3,
      "label": "Situation & Context",
      "description": "Cover, sponsor grid, outline establish topic and credibility"
    },
    {
      "from": 4,
      "to": 4,
      "label": "Problem & Complication",
      "description": "p4 callout: 'range in published estimates was too wide to be reliable'"
    },
    {
      "from": 5,
      "to": 5,
      "label": "Solution & Approach",
      "description": "p5 lays out survey scope and methodology rigor"
    },
    {
      "from": 6,
      "to": 10,
      "label": "Evidence & Proof",
      "description": "p6-10 deliver charts: market size, growth, delivery/ad/campaign mix"
    },
    {
      "from": 11,
      "to": 14,
      "label": "Impact & Next Steps",
      "description": "p11-14 contacts, firm credentials, disclaimer (weak next-steps)"
    }
  ],
  "loops": [
    {
      "from": 6,
      "to": 7,
      "label": "Pattern Hunter",
      "description": "Stack annual + quarterly evidence to prove rapid market growth"
    },
    {
      "from": 8,
      "to": 10,
      "label": "Segmentation Split",
      "description": "Slice ad revenue by three categorical dimensions to reveal mix shifts"
    }
  ]
}