{
  "schemaVersion": "deck-intelligence.v1",
  "id": "019dd923-5e88-73ef-bd5d-853951586965",
  "slug": "76ea6cc397533e35",
  "title": "2022 Benedict Evans 2022 The New Gatekeepers",
  "subtitle": "Benedict Evans",
  "author": "Benedict Evans",
  "pageCount": 103,
  "kind": "consulting-deck",
  "orientation": "landscape",
  "aspectRatio": 1.778,
  "document": {
    "id": "019dd923-5e88-73ef-bd5d-853951586965",
    "slug": "76ea6cc397533e35",
    "title": "2022 Benedict Evans 2022 The New Gatekeepers",
    "rawTitle": "2022 Benedict Evans 2022 The New Gatekeepers",
    "authorId": "BenedictEvans",
    "authorName": "Benedict Evans",
    "authorDisplay": "Benedict Evans",
    "kind": {
      "slug": "consulting-deck",
      "label": "Consulting deck"
    },
    "sourceType": {
      "slug": "independent_analyst",
      "label": "Independent analyst"
    },
    "fileName": "2022-Benedict-Evans-2022-The-New-Gatekeepers.pdf",
    "sourceUrl": "www.ben-evans.com",
    "sourceDate": "2022-11-01 00:00:00",
    "presentationDate": null,
    "ingestedAt": "2026-04-25 11:55:50+00",
    "status": "ready",
    "pageCount": 103,
    "orientation": "landscape",
    "aspectRatio": 1.778,
    "targetCompany": null,
    "targetTicker": null,
    "metadata": {
      "local_root": "/tmp/legacy-images/76ea6cc397533e35",
      "origin_corpus": "consulting"
    }
  },
  "coverage": {
    "pageCount": 103,
    "pagesIndexed": 103,
    "pagesWithImages": 103,
    "pagesWithMetadata": 103,
    "imageCoveragePct": 100,
    "metadataCoveragePct": 100,
    "componentCount": 558,
    "chartCount": 63,
    "metricSlides": 0,
    "toolMatches": 223,
    "documentToolMatches": 0,
    "frameworkMatches": 17,
    "arcMatches": 2,
    "beatMatches": 7,
    "loopMatches": 11,
    "patternMatches": 0,
    "storymakersMatch": true,
    "scoreAvailable": true,
    "reviewAvailable": true,
    "activistThesisAvailable": false,
    "pitchdeckMetadataAvailable": false,
    "pitchdeckProfileAvailable": false
  },
  "blocks": [],
  "matches": {
    "arcs": [
      {
        "arc": {
          "name": "The Triple Take",
          "slug": "triple-take",
          "status": "active",
          "bestFor": "Data-driven presentations, research findings",
          "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
          "version": 1,
          "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
          "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
          "description": null,
          "familyLabel": null,
          "categoryName": "Analysis & Information",
          "categorySlug": "analysis-information"
        },
        "matchId": "019dd95a-0543-7581-99b3-5568450d33ea",
        "evidence": "Agenda (p2) names three pillars exactly mapping to Facts/Implications/Action: 'End of free money', 'New gatekeepers', 'Dreams for the future' (sections at p3, p18, p70).",
        "isPrimary": true,
        "confidence": 82,
        "extraction": {
          "at": "2026-04-29 13:07:28.977035+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        }
      },
      {
        "arc": {
          "name": "The Mountain",
          "slug": "mountain",
          "status": "active",
          "bestFor": "Case studies, success stories, dramatic reveals",
          "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
          "version": 1,
          "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
          "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
          "description": null,
          "familyLabel": null,
          "categoryName": "Analysis & Information",
          "categorySlug": "analysis-information"
        },
        "matchId": "019dd95a-0543-7581-99b3-5836e9006609",
        "evidence": "Setup macro stakes -> rising tour through gatekeeper categories -> 'market reset' climax p67 -> resolution in future bets p70+.",
        "isPrimary": false,
        "confidence": 60,
        "extraction": {
          "at": "2026-04-29 13:07:28.977035+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        }
      }
    ],
    "beats": [
      {
        "to": 17,
        "arc": {
          "name": "The Triple Take",
          "slug": "triple-take",
          "status": "active",
          "bestFor": "Data-driven presentations, research findings",
          "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
          "version": 1,
          "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
          "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
          "description": null,
          "familyLabel": null,
          "categoryName": "Analysis & Information",
          "categorySlug": "analysis-information"
        },
        "from": 3,
        "name": "The Facts (What)",
        "beatId": "019dd95a-07a7-7579-bd65-0e7f8fe4365a",
        "matchId": "019dd95a-0543-7581-99b3-5568450d33ea",
        "beatType": {
          "name": "The Facts (What)",
          "slug": "triple-take-the-facts-what",
          "status": "active",
          "canonId": "019dd9b8-092b-754c-8eaa-ede3ffdcb060",
          "version": 1,
          "description": null
        },
        "evidence": "'End of free money' divider p3; macro data, layoffs, hiring perspective",
        "position": 1,
        "isPrimaryArc": true,
        "parentBeatType": {
          "name": "Setup",
          "slug": "setup",
          "status": "active",
          "canonId": "019dd9b8-020e-7505-af9b-d9b9a4679bcc",
          "version": 1,
          "description": "Where the deck grounds the reader before doing anything else. Almost every arc opens here."
        },
        "alignedBlockIds": null,
        "matchConfidence": 82
      },
      {
        "to": 69,
        "arc": {
          "name": "The Triple Take",
          "slug": "triple-take",
          "status": "active",
          "bestFor": "Data-driven presentations, research findings",
          "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
          "version": 1,
          "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
          "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
          "description": null,
          "familyLabel": null,
          "categoryName": "Analysis & Information",
          "categorySlug": "analysis-information"
        },
        "from": 18,
        "name": "The Implications (So What)",
        "beatId": "019dd95a-07a7-7579-bd65-11bd74463cfe",
        "matchId": "019dd95a-0543-7581-99b3-5568450d33ea",
        "beatType": {
          "name": "The Implications (So What)",
          "slug": "triple-take-the-implications-so-what",
          "status": "active",
          "canonId": "019dd9b8-09c7-75cd-8c7b-ae0e23cca2b8",
          "version": 1,
          "description": null
        },
        "evidence": "'The New Gatekeepers' divider p18; retail media, unbundling, brand reset",
        "position": 2,
        "isPrimaryArc": true,
        "parentBeatType": {
          "name": "Reflection",
          "slug": "reflection",
          "status": "active",
          "canonId": "019dd9b8-0510-73fd-8d00-1c7e45f7bc98",
          "version": 1,
          "description": "The \"so what\" beat. Used by analytical arcs (Triple-take, Onion) and learning arcs (Voyage-return, Tragedy)."
        },
        "alignedBlockIds": null,
        "matchConfidence": 82
      },
      {
        "to": 100,
        "arc": {
          "name": "The Triple Take",
          "slug": "triple-take",
          "status": "active",
          "bestFor": "Data-driven presentations, research findings",
          "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
          "version": 1,
          "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
          "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
          "description": null,
          "familyLabel": null,
          "categoryName": "Analysis & Information",
          "categorySlug": "analysis-information"
        },
        "from": 70,
        "name": "The Action (Now What)",
        "beatId": "019dd95a-07a7-7579-bd65-14aeb33da1bd",
        "matchId": "019dd95a-0543-7581-99b3-5568450d33ea",
        "beatType": {
          "name": "The Action (Now What)",
          "slug": "triple-take-the-action-now-what",
          "status": "active",
          "canonId": "019dd9b8-0a5e-735a-bf53-3a1ba629b7aa",
          "version": 1,
          "description": null
        },
        "evidence": "'Dreams for the Future' p70; metaverse, generative AI bets, JTBD questions",
        "position": 3,
        "isPrimaryArc": true,
        "parentBeatType": {
          "name": "Resolution",
          "slug": "resolution",
          "status": "active",
          "canonId": "019dd9b8-045d-703b-8dd7-e92aba3ba91b",
          "version": 1,
          "description": "How the deck ends. Required in 19/20 arcs. The exception (Sparkline) ends with new bliss which is functionally a resolution."
        },
        "alignedBlockIds": null,
        "matchConfidence": 82
      },
      {
        "to": 17,
        "arc": {
          "name": "The Mountain",
          "slug": "mountain",
          "status": "active",
          "bestFor": "Case studies, success stories, dramatic reveals",
          "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
          "version": 1,
          "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
          "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
          "description": null,
          "familyLabel": null,
          "categoryName": "Analysis & Information",
          "categorySlug": "analysis-information"
        },
        "from": 3,
        "name": "Setup & Stakes",
        "beatId": "019dd95a-07a7-7579-bd65-1a88e53734ef",
        "matchId": "019dd95a-0543-7581-99b3-5836e9006609",
        "beatType": {
          "name": "Setup & Stakes",
          "slug": "mountain-setup-stakes",
          "status": "active",
          "canonId": "019dd9b8-18b5-77f3-8e4d-5dbbdb6aea1d",
          "version": 1,
          "description": null
        },
        "evidence": "macro shift framed as new context for tech",
        "position": 1,
        "isPrimaryArc": false,
        "parentBeatType": {
          "name": "Setup",
          "slug": "setup",
          "status": "active",
          "canonId": "019dd9b8-020e-7505-af9b-d9b9a4679bcc",
          "version": 1,
          "description": "Where the deck grounds the reader before doing anything else. Almost every arc opens here."
        },
        "alignedBlockIds": null,
        "matchConfidence": 60
      },
      {
        "to": 58,
        "arc": {
          "name": "The Mountain",
          "slug": "mountain",
          "status": "active",
          "bestFor": "Case studies, success stories, dramatic reveals",
          "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
          "version": 1,
          "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
          "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
          "description": null,
          "familyLabel": null,
          "categoryName": "Analysis & Information",
          "categorySlug": "analysis-information"
        },
        "from": 18,
        "name": "Rising Action",
        "beatId": "019dd95a-07a7-7579-bd65-1d44db232db5",
        "matchId": "019dd95a-0543-7581-99b3-5836e9006609",
        "beatType": {
          "name": "Rising Action",
          "slug": "mountain-rising-action",
          "status": "active",
          "canonId": "019dd9b8-1992-742b-be9c-85d0ebee0591",
          "version": 1,
          "description": null
        },
        "evidence": "category-by-category gatekeeper sweep: retail, media, content",
        "position": 2,
        "isPrimaryArc": false,
        "parentBeatType": {
          "name": "Development",
          "slug": "development",
          "status": "active",
          "canonId": "019dd9b8-0332-7008-b3aa-11b0840a57b1",
          "version": 1,
          "description": "The middle stretch in arcs that have one. Often where length problems creep in."
        },
        "alignedBlockIds": null,
        "matchConfidence": 60
      },
      {
        "to": 69,
        "arc": {
          "name": "The Mountain",
          "slug": "mountain",
          "status": "active",
          "bestFor": "Case studies, success stories, dramatic reveals",
          "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
          "version": 1,
          "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
          "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
          "description": null,
          "familyLabel": null,
          "categoryName": "Analysis & Information",
          "categorySlug": "analysis-information"
        },
        "from": 59,
        "name": "Climax",
        "beatId": "019dd95a-07a7-7579-bd65-217ee690948d",
        "matchId": "019dd95a-0543-7581-99b3-5836e9006609",
        "beatType": {
          "name": "Climax",
          "slug": "mountain-climax",
          "status": "active",
          "canonId": "019dd9b8-1a2a-762e-b86f-73c710f9aa68",
          "version": 1,
          "description": null
        },
        "evidence": "'A market reset' + 'blank canvas for new businesses' p67",
        "position": 3,
        "isPrimaryArc": false,
        "parentBeatType": {
          "name": "Turn",
          "slug": "turn",
          "status": "active",
          "canonId": "019dd9b8-0396-702b-ac2f-9901f8dd8b54",
          "version": 1,
          "description": "The pivot — solution proposed, catalyst introduced, decision made. Common (15/20 arcs) but not universal: Triple-take, AIDA, PAS, Voyage-return and Pixar substitute it with a strong reflection or development beat."
        },
        "alignedBlockIds": null,
        "matchConfidence": 60
      },
      {
        "to": 100,
        "arc": {
          "name": "The Mountain",
          "slug": "mountain",
          "status": "active",
          "bestFor": "Case studies, success stories, dramatic reveals",
          "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
          "version": 1,
          "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
          "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
          "description": null,
          "familyLabel": null,
          "categoryName": "Analysis & Information",
          "categorySlug": "analysis-information"
        },
        "from": 70,
        "name": "Resolution",
        "beatId": "019dd95a-07a7-7579-bd65-243a2d74e603",
        "matchId": "019dd95a-0543-7581-99b3-5836e9006609",
        "beatType": {
          "name": "Resolution",
          "slug": "mountain-resolution",
          "status": "active",
          "canonId": "019dd9b8-1ac2-777f-9a8f-ac543fee86f7",
          "version": 1,
          "description": null
        },
        "evidence": "future bets, generative AI, optimism close p100",
        "position": 4,
        "isPrimaryArc": false,
        "parentBeatType": {
          "name": "Resolution",
          "slug": "resolution",
          "status": "active",
          "canonId": "019dd9b8-045d-703b-8dd7-e92aba3ba91b",
          "version": 1,
          "description": "How the deck ends. Required in 19/20 arcs. The exception (Sparkline) ends with new bliss which is functionally a resolution."
        },
        "alignedBlockIds": null,
        "matchConfidence": 60
      }
    ],
    "loops": [
      {
        "to": 12,
        "from": 4,
        "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": "019dd95a-08f8-7619-ac2e-734e7c802a24",
        "evidence": "Repeated 'back to the trend line' titles across ecommerce, ads, valuations, venture (p5,6,9,10,11)",
        "position": 1,
        "objective": "Show macro slowdown across multiple indicators all reverting to trend",
        "confidence": 85,
        "extraction": {
          "at": "2026-04-29 13:07:29.779839+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        }
      },
      {
        "to": 17,
        "from": 13,
        "loop": {
          "name": "12_myth_buster",
          "slug": "12-myth-buster",
          "status": "active",
          "bestFor": "Rebranding, changing market perception, correcting false assumptions",
          "canonId": "019dd956-6aac-748b-b08d-f2b9c3727326",
          "version": 1,
          "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
          "structure": "The Common Belief -> The Friction/Failure of that Belief -> The New Truth",
          "description": "Address a common misconception head-on to clear the room for a new truth",
          "familyLabel": null,
          "categoryName": "Persuasion",
          "categorySlug": "persuasion"
        },
        "matchId": "019dd95a-08f8-7619-ac2e-77bdf34babcc",
        "evidence": "p14 'Some perspective': Meta laid off 11k but hired 15k; p16 'Glass half-empty/half-full' two-column",
        "position": 2,
        "objective": "Reframe layoff narrative with hiring context",
        "confidence": 78,
        "extraction": {
          "at": "2026-04-29 13:07:29.779839+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        }
      },
      {
        "to": 25,
        "from": 19,
        "loop": {
          "name": "04_tale_two_worlds",
          "slug": "04-tale-two-worlds",
          "status": "active",
          "bestFor": "Competitive analysis, benchmarking, case for change",
          "canonId": "019dd956-674f-750b-b15d-f082e2717f4e",
          "version": 1,
          "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
          "structure": "Current State -> Desired State / Benchmark -> The Gap & Implication",
          "description": "Show the gap between two states to drive urgency or highlight opportunity",
          "familyLabel": null,
          "categoryName": "Comparison",
          "categorySlug": "comparison"
        },
        "matchId": "019dd95a-08f8-7619-ac2e-792c8a06dcac",
        "evidence": "p19 'decline of old gatekeepers' immediately followed by p20 'rise of new ones'; Amazon overtakes Walmart",
        "position": 3,
        "objective": "Contrast decline of old gatekeepers with rise of new ones",
        "confidence": 82,
        "extraction": {
          "at": "2026-04-29 13:07:29.779839+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        }
      },
      {
        "to": 39,
        "from": 26,
        "loop": {
          "name": "03_aha_moment",
          "slug": "03-aha-moment",
          "status": "active",
          "bestFor": "Data-heavy sections, research findings, analytical arguments",
          "canonId": "019dd956-66f4-7668-ab25-cec9c996c0bc",
          "version": 1,
          "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
          "structure": "The Problem/Question -> What the Data Shows -> The Insight",
          "description": "Establish a tension, present data, then deliver the insight that changes everything",
          "familyLabel": null,
          "categoryName": "Narrative",
          "categorySlug": "narrative"
        },
        "matchId": "019dd95a-08f8-7619-ac2e-7e423a6ea565",
        "evidence": "Builds from 'how to reach customers' to Ads>Prime, Ads>AWS, retail media =10% share",
        "position": 4,
        "objective": "Reveal retail itself as the new advertising gatekeeper",
        "confidence": 80,
        "extraction": {
          "at": "2026-04-29 13:07:29.779839+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        }
      },
      {
        "to": 44,
        "from": 40,
        "loop": {
          "name": "09_precedent",
          "slug": "09-precedent",
          "status": "active",
          "bestFor": "Risk mitigation, strategy validation, building confidence in new approaches",
          "canonId": "019dd956-695f-7615-8f82-39d919918314",
          "version": 1,
          "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
          "structure": "The Precedent Case -> What Happened -> The Parallel -> Applied Learning",
          "description": "Use historical or external examples to validate your approach",
          "familyLabel": null,
          "categoryName": "Validation",
          "categorySlug": "validation"
        },
        "matchId": "019dd95a-08f8-7619-ac2e-83470125308a",
        "evidence": "p41 Anker $2bn case, p43-44 Shein 'new bundle and new channel build new global business'",
        "position": 5,
        "objective": "Use Anker/Shein as proof that new channels create new winners",
        "confidence": 75,
        "extraction": {
          "at": "2026-04-29 13:07:29.779839+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        }
      },
      {
        "to": 50,
        "from": 45,
        "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": "019dd95a-08f8-7619-ac2e-86e8448e4a9e",
        "evidence": "Same title repeated p45-47; UPCs, cable, streaming all unlocked slots",
        "position": 6,
        "objective": "Show 'new channels + new tech = new SKUs' pattern across retail/cable/streaming",
        "confidence": 80,
        "extraction": {
          "at": "2026-04-29 13:07:29.779839+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        }
      },
      {
        "to": 58,
        "from": 51,
        "loop": {
          "name": "21_before_after",
          "slug": "21-before-after",
          "status": "active",
          "bestFor": "Product demos, process improvements, ROI justification",
          "canonId": "019dd956-6e68-73fd-a295-fe90145c2da8",
          "version": 1,
          "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
          "structure": "The Old Way (Pain) -> The Moment of Change -> The New Way (Glory) -> The Measurable Delta",
          "description": "Show the dramatic contrast between the old way and the new way through side-by-side comparison",
          "familyLabel": null,
          "categoryName": "Comparison",
          "categorySlug": "comparison"
        },
        "matchId": "019dd95a-08f8-7619-ac2e-8b9d55219f3a",
        "evidence": "Blockbuster $5bn cap p51, Netflix vs YouTube p57, MrBeast vs top-10 Netflix p58",
        "position": 7,
        "objective": "Show legacy media's decline and streaming/creator-economy displacement",
        "confidence": 72,
        "extraction": {
          "at": "2026-04-29 13:07:29.779839+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        }
      },
      {
        "to": 69,
        "from": 59,
        "loop": {
          "name": "03_aha_moment",
          "slug": "03-aha-moment",
          "status": "active",
          "bestFor": "Data-heavy sections, research findings, analytical arguments",
          "canonId": "019dd956-66f4-7668-ab25-cec9c996c0bc",
          "version": 1,
          "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
          "structure": "The Problem/Question -> What the Data Shows -> The Insight",
          "description": "Establish a tension, present data, then deliver the insight that changes everything",
          "familyLabel": null,
          "categoryName": "Narrative",
          "categorySlug": "narrative"
        },
        "matchId": "019dd95a-08f8-7619-ac2e-8fd26fbad1b9",
        "evidence": "p64 'big brand bundle' -> p65 'unbundled' -> p67 'market reset, blank canvas'",
        "position": 8,
        "objective": "Land thesis: software unbundles every layer of the brand bundle",
        "confidence": 80,
        "extraction": {
          "at": "2026-04-29 13:07:29.779839+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        }
      },
      {
        "to": 77,
        "from": 71,
        "loop": {
          "name": "36_maturity_curve",
          "slug": "36-maturity-curve",
          "status": "active",
          "bestFor": "Digital transformation, capability building, benchmarking",
          "canonId": "019dd956-748d-7329-ad3a-5c550b66e275",
          "version": 1,
          "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
          "structure": "Current Maturity Level -> The Gap to Next Level -> Required Capabilities -> The Roadmap",
          "description": "Show where you are on a progression and what it takes to reach the next level",
          "familyLabel": null,
          "categoryName": "Consulting Framework",
          "categorySlug": "consulting-framework"
        },
        "matchId": "019dd95a-08f8-7619-ac2e-912ed90fbd12",
        "evidence": "p71 'Three steps to the future', p73 '2022 vs 2023 hype cycle turns', p77 'future can take a long time'",
        "position": 9,
        "objective": "Position crypto/metaverse against the hype-cycle curve",
        "confidence": 65,
        "extraction": {
          "at": "2026-04-29 13:07:29.779839+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        }
      },
      {
        "to": 91,
        "from": 78,
        "loop": {
          "name": "09_precedent",
          "slug": "09-precedent",
          "status": "active",
          "bestFor": "Risk mitigation, strategy validation, building confidence in new approaches",
          "canonId": "019dd956-695f-7615-8f82-39d919918314",
          "version": 1,
          "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
          "structure": "The Precedent Case -> What Happened -> The Parallel -> Applied Learning",
          "description": "Use historical or external examples to validate your approach",
          "familyLabel": null,
          "categoryName": "Validation",
          "categorySlug": "validation"
        },
        "matchId": "019dd95a-08f8-7619-ac2e-9463f9e3fcb7",
        "evidence": "p79 ImageNet 2013 'so what'; p81 'same moment with generative networks'; same callout repeated",
        "position": 10,
        "objective": "Argue generative AI is at the same 'cool demo / so what' moment as ImageNet 2013",
        "confidence": 85,
        "extraction": {
          "at": "2026-04-29 13:07:29.779839+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        }
      },
      {
        "to": 100,
        "from": 96,
        "loop": {
          "name": "53_jobs_to_be_done",
          "slug": "53-jobs-to-be-done",
          "status": "active",
          "bestFor": "Product innovation, market entry, competitive positioning",
          "canonId": "019dd956-7b6c-7594-b5b3-eecbe0ab48e8",
          "version": 1,
          "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
          "structure": "The Customer's Job -> Current Solutions (Hired/Fired) -> Unmet Needs -> Our Solution Fit",
          "description": "Reframe the problem around what the customer is trying to accomplish, not what they're buying",
          "familyLabel": null,
          "categoryName": "Consulting Framework",
          "categorySlug": "consulting-framework"
        },
        "matchId": "019dd95a-08f8-7619-ac2e-9afebceb8b60",
        "evidence": "p97-99 repeat 'What's the job to be done?'; p96 'car-commerce to e-commerce' reframes the job",
        "position": 11,
        "objective": "Reframe ecommerce/advertising via JTBD lens to close",
        "confidence": 70,
        "extraction": {
          "at": "2026-04-29 13:07:29.779839+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        }
      }
    ],
    "tools": [
      {
        "tool": {
          "name": "The Rule of Three",
          "slug": "the-rule-of-three",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-8962-75cf-b4f8-9394501a6f33",
          "version": 1,
          "bodyDocId": null,
          "description": "Ideas presented in threes are more memorable and satisfying",
          "familyLabel": null,
          "categoryName": "Block",
          "categorySlug": "block"
        },
        "agent": "Storyteller",
        "layer": "block",
        "agents": [
          "Storyteller"
        ],
        "matchId": "019dd95a-1b83-7130-933c-ace8fa4c349c",
        "evidence": "Three equally-weighted circular pillars on agenda",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 90,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 2,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Three Pillars",
          "slug": "three-pillars",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-81ef-7455-a365-b234d95a6bbb",
          "version": 1,
          "bodyDocId": null,
          "description": "Three major supporting arguments that are MECE and address key concerns",
          "familyLabel": null,
          "categoryName": "Block",
          "categorySlug": "block"
        },
        "agent": "Architect",
        "layer": "block",
        "agents": [
          "Architect"
        ],
        "matchId": "019dd95a-1b83-7130-933c-aa79e9b7c320",
        "evidence": "Agenda shows three labelled circles: free money / new gatekeepers / dreams",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": null,
        "confidence": 92,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 2,
        "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": "019dd95a-1b83-7130-933c-bd722b0d8ddc",
        "evidence": "Situates a complication right after the agenda",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": null,
        "confidence": 65,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 4,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "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": "019dd95a-1b83-7130-933c-e88c6ed3bd60",
        "evidence": "Callout asks 'The end of 20% annual revenue growth?'",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 65,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 8,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "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": "019dd95a-1b83-7130-933d-0fdcb3a544a7",
        "evidence": "Title 'Some perspective, though' opens loop on layoff narrative",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 70,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 14,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Before-After-Bridge",
          "slug": "before-after-bridge",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-8604-7188-883f-42370288ad05",
          "version": 1,
          "bodyDocId": null,
          "description": "Narrative structure: Paint the before, show the after, explain the bridge",
          "familyLabel": null,
          "categoryName": "Block",
          "categorySlug": "block"
        },
        "agent": "Storyteller",
        "layer": "block",
        "agents": [
          "Storyteller"
        ],
        "matchId": "019dd95a-1b83-7130-933d-30af05ca6ad5",
        "evidence": "Opens before/after frame against next slide",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 70,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 19,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "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": "019dd95a-1b83-7130-933d-67ca019bc6ca",
        "evidence": "Question title 'How do you reach your customers?' opens loop",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 75,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 26,
        "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": "019dd95a-1b83-7130-933d-69f77afcea96",
        "evidence": "Sets up complication: rent/ads/pricing budgets merge",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": null,
        "confidence": 60,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 26,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "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": "019dd95a-1b83-7130-933d-d3682eb24a09",
        "evidence": "Question subhead about Chinese smartphone-only brand overtaking leaders",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 70,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 43,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "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": "019dd95a-1b83-7130-933e-16d3cbe84c31",
        "evidence": "Title 'Something missing, though?' opens an information gap",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 80,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 55,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "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": "019dd95a-1b83-7130-933e-31e5535d3186",
        "evidence": "Question title 'What is TV anyway?' opens reframing",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 75,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 59,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "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": "019dd95a-1b83-7130-933e-3c5277418223",
        "evidence": "Question 'But where does that happen?' opens framework",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 70,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 61,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Before-After-Bridge",
          "slug": "before-after-bridge",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-8604-7188-883f-42370288ad05",
          "version": 1,
          "bodyDocId": null,
          "description": "Narrative structure: Paint the before, show the after, explain the bridge",
          "familyLabel": null,
          "categoryName": "Block",
          "categorySlug": "block"
        },
        "agent": "Storyteller",
        "layer": "block",
        "agents": [
          "Storyteller"
        ],
        "matchId": "019dd95a-1b83-7130-933e-5281891f4a55",
        "evidence": "Sets up 'before' state of brand bundle to be unbundled next slide",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 80,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 64,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "The Rule of Three",
          "slug": "the-rule-of-three",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-8962-75cf-b4f8-9394501a6f33",
          "version": 1,
          "bodyDocId": null,
          "description": "Ideas presented in threes are more memorable and satisfying",
          "familyLabel": null,
          "categoryName": "Block",
          "categorySlug": "block"
        },
        "agent": "Storyteller",
        "layer": "block",
        "agents": [
          "Storyteller"
        ],
        "matchId": "019dd95a-1b83-7130-933e-6c236790aa09",
        "evidence": "Three parallel comparisons on a single slide",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 88,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 66,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "The Rule of Three",
          "slug": "the-rule-of-three",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-8962-75cf-b4f8-9394501a6f33",
          "version": 1,
          "bodyDocId": null,
          "description": "Ideas presented in threes are more memorable and satisfying",
          "familyLabel": null,
          "categoryName": "Block",
          "categorySlug": "block"
        },
        "agent": "Storyteller",
        "layer": "block",
        "agents": [
          "Storyteller"
        ],
        "matchId": "019dd95a-1b83-7130-933e-9581321f82f5",
        "evidence": "'Three steps to the future' explicit triadic framing",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 80,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 71,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Three Pillars",
          "slug": "three-pillars",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-81ef-7455-a365-b234d95a6bbb",
          "version": 1,
          "bodyDocId": null,
          "description": "Three major supporting arguments that are MECE and address key concerns",
          "familyLabel": null,
          "categoryName": "Block",
          "categorySlug": "block"
        },
        "agent": "Architect",
        "layer": "block",
        "agents": [
          "Architect"
        ],
        "matchId": "019dd95a-1b83-7130-933e-9899a8e98fe5",
        "evidence": "Diagram organises future into three pillars",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": null,
        "confidence": 70,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 71,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Before-After-Bridge",
          "slug": "before-after-bridge",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-8604-7188-883f-42370288ad05",
          "version": 1,
          "bodyDocId": null,
          "description": "Narrative structure: Paint the before, show the after, explain the bridge",
          "familyLabel": null,
          "categoryName": "Block",
          "categorySlug": "block"
        },
        "agent": "Storyteller",
        "layer": "block",
        "agents": [
          "Storyteller"
        ],
        "matchId": "019dd95a-1b83-7130-933e-9dd4194e5661",
        "evidence": "Comparison table 2022 vs 2023 — explicit before/after of hype",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 80,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 73,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "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": "019dd95a-1b83-7130-933e-d2f769e7981f",
        "evidence": "Three open questions stacked: how many queries? where do ads go? how sold?",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 85,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 85,
        "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": "019dd95a-1b83-7130-933e-d5c98ee28a18",
        "evidence": "Frames the unresolved problem space",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 60,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 85,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "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": "019dd95a-1b83-7130-933e-e57e09314ce2",
        "evidence": "Asks 'when can Shein create products in response to searches'",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 70,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 88,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "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": "019dd95a-1b83-7130-933e-ef6c011968c8",
        "evidence": "Question title '(And how much Moore's Law will this need?)'",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 70,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 90,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "The Rule of Three",
          "slug": "the-rule-of-three",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-8962-75cf-b4f8-9394501a6f33",
          "version": 1,
          "bodyDocId": null,
          "description": "Ideas presented in threes are more memorable and satisfying",
          "familyLabel": null,
          "categoryName": "Block",
          "categorySlug": "block"
        },
        "agent": "Storyteller",
        "layer": "block",
        "agents": [
          "Storyteller"
        ],
        "matchId": "019dd95a-1b83-7130-933e-f85ad827995d",
        "evidence": "Triadic framing of viewpoints",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 90,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 91,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Three Pillars",
          "slug": "three-pillars",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-81ef-7455-a365-b234d95a6bbb",
          "version": 1,
          "bodyDocId": null,
          "description": "Three major supporting arguments that are MECE and address key concerns",
          "familyLabel": null,
          "categoryName": "Block",
          "categorySlug": "block"
        },
        "agent": "Architect",
        "layer": "block",
        "agents": [
          "Architect"
        ],
        "matchId": "019dd95a-1b83-7130-933e-f79a6df5d055",
        "evidence": "Title 'Three views of generative AI'; three labelled circles",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": null,
        "confidence": 92,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 91,
        "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": "019dd95a-1b83-7130-933c-c4dab8ce8630",
        "evidence": "First in stack of evidence pointing to 'back to trend' pattern",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": null,
        "confidence": 78,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 5,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Anaphora",
          "slug": "anaphora",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-9fee-74aa-a920-078aa44132c0",
          "version": 1,
          "bodyDocId": null,
          "description": "Repeating words at the beginning of successive clauses for rhythm",
          "familyLabel": null,
          "categoryName": "Loop",
          "categorySlug": "loop"
        },
        "agent": "Storyteller",
        "layer": "loop",
        "agents": [
          "Storyteller"
        ],
        "matchId": "019dd95a-1b83-7130-933c-d0581905552b",
        "evidence": "Same 'back to the trend line' phrasing carried across slides",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 70,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 6,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Causal Chain",
          "slug": "causal-chain",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-9e98-7269-907b-8cf727e9499d",
          "version": 1,
          "bodyDocId": null,
          "description": "Showing how one event leads to another in sequence",
          "familyLabel": null,
          "categoryName": "Loop",
          "categorySlug": "loop"
        },
        "agent": "Architect",
        "layer": "loop",
        "agents": [
          "Architect"
        ],
        "matchId": "019dd95a-1b83-7130-933c-fb46d520682e",
        "evidence": "Macro -> ad slowdown -> venture pullback chain in this loop",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 70,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 10,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Anaphora",
          "slug": "anaphora",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-9fee-74aa-a920-078aa44132c0",
          "version": 1,
          "bodyDocId": null,
          "description": "Repeating words at the beginning of successive clauses for rhythm",
          "familyLabel": null,
          "categoryName": "Loop",
          "categorySlug": "loop"
        },
        "agent": "Storyteller",
        "layer": "loop",
        "agents": [
          "Storyteller"
        ],
        "matchId": "019dd95a-1b83-7130-933d-00b3115a7ded",
        "evidence": "Repeats trend-line phrasing across the loop",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 75,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 11,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Callback",
          "slug": "callback",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-a3a9-708f-b4a3-d3da2181c576",
          "version": 1,
          "bodyDocId": null,
          "description": "Referencing earlier content for payoff and cohesion",
          "familyLabel": null,
          "categoryName": "Loop",
          "categorySlug": "loop"
        },
        "agent": "Storyteller",
        "layer": "loop",
        "agents": [
          "Storyteller"
        ],
        "matchId": "019dd95a-1b83-7130-933c-fc283566bee3",
        "evidence": "Title 'Back to the trend line?' echoes p5/p6 motif a third time",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 80,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 11,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "The Turn",
          "slug": "the-turn",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-a2b1-7787-8ff6-60ba7e50b814",
          "version": 1,
          "bodyDocId": null,
          "description": "Pivotal moment where perspective shifts or insight emerges",
          "familyLabel": null,
          "categoryName": "Loop",
          "categorySlug": "loop"
        },
        "agent": "Storyteller",
        "layer": "loop",
        "agents": [
          "Storyteller"
        ],
        "matchId": "019dd95a-1b83-7130-933d-11c72cdde969",
        "evidence": "Pivots from layoff alarm to '15,000 hired since January'",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 78,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 14,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Antithesis",
          "slug": "antithesis",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-a1f8-7283-8cf4-8e2c4292cc4e",
          "version": 1,
          "bodyDocId": null,
          "description": "Juxtaposing contrasting ideas in parallel structure",
          "familyLabel": null,
          "categoryName": "Loop",
          "categorySlug": "loop"
        },
        "agent": "Storyteller",
        "layer": "loop",
        "agents": [
          "Storyteller"
        ],
        "matchId": "019dd95a-1b83-7130-933d-1a17683d7ef2",
        "evidence": "Two-column 'Half-empty | Half-full' juxtaposition with red divider",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 90,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 16,
        "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": "019dd95a-1b83-7130-933d-1ee46e7cd72e",
        "evidence": "Three paired bullets explicitly framed as opposing readings",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": null,
        "confidence": 88,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 16,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Parallel Structure",
          "slug": "parallel-structure",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-9f34-762a-93b7-1d8e84bbd153",
          "version": 1,
          "bodyDocId": null,
          "description": "Using similar grammatical structure for related ideas",
          "familyLabel": null,
          "categoryName": "Loop",
          "categorySlug": "loop"
        },
        "agent": "Architect",
        "layer": "loop",
        "agents": [
          "Architect"
        ],
        "matchId": "019dd95a-1b83-7130-933d-20c0337058a3",
        "evidence": "Mirror three-bullet structure on each side",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 80,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 16,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Payoff",
          "slug": "payoff",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-a464-704b-b1a1-e1d483709f00",
          "version": 1,
          "bodyDocId": null,
          "description": "Delivering on earlier setup for satisfying resolution",
          "familyLabel": null,
          "categoryName": "Loop",
          "categorySlug": "loop"
        },
        "agent": "Storyteller",
        "layer": "loop",
        "agents": [
          "Storyteller"
        ],
        "matchId": "019dd95a-1b83-7130-933d-2954843bbbfe",
        "evidence": "Closes the macro-context loop with a 'real trend line' resolution",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 70,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 17,
        "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": "019dd95a-1b83-7130-933d-3b02213aaf86",
        "evidence": "Decline (p19) <-> rise (p20) explicit pair",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": null,
        "confidence": 75,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 20,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Anaphora",
          "slug": "anaphora",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-9fee-74aa-a920-078aa44132c0",
          "version": 1,
          "bodyDocId": null,
          "description": "Repeating words at the beginning of successive clauses for rhythm",
          "familyLabel": null,
          "categoryName": "Loop",
          "categorySlug": "loop"
        },
        "agent": "Storyteller",
        "layer": "loop",
        "agents": [
          "Storyteller"
        ],
        "matchId": "019dd95a-1b83-7130-933d-47deb37188fd",
        "evidence": "Title 'Software eats advertising' repeated for emphasis",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 78,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 22,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Parallel Structure",
          "slug": "parallel-structure",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-9f34-762a-93b7-1d8e84bbd153",
          "version": 1,
          "bodyDocId": null,
          "description": "Using similar grammatical structure for related ideas",
          "familyLabel": null,
          "categoryName": "Loop",
          "categorySlug": "loop"
        },
        "agent": "Architect",
        "layer": "loop",
        "agents": [
          "Architect"
        ],
        "matchId": "019dd95a-1b83-7130-933d-530bedd874d6",
        "evidence": "Local->global / local->global parallel construction",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 78,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 23,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Anaphora",
          "slug": "anaphora",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-9fee-74aa-a920-078aa44132c0",
          "version": 1,
          "bodyDocId": null,
          "description": "Repeating words at the beginning of successive clauses for rhythm",
          "familyLabel": null,
          "categoryName": "Loop",
          "categorySlug": "loop"
        },
        "agent": "Storyteller",
        "layer": "loop",
        "agents": [
          "Storyteller"
        ],
        "matchId": "019dd95a-1b83-7130-933d-54b4a455fe47",
        "evidence": "Repeats 'local to global' phrasing as the action title",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 70,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 24,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Anaphora",
          "slug": "anaphora",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-9fee-74aa-a920-078aa44132c0",
          "version": 1,
          "bodyDocId": null,
          "description": "Repeating words at the beginning of successive clauses for rhythm",
          "familyLabel": null,
          "categoryName": "Loop",
          "categorySlug": "loop"
        },
        "agent": "Storyteller",
        "layer": "loop",
        "agents": [
          "Storyteller"
        ],
        "matchId": "019dd95a-1b83-7130-933d-6dfe91fc6e22",
        "evidence": "Same question title repeated, callout reused",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 70,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 27,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Tricolon",
          "slug": "tricolon",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-a13d-7356-9038-da27abe565f8",
          "version": 1,
          "bodyDocId": null,
          "description": "Three parallel phrases of increasing length or intensity",
          "familyLabel": null,
          "categoryName": "Loop",
          "categorySlug": "loop"
        },
        "agent": "Storyteller",
        "layer": "loop",
        "agents": [
          "Storyteller"
        ],
        "matchId": "019dd95a-1b83-7130-933d-a75468a824c1",
        "evidence": "Callout 'Inventory, 1P Targeting, Margins!' is a triplet",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 65,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 37,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Anaphora",
          "slug": "anaphora",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-9fee-74aa-a920-078aa44132c0",
          "version": 1,
          "bodyDocId": null,
          "description": "Repeating words at the beginning of successive clauses for rhythm",
          "familyLabel": null,
          "categoryName": "Loop",
          "categorySlug": "loop"
        },
        "agent": "Storyteller",
        "layer": "loop",
        "agents": [
          "Storyteller"
        ],
        "matchId": "019dd95a-1b83-7130-933d-e3744ecc60cd",
        "evidence": "Same subhead repeated p45-47",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 80,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 45,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Anaphora",
          "slug": "anaphora",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-9fee-74aa-a920-078aa44132c0",
          "version": 1,
          "bodyDocId": null,
          "description": "Repeating words at the beginning of successive clauses for rhythm",
          "familyLabel": null,
          "categoryName": "Loop",
          "categorySlug": "loop"
        },
        "agent": "Storyteller",
        "layer": "loop",
        "agents": [
          "Storyteller"
        ],
        "matchId": "019dd95a-1b83-7130-933d-e49981927f62",
        "evidence": "Repeats 'New channels + new tech = new SKUs' subhead",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 78,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 46,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Anaphora",
          "slug": "anaphora",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-9fee-74aa-a920-078aa44132c0",
          "version": 1,
          "bodyDocId": null,
          "description": "Repeating words at the beginning of successive clauses for rhythm",
          "familyLabel": null,
          "categoryName": "Loop",
          "categorySlug": "loop"
        },
        "agent": "Storyteller",
        "layer": "loop",
        "agents": [
          "Storyteller"
        ],
        "matchId": "019dd95a-1b83-7130-933d-ea290768bc39",
        "evidence": "Third repetition of the 'new channels + new tech' formula",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 78,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 47,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Chiasmus",
          "slug": "chiasmus",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-9f90-77d2-92d7-9a9780d23677",
          "version": 1,
          "bodyDocId": null,
          "description": "Reversing structure in successive phrases for emphasis (A-B then B-A)",
          "familyLabel": null,
          "categoryName": "Loop",
          "categorySlug": "loop"
        },
        "agent": "Storyteller",
        "layer": "loop",
        "agents": [
          "Storyteller"
        ],
        "matchId": "019dd95a-1b83-7130-933d-fd820b7297aa",
        "evidence": "Title 'Streaming > schlepping' is a witty contrast pairing",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 78,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 51,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Information Gap Theory",
          "slug": "information-gap-theory",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-a856-765e-88bc-f703bdfec762",
          "version": 1,
          "bodyDocId": null,
          "description": "Curiosity arises from gap between what we know and want to know",
          "familyLabel": null,
          "categoryName": "Loop",
          "categorySlug": "loop"
        },
        "agent": "Storyteller",
        "layer": "loop",
        "agents": [
          "Storyteller"
        ],
        "matchId": "019dd95a-1b83-7130-933e-19c138caad6a",
        "evidence": "Explicitly teases withheld info",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 75,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 55,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Callback",
          "slug": "callback",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-a3a9-708f-b4a3-d3da2181c576",
          "version": 1,
          "bodyDocId": null,
          "description": "Referencing earlier content for payoff and cohesion",
          "familyLabel": null,
          "categoryName": "Loop",
          "categorySlug": "loop"
        },
        "agent": "Storyteller",
        "layer": "loop",
        "agents": [
          "Storyteller"
        ],
        "matchId": "019dd95a-1b83-7130-933e-38414963b679",
        "evidence": "Echoes 'Software eats advertising' titles from p21-22",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 80,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 60,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Chiasmus",
          "slug": "chiasmus",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-9f90-77d2-92d7-9a9780d23677",
          "version": 1,
          "bodyDocId": null,
          "description": "Reversing structure in successive phrases for emphasis (A-B then B-A)",
          "familyLabel": null,
          "categoryName": "Loop",
          "categorySlug": "loop"
        },
        "agent": "Storyteller",
        "layer": "loop",
        "agents": [
          "Storyteller"
        ],
        "matchId": "019dd95a-1b83-7130-933e-443d30af4242",
        "evidence": "Bundle/unbundle is itself a chiasmic line",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 75,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 62,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Anaphora",
          "slug": "anaphora",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-9fee-74aa-a920-078aa44132c0",
          "version": 1,
          "bodyDocId": null,
          "description": "Repeating words at the beginning of successive clauses for rhythm",
          "familyLabel": null,
          "categoryName": "Loop",
          "categorySlug": "loop"
        },
        "agent": "Storyteller",
        "layer": "loop",
        "agents": [
          "Storyteller"
        ],
        "matchId": "019dd95a-1b83-7130-933e-5677a1da12b2",
        "evidence": "Title 'big brand bundle' carried into p65",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 75,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 64,
        "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": "019dd95a-1b83-7130-933e-5dca2f0aa2af",
        "evidence": "Bundle (p64) vs unbundled (p65) explicit pair",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": null,
        "confidence": 80,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 65,
        "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": "019dd95a-1b83-7130-933e-640b8e6cd4a3",
        "evidence": "Each row is an old gatekeeper -> new gatekeeper pairing with arrow",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": null,
        "confidence": 90,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 66,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Parallel Structure",
          "slug": "parallel-structure",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-9f34-762a-93b7-1d8e84bbd153",
          "version": 1,
          "bodyDocId": null,
          "description": "Using similar grammatical structure for related ideas",
          "familyLabel": null,
          "categoryName": "Loop",
          "categorySlug": "loop"
        },
        "agent": "Architect",
        "layer": "loop",
        "agents": [
          "Architect"
        ],
        "matchId": "019dd95a-1b83-7130-933e-6af7237420e3",
        "evidence": "Identical row layout for the three comparisons",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 85,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 66,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Tricolon",
          "slug": "tricolon",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-a13d-7356-9038-da27abe565f8",
          "version": 1,
          "bodyDocId": null,
          "description": "Three parallel phrases of increasing length or intensity",
          "familyLabel": null,
          "categoryName": "Loop",
          "categorySlug": "loop"
        },
        "agent": "Storyteller",
        "layer": "loop",
        "agents": [
          "Storyteller"
        ],
        "matchId": "019dd95a-1b83-7130-933e-622e01ff0b14",
        "evidence": "Three before/after pairs: Sears->Amazon, TV->YouTube, newspapers->internet",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 92,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 66,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Payoff",
          "slug": "payoff",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-a464-704b-b1a1-e1d483709f00",
          "version": 1,
          "bodyDocId": null,
          "description": "Delivering on earlier setup for satisfying resolution",
          "familyLabel": null,
          "categoryName": "Loop",
          "categorySlug": "loop"
        },
        "agent": "Storyteller",
        "layer": "loop",
        "agents": [
          "Storyteller"
        ],
        "matchId": "019dd95a-1b83-7130-933e-8127ef5537a6",
        "evidence": "Lands the section thesis: 'blank canvas for new businesses'",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 75,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 67,
        "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": "019dd95a-1b83-7130-933e-a1a722374f70",
        "evidence": "Two-column shift in narrative items",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": null,
        "confidence": 75,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 73,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Foreshadowing",
          "slug": "foreshadowing",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-a406-7159-bb8c-aeef05df2563",
          "version": 1,
          "bodyDocId": null,
          "description": "Planting hints of what's to come for later payoff",
          "familyLabel": null,
          "categoryName": "Loop",
          "categorySlug": "loop"
        },
        "agent": "Storyteller",
        "layer": "loop",
        "agents": [
          "Storyteller"
        ],
        "matchId": "019dd95a-1b83-7130-933e-b5472ba2fed0",
        "evidence": "Callout 'That's clever, but so what?' will be reused at p81",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 80,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 79,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Argument from Analogy",
          "slug": "argument-from-analogy",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-9e3d-7762-a994-72a2f7104e7c",
          "version": 1,
          "bodyDocId": null,
          "description": "Drawing conclusions based on similarities between situations",
          "familyLabel": null,
          "categoryName": "Loop",
          "categorySlug": "loop"
        },
        "agent": "Architect",
        "layer": "loop",
        "agents": [
          "Architect"
        ],
        "matchId": "019dd95a-1b83-7130-933e-c3d6a569df6e",
        "evidence": "Title 'Now, the same moment with generative networks' draws ImageNet parallel",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 88,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 81,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Callback",
          "slug": "callback",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-a3a9-708f-b4a3-d3da2181c576",
          "version": 1,
          "bodyDocId": null,
          "description": "Referencing earlier content for payoff and cohesion",
          "familyLabel": null,
          "categoryName": "Loop",
          "categorySlug": "loop"
        },
        "agent": "Storyteller",
        "layer": "loop",
        "agents": [
          "Storyteller"
        ],
        "matchId": "019dd95a-1b83-7130-933e-bf9be84e3a8b",
        "evidence": "Reuses identical 'That's clever, but so what?' line from p79",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 90,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 81,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Callback",
          "slug": "callback",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-a3a9-708f-b4a3-d3da2181c576",
          "version": 1,
          "bodyDocId": null,
          "description": "Referencing earlier content for payoff and cohesion",
          "familyLabel": null,
          "categoryName": "Loop",
          "categorySlug": "loop"
        },
        "agent": "Storyteller",
        "layer": "loop",
        "agents": [
          "Storyteller"
        ],
        "matchId": "019dd95a-1b83-7130-933e-e035e11452c2",
        "evidence": "Re-invokes Shein from p43-44 in new generative-product context",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 80,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 88,
        "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": "019dd95a-1b83-7130-933f-0fcfe0556916",
        "evidence": "Title 'Old and new big tech' frames a comparison",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": null,
        "confidence": 70,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 95,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Anaphora",
          "slug": "anaphora",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-9fee-74aa-a920-078aa44132c0",
          "version": 1,
          "bodyDocId": null,
          "description": "Repeating words at the beginning of successive clauses for rhythm",
          "familyLabel": null,
          "categoryName": "Loop",
          "categorySlug": "loop"
        },
        "agent": "Storyteller",
        "layer": "loop",
        "agents": [
          "Storyteller"
        ],
        "matchId": "019dd95a-1b83-7130-933f-1b41e25325de",
        "evidence": "JTBD question repeated p97/98/99",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 85,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 97,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Anaphora",
          "slug": "anaphora",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-9fee-74aa-a920-078aa44132c0",
          "version": 1,
          "bodyDocId": null,
          "description": "Repeating words at the beginning of successive clauses for rhythm",
          "familyLabel": null,
          "categoryName": "Loop",
          "categorySlug": "loop"
        },
        "agent": "Storyteller",
        "layer": "loop",
        "agents": [
          "Storyteller"
        ],
        "matchId": "019dd95a-1b83-7130-933f-23aeaf9cbc0a",
        "evidence": "Repeats 'But what's the job to be done?'",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 85,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 98,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Anaphora",
          "slug": "anaphora",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-9fee-74aa-a920-078aa44132c0",
          "version": 1,
          "bodyDocId": null,
          "description": "Repeating words at the beginning of successive clauses for rhythm",
          "familyLabel": null,
          "categoryName": "Loop",
          "categorySlug": "loop"
        },
        "agent": "Storyteller",
        "layer": "loop",
        "agents": [
          "Storyteller"
        ],
        "matchId": "019dd95a-1b83-7130-933f-2524e8eb515b",
        "evidence": "Third repetition of JTBD question",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 85,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 99,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Payoff",
          "slug": "payoff",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-a464-704b-b1a1-e1d483709f00",
          "version": 1,
          "bodyDocId": null,
          "description": "Delivering on earlier setup for satisfying resolution",
          "familyLabel": null,
          "categoryName": "Loop",
          "categorySlug": "loop"
        },
        "agent": "Storyteller",
        "layer": "loop",
        "agents": [
          "Storyteller"
        ],
        "matchId": "019dd95a-1b83-7130-933f-2bd4ab03800a",
        "evidence": "Closes the JTBD anaphora chain",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 65,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 99,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Optimism Bias",
          "slug": "optimism-bias",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-a971-74be-bc84-788196134c96",
          "version": 1,
          "bodyDocId": null,
          "description": "People overestimate likelihood of positive events - balance hope with realism",
          "familyLabel": null,
          "categoryName": "Loop",
          "categorySlug": "loop"
        },
        "agent": "Storyteller",
        "layer": "loop",
        "agents": [
          "Storyteller"
        ],
        "matchId": "019dd95a-1b83-7130-933f-310040c12ac0",
        "evidence": "Ends on optimism beat after sober macro opening",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 60,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 100,
        "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": "141e31d6-4821-47a6-ba03-da677996708e",
        "evidence": "The slide is a cover slide with a clear title and author information.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.9,
        "extraction": {
          "at": "2026-07-16 21:59:12.645524+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": "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": "019dd95a-1b83-7130-933c-b2abd1a61ba5",
        "evidence": "Subhead 'Tech trends for 2023' frames the take",
        "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": 70,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 2,
        "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": "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": "c675dfbc-4f67-4452-be0b-5bf6c5f8cd8c",
        "evidence": "The slide is a cover slide with a clear title and author information.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.9,
        "extraction": {
          "at": "2026-07-16 21:59:12.833919+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 3,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Opening Hooks",
          "slug": "opening-hooks",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-aeb0-77d5-bfbd-9cd9a6be8186",
          "version": 1,
          "bodyDocId": null,
          "description": "Techniques to capture attention: Startling statistic, provocative question, short story, analogy, contrast",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Storyteller",
        "layer": "slide",
        "agents": [
          "Storyteller"
        ],
        "matchId": "019dd95a-1b83-7130-933c-b5fdb7c097b6",
        "evidence": "Callout: 'macro matters to tech for the first time in a decade'",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 80,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 4,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Story Moments",
          "slug": "story-moments",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-ae4e-768d-a18b-108e6cda511e",
          "version": 1,
          "bodyDocId": null,
          "description": "Design key emotional beats: The Shock, The Vision, The Proof, The Choice, The Call",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Storyteller",
        "layer": "slide",
        "agents": [
          "Storyteller"
        ],
        "matchId": "019dd95a-1b83-7130-933c-ba5b5e2b9573",
        "evidence": "Sets the shock that opens the deck",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 60,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 4,
        "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": "019dd95a-1b83-7130-933c-c1b7e931e085",
        "evidence": "Title 'Ecommerce goes back to the trend line' states the insight",
        "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": 88,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 5,
        "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": "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": "93271f38-7fbc-4d6e-97b1-2d6470bbac37",
        "evidence": "The slide features a line chart showing ecommerce penetration growth.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.7,
        "extraction": {
          "at": "2026-07-16 21:59:12.945802+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 5,
        "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": "019dd95a-1b83-7130-933c-c8c63651d43e",
        "evidence": "Tufte-minimal chart, no chartjunk, single data line",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": null,
        "confidence": 85,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "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": "019dd95a-1b83-7130-933c-cf19de14cdbf",
        "evidence": "Title repeats with question mark to maintain motif",
        "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": 80,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "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": "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": "a697fb56-7956-43ff-a358-118ecc83f8e6",
        "evidence": "The slide features a line chart showing US ecommerce revenue.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.7,
        "extraction": {
          "at": "2026-07-16 21:59:13.019913+00",
          "model": "or:meta-llama/llama-4-scout",
          "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": "019dd95a-1b83-7130-933c-d6fedfe9a52d",
        "evidence": "Title quantifies insight: '25-50% growth pulled forward'",
        "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": 92,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "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": "Chartjunk Elimination",
          "slug": "chartjunk-elimination",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-b49e-7453-ab01-b60f338eeda1",
          "version": 1,
          "bodyDocId": null,
          "description": "Remove decorative elements that don't convey data: 3D effects, shadows, unnecessary gridlines",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Designer",
        "layer": "slide",
        "agents": [
          "Designer"
        ],
        "matchId": "cb941066-8608-48e4-833c-901aad507170",
        "evidence": "The slide features a clear and simple bar chart with a grouped layout, making it easy to compare data across different categories.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.7,
        "extraction": {
          "at": "2026-07-17 03:20:51.383497+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 7,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "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": "019dd95a-1b83-7130-933c-dd00125fe9ed",
        "evidence": "Red 2022 bars vs grey historical bars highlight the reversion",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 80,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "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": "019dd95a-1b83-7130-933c-e18567745f5b",
        "evidence": "No gridlines, no 3D, minimal axes",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": null,
        "confidence": 80,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 7,
        "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": "9c8d04c0-cf5b-44d0-8d06-10f3460abb78",
        "evidence": "The slide features a grouped bar chart with multiple categories, allowing for easy comparison across different groups.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.7,
        "extraction": {
          "at": "2026-07-17 03:20:51.415738+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 7,
        "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": "019dd95a-1b83-7130-933c-da672923ff23",
        "evidence": "Six country panels (US/UK/FR/DE/ES/IT) compared",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 95,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 7,
        "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": "019dd95a-1b83-7130-933c-e5c1b9fbccf4",
        "evidence": "Title 'Ad revenue slows for the giants' states the so-what",
        "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": 85,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "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": "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": "09bfc852-aa1c-4e49-a0fb-65bc4538ec27",
        "evidence": "The slide features a bold and attention-grabbing title that sets the tone for the rest of the presentation: 'The end of 20% annual revenue growth?'.",
        "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.9,
        "extraction": {
          "at": "2026-07-17 03:20:51.477485+00",
          "model": "or:meta-llama/llama-4-scout",
          "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": "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": "33fee29d-6bed-4d96-bb81-ad5a7441bcfa",
        "evidence": "The slide features a line chart, which is suitable for showing trends over time.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.7,
        "extraction": {
          "at": "2026-07-17 03:20:51.508439+00",
          "model": "or:meta-llama/llama-4-scout",
          "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": "019dd95a-1b83-7130-933c-efebbdfc3193",
        "evidence": "Subtitle 'exuberant valuations fade away' is the insight",
        "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": 80,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "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": "Before-After-Bridge",
          "slug": "before-after-bridge",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-8604-7188-883f-42370288ad05",
          "version": 1,
          "bodyDocId": null,
          "description": "Narrative structure: Paint the before, show the after, explain the bridge",
          "familyLabel": null,
          "categoryName": "Block",
          "categorySlug": "block"
        },
        "agent": "Storyteller",
        "layer": "slide",
        "agents": [
          "Storyteller"
        ],
        "matchId": "41b73911-2096-4eb8-8a0e-c5a1ffd5d725",
        "evidence": "The slide features a clear 'before and after' comparison, with a line chart showing market capitalization over time.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.7,
        "extraction": {
          "at": "2026-07-17 03:20:51.570574+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 9,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Call to action",
          "slug": "call-to-action",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd9e1-4bbb-702a-9ead-82daf188bb7c",
          "version": 1,
          "bodyDocId": null,
          "description": "Explicit prescription of what the audience should do next.",
          "familyLabel": null,
          "categoryName": null,
          "categorySlug": null
        },
        "agent": null,
        "layer": "slide",
        "agents": null,
        "matchId": "f0e4e362-fdbe-4d96-957f-c7991f1f5a42",
        "evidence": "The slide's title and subtitle encourage the audience to consider the implications of the data.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.5,
        "extraction": {
          "at": "2026-07-17 03:20:51.601929+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 9,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": "common",
        "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": "019dd95a-1b83-7130-933c-f0ff19bd621a",
        "evidence": "Index time-series fits comparison vs benchmark",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 70,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "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": "019dd95a-1b83-7130-933c-f44c93e6c486",
        "evidence": "Title 'Flow-through to venture' names the causal step",
        "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": 78,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "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": "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": "9afdc4fb-dad9-49d9-8336-0a6d66c7de4c",
        "evidence": "The slide features a stacked bar chart, which is suitable for showing how different categories contribute to a whole.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.7,
        "extraction": {
          "at": "2026-07-17 03:20:51.661196+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 10,
        "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": "8cff0b99-41e3-4c87-b9c9-029e3761f031",
        "evidence": "The slide features a chart with a high data-ink ratio, making it easy to read and understand.",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": null,
        "confidence": 0.7,
        "extraction": {
          "at": "2026-07-17 03:20:51.69179+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 10,
        "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": "d73a29d5-d46e-41a2-ac59-855873aff92f",
        "evidence": "The slide features a line chart, which is suitable for showing trends over time.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.7,
        "extraction": {
          "at": "2026-07-17 03:20:51.75492+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 11,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Reveal vs. Headline Strategy",
          "slug": "reveal-vs-headline-strategy",
          "status": "active",
          "bestFor": "Use whenever a deck carries a single load-bearing thesis to a defined audience: headline when the audience is senior, time-poor, scanning, or already aligned with the thesis; reveal when the thesis is contrarian, the audience needs to feel the gap before accepting the bridge, or the deck is a single-pass in-room persuasion artefact. Skip for routine KPI updates, hypothesis-tree discovery decks, or reference material with no thesis.",
          "canonId": "019dd956-9c8b-76fe-b6f3-c2621dbef6d3",
          "version": 1,
          "bodyDocId": "f162d89e-0423-4b27-aa7e-2fe4db1c5d57",
          "description": "The meta-decision at the deck-flow layer of whether to lead with the answer (headline / Minto / top-down) or earn the answer through a built arc (reveal / Sparkline / in medias res). Sequences whole sections by audience cognitive state, stakes, and thesis-direction.",
          "familyLabel": null,
          "categoryName": "Loop",
          "categorySlug": "loop"
        },
        "agent": "Designer",
        "layer": "slide",
        "agents": [
          "Designer"
        ],
        "matchId": "b71291f1-11f6-4e45-92be-078530d14ee5",
        "evidence": "The slide's title and subtitle work together to reveal the main point of the slide.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": "Use whenever a deck carries a single load-bearing thesis to a defined audience: headline when the audience is senior, time-poor, scanning, or already aligned with the thesis; reveal when the thesis is contrarian, the audience needs to feel the gap before accepting the bridge, or the deck is a single-pass in-room persuasion artefact. Skip for routine KPI updates, hypothesis-tree discovery decks, or reference material with no thesis.",
        "confidence": 0.5,
        "extraction": {
          "at": "2026-07-17 03:20:51.784867+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 11,
        "whyItWorks": "The two strategies optimise for genuinely different audience starting positions — headline for speed of agreement with neutral or sympathetic audiences, reveal for depth of agreement with sceptical or invested ones. Headlining a contrarian thesis triggers reactance; revealing to a transactional audience makes them scan ahead and lose the thread. Naming the choice up front prevents the hybrid that under-performs in both rooms.",
        "antipattern": "The hybrid that pleases nobody — previewing the answer on slide 2 and then attempting a reveal arc. Audience has the answer so the build feels stalled; the build is there so the answer feels under-defended. Adjacent failures: chronological deck labelled reveal, reveal climax on the final slide with no call to action, and headline deck without an SCQA opening.",
        "cardinality": null,
        "narrativePurpose": "Forces the loop-layer author to commit to a single shape — headline or reveal — before sequencing slides, so cadence, slide-one job, and call-to-action placement all flow from one named choice instead of drifting into a hybrid that pleases neither scanners nor sit-forward audiences."
      },
      {
        "tool": {
          "name": "Thesis archetype",
          "slug": "thesis-archetype",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd9e1-4b0b-7428-9b26-f171d1e753fb",
          "version": 1,
          "bodyDocId": null,
          "description": "A canonical investment / activist thesis shape (breakup, fraud, governance).",
          "familyLabel": null,
          "categoryName": null,
          "categorySlug": null
        },
        "agent": null,
        "layer": "slide",
        "agents": null,
        "matchId": "4af86db4-464b-4d6a-a8c2-8133d80c8fb1",
        "evidence": "The slide features a clear and concise headline that sets up a thesis or main argument.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.9,
        "extraction": {
          "at": "2026-07-17 03:20:51.845911+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 12,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": "optional",
        "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": "019dd95a-1b83-7130-933d-04b52186ec69",
        "evidence": "Title states consequence: 'all of this brings layoffs'; 85k Jan figure",
        "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": 85,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 13,
        "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": "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": "1348d12b-7e6a-4844-aba1-5d853feeeee6",
        "evidence": "The slide features a vertical bar chart, which is suitable for showing categorical data.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.7,
        "extraction": {
          "at": "2026-07-17 03:20:51.907591+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 13,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Concrete Language",
          "slug": "concrete-language",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-bcd4-7398-9723-6aa72346170b",
          "version": 1,
          "bodyDocId": null,
          "description": "Using specific sensory details instead of abstract terms",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Storyteller",
        "layer": "slide",
        "agents": [
          "Storyteller"
        ],
        "matchId": "019dd95a-1b83-7130-933d-0b5c7bfcab85",
        "evidence": "Specific 250k / 85k numbers anchor the abstract",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 75,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 13,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Data Story Arc",
          "slug": "data-story-arc",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-9c30-728e-b974-d3fb123dcf5a",
          "version": 1,
          "bodyDocId": null,
          "description": "Context → Conflict → Insight → Implication structure for data narratives",
          "familyLabel": null,
          "categoryName": "Loop",
          "categorySlug": "loop"
        },
        "agent": "Storyteller",
        "layer": "slide",
        "agents": [
          "Storyteller"
        ],
        "matchId": "cbf3426e-012e-40e9-b893-67b9ad1f485b",
        "evidence": "The slide tells a story with the data, setting up a problem and then providing context.",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": null,
        "confidence": 0.5,
        "extraction": {
          "at": "2026-07-17 03:20:51.937976+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 13,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Comparison frame",
          "slug": "comparison-frame",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd9e1-484b-7399-a4fc-d14644b99f93",
          "version": 1,
          "bodyDocId": null,
          "description": "Two or more states/subjects placed side by side to expose a gap.",
          "familyLabel": null,
          "categoryName": null,
          "categorySlug": null
        },
        "agent": null,
        "layer": "slide",
        "agents": null,
        "matchId": "6f847779-9dc1-4eec-9e76-2e917a1b7c74",
        "evidence": "The slide features a comparison table, allowing the audience to easily compare data across different categories.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.7,
        "extraction": {
          "at": "2026-07-17 03:20:52.001479+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 14,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": "common",
        "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": "019dd95a-1b83-7130-933d-1475b6f739e6",
        "evidence": "Title states 'hired at huge scale in the last decade'",
        "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": 75,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 15,
        "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": "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": "3496d0f1-1344-49bd-b8d0-5ade44460ed1",
        "evidence": "The slide features a grouped bar chart, which is suitable for comparing data across different categories.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.7,
        "extraction": {
          "at": "2026-07-17 03:20:52.065527+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 15,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Audience frame",
          "slug": "audience-frame",
          "status": "active",
          "bestFor": null,
          "canonId": "2a1eefbd-5be8-4600-898b-49dbfcf73ec8",
          "version": 1,
          "bodyDocId": null,
          "description": "Tools for modelling and segmenting the audience (persona, JTBD, segmentation).",
          "familyLabel": null,
          "categoryName": null,
          "categorySlug": null
        },
        "agent": null,
        "layer": "slide",
        "agents": null,
        "matchId": "86ff0d72-3426-447f-8112-7328c429a9dc",
        "evidence": "The slide provides context and sets up a frame for the audience to understand the data.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.7,
        "extraction": {
          "at": "2026-07-17 03:20:52.12661+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 16,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": "optional",
        "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": "019dd95a-1b83-7130-933d-269235118b93",
        "evidence": "Subhead 'From exciting to universal' compresses the section thesis",
        "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": 80,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 17,
        "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": "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": "cf2201e5-8146-48ae-a714-f0b792c65984",
        "evidence": "The slide features a line chart, which is suitable for showing trends over time.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.7,
        "extraction": {
          "at": "2026-07-17 03:20:52.186974+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 17,
        "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": "019dd95a-1b83-7130-933d-2e1dd71be05f",
        "evidence": "Title 'The decline of old gatekeepers' states the move",
        "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": 80,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 19,
        "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": "019dd95a-1b83-7130-933d-352ec5575ec1",
        "evidence": "Title 'And the rise of new ones'; subhead 'Amazon overtakes Walmart'",
        "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": 88,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 20,
        "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": "019dd95a-1b83-7130-933d-3ef58e5f4a48",
        "evidence": "'Software eats advertising' states the thesis",
        "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": 80,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 21,
        "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": "Metaphor & Analogy",
          "slug": "metaphor-analogy",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-adea-7729-bca1-70810d6238a9",
          "version": 1,
          "bodyDocId": null,
          "description": "Making abstract concepts concrete through familiar comparisons",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Storyteller",
        "layer": "slide",
        "agents": [
          "Storyteller"
        ],
        "matchId": "019dd95a-1b83-7130-933d-4162e7702b51",
        "evidence": "'Software eats X' borrows Andreessen's eating metaphor",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": null,
        "confidence": 90,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 21,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Concrete Language",
          "slug": "concrete-language",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-bcd4-7398-9723-6aa72346170b",
          "version": 1,
          "bodyDocId": null,
          "description": "Using specific sensory details instead of abstract terms",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Storyteller",
        "layer": "slide",
        "agents": [
          "Storyteller"
        ],
        "matchId": "019dd95a-1b83-7130-933d-4a30e8f9128c",
        "evidence": "Anchors with $700bn market sizing",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 80,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 22,
        "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": "019dd95a-1b83-7130-933d-4e77237367ef",
        "evidence": "'Global channels, global winners' states the structural shift",
        "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": 85,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 23,
        "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": "Concrete Language",
          "slug": "concrete-language",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-bcd4-7398-9723-6aa72346170b",
          "version": 1,
          "bodyDocId": null,
          "description": "Using specific sensory details instead of abstract terms",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Storyteller",
        "layer": "slide",
        "agents": [
          "Storyteller"
        ],
        "matchId": "019dd95a-1b83-7130-933d-5b55c3085519",
        "evidence": "$760bn anchor figure",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 75,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 24,
        "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": "019dd95a-1b83-7130-933d-5e17c03f3ede",
        "evidence": "'Concentration' + '$13bn for reach' lands the so-what",
        "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": 80,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 25,
        "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": "Concrete Language",
          "slug": "concrete-language",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-bcd4-7398-9723-6aa72346170b",
          "version": 1,
          "bodyDocId": null,
          "description": "Using specific sensory details instead of abstract terms",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Storyteller",
        "layer": "slide",
        "agents": [
          "Storyteller"
        ],
        "matchId": "019dd95a-1b83-7130-933d-622f98ae0609",
        "evidence": "Booking+Expedia $13bn ad spend specific",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 80,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 25,
        "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": "019dd95a-1b83-7130-933d-70941fd8c3a9",
        "evidence": "Question title 'What's the right ad budget?' implies benchmark",
        "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": 75,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 28,
        "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": "019dd95a-1b83-7130-933d-749f67799b9d",
        "evidence": "Title states the full claim about retail over-investment reversing",
        "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": 88,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 30,
        "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": "019dd95a-1b83-7130-933d-78be775d4b6e",
        "evidence": "'Amazon doubled warehouse space since 2019'; subhead 'now pulling back'",
        "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": 85,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 31,
        "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": "Concrete Language",
          "slug": "concrete-language",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-bcd4-7398-9723-6aa72346170b",
          "version": 1,
          "bodyDocId": null,
          "description": "Using specific sensory details instead of abstract terms",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Storyteller",
        "layer": "slide",
        "agents": [
          "Storyteller"
        ],
        "matchId": "019dd95a-1b83-7130-933d-7cea80da3f9e",
        "evidence": "500m sqft figure",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 70,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 31,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Waterfall chart",
          "slug": "waterfall-chart",
          "status": "active",
          "bestFor": null,
          "canonId": "e2799da3-725f-44a9-a093-570f1f388e64",
          "version": 1,
          "bodyDocId": null,
          "description": null,
          "familyLabel": null,
          "categoryName": null,
          "categorySlug": null
        },
        "agent": null,
        "layer": "slide",
        "agents": null,
        "matchId": "8573e74f-e34d-4cda-98d8-56cd68de617d",
        "evidence": "Amazon fulfilment centre space (m square feet)",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.7,
        "extraction": {
          "at": "2026-07-16 21:59:13.325232+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 31,
        "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": "019dd95a-1b83-7130-933d-81421b449225",
        "evidence": "Title 'Retail as media' + '$38bn ad revenue'",
        "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": 85,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 32,
        "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": "AIDA Model",
          "slug": "aida-model",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-86fc-773c-813f-d416714b8413",
          "version": 1,
          "bodyDocId": null,
          "description": "Attention, Interest, Desire, Action - classic persuasion sequence",
          "familyLabel": null,
          "categoryName": "Block",
          "categorySlug": "block"
        },
        "agent": "Storyteller",
        "layer": "slide",
        "agents": [
          "Storyteller"
        ],
        "matchId": "9b6ea812-29af-4c40-af19-f9070e14fa97",
        "evidence": "'Merchant media' - Amazon had $38bn of ad revenue in 2022",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.5,
        "extraction": {
          "at": "2026-07-16 21:59:13.394367+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 32,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Metaphor & Analogy",
          "slug": "metaphor-analogy",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-adea-7729-bca1-70810d6238a9",
          "version": 1,
          "bodyDocId": null,
          "description": "Making abstract concepts concrete through familiar comparisons",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Storyteller",
        "layer": "slide",
        "agents": [
          "Storyteller"
        ],
        "matchId": "019dd95a-1b83-7130-933d-85805a94d3d7",
        "evidence": "Reframes retail-as-media category",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": null,
        "confidence": 75,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 32,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "2x2 matrix",
          "slug": "matrix-2x2",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd9e1-50ab-72d1-8afb-3ab0a38e32a8",
          "version": 1,
          "bodyDocId": null,
          "description": "BCG matrix, importance/urgency, any axes-and-quadrants frame.",
          "familyLabel": null,
          "categoryName": null,
          "categorySlug": null
        },
        "agent": null,
        "layer": "slide",
        "agents": null,
        "matchId": "f00b4e57-c8fc-41b9-a580-a3c17a08b0b5",
        "evidence": "Ads / Prime",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.5,
        "extraction": {
          "at": "2026-07-16 21:59:13.461947+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 33,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": "common",
        "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": "019dd95a-1b83-7130-933d-8a6c62e657db",
        "evidence": "Title 'Ads > Prime' is itself the so-what",
        "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-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 33,
        "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": "Unexpected Pattern",
          "slug": "unexpected-pattern",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-bc0f-71af-8d32-3c1a2da38c40",
          "version": 1,
          "bodyDocId": null,
          "description": "Breaking a pattern to create surprise and attention",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Storyteller",
        "layer": "slide",
        "agents": [
          "Storyteller"
        ],
        "matchId": "019dd95a-1b83-7130-933d-8cbc8bc405af",
        "evidence": "Surprises that ads exceed Prime revenue",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 75,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 33,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Before-After-Bridge",
          "slug": "before-after-bridge",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-8604-7188-883f-42370288ad05",
          "version": 1,
          "bodyDocId": null,
          "description": "Narrative structure: Paint the before, show the after, explain the bridge",
          "familyLabel": null,
          "categoryName": "Block",
          "categorySlug": "block"
        },
        "agent": "Storyteller",
        "layer": "slide",
        "agents": [
          "Storyteller"
        ],
        "matchId": "826804bd-fb3d-4636-b62a-beb9a2a065d9",
        "evidence": "New ad models overtake old ones",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.5,
        "extraction": {
          "at": "2026-07-16 21:59:13.531925+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 34,
        "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": "019dd95a-1b83-7130-933d-92a17db4d2a0",
        "evidence": "Title 'Ads > AWS?' with margin callout",
        "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-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 35,
        "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": "Comparison frame",
          "slug": "comparison-frame",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd9e1-484b-7399-a4fc-d14644b99f93",
          "version": 1,
          "bodyDocId": null,
          "description": "Two or more states/subjects placed side by side to expose a gap.",
          "familyLabel": null,
          "categoryName": null,
          "categorySlug": null
        },
        "agent": null,
        "layer": "slide",
        "agents": null,
        "matchId": "a9586dba-b4fe-40a4-a793-ed0d480d02c7",
        "evidence": "When they work, ads have much higher margins than infrastructure (let alone retail)",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.7,
        "extraction": {
          "at": "2026-07-16 21:59:13.600093+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 35,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": "common",
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Unexpected Pattern",
          "slug": "unexpected-pattern",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-bc0f-71af-8d32-3c1a2da38c40",
          "version": 1,
          "bodyDocId": null,
          "description": "Breaking a pattern to create surprise and attention",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Storyteller",
        "layer": "slide",
        "agents": [
          "Storyteller"
        ],
        "matchId": "019dd95a-1b83-7130-933d-94a611d9eb25",
        "evidence": "Inverts conventional view of AWS being Amazon's profit engine",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 78,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 35,
        "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": "019dd95a-1b83-7130-933d-9fe95e4173e1",
        "evidence": "Direct executive quote used as proof",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 80,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 36,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "CEO quote contradiction",
          "slug": "ceo-quote-contradiction",
          "status": "active",
          "bestFor": "When management credibility is the lever",
          "canonId": "019dd9e1-52e9-717f-8454-93e627563ed6",
          "version": 1,
          "bodyDocId": "019dd9a1-8296-720d-8f51-da76937f9415",
          "description": "You reproduce management's own words — verbatim, with source and date — and\nthen place them next to the outcome that contradicts them. The CEO built\nthe rope; you put it around their own neck.",
          "familyLabel": null,
          "categoryName": null,
          "categorySlug": null
        },
        "agent": null,
        "layer": "slide",
        "agents": null,
        "matchId": "984675b2-3898-4ca0-9bc3-f74ae780ec06",
        "evidence": "\"I can't remember a business with the margin structure of the advertising business here at Walmart (and having 30% growth for the quarter was nice)\" — Doug McMillon, Walmart CEO",
        "pageRefs": null,
        "priority": null,
        "whenToUse": "When management credibility is the lever",
        "confidence": 0.8,
        "extraction": {
          "at": "2026-07-16 21:59:13.669073+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 36,
        "whyItWorks": "- **Maximum credibility**: no adjective you could write is as damning as the\n  target's own prior statement.\n- **No rebuttal path**: management can't argue they didn't say it.\n- **It forces accountability onto a person**, not an institution — even if\n  you aren't explicitly naming a villain elsewhere.\n- **Reporters amplify it**. A CEO-quote-contradiction slide is quotable,\n  which means it lands in WSJ/FT/Bloomberg coverage.",
        "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": "019dd95a-1b83-7130-933d-99c54ab8307c",
        "evidence": "Verbatim quote from Walmart CFO about ad-business margins",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 88,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 36,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Audience Definition",
          "slug": "audience-definition",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-7f2a-775d-aeee-ff099bcb7756",
          "version": 1,
          "bodyDocId": null,
          "description": "Six key questions: Who are they? What do they know? What do they believe? What do they care about? What do they fear? What decisions can they make?",
          "familyLabel": null,
          "categoryName": "Block",
          "categorySlug": "block"
        },
        "agent": "Storyteller",
        "layer": "slide",
        "agents": [
          "Storyteller"
        ],
        "matchId": "a9317371-7fab-4570-83bb-79aad3467372",
        "evidence": "Inventory, 1P Targeting, Margins!",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": null,
        "confidence": 0.5,
        "extraction": {
          "at": "2026-07-16 21:59:13.737468+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 37,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Metaphor & Analogy",
          "slug": "metaphor-analogy",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-adea-7729-bca1-70810d6238a9",
          "version": 1,
          "bodyDocId": null,
          "description": "Making abstract concepts concrete through familiar comparisons",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Storyteller",
        "layer": "slide",
        "agents": [
          "Storyteller"
        ],
        "matchId": "019dd95a-1b83-7130-933d-a3c5eeb54e6c",
        "evidence": "'New channel, new gold rush' uses gold-rush metaphor",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": null,
        "confidence": 88,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 37,
        "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": "019dd95a-1b83-7130-933d-ab970e3be521",
        "evidence": "Title repeats subhead: '10% share in 2022'",
        "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-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 38,
        "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": "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": "d8578fd8-ebbc-4f1e-9337-00613d57bb17",
        "evidence": "Share of US advertising spending",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.5,
        "extraction": {
          "at": "2026-07-16 21:59:13.876167+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 38,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "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": "019dd95a-1b83-7130-933d-ac249de3af16",
        "evidence": "Retail segment isolated in red against grey/black stack",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 88,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 38,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Von Restorff Effect",
          "slug": "von-restorff-effect",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-beab-73d8-9f62-30d0332e926e",
          "version": 1,
          "bodyDocId": null,
          "description": "Items that stand out are noticed and remembered - make key points visually distinct",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Designer",
        "layer": "slide",
        "agents": [
          "Designer"
        ],
        "matchId": "019dd95a-1b83-7130-933d-b05bcc8efd63",
        "evidence": "Single red retail block stands out in stacked bars",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 82,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 38,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Call-and-Response",
          "slug": "call-and-response",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-a254-7484-a9b7-721eb21444a5",
          "version": 1,
          "bodyDocId": null,
          "description": "Engaging audience by creating pattern they complete mentally",
          "familyLabel": null,
          "categoryName": "Loop",
          "categorySlug": "loop"
        },
        "agent": "Storyteller",
        "layer": "slide",
        "agents": [
          "Storyteller"
        ],
        "matchId": "d8bb4f1f-70ec-46c3-8dda-d5efedd91ab6",
        "evidence": "Retailers are hooked on the heroin of this promotional money, and even the few who say they need to wean themselves from these payments know it is a difficult and arduous process.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.5,
        "extraction": {
          "at": "2026-07-16 21:59:13.945454+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 39,
        "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": "019dd95a-1b83-7130-933d-bb25acde28ab",
        "evidence": "Quoted source supplies the vivid framing",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 80,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 39,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Metaphor & Analogy",
          "slug": "metaphor-analogy",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-adea-7729-bca1-70810d6238a9",
          "version": 1,
          "bodyDocId": null,
          "description": "Making abstract concepts concrete through familiar comparisons",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Storyteller",
        "layer": "slide",
        "agents": [
          "Storyteller"
        ],
        "matchId": "019dd95a-1b83-7130-933d-b663769e111d",
        "evidence": "Quote uses 'heroin of promotional money' metaphor",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": null,
        "confidence": 90,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 39,
        "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": "019dd95a-1b83-7130-933d-be4d6e859b55",
        "evidence": "Title states data point: 'Chinese suppliers going direct on Amazon'",
        "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": 80,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 40,
        "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": "Concrete Language",
          "slug": "concrete-language",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-bcd4-7398-9723-6aa72346170b",
          "version": 1,
          "bodyDocId": null,
          "description": "Using specific sensory details instead of abstract terms",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Storyteller",
        "layer": "slide",
        "agents": [
          "Storyteller"
        ],
        "matchId": "019dd95a-1b83-7130-933d-c0638af8b3d8",
        "evidence": "Names Anker, Shenzhen, $2bn — specific case anchor",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 90,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 41,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Sinatra Test",
          "slug": "sinatra-test",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-be4a-775f-8038-d4e7e58dfc5a",
          "version": 1,
          "bodyDocId": null,
          "description": "If you can make it there, you can make it anywhere - using flagship example",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Storyteller",
        "layer": "slide",
        "agents": [
          "Storyteller"
        ],
        "matchId": "019dd95a-1b83-7130-933d-c7d41540b547",
        "evidence": "Anker as flagship example: if Anker can do it on Amazon, brand-building there is real",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 75,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 41,
        "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": "019dd95a-1b83-7130-933d-c87b023415f3",
        "evidence": "Title 'Unbundling Amazon' + Shopify $200bn anchor",
        "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": 85,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 42,
        "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": "Concrete Language",
          "slug": "concrete-language",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-bcd4-7398-9723-6aa72346170b",
          "version": 1,
          "bodyDocId": null,
          "description": "Using specific sensory details instead of abstract terms",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Storyteller",
        "layer": "slide",
        "agents": [
          "Storyteller"
        ],
        "matchId": "019dd95a-1b83-7130-933d-ccb0f7efd750",
        "evidence": "$200bn = 45% of Amazon Marketplace, very specific",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 80,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 42,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Audience Definition",
          "slug": "audience-definition",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-7f2a-775d-aeee-ff099bcb7756",
          "version": 1,
          "bodyDocId": null,
          "description": "Six key questions: Who are they? What do they know? What do they believe? What do they care about? What do they fear? What decisions can they make?",
          "familyLabel": null,
          "categoryName": "Block",
          "categorySlug": "block"
        },
        "agent": "Storyteller",
        "layer": "slide",
        "agents": [
          "Storyteller"
        ],
        "matchId": "10877577-5568-4382-90ee-add77b3f71ab",
        "evidence": "The slide is about understanding the audience for a new Chinese smartphone-only fast fashion brand.",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": null,
        "confidence": 0.7,
        "extraction": {
          "at": "2026-07-16 21:59:20.71826+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 43,
        "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": "019dd95a-1b83-7130-933d-d58e707589b2",
        "evidence": "Subhead 'new bundle and new channel build new global business'",
        "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": 85,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 44,
        "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": "Audience Definition",
          "slug": "audience-definition",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-7f2a-775d-aeee-ff099bcb7756",
          "version": 1,
          "bodyDocId": null,
          "description": "Six key questions: Who are they? What do they know? What do they believe? What do they care about? What do they fear? What decisions can they make?",
          "familyLabel": null,
          "categoryName": "Block",
          "categorySlug": "block"
        },
        "agent": "Storyteller",
        "layer": "slide",
        "agents": [
          "Storyteller"
        ],
        "matchId": "ace9e024-7924-4bf9-8541-fbf9def69c04",
        "evidence": "The slide provides data on global retail revenue for Inditex (Zara), H&M, and Shein, indicating a focus on the audience for these brands.",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": null,
        "confidence": 0.7,
        "extraction": {
          "at": "2026-07-16 21:59:20.792063+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 44,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Sinatra Test",
          "slug": "sinatra-test",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-be4a-775f-8038-d4e7e58dfc5a",
          "version": 1,
          "bodyDocId": null,
          "description": "If you can make it there, you can make it anywhere - using flagship example",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Storyteller",
        "layer": "slide",
        "agents": [
          "Storyteller"
        ],
        "matchId": "019dd95a-1b83-7130-933d-d98407f32bae",
        "evidence": "Shein as proof case for the thesis",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 70,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 44,
        "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": "019dd95a-1b83-7130-933d-dc2a6b91758e",
        "evidence": "Subhead 'New channels + new tech = new SKUs' is the formula",
        "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": 88,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 45,
        "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": "Comparison frame",
          "slug": "comparison-frame",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd9e1-484b-7399-a4fc-d14644b99f93",
          "version": 1,
          "bodyDocId": null,
          "description": "Two or more states/subjects placed side by side to expose a gap.",
          "familyLabel": null,
          "categoryName": null,
          "categorySlug": null
        },
        "agent": null,
        "layer": "slide",
        "agents": null,
        "matchId": "ca992600-852b-4e0b-a219-b43839935beb",
        "evidence": "The slide compares Zara and Shein using a table, highlighting differences in their product offerings and business models.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.8,
        "extraction": {
          "at": "2026-07-16 21:59:20.861205+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 45,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": "common",
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Analytical method",
          "slug": "analytical-method",
          "status": "active",
          "bestFor": null,
          "canonId": "b42c4911-7946-49b5-951c-5f3d23f4e2bd",
          "version": 1,
          "bodyDocId": null,
          "description": "Diagnostic / structuring methods (5-whys, fishbone, issue tree, hypothesis-driven).",
          "familyLabel": null,
          "categoryName": null,
          "categorySlug": null
        },
        "agent": null,
        "layer": "slide",
        "agents": null,
        "matchId": "9ff48e9b-f1c1-4e79-ad30-718c8eb842c2",
        "evidence": "The slide uses historical data on SKUs per supermarket to illustrate the impact of new technology on product offerings.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.6,
        "extraction": {
          "at": "2026-07-16 21:59:20.929764+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 46,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": "common",
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Analytical method",
          "slug": "analytical-method",
          "status": "active",
          "bestFor": null,
          "canonId": "b42c4911-7946-49b5-951c-5f3d23f4e2bd",
          "version": 1,
          "bodyDocId": null,
          "description": "Diagnostic / structuring methods (5-whys, fishbone, issue tree, hypothesis-driven).",
          "familyLabel": null,
          "categoryName": null,
          "categorySlug": null
        },
        "agent": null,
        "layer": "slide",
        "agents": null,
        "matchId": "935cf7d7-7e85-4cff-bee0-649731d7cfce",
        "evidence": "The slide uses a chart to show the growth of new TV series, illustrating the impact of new channels and technology.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.6,
        "extraction": {
          "at": "2026-07-16 21:59:20.996921+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 47,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": "common",
        "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": "019dd95a-1b83-7130-933d-ee8517934e8b",
        "evidence": "Title 'Fragmentation' names the pattern",
        "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": 70,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 48,
        "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": "019dd95a-1b83-7130-933d-f00ae95b4f34",
        "evidence": "Subhead 'US pay TV penetration is down a third from the peak'",
        "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": 88,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 49,
        "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": "Data Story Arc",
          "slug": "data-story-arc",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-9c30-728e-b974-d3fb123dcf5a",
          "version": 1,
          "bodyDocId": null,
          "description": "Context → Conflict → Insight → Implication structure for data narratives",
          "familyLabel": null,
          "categoryName": "Loop",
          "categorySlug": "loop"
        },
        "agent": "Storyteller",
        "layer": "slide",
        "agents": [
          "Storyteller"
        ],
        "matchId": "dec58d1c-a5f1-463a-a045-176967b27fb6",
        "evidence": "The slide tells a story about the decline of US pay TV penetration using a line chart.",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": null,
        "confidence": 0.7,
        "extraction": {
          "at": "2026-07-16 21:59:21.182957+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 49,
        "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": "019dd95a-1b83-7130-933d-fbfd4cdbcc43",
        "evidence": "Literary callback gives gravitas",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 60,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 50,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Data Story Arc",
          "slug": "data-story-arc",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-9c30-728e-b974-d3fb123dcf5a",
          "version": 1,
          "bodyDocId": null,
          "description": "Context → Conflict → Insight → Implication structure for data narratives",
          "familyLabel": null,
          "categoryName": "Loop",
          "categorySlug": "loop"
        },
        "agent": "Storyteller",
        "layer": "slide",
        "agents": [
          "Storyteller"
        ],
        "matchId": "00a6a38d-a203-45b5-88cd-d1e716a07005",
        "evidence": "The slide tells a story about the decline of US linear TV viewing using a line chart.",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": null,
        "confidence": 0.7,
        "extraction": {
          "at": "2026-07-16 21:59:21.251019+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 50,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Metaphor & Analogy",
          "slug": "metaphor-analogy",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-adea-7729-bca1-70810d6238a9",
          "version": 1,
          "bodyDocId": null,
          "description": "Making abstract concepts concrete through familiar comparisons",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Storyteller",
        "layer": "slide",
        "agents": [
          "Storyteller"
        ],
        "matchId": "019dd95a-1b83-7130-933d-f7637ea72d7e",
        "evidence": "Title 'Gradually, then suddenly...' borrows Hemingway's bankruptcy line",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": null,
        "confidence": 85,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 50,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Before-After-Bridge",
          "slug": "before-after-bridge",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-8604-7188-883f-42370288ad05",
          "version": 1,
          "bodyDocId": null,
          "description": "Narrative structure: Paint the before, show the after, explain the bridge",
          "familyLabel": null,
          "categoryName": "Block",
          "categorySlug": "block"
        },
        "agent": "Storyteller",
        "layer": "slide",
        "agents": [
          "Storyteller"
        ],
        "matchId": "fd8aaf7e-ff57-4041-81db-257ca10021fa",
        "evidence": "The slide compares the revenue of Netflix streaming and tape & disc rental, showing a before-and-after effect.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.7,
        "extraction": {
          "at": "2026-07-16 21:59:21.319805+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 51,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Concrete Language",
          "slug": "concrete-language",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-bcd4-7398-9723-6aa72346170b",
          "version": 1,
          "bodyDocId": null,
          "description": "Using specific sensory details instead of abstract terms",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Storyteller",
        "layer": "slide",
        "agents": [
          "Storyteller"
        ],
        "matchId": "019dd95a-1b83-7130-933e-011369af4e89",
        "evidence": "Blockbuster $5bn peak market cap as anchor",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 75,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 51,
        "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": "019dd95a-1b83-7130-933e-04ebd40e0c5f",
        "evidence": "Title 'Land grabs are expensive' frames the cost insight",
        "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": 80,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 52,
        "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": "Metaphor & Analogy",
          "slug": "metaphor-analogy",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-adea-7729-bca1-70810d6238a9",
          "version": 1,
          "bodyDocId": null,
          "description": "Making abstract concepts concrete through familiar comparisons",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Storyteller",
        "layer": "slide",
        "agents": [
          "Storyteller"
        ],
        "matchId": "019dd95a-1b83-7130-933e-0a80d02f0f38",
        "evidence": "'Land grab' metaphor for content investment",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": null,
        "confidence": 70,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 52,
        "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": "019dd95a-1b83-7130-933e-134c5801114e",
        "evidence": "Borrows Christensen's named theory as backing",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 70,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 54,
        "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": "019dd95a-1b83-7130-933e-0ce6d20f13de",
        "evidence": "Cites Christensen's 'innovator's dilemma' theory",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 78,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 54,
        "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": "65f87ecc-7af6-47ad-b62a-cd95d3aec2e9",
        "evidence": "chart/bar-grouped: Content spending, 2019-2022e ($bn)",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": null,
        "confidence": 0.7,
        "extraction": {
          "at": "2026-07-16 21:59:15.089234+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 55,
        "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": "019dd95a-1b83-7130-933e-1c8079e50b22",
        "evidence": "Title is the full insight about YouTube creator payouts vs TV",
        "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": 85,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 56,
        "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": "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": "6c521410-15d3-4c11-b99e-554612b054c7",
        "evidence": "chart/bar-grouped: Content spending, 2019-2022e ($bn)",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": null,
        "confidence": 0.7,
        "extraction": {
          "at": "2026-07-16 21:59:15.170263+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 56,
        "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": "019dd95a-1b83-7130-933e-213ce07315b7",
        "evidence": "Title 'Nielsen estimates YouTube and Netflix have equivalent viewing'",
        "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": 80,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 57,
        "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": "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": "019dd95a-1b83-7130-933e-25ed5e84a90d",
        "evidence": "Cites Nielsen as authoritative source",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 72,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 57,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Legend / context",
          "slug": "legend-context",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd9e1-4e9e-7082-8f2e-c1e169365858",
          "version": 1,
          "bodyDocId": null,
          "description": "Footnote, definition, source attribution.",
          "familyLabel": null,
          "categoryName": null,
          "categorySlug": null
        },
        "agent": null,
        "layer": "slide",
        "agents": null,
        "matchId": "e1e82ad7-b77d-44e0-9e35-743bff245853",
        "evidence": "legend: Netflix YouTube",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.8,
        "extraction": {
          "at": "2026-07-16 21:59:15.25084+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 57,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": "common",
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "2x2 matrix",
          "slug": "matrix-2x2",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd9e1-50ab-72d1-8afb-3ab0a38e32a8",
          "version": 1,
          "bodyDocId": null,
          "description": "BCG matrix, importance/urgency, any axes-and-quadrants frame.",
          "familyLabel": null,
          "categoryName": null,
          "categorySlug": null
        },
        "agent": null,
        "layer": "slide",
        "agents": null,
        "matchId": "0a0f2905-1aec-4faf-b8ed-7ccdf15b1439",
        "evidence": "table/comparison: ... ",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.5,
        "extraction": {
          "at": "2026-07-16 21:59:15.457472+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 58,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": "common",
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Comparison frame",
          "slug": "comparison-frame",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd9e1-484b-7399-a4fc-d14644b99f93",
          "version": 1,
          "bodyDocId": null,
          "description": "Two or more states/subjects placed side by side to expose a gap.",
          "familyLabel": null,
          "categoryName": null,
          "categorySlug": null
        },
        "agent": null,
        "layer": "slide",
        "agents": null,
        "matchId": "5cf4857f-d8b7-4a70-b385-9dcc714a05fc",
        "evidence": "chart/bar-vertical: Global 7-day hours of viewing, January 2023 (m)",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.7,
        "extraction": {
          "at": "2026-07-16 21:59:15.418183+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 58,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": "common",
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Concrete Language",
          "slug": "concrete-language",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-bcd4-7398-9723-6aa72346170b",
          "version": 1,
          "bodyDocId": null,
          "description": "Using specific sensory details instead of abstract terms",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Storyteller",
        "layer": "slide",
        "agents": [
          "Storyteller"
        ],
        "matchId": "019dd95a-1b83-7130-933e-2f7bbdebb3a4",
        "evidence": "Specific 'top 10 Netflix show' comparison",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 78,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 58,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Sinatra Test",
          "slug": "sinatra-test",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-be4a-775f-8038-d4e7e58dfc5a",
          "version": 1,
          "bodyDocId": null,
          "description": "If you can make it there, you can make it anywhere - using flagship example",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Storyteller",
        "layer": "slide",
        "agents": [
          "Storyteller"
        ],
        "matchId": "019dd95a-1b83-7130-933e-2932ef5fac8e",
        "evidence": "MrBeast as the flagship creator-vs-Netflix proof case",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 80,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 58,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Legend / context",
          "slug": "legend-context",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd9e1-4e9e-7082-8f2e-c1e169365858",
          "version": 1,
          "bodyDocId": null,
          "description": "Footnote, definition, source attribution.",
          "familyLabel": null,
          "categoryName": null,
          "categorySlug": null
        },
        "agent": null,
        "layer": "slide",
        "agents": null,
        "matchId": "d3eec667-747d-4856-aecc-6566f198cb7e",
        "evidence": "legend: Instagram, Snap, Tiktok, Facebook, Twitter",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.8,
        "extraction": {
          "at": "2026-07-16 21:59:15.535483+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 59,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": "common",
        "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": "019dd95a-1b83-7130-933e-37ed64fd1374",
        "evidence": "Quote 'Software is eating the world' (Andreessen)",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 88,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 60,
        "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": "019dd95a-1b83-7130-933e-43fd44f6b445",
        "evidence": "Pulled quote 'bundle or unbundle' (Jim Barksdale)",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 85,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 62,
        "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": "019dd95a-1b83-7130-933e-484fe249a92b",
        "evidence": "Title is the insight: 'Nike's own channel is now 40% of sales and all of the growth'",
        "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-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 63,
        "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": "Concrete Language",
          "slug": "concrete-language",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-bcd4-7398-9723-6aa72346170b",
          "version": 1,
          "bodyDocId": null,
          "description": "Using specific sensory details instead of abstract terms",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Storyteller",
        "layer": "slide",
        "agents": [
          "Storyteller"
        ],
        "matchId": "019dd95a-1b83-7130-933e-4f819ee7a5d0",
        "evidence": "Names Nike, gives precise 40% figure",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 80,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 63,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Data Story Arc",
          "slug": "data-story-arc",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-9c30-728e-b974-d3fb123dcf5a",
          "version": 1,
          "bodyDocId": null,
          "description": "Context → Conflict → Insight → Implication structure for data narratives",
          "familyLabel": null,
          "categoryName": "Loop",
          "categorySlug": "loop"
        },
        "agent": "Storyteller",
        "layer": "slide",
        "agents": [
          "Storyteller"
        ],
        "matchId": "658b2bf1-7246-4348-9ee8-b113250f0d7d",
        "evidence": "chart/bar-stacked: Nike revenue ($bn) 2010-2022",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": null,
        "confidence": 0.7,
        "extraction": {
          "at": "2026-07-16 21:59:15.733978+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 63,
        "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": "019dd95a-1b83-7130-933e-59e55dd9f1a5",
        "evidence": "Title '...unbundled' completes the before/after; subhead 'all advantages of scale in question'",
        "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": 88,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 65,
        "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": "Comparison frame",
          "slug": "comparison-frame",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd9e1-484b-7399-a4fc-d14644b99f93",
          "version": 1,
          "bodyDocId": null,
          "description": "Two or more states/subjects placed side by side to expose a gap.",
          "familyLabel": null,
          "categoryName": null,
          "categorySlug": null
        },
        "agent": null,
        "layer": "slide",
        "agents": null,
        "matchId": "3dd53661-0334-4122-a346-307412ca37b5",
        "evidence": "table/comparison: Sears stocked 200k items vs Amazon lists at least 300m items and has 2m seller accounts; 2,000 new TV series made in the US in 2022 vs 3.7m daily uploads to YouTube; In 1994 98% of US city newspapers we",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.7,
        "extraction": {
          "at": "2026-07-16 21:59:15.98455+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 66,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": "common",
        "narrativePurpose": null
      },
      {
        "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": "019dd95a-1b83-7130-933e-7488d5df7dc4",
        "evidence": "Single red node vs grey nodes draws eye",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 88,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 67,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Focal Point",
          "slug": "focal-point",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-b9d2-7535-ad41-3b1a87fa7a93",
          "version": 1,
          "bodyDocId": null,
          "description": "Creating single point of visual emphasis",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Designer",
        "layer": "slide",
        "agents": [
          "Designer"
        ],
        "matchId": "019dd95a-1b83-7130-933e-7b0b4438d275",
        "evidence": "Two grey arrows funnel attention to red center",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 85,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 67,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Thesis archetype",
          "slug": "thesis-archetype",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd9e1-4b0b-7428-9b26-f171d1e753fb",
          "version": 1,
          "bodyDocId": null,
          "description": "A canonical investment / activist thesis shape (breakup, fraud, governance).",
          "familyLabel": null,
          "categoryName": null,
          "categorySlug": null
        },
        "agent": null,
        "layer": "slide",
        "agents": null,
        "matchId": "351bea9f-008a-4aff-8370-45edbf3553dc",
        "evidence": "A market reset",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.7,
        "extraction": {
          "at": "2026-07-16 21:59:15.057496+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 67,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": "optional",
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Visual Hierarchy",
          "slug": "visual-hierarchy",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-b2ca-706b-937f-e52441086fd7",
          "version": 1,
          "bodyDocId": null,
          "description": "Order of perception through Size > Color > Position > Weight > Space",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Designer",
        "layer": "slide",
        "agents": [
          "Designer"
        ],
        "matchId": "019dd95a-1b83-7130-933e-7246bd8362e1",
        "evidence": "Red center circle 'A new kind of problem' anchors as focal point",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 88,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 67,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Von Restorff Effect",
          "slug": "von-restorff-effect",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-beab-73d8-9f62-30d0332e926e",
          "version": 1,
          "bodyDocId": null,
          "description": "Items that stand out are noticed and remembered - make key points visually distinct",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Designer",
        "layer": "slide",
        "agents": [
          "Designer"
        ],
        "matchId": "019dd95a-1b83-7130-933e-7ec41d33d617",
        "evidence": "Red center pops against grey context",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 80,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 67,
        "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": "019dd95a-1b83-7130-933e-85ee01519b11",
        "evidence": "Quote 'advertising is the price of an unremarkable product' (Bezos)",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 88,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 68,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Metaphor & Analogy",
          "slug": "metaphor-analogy",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-adea-7729-bca1-70810d6238a9",
          "version": 1,
          "bodyDocId": null,
          "description": "Making abstract concepts concrete through familiar comparisons",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Storyteller",
        "layer": "slide",
        "agents": [
          "Storyteller"
        ],
        "matchId": "019dd95a-1b83-7130-933e-882f5acc315d",
        "evidence": "Memorable metaphorical framing of advertising",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": null,
        "confidence": 70,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 68,
        "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": "019dd95a-1b83-7130-933e-8c2f51484380",
        "evidence": "Title 'Amazon is the world's largest advertiser' delivers the punchline",
        "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": 85,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 69,
        "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": "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": "5719ab8e-f124-4ed5-9b8d-028532b96820",
        "evidence": "10 largest global advertising budgets, 2017-2021 ($bn)",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.7,
        "extraction": {
          "at": "2026-07-16 21:59:15.162025+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 69,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Unexpected Pattern",
          "slug": "unexpected-pattern",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-bc0f-71af-8d32-3c1a2da38c40",
          "version": 1,
          "bodyDocId": null,
          "description": "Breaking a pattern to create surprise and attention",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Storyteller",
        "layer": "slide",
        "agents": [
          "Storyteller"
        ],
        "matchId": "019dd95a-1b83-7130-933e-9092fcb7abae",
        "evidence": "Reframes Amazon as paying for, not just selling, ads",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 75,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 69,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Section divider",
          "slug": "section-divider",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd9e1-4c66-707d-8d1f-6e14547134c7",
          "version": 1,
          "bodyDocId": null,
          "description": "A transitional slide marking the start of a new section.",
          "familyLabel": null,
          "categoryName": null,
          "categorySlug": null
        },
        "agent": null,
        "layer": "slide",
        "agents": null,
        "matchId": "03b26dc3-ff25-4fb4-944a-ed9cc15fbbdd",
        "evidence": "Dreams for the Future",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.9,
        "extraction": {
          "at": "2026-07-16 21:59:15.230912+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 70,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": "common",
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Comparison frame",
          "slug": "comparison-frame",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd9e1-484b-7399-a4fc-d14644b99f93",
          "version": 1,
          "bodyDocId": null,
          "description": "Two or more states/subjects placed side by side to expose a gap.",
          "familyLabel": null,
          "categoryName": null,
          "categorySlug": null
        },
        "agent": null,
        "layer": "slide",
        "agents": null,
        "matchId": "d428e037-8e8b-4406-a1ef-58f06b521e06",
        "evidence": "Metaverse is the new Internet and the new smartphone vs Will Apple get us out of the VR winter?",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.7,
        "extraction": {
          "at": "2026-07-16 21:59:15.447176+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 73,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": "common",
        "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": "6cc560d0-a621-4781-a021-c1c2b1cc91d0",
        "evidence": "Jump start the network effect by rewarding early-adopters - but are they users or speculators?",
        "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.8,
        "extraction": {
          "at": "2026-07-16 21:59:15.513819+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 74,
        "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": "Concrete Language",
          "slug": "concrete-language",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-bcd4-7398-9723-6aa72346170b",
          "version": 1,
          "bodyDocId": null,
          "description": "Using specific sensory details instead of abstract terms",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Storyteller",
        "layer": "slide",
        "agents": [
          "Storyteller"
        ],
        "matchId": "019dd95a-1b83-7130-933e-a71dfdbd3344",
        "evidence": "$14bn metaverse spend in 12 months, very specific",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 85,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 75,
        "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": "019dd95a-1b83-7130-933e-abc4e45bcad0",
        "evidence": "Quote 'Wait, how much money, Mark?' borrows skeptical voice",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 60,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 75,
        "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": "slide",
        "agents": [
          "Architect"
        ],
        "matchId": "a569fcb1-5a7e-46e7-8914-db3a8c4a900f",
        "evidence": "Can blockchains be software? 'DeFi' - can you build financial applications with a blockchain?",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.7,
        "extraction": {
          "at": "2026-07-16 21:59:15.613291+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 76,
        "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": "019dd95a-1b83-7130-933e-aed491d59a20",
        "evidence": "Title 'the future can take a long time'; subhead about early leaders disappearing",
        "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": 78,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 77,
        "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": "Concrete Language",
          "slug": "concrete-language",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-bcd4-7398-9723-6aa72346170b",
          "version": 1,
          "bodyDocId": null,
          "description": "Using specific sensory details instead of abstract terms",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Storyteller",
        "layer": "slide",
        "agents": [
          "Storyteller"
        ],
        "matchId": "019dd95a-1b83-7130-933e-b1452b4cc74f",
        "evidence": "Anchors with 'Imagenet, 2013'",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 80,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 79,
        "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": "019dd95a-1b83-7130-933e-b88e0bf6a435",
        "evidence": "Title 'ML spread from cool demo to everything' delivers the precedent payoff",
        "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": 80,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 80,
        "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": "Concrete Language",
          "slug": "concrete-language",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-bcd4-7398-9723-6aa72346170b",
          "version": 1,
          "bodyDocId": null,
          "description": "Using specific sensory details instead of abstract terms",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Storyteller",
        "layer": "slide",
        "agents": [
          "Storyteller"
        ],
        "matchId": "019dd95a-1b83-7130-933e-cabf57bdd503",
        "evidence": "Callout shows the verbatim prompt",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 70,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 82,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Picture Superiority Effect",
          "slug": "picture-superiority-effect",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-c201-7014-bb58-3e85e3e11dfd",
          "version": 1,
          "bodyDocId": null,
          "description": "Pictures remembered 6x better than words - prioritize visuals over text",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Designer",
        "layer": "slide",
        "agents": [
          "Designer"
        ],
        "matchId": "019dd95a-1b83-7130-933e-c671743e0990",
        "evidence": "AI-generated portrait shown in full as the demo",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 80,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 82,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Concrete Language",
          "slug": "concrete-language",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-bcd4-7398-9723-6aa72346170b",
          "version": 1,
          "bodyDocId": null,
          "description": "Using specific sensory details instead of abstract terms",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Storyteller",
        "layer": "slide",
        "agents": [
          "Storyteller"
        ],
        "matchId": "019dd95a-1b83-7130-933e-cea315f71bab",
        "evidence": "Names ChatGPT specifically as the demo",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 70,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 83,
        "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": "slide",
        "agents": [
          "Architect"
        ],
        "matchId": "910934d8-702d-49af-9d7d-dc1b8d42d440",
        "evidence": "How many more search queries could be served as answers? Where do the ads go? How are they sold?",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.7,
        "extraction": {
          "at": "2026-07-16 21:59:17.820363+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 85,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Picture Superiority Effect",
          "slug": "picture-superiority-effect",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-c201-7014-bb58-3e85e3e11dfd",
          "version": 1,
          "bodyDocId": null,
          "description": "Pictures remembered 6x better than words - prioritize visuals over text",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Designer",
        "layer": "slide",
        "agents": [
          "Designer"
        ],
        "matchId": "019dd95a-1b83-7130-933e-dadfa93232de",
        "evidence": "Generated 'Sundar Pichai as boxer' image carries the slide",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 80,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 86,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Picture Superiority Effect",
          "slug": "picture-superiority-effect",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-c201-7014-bb58-3e85e3e11dfd",
          "version": 1,
          "bodyDocId": null,
          "description": "Pictures remembered 6x better than words - prioritize visuals over text",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Designer",
        "layer": "slide",
        "agents": [
          "Designer"
        ],
        "matchId": "019dd95a-1b83-7130-933e-de15fc6861e1",
        "evidence": "Mock UI screenshots illustrate 'generative UI design'",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 78,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 87,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Picture Superiority Effect",
          "slug": "picture-superiority-effect",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-c201-7014-bb58-3e85e3e11dfd",
          "version": 1,
          "bodyDocId": null,
          "description": "Pictures remembered 6x better than words - prioritize visuals over text",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Designer",
        "layer": "slide",
        "agents": [
          "Designer"
        ],
        "matchId": "019dd95a-1b83-7130-933e-e9ae146cf737",
        "evidence": "Generated 'Burt Reynolds as Han Solo' image as visual proof",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 80,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 89,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "BCG Growth-Share Matrix",
          "slug": "bcg-growth-share-matrix",
          "status": "active",
          "bestFor": null,
          "canonId": "019de52d-1e65-748e-be86-47bed7c1258d",
          "version": 1,
          "bodyDocId": null,
          "description": null,
          "familyLabel": null,
          "categoryName": null,
          "categorySlug": null
        },
        "agent": null,
        "layer": "slide",
        "agents": null,
        "matchId": "9c604ffd-5ab8-48b5-bf8a-d24d29291f2e",
        "evidence": "ML and now Generative ML unlock step changes in demand for raw computing capacity",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.7,
        "extraction": {
          "at": "2026-07-16 21:59:18.106823+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 90,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Concrete Language",
          "slug": "concrete-language",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-bcd4-7398-9723-6aa72346170b",
          "version": 1,
          "bodyDocId": null,
          "description": "Using specific sensory details instead of abstract terms",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Storyteller",
        "layer": "slide",
        "agents": [
          "Storyteller"
        ],
        "matchId": "019dd95a-1b83-7130-933e-f26f9e1e9f29",
        "evidence": "$150bn+ compute anchor",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 70,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 90,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "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": "019dd95a-1b83-7130-933e-fde3589fc93b",
        "evidence": "Red AGI circle marks 'minority view' separately from grey two",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 85,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 91,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Jobs To Be Done (JTBD)",
          "slug": "jobs-to-be-done-jtbd",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-8191-7100-b7d3-80a94de6e28f",
          "version": 1,
          "bodyDocId": null,
          "description": "What 'job' is the audience hiring your presentation to do? Focus on outcomes, not features",
          "familyLabel": null,
          "categoryName": "Block",
          "categorySlug": "block"
        },
        "agent": "Storyteller",
        "layer": "slide",
        "agents": [
          "Storyteller"
        ],
        "matchId": "ad9e2189-3f35-4468-93f3-e88a84073c28",
        "evidence": "diagram/process: Three circles connected by arrows representing three views: second wave of ML, changes software creation, and path to AGI. framework: Jobs to Be Done",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.9,
        "extraction": {
          "at": "2026-07-16 21:59:21.274982+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 91,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Von Restorff Effect",
          "slug": "von-restorff-effect",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-beab-73d8-9f62-30d0332e926e",
          "version": 1,
          "bodyDocId": null,
          "description": "Items that stand out are noticed and remembered - make key points visually distinct",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Designer",
        "layer": "slide",
        "agents": [
          "Designer"
        ],
        "matchId": "019dd95a-1b83-7130-933f-03478c1d7ddb",
        "evidence": "Single red circle stands out against two grey",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 80,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 91,
        "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": "019dd95a-1b83-7130-933f-0484e761de2c",
        "evidence": "Title 'The end of the American internet'; subhead 50% of mobile traffic",
        "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": 85,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 94,
        "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": "Concrete Language",
          "slug": "concrete-language",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-bcd4-7398-9723-6aa72346170b",
          "version": 1,
          "bodyDocId": null,
          "description": "Using specific sensory details instead of abstract terms",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Storyteller",
        "layer": "slide",
        "agents": [
          "Storyteller"
        ],
        "matchId": "019dd95a-1b83-7130-933f-0828c809f97f",
        "evidence": "Specific 50% figure for India+China share",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 75,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 94,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Metaphor & Analogy",
          "slug": "metaphor-analogy",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-adea-7729-bca1-70810d6238a9",
          "version": 1,
          "bodyDocId": null,
          "description": "Making abstract concepts concrete through familiar comparisons",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Storyteller",
        "layer": "slide",
        "agents": [
          "Storyteller"
        ],
        "matchId": "019dd95a-1b83-7130-933f-12a5167edac9",
        "evidence": "Title coins 'car-commerce to e-commerce' as analogue shift",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": null,
        "confidence": 80,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 96,
        "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": "019dd95a-1b83-7130-933f-1701783a7277",
        "evidence": "Title 'What's the job to be done?' frames the closing question",
        "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": 80,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 97,
        "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": "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": "019dd95a-1b83-7130-933f-1f66f6d0744c",
        "evidence": "Tufte-clean ecommerce vs digital-ad line chart",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": null,
        "confidence": 80,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 97,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Jobs to be done",
          "slug": "jobs-to-be-done",
          "status": "active",
          "bestFor": null,
          "canonId": "019de52d-1c39-70da-95dc-a09cedf9d273",
          "version": 1,
          "bodyDocId": null,
          "description": null,
          "familyLabel": null,
          "categoryName": null,
          "categorySlug": null
        },
        "agent": null,
        "layer": "slide",
        "agents": null,
        "matchId": "c742c5fc-c414-466e-b077-b8fef43ae05f",
        "evidence": "framework: Jobs to Be Done",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.9,
        "extraction": {
          "at": "2026-07-16 21:59:21.510024+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 97,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Jobs to be done",
          "slug": "jobs-to-be-done",
          "status": "active",
          "bestFor": null,
          "canonId": "019de52d-1c39-70da-95dc-a09cedf9d273",
          "version": 1,
          "bodyDocId": null,
          "description": null,
          "familyLabel": null,
          "categoryName": null,
          "categorySlug": null
        },
        "agent": null,
        "layer": "slide",
        "agents": null,
        "matchId": "81affed4-b88f-4711-b8c2-285457ca1d04",
        "evidence": "framework/instance: Jobs to be done",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.9,
        "extraction": {
          "at": "2026-07-16 21:59:21.577087+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 98,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Jobs to be done",
          "slug": "jobs-to-be-done",
          "status": "active",
          "bestFor": null,
          "canonId": "019de52d-1c39-70da-95dc-a09cedf9d273",
          "version": 1,
          "bodyDocId": null,
          "description": null,
          "familyLabel": null,
          "categoryName": null,
          "categorySlug": null
        },
        "agent": null,
        "layer": "slide",
        "agents": null,
        "matchId": "beb02241-8cf5-4fa8-a9bd-31b5e1369083",
        "evidence": "framework: Jobs to Be Done",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.9,
        "extraction": {
          "at": "2026-07-16 21:59:21.733974+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 99,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Closing Techniques",
          "slug": "closing-techniques",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-af13-774b-a4fd-7db0a3a88d51",
          "version": 1,
          "bodyDocId": null,
          "description": "Strong endings: Callback, challenge, vision, clear CTA, memorable line",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Storyteller",
        "layer": "slide",
        "agents": [
          "Storyteller"
        ],
        "matchId": "019dd95a-1b83-7130-933f-2dbf340566ec",
        "evidence": "'One more reason for optimism' is a vision-style close",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 85,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 100,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Closing Techniques",
          "slug": "closing-techniques",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-af13-774b-a4fd-7db0a3a88d51",
          "version": 1,
          "bodyDocId": null,
          "description": "Strong endings: Callback, challenge, vision, clear CTA, memorable line",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Storyteller",
        "layer": "slide",
        "agents": [
          "Storyteller"
        ],
        "matchId": "019dd95a-1b83-7130-933f-346efbc53f57",
        "evidence": "Final 'Thank you' slide",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 70,
        "extraction": {
          "at": "2026-04-29 13:07:34.53104+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 103,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Storytelling: the closing ask",
          "slug": "closing-ask",
          "status": "active",
          "bestFor": null,
          "canonId": "019df269-24e0-70ab-8dd9-983832c1c665",
          "version": 1,
          "bodyDocId": "019df269-24bc-7554-b88d-245127606b8d",
          "description": "The single most important slide in the deck — after the cover. The final",
          "familyLabel": "narrative-block",
          "categoryName": "Narrative & Transformation",
          "categorySlug": "narrative-transformation"
        },
        "agent": "storyteller",
        "layer": "slide",
        "agents": [
          "storyteller"
        ],
        "matchId": "5e7c0bac-d6a6-4ba1-a3d4-96785cb8c75a",
        "evidence": "This slide is a closing ask slide with a title 'Thank you' and a type 'closing_ask'.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.9,
        "extraction": {
          "at": "2026-07-16 21:59:16.222534+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 103,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      }
    ],
    "frameworks": [
      {
        "matchId": "9fd5b8b8-e92c-4e02-8920-0935b0f7ebea",
        "evidence": "The slide explicitly contrasts two opposing viewpoints (half-empty vs half-full) to frame a market outlook.",
        "framework": null,
        "confidence": 0.9,
        "extraction": {
          "at": "2026-05-02 17:35:34.755+00",
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 16,
        "frameworkName": "comparison-frame"
      },
      {
        "matchId": "f866941e-ceb4-4e2b-98c7-e03aace41e31",
        "evidence": "The diagram shows two inputs (Logistics, Discovery) converging into a central outcome (How do you reach people).",
        "framework": null,
        "confidence": 0.7,
        "extraction": {
          "at": "2026-05-02 17:35:36.485+00",
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 26,
        "frameworkName": "causal-chain"
      },
      {
        "matchId": "f67c3b50-8fcf-4be9-9748-cae444be0b8b",
        "evidence": "Title explicitly references the Innovator's Dilemma framework.",
        "framework": null,
        "confidence": 1,
        "extraction": {
          "at": "2026-05-02 17:35:44.3+00",
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 54,
        "frameworkName": "innovators-dilemma"
      },
      {
        "matchId": "019dd95a-1d21-7467-a468-8d7d48afc46f",
        "evidence": "Title quotes 'innovator's dilemma' and applies it to legacy media spend",
        "framework": null,
        "confidence": 85,
        "extraction": {
          "at": "2026-04-29 13:07:34.940444+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 54,
        "frameworkName": "Innovator's Dilemma"
      },
      {
        "matchId": "c5722640-225f-4179-9c68-0280d3228897",
        "evidence": "The slide uses a three-step horizontal flow to categorize software impact.",
        "framework": null,
        "confidence": 0.8,
        "extraction": {
          "at": "2026-05-02 17:35:41.01+00",
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 61,
        "frameworkName": "process"
      },
      {
        "matchId": "9753cce6-6502-4201-a41c-4a4590322368",
        "evidence": "Linear process flow representing business activities",
        "framework": null,
        "confidence": 0.9,
        "extraction": {
          "at": "2026-05-02 17:35:49.976+00",
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 64,
        "frameworkName": "value-chain"
      },
      {
        "matchId": "9c279487-06b6-446e-b4b8-b947557f0434",
        "evidence": "Sequential flow of four stages connected by arrows.",
        "framework": null,
        "confidence": 0.8,
        "extraction": {
          "at": "2026-05-02 17:35:42.814+00",
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 65,
        "frameworkName": "process"
      },
      {
        "matchId": "526ccb04-df9c-4f15-915b-bc3458a2c5ee",
        "evidence": "The slide explicitly compares 'old' vs 'new' gatekeepers across three distinct categories.",
        "framework": null,
        "confidence": 0.9,
        "extraction": {
          "at": "2026-05-02 17:35:42.735+00",
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 66,
        "frameworkName": "comparison-frame"
      },
      {
        "matchId": "978589a2-4f1c-404f-b65e-76d22bc1cbcb",
        "evidence": "Linear progression of three stages (Past, Present, Future) connected by arrows.",
        "framework": null,
        "confidence": 1,
        "extraction": {
          "at": "2026-05-02 17:35:54.23+00",
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 71,
        "frameworkName": "timeline"
      },
      {
        "matchId": "6a4019e4-cd04-482b-ba4c-a86ef3a0098e",
        "evidence": "The slide explicitly contrasts 2022 sentiment with 2023 sentiment.",
        "framework": null,
        "confidence": 0.9,
        "extraction": {
          "at": "2026-05-02 17:35:42.864+00",
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 73,
        "frameworkName": "before-after-framing"
      },
      {
        "matchId": "0c6948d0-4f6d-42bd-8c18-2b1f652ccbfa",
        "evidence": "The slide discusses jump-starting network effects through early-adopter rewards.",
        "framework": null,
        "confidence": 0.8,
        "extraction": {
          "at": "2026-05-02 17:35:43.295+00",
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 74,
        "frameworkName": "network-effects-flywheel"
      },
      {
        "matchId": "019dd95a-1d21-7467-a468-917429f9f97a",
        "evidence": "Title 'What's the job to be done?' uses JTBD framing explicitly",
        "framework": null,
        "confidence": 80,
        "extraction": {
          "at": "2026-04-29 13:07:34.940444+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 97,
        "frameworkName": "Jobs to Be Done"
      },
      {
        "matchId": "9ea19918-4078-48df-a342-a68360e5e667",
        "evidence": "Title explicitly references 'job to be done'",
        "framework": null,
        "confidence": 1,
        "extraction": {
          "at": "2026-05-02 17:35:48.88+00",
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 97,
        "frameworkName": "jobs-to-be-done-jtbd"
      },
      {
        "matchId": "019dd95a-1d21-7467-a468-95583fba29df",
        "evidence": "Title 'But what's the job to be done?' (JTBD)",
        "framework": null,
        "confidence": 80,
        "extraction": {
          "at": "2026-04-29 13:07:34.940444+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 98,
        "frameworkName": "Jobs to Be Done"
      },
      {
        "matchId": "47ac5f4a-32f4-4886-b789-1faaa7290cca",
        "evidence": "Title explicitly references 'job to be done'",
        "framework": null,
        "confidence": 1,
        "extraction": {
          "at": "2026-05-02 17:35:49.812+00",
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 98,
        "frameworkName": "jobs-to-be-done-jtbd"
      },
      {
        "matchId": "019dd95a-1d21-7467-a468-9b184a248dd3",
        "evidence": "Title 'But what's the job to be done?' (JTBD)",
        "framework": null,
        "confidence": 80,
        "extraction": {
          "at": "2026-04-29 13:07:34.940444+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 99,
        "frameworkName": "Jobs to Be Done"
      },
      {
        "matchId": "8ef3781b-4eb1-446e-a6e6-daa88fc8904e",
        "evidence": "Title explicitly references 'job to be done'",
        "framework": null,
        "confidence": 1,
        "extraction": {
          "at": "2026-05-02 17:35:46.094+00",
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 99,
        "frameworkName": "jobs-to-be-done-jtbd"
      }
    ],
    "patterns": []
  },
  "storymakers": {
    "model": "claude-cli-sonnet-4.6",
    "backend": null,
    "rawJson": {
      "arc": {
        "id": 11,
        "slug": "triple-take",
        "beats": [
          {
            "name": "The Facts (What)",
            "end_page": 17,
            "evidence": "'End of free money' divider p3; macro data, layoffs, hiring perspective",
            "position": 1,
            "start_page": 3
          },
          {
            "name": "The Implications (So What)",
            "end_page": 69,
            "evidence": "'The New Gatekeepers' divider p18; retail media, unbundling, brand reset",
            "position": 2,
            "start_page": 18
          },
          {
            "name": "The Action (Now What)",
            "end_page": 100,
            "evidence": "'Dreams for the Future' p70; metaverse, generative AI bets, JTBD questions",
            "position": 3,
            "start_page": 70
          }
        ],
        "evidence": "Agenda (p2) names three pillars exactly mapping to Facts/Implications/Action: 'End of free money', 'New gatekeepers', 'Dreams for the future' (sections at p3, p18, p70).",
        "confidence": 82
      },
      "loops": [
        {
          "id": 2,
          "slug": "02-pattern-hunter",
          "end_page": 12,
          "evidence": "Repeated 'back to the trend line' titles across ecommerce, ads, valuations, venture (p5,6,9,10,11)",
          "position": 1,
          "objective": "Show macro slowdown across multiple indicators all reverting to trend",
          "confidence": 85,
          "start_page": 4
        },
        {
          "id": 12,
          "slug": "12-myth-buster",
          "end_page": 17,
          "evidence": "p14 'Some perspective': Meta laid off 11k but hired 15k; p16 'Glass half-empty/half-full' two-column",
          "position": 2,
          "objective": "Reframe layoff narrative with hiring context",
          "confidence": 78,
          "start_page": 13
        },
        {
          "id": 4,
          "slug": "04-tale-two-worlds",
          "end_page": 25,
          "evidence": "p19 'decline of old gatekeepers' immediately followed by p20 'rise of new ones'; Amazon overtakes Walmart",
          "position": 3,
          "objective": "Contrast decline of old gatekeepers with rise of new ones",
          "confidence": 82,
          "start_page": 19
        },
        {
          "id": 3,
          "slug": "03-aha-moment",
          "end_page": 39,
          "evidence": "Builds from 'how to reach customers' to Ads>Prime, Ads>AWS, retail media =10% share",
          "position": 4,
          "objective": "Reveal retail itself as the new advertising gatekeeper",
          "confidence": 80,
          "start_page": 26
        },
        {
          "id": 9,
          "slug": "09-precedent",
          "end_page": 44,
          "evidence": "p41 Anker $2bn case, p43-44 Shein 'new bundle and new channel build new global business'",
          "position": 5,
          "objective": "Use Anker/Shein as proof that new channels create new winners",
          "confidence": 75,
          "start_page": 40
        },
        {
          "id": 2,
          "slug": "02-pattern-hunter",
          "end_page": 50,
          "evidence": "Same title repeated p45-47; UPCs, cable, streaming all unlocked slots",
          "position": 6,
          "objective": "Show 'new channels + new tech = new SKUs' pattern across retail/cable/streaming",
          "confidence": 80,
          "start_page": 45
        },
        {
          "id": 21,
          "slug": "21-before-after",
          "end_page": 58,
          "evidence": "Blockbuster $5bn cap p51, Netflix vs YouTube p57, MrBeast vs top-10 Netflix p58",
          "position": 7,
          "objective": "Show legacy media's decline and streaming/creator-economy displacement",
          "confidence": 72,
          "start_page": 51
        },
        {
          "id": 3,
          "slug": "03-aha-moment",
          "end_page": 69,
          "evidence": "p64 'big brand bundle' -> p65 'unbundled' -> p67 'market reset, blank canvas'",
          "position": 8,
          "objective": "Land thesis: software unbundles every layer of the brand bundle",
          "confidence": 80,
          "start_page": 59
        },
        {
          "id": 36,
          "slug": "36-maturity-curve",
          "end_page": 77,
          "evidence": "p71 'Three steps to the future', p73 '2022 vs 2023 hype cycle turns', p77 'future can take a long time'",
          "position": 9,
          "objective": "Position crypto/metaverse against the hype-cycle curve",
          "confidence": 65,
          "start_page": 71
        },
        {
          "id": 9,
          "slug": "09-precedent",
          "end_page": 91,
          "evidence": "p79 ImageNet 2013 'so what'; p81 'same moment with generative networks'; same callout repeated",
          "position": 10,
          "objective": "Argue generative AI is at the same 'cool demo / so what' moment as ImageNet 2013",
          "confidence": 85,
          "start_page": 78
        },
        {
          "id": 53,
          "slug": "53-jobs-to-be-done",
          "end_page": 100,
          "evidence": "p97-99 repeat 'What's the job to be done?'; p96 'car-commerce to e-commerce' reframes the job",
          "position": 11,
          "objective": "Reframe ecommerce/advertising via JTBD lens to close",
          "confidence": 70,
          "start_page": 96
        }
      ],
      "slide_tools": [
        {
          "tools": [
            {
              "id": 16,
              "slug": "three-pillars",
              "layer": "Block",
              "evidence": "Agenda shows three labelled circles: free money / new gatekeepers / dreams",
              "confidence": 92
            },
            {
              "id": 34,
              "slug": "the-rule-of-three",
              "layer": "Block",
              "evidence": "Three equally-weighted circular pillars on agenda",
              "confidence": 90
            },
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "Subhead 'Tech trends for 2023' frames the take",
              "confidence": 70
            }
          ],
          "page_number": 2
        },
        {
          "tools": [
            {
              "id": 123,
              "slug": "opening-hooks",
              "layer": "Slide",
              "evidence": "Callout: 'macro matters to tech for the first time in a decade'",
              "confidence": 80
            },
            {
              "id": 122,
              "slug": "story-moments",
              "layer": "Slide",
              "evidence": "Sets the shock that opens the deck",
              "confidence": 60
            },
            {
              "id": 1,
              "slug": "scqa-framework",
              "layer": "Block",
              "evidence": "Situates a complication right after the agenda",
              "confidence": 65
            }
          ],
          "page_number": 4
        },
        {
          "tools": [
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "Title 'Ecommerce goes back to the trend line' states the insight",
              "confidence": 88
            },
            {
              "id": 74,
              "slug": "inductive-reasoning",
              "layer": "Loop",
              "evidence": "First in stack of evidence pointing to 'back to trend' pattern",
              "confidence": 78
            },
            {
              "id": 125,
              "slug": "data-ink-ratio",
              "layer": "Slide",
              "evidence": "Tufte-minimal chart, no chartjunk, single data line",
              "confidence": 85
            }
          ],
          "page_number": 5
        },
        {
          "tools": [
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "Title repeats with question mark to maintain motif",
              "confidence": 80
            },
            {
              "id": 89,
              "slug": "anaphora",
              "layer": "Loop",
              "evidence": "Same 'back to the trend line' phrasing carried across slides",
              "confidence": 70
            }
          ],
          "page_number": 6
        },
        {
          "tools": [
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "Title quantifies insight: '25-50% growth pulled forward'",
              "confidence": 92
            },
            {
              "id": 133,
              "slug": "small-multiples",
              "layer": "Slide",
              "evidence": "Six country panels (US/UK/FR/DE/ES/IT) compared",
              "confidence": 95
            },
            {
              "id": 130,
              "slug": "color-strategy",
              "layer": "Slide",
              "evidence": "Red 2022 bars vs grey historical bars highlight the reversion",
              "confidence": 80
            },
            {
              "id": 125,
              "slug": "data-ink-ratio",
              "layer": "Slide",
              "evidence": "No gridlines, no 3D, minimal axes",
              "confidence": 80
            }
          ],
          "page_number": 7
        },
        {
          "tools": [
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "Title 'Ad revenue slows for the giants' states the so-what",
              "confidence": 85
            },
            {
              "id": 67,
              "slug": "curiosity-gap",
              "layer": "Block",
              "evidence": "Callout asks 'The end of 20% annual revenue growth?'",
              "confidence": 65
            }
          ],
          "page_number": 8
        },
        {
          "tools": [
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "Subtitle 'exuberant valuations fade away' is the insight",
              "confidence": 80
            },
            {
              "id": 129,
              "slug": "chart-selection-guide",
              "layer": "Slide",
              "evidence": "Index time-series fits comparison vs benchmark",
              "confidence": 70
            }
          ],
          "page_number": 9
        },
        {
          "tools": [
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "Title 'Flow-through to venture' names the causal step",
              "confidence": 78
            },
            {
              "id": 86,
              "slug": "causal-chain",
              "layer": "Loop",
              "evidence": "Macro -> ad slowdown -> venture pullback chain in this loop",
              "confidence": 70
            }
          ],
          "page_number": 10
        },
        {
          "tools": [
            {
              "id": 98,
              "slug": "callback",
              "layer": "Loop",
              "evidence": "Title 'Back to the trend line?' echoes p5/p6 motif a third time",
              "confidence": 80
            },
            {
              "id": 89,
              "slug": "anaphora",
              "layer": "Loop",
              "evidence": "Repeats trend-line phrasing across the loop",
              "confidence": 75
            }
          ],
          "page_number": 11
        },
        {
          "tools": [
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "Title states consequence: 'all of this brings layoffs'; 85k Jan figure",
              "confidence": 85
            },
            {
              "id": 154,
              "slug": "concrete-language",
              "layer": "Slide",
              "evidence": "Specific 250k / 85k numbers anchor the abstract",
              "confidence": 75
            }
          ],
          "page_number": 13
        },
        {
          "tools": [
            {
              "id": 67,
              "slug": "curiosity-gap",
              "layer": "Block",
              "evidence": "Title 'Some perspective, though' opens loop on layoff narrative",
              "confidence": 70
            },
            {
              "id": 96,
              "slug": "the-turn",
              "layer": "Loop",
              "evidence": "Pivots from layoff alarm to '15,000 hired since January'",
              "confidence": 78
            }
          ],
          "page_number": 14
        },
        {
          "tools": [
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "Title states 'hired at huge scale in the last decade'",
              "confidence": 75
            }
          ],
          "page_number": 15
        },
        {
          "tools": [
            {
              "id": 94,
              "slug": "antithesis",
              "layer": "Loop",
              "evidence": "Two-column 'Half-empty | Half-full' juxtaposition with red divider",
              "confidence": 90
            },
            {
              "id": 78,
              "slug": "contrast-pairs",
              "layer": "Loop",
              "evidence": "Three paired bullets explicitly framed as opposing readings",
              "confidence": 88
            },
            {
              "id": 87,
              "slug": "parallel-structure",
              "layer": "Loop",
              "evidence": "Mirror three-bullet structure on each side",
              "confidence": 80
            }
          ],
          "page_number": 16
        },
        {
          "tools": [
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "Subhead 'From exciting to universal' compresses the section thesis",
              "confidence": 80
            },
            {
              "id": 100,
              "slug": "payoff",
              "layer": "Loop",
              "evidence": "Closes the macro-context loop with a 'real trend line' resolution",
              "confidence": 70
            }
          ],
          "page_number": 17
        },
        {
          "tools": [
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "Title 'The decline of old gatekeepers' states the move",
              "confidence": 80
            },
            {
              "id": 26,
              "slug": "before-after-bridge",
              "layer": "Block",
              "evidence": "Opens before/after frame against next slide",
              "confidence": 70
            }
          ],
          "page_number": 19
        },
        {
          "tools": [
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "Title 'And the rise of new ones'; subhead 'Amazon overtakes Walmart'",
              "confidence": 88
            },
            {
              "id": 78,
              "slug": "contrast-pairs",
              "layer": "Loop",
              "evidence": "Decline (p19) <-> rise (p20) explicit pair",
              "confidence": 75
            }
          ],
          "page_number": 20
        },
        {
          "tools": [
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "'Software eats advertising' states the thesis",
              "confidence": 80
            },
            {
              "id": 121,
              "slug": "metaphor-analogy",
              "layer": "Slide",
              "evidence": "'Software eats X' borrows Andreessen's eating metaphor",
              "confidence": 90
            }
          ],
          "page_number": 21
        },
        {
          "tools": [
            {
              "id": 89,
              "slug": "anaphora",
              "layer": "Loop",
              "evidence": "Title 'Software eats advertising' repeated for emphasis",
              "confidence": 78
            },
            {
              "id": 154,
              "slug": "concrete-language",
              "layer": "Slide",
              "evidence": "Anchors with $700bn market sizing",
              "confidence": 80
            }
          ],
          "page_number": 22
        },
        {
          "tools": [
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "'Global channels, global winners' states the structural shift",
              "confidence": 85
            },
            {
              "id": 87,
              "slug": "parallel-structure",
              "layer": "Loop",
              "evidence": "Local->global / local->global parallel construction",
              "confidence": 78
            }
          ],
          "page_number": 23
        },
        {
          "tools": [
            {
              "id": 89,
              "slug": "anaphora",
              "layer": "Loop",
              "evidence": "Repeats 'local to global' phrasing as the action title",
              "confidence": 70
            },
            {
              "id": 154,
              "slug": "concrete-language",
              "layer": "Slide",
              "evidence": "$760bn anchor figure",
              "confidence": 75
            }
          ],
          "page_number": 24
        },
        {
          "tools": [
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "'Concentration' + '$13bn for reach' lands the so-what",
              "confidence": 80
            },
            {
              "id": 154,
              "slug": "concrete-language",
              "layer": "Slide",
              "evidence": "Booking+Expedia $13bn ad spend specific",
              "confidence": 80
            }
          ],
          "page_number": 25
        },
        {
          "tools": [
            {
              "id": 67,
              "slug": "curiosity-gap",
              "layer": "Block",
              "evidence": "Question title 'How do you reach your customers?' opens loop",
              "confidence": 75
            },
            {
              "id": 1,
              "slug": "scqa-framework",
              "layer": "Block",
              "evidence": "Sets up complication: rent/ads/pricing budgets merge",
              "confidence": 60
            }
          ],
          "page_number": 26
        },
        {
          "tools": [
            {
              "id": 89,
              "slug": "anaphora",
              "layer": "Loop",
              "evidence": "Same question title repeated, callout reused",
              "confidence": 70
            }
          ],
          "page_number": 27
        },
        {
          "tools": [
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "Question title 'What's the right ad budget?' implies benchmark",
              "confidence": 75
            }
          ],
          "page_number": 28
        },
        {
          "tools": [
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "Title states the full claim about retail over-investment reversing",
              "confidence": 88
            }
          ],
          "page_number": 30
        },
        {
          "tools": [
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "'Amazon doubled warehouse space since 2019'; subhead 'now pulling back'",
              "confidence": 85
            },
            {
              "id": 154,
              "slug": "concrete-language",
              "layer": "Slide",
              "evidence": "500m sqft figure",
              "confidence": 70
            }
          ],
          "page_number": 31
        },
        {
          "tools": [
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "Title 'Retail as media' + '$38bn ad revenue'",
              "confidence": 85
            },
            {
              "id": 121,
              "slug": "metaphor-analogy",
              "layer": "Slide",
              "evidence": "Reframes retail-as-media category",
              "confidence": 75
            }
          ],
          "page_number": 32
        },
        {
          "tools": [
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "Title 'Ads > Prime' is itself the so-what",
              "confidence": 90
            },
            {
              "id": 152,
              "slug": "unexpected-pattern",
              "layer": "Slide",
              "evidence": "Surprises that ads exceed Prime revenue",
              "confidence": 75
            }
          ],
          "page_number": 33
        },
        {
          "tools": [
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "Title 'Ads > AWS?' with margin callout",
              "confidence": 90
            },
            {
              "id": 152,
              "slug": "unexpected-pattern",
              "layer": "Slide",
              "evidence": "Inverts conventional view of AWS being Amazon's profit engine",
              "confidence": 78
            }
          ],
          "page_number": 35
        },
        {
          "tools": [
            {
              "id": 155,
              "slug": "credibility-transfer",
              "layer": "Slide",
              "evidence": "Verbatim quote from Walmart CFO about ad-business margins",
              "confidence": 88
            },
            {
              "id": 169,
              "slug": "authority-bias",
              "layer": "Slide",
              "evidence": "Direct executive quote used as proof",
              "confidence": 80
            }
          ],
          "page_number": 36
        },
        {
          "tools": [
            {
              "id": 121,
              "slug": "metaphor-analogy",
              "layer": "Slide",
              "evidence": "'New channel, new gold rush' uses gold-rush metaphor",
              "confidence": 88
            },
            {
              "id": 92,
              "slug": "tricolon",
              "layer": "Loop",
              "evidence": "Callout 'Inventory, 1P Targeting, Margins!' is a triplet",
              "confidence": 65
            }
          ],
          "page_number": 37
        },
        {
          "tools": [
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "Title repeats subhead: '10% share in 2022'",
              "confidence": 90
            },
            {
              "id": 130,
              "slug": "color-strategy",
              "layer": "Slide",
              "evidence": "Retail segment isolated in red against grey/black stack",
              "confidence": 88
            },
            {
              "id": 158,
              "slug": "von-restorff-effect",
              "layer": "Slide",
              "evidence": "Single red retail block stands out in stacked bars",
              "confidence": 82
            }
          ],
          "page_number": 38
        },
        {
          "tools": [
            {
              "id": 121,
              "slug": "metaphor-analogy",
              "layer": "Slide",
              "evidence": "Quote uses 'heroin of promotional money' metaphor",
              "confidence": 90
            },
            {
              "id": 155,
              "slug": "credibility-transfer",
              "layer": "Slide",
              "evidence": "Quoted source supplies the vivid framing",
              "confidence": 80
            }
          ],
          "page_number": 39
        },
        {
          "tools": [
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "Title states data point: 'Chinese suppliers going direct on Amazon'",
              "confidence": 80
            }
          ],
          "page_number": 40
        },
        {
          "tools": [
            {
              "id": 154,
              "slug": "concrete-language",
              "layer": "Slide",
              "evidence": "Names Anker, Shenzhen, $2bn — specific case anchor",
              "confidence": 90
            },
            {
              "id": 157,
              "slug": "sinatra-test",
              "layer": "Slide",
              "evidence": "Anker as flagship example: if Anker can do it on Amazon, brand-building there is real",
              "confidence": 75
            }
          ],
          "page_number": 41
        },
        {
          "tools": [
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "Title 'Unbundling Amazon' + Shopify $200bn anchor",
              "confidence": 85
            },
            {
              "id": 154,
              "slug": "concrete-language",
              "layer": "Slide",
              "evidence": "$200bn = 45% of Amazon Marketplace, very specific",
              "confidence": 80
            }
          ],
          "page_number": 42
        },
        {
          "tools": [
            {
              "id": 67,
              "slug": "curiosity-gap",
              "layer": "Block",
              "evidence": "Question subhead about Chinese smartphone-only brand overtaking leaders",
              "confidence": 70
            }
          ],
          "page_number": 43
        },
        {
          "tools": [
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "Subhead 'new bundle and new channel build new global business'",
              "confidence": 85
            },
            {
              "id": 157,
              "slug": "sinatra-test",
              "layer": "Slide",
              "evidence": "Shein as proof case for the thesis",
              "confidence": 70
            }
          ],
          "page_number": 44
        },
        {
          "tools": [
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "Subhead 'New channels + new tech = new SKUs' is the formula",
              "confidence": 88
            },
            {
              "id": 89,
              "slug": "anaphora",
              "layer": "Loop",
              "evidence": "Same subhead repeated p45-47",
              "confidence": 80
            }
          ],
          "page_number": 45
        },
        {
          "tools": [
            {
              "id": 89,
              "slug": "anaphora",
              "layer": "Loop",
              "evidence": "Repeats 'New channels + new tech = new SKUs' subhead",
              "confidence": 78
            }
          ],
          "page_number": 46
        },
        {
          "tools": [
            {
              "id": 89,
              "slug": "anaphora",
              "layer": "Loop",
              "evidence": "Third repetition of the 'new channels + new tech' formula",
              "confidence": 78
            }
          ],
          "page_number": 47
        },
        {
          "tools": [
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "Title 'Fragmentation' names the pattern",
              "confidence": 70
            }
          ],
          "page_number": 48
        },
        {
          "tools": [
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "Subhead 'US pay TV penetration is down a third from the peak'",
              "confidence": 88
            }
          ],
          "page_number": 49
        },
        {
          "tools": [
            {
              "id": 121,
              "slug": "metaphor-analogy",
              "layer": "Slide",
              "evidence": "Title 'Gradually, then suddenly...' borrows Hemingway's bankruptcy line",
              "confidence": 85
            },
            {
              "id": 155,
              "slug": "credibility-transfer",
              "layer": "Slide",
              "evidence": "Literary callback gives gravitas",
              "confidence": 60
            }
          ],
          "page_number": 50
        },
        {
          "tools": [
            {
              "id": 88,
              "slug": "chiasmus",
              "layer": "Loop",
              "evidence": "Title 'Streaming > schlepping' is a witty contrast pairing",
              "confidence": 78
            },
            {
              "id": 154,
              "slug": "concrete-language",
              "layer": "Slide",
              "evidence": "Blockbuster $5bn peak market cap as anchor",
              "confidence": 75
            }
          ],
          "page_number": 51
        },
        {
          "tools": [
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "Title 'Land grabs are expensive' frames the cost insight",
              "confidence": 80
            },
            {
              "id": 121,
              "slug": "metaphor-analogy",
              "layer": "Slide",
              "evidence": "'Land grab' metaphor for content investment",
              "confidence": 70
            }
          ],
          "page_number": 52
        },
        {
          "tools": [
            {
              "id": 12,
              "slug": "myth-buster",
              "layer": "Loop",
              "evidence": "'Content is king - for content businesses' qualifies the well-worn saying",
              "confidence": 60
            }
          ],
          "page_number": 53
        },
        {
          "tools": [
            {
              "id": 155,
              "slug": "credibility-transfer",
              "layer": "Slide",
              "evidence": "Cites Christensen's 'innovator's dilemma' theory",
              "confidence": 78
            },
            {
              "id": 169,
              "slug": "authority-bias",
              "layer": "Slide",
              "evidence": "Borrows Christensen's named theory as backing",
              "confidence": 70
            }
          ],
          "page_number": 54
        },
        {
          "tools": [
            {
              "id": 67,
              "slug": "curiosity-gap",
              "layer": "Block",
              "evidence": "Title 'Something missing, though?' opens an information gap",
              "confidence": 80
            },
            {
              "id": 109,
              "slug": "information-gap-theory",
              "layer": "Loop",
              "evidence": "Explicitly teases withheld info",
              "confidence": 75
            }
          ],
          "page_number": 55
        },
        {
          "tools": [
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "Title is the full insight about YouTube creator payouts vs TV",
              "confidence": 85
            }
          ],
          "page_number": 56
        },
        {
          "tools": [
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "Title 'Nielsen estimates YouTube and Netflix have equivalent viewing'",
              "confidence": 80
            },
            {
              "id": 169,
              "slug": "authority-bias",
              "layer": "Slide",
              "evidence": "Cites Nielsen as authoritative source",
              "confidence": 72
            }
          ],
          "page_number": 57
        },
        {
          "tools": [
            {
              "id": 157,
              "slug": "sinatra-test",
              "layer": "Slide",
              "evidence": "MrBeast as the flagship creator-vs-Netflix proof case",
              "confidence": 80
            },
            {
              "id": 154,
              "slug": "concrete-language",
              "layer": "Slide",
              "evidence": "Specific 'top 10 Netflix show' comparison",
              "confidence": 78
            }
          ],
          "page_number": 58
        },
        {
          "tools": [
            {
              "id": 67,
              "slug": "curiosity-gap",
              "layer": "Block",
              "evidence": "Question title 'What is TV anyway?' opens reframing",
              "confidence": 75
            }
          ],
          "page_number": 59
        },
        {
          "tools": [
            {
              "id": 155,
              "slug": "credibility-transfer",
              "layer": "Slide",
              "evidence": "Quote 'Software is eating the world' (Andreessen)",
              "confidence": 88
            },
            {
              "id": 98,
              "slug": "callback",
              "layer": "Loop",
              "evidence": "Echoes 'Software eats advertising' titles from p21-22",
              "confidence": 80
            }
          ],
          "page_number": 60
        },
        {
          "tools": [
            {
              "id": 67,
              "slug": "curiosity-gap",
              "layer": "Block",
              "evidence": "Question 'But where does that happen?' opens framework",
              "confidence": 70
            }
          ],
          "page_number": 61
        },
        {
          "tools": [
            {
              "id": 155,
              "slug": "credibility-transfer",
              "layer": "Slide",
              "evidence": "Pulled quote 'bundle or unbundle' (Jim Barksdale)",
              "confidence": 85
            },
            {
              "id": 88,
              "slug": "chiasmus",
              "layer": "Loop",
              "evidence": "Bundle/unbundle is itself a chiasmic line",
              "confidence": 75
            }
          ],
          "page_number": 62
        },
        {
          "tools": [
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "Title is the insight: 'Nike's own channel is now 40% of sales and all of the growth'",
              "confidence": 90
            },
            {
              "id": 154,
              "slug": "concrete-language",
              "layer": "Slide",
              "evidence": "Names Nike, gives precise 40% figure",
              "confidence": 80
            }
          ],
          "page_number": 63
        },
        {
          "tools": [
            {
              "id": 26,
              "slug": "before-after-bridge",
              "layer": "Block",
              "evidence": "Sets up 'before' state of brand bundle to be unbundled next slide",
              "confidence": 80
            },
            {
              "id": 89,
              "slug": "anaphora",
              "layer": "Loop",
              "evidence": "Title 'big brand bundle' carried into p65",
              "confidence": 75
            }
          ],
          "page_number": 64
        },
        {
          "tools": [
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "Title '...unbundled' completes the before/after; subhead 'all advantages of scale in question'",
              "confidence": 88
            },
            {
              "id": 78,
              "slug": "contrast-pairs",
              "layer": "Loop",
              "evidence": "Bundle (p64) vs unbundled (p65) explicit pair",
              "confidence": 80
            }
          ],
          "page_number": 65
        },
        {
          "tools": [
            {
              "id": 92,
              "slug": "tricolon",
              "layer": "Loop",
              "evidence": "Three before/after pairs: Sears->Amazon, TV->YouTube, newspapers->internet",
              "confidence": 92
            },
            {
              "id": 78,
              "slug": "contrast-pairs",
              "layer": "Loop",
              "evidence": "Each row is an old gatekeeper -> new gatekeeper pairing with arrow",
              "confidence": 90
            },
            {
              "id": 87,
              "slug": "parallel-structure",
              "layer": "Loop",
              "evidence": "Identical row layout for the three comparisons",
              "confidence": 85
            },
            {
              "id": 34,
              "slug": "the-rule-of-three",
              "layer": "Block",
              "evidence": "Three parallel comparisons on a single slide",
              "confidence": 88
            }
          ],
          "page_number": 66
        },
        {
          "tools": [
            {
              "id": 132,
              "slug": "visual-hierarchy",
              "layer": "Slide",
              "evidence": "Red center circle 'A new kind of problem' anchors as focal point",
              "confidence": 88
            },
            {
              "id": 130,
              "slug": "color-strategy",
              "layer": "Slide",
              "evidence": "Single red node vs grey nodes draws eye",
              "confidence": 88
            },
            {
              "id": 147,
              "slug": "focal-point",
              "layer": "Slide",
              "evidence": "Two grey arrows funnel attention to red center",
              "confidence": 85
            },
            {
              "id": 158,
              "slug": "von-restorff-effect",
              "layer": "Slide",
              "evidence": "Red center pops against grey context",
              "confidence": 80
            },
            {
              "id": 100,
              "slug": "payoff",
              "layer": "Loop",
              "evidence": "Lands the section thesis: 'blank canvas for new businesses'",
              "confidence": 75
            }
          ],
          "page_number": 67
        },
        {
          "tools": [
            {
              "id": 155,
              "slug": "credibility-transfer",
              "layer": "Slide",
              "evidence": "Quote 'advertising is the price of an unremarkable product' (Bezos)",
              "confidence": 88
            },
            {
              "id": 121,
              "slug": "metaphor-analogy",
              "layer": "Slide",
              "evidence": "Memorable metaphorical framing of advertising",
              "confidence": 70
            }
          ],
          "page_number": 68
        },
        {
          "tools": [
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "Title 'Amazon is the world's largest advertiser' delivers the punchline",
              "confidence": 85
            },
            {
              "id": 152,
              "slug": "unexpected-pattern",
              "layer": "Slide",
              "evidence": "Reframes Amazon as paying for, not just selling, ads",
              "confidence": 75
            }
          ],
          "page_number": 69
        },
        {
          "tools": [
            {
              "id": 34,
              "slug": "the-rule-of-three",
              "layer": "Block",
              "evidence": "'Three steps to the future' explicit triadic framing",
              "confidence": 80
            },
            {
              "id": 16,
              "slug": "three-pillars",
              "layer": "Block",
              "evidence": "Diagram organises future into three pillars",
              "confidence": 70
            }
          ],
          "page_number": 71
        },
        {
          "tools": [
            {
              "id": 26,
              "slug": "before-after-bridge",
              "layer": "Block",
              "evidence": "Comparison table 2022 vs 2023 — explicit before/after of hype",
              "confidence": 80
            },
            {
              "id": 78,
              "slug": "contrast-pairs",
              "layer": "Loop",
              "evidence": "Two-column shift in narrative items",
              "confidence": 75
            }
          ],
          "page_number": 73
        },
        {
          "tools": [
            {
              "id": 154,
              "slug": "concrete-language",
              "layer": "Slide",
              "evidence": "$14bn metaverse spend in 12 months, very specific",
              "confidence": 85
            },
            {
              "id": 155,
              "slug": "credibility-transfer",
              "layer": "Slide",
              "evidence": "Quote 'Wait, how much money, Mark?' borrows skeptical voice",
              "confidence": 60
            }
          ],
          "page_number": 75
        },
        {
          "tools": [
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "Title 'the future can take a long time'; subhead about early leaders disappearing",
              "confidence": 78
            }
          ],
          "page_number": 77
        },
        {
          "tools": [
            {
              "id": 154,
              "slug": "concrete-language",
              "layer": "Slide",
              "evidence": "Anchors with 'Imagenet, 2013'",
              "confidence": 80
            },
            {
              "id": 99,
              "slug": "foreshadowing",
              "layer": "Loop",
              "evidence": "Callout 'That's clever, but so what?' will be reused at p81",
              "confidence": 80
            }
          ],
          "page_number": 79
        },
        {
          "tools": [
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "Title 'ML spread from cool demo to everything' delivers the precedent payoff",
              "confidence": 80
            }
          ],
          "page_number": 80
        },
        {
          "tools": [
            {
              "id": 98,
              "slug": "callback",
              "layer": "Loop",
              "evidence": "Reuses identical 'That's clever, but so what?' line from p79",
              "confidence": 90
            },
            {
              "id": 85,
              "slug": "argument-from-analogy",
              "layer": "Loop",
              "evidence": "Title 'Now, the same moment with generative networks' draws ImageNet parallel",
              "confidence": 88
            }
          ],
          "page_number": 81
        },
        {
          "tools": [
            {
              "id": 165,
              "slug": "picture-superiority-effect",
              "layer": "Slide",
              "evidence": "AI-generated portrait shown in full as the demo",
              "confidence": 80
            },
            {
              "id": 154,
              "slug": "concrete-language",
              "layer": "Slide",
              "evidence": "Callout shows the verbatim prompt",
              "confidence": 70
            }
          ],
          "page_number": 82
        },
        {
          "tools": [
            {
              "id": 154,
              "slug": "concrete-language",
              "layer": "Slide",
              "evidence": "Names ChatGPT specifically as the demo",
              "confidence": 70
            }
          ],
          "page_number": 83
        },
        {
          "tools": [
            {
              "id": 67,
              "slug": "curiosity-gap",
              "layer": "Block",
              "evidence": "Three open questions stacked: how many queries? where do ads go? how sold?",
              "confidence": 85
            },
            {
              "id": 20,
              "slug": "problem-statement-canvas",
              "layer": "Block",
              "evidence": "Frames the unresolved problem space",
              "confidence": 60
            }
          ],
          "page_number": 85
        },
        {
          "tools": [
            {
              "id": 165,
              "slug": "picture-superiority-effect",
              "layer": "Slide",
              "evidence": "Generated 'Sundar Pichai as boxer' image carries the slide",
              "confidence": 80
            }
          ],
          "page_number": 86
        },
        {
          "tools": [
            {
              "id": 165,
              "slug": "picture-superiority-effect",
              "layer": "Slide",
              "evidence": "Mock UI screenshots illustrate 'generative UI design'",
              "confidence": 78
            }
          ],
          "page_number": 87
        },
        {
          "tools": [
            {
              "id": 98,
              "slug": "callback",
              "layer": "Loop",
              "evidence": "Re-invokes Shein from p43-44 in new generative-product context",
              "confidence": 80
            },
            {
              "id": 67,
              "slug": "curiosity-gap",
              "layer": "Block",
              "evidence": "Asks 'when can Shein create products in response to searches'",
              "confidence": 70
            }
          ],
          "page_number": 88
        },
        {
          "tools": [
            {
              "id": 165,
              "slug": "picture-superiority-effect",
              "layer": "Slide",
              "evidence": "Generated 'Burt Reynolds as Han Solo' image as visual proof",
              "confidence": 80
            }
          ],
          "page_number": 89
        },
        {
          "tools": [
            {
              "id": 67,
              "slug": "curiosity-gap",
              "layer": "Block",
              "evidence": "Question title '(And how much Moore's Law will this need?)'",
              "confidence": 70
            },
            {
              "id": 154,
              "slug": "concrete-language",
              "layer": "Slide",
              "evidence": "$150bn+ compute anchor",
              "confidence": 70
            }
          ],
          "page_number": 90
        },
        {
          "tools": [
            {
              "id": 16,
              "slug": "three-pillars",
              "layer": "Block",
              "evidence": "Title 'Three views of generative AI'; three labelled circles",
              "confidence": 92
            },
            {
              "id": 34,
              "slug": "the-rule-of-three",
              "layer": "Block",
              "evidence": "Triadic framing of viewpoints",
              "confidence": 90
            },
            {
              "id": 130,
              "slug": "color-strategy",
              "layer": "Slide",
              "evidence": "Red AGI circle marks 'minority view' separately from grey two",
              "confidence": 85
            },
            {
              "id": 158,
              "slug": "von-restorff-effect",
              "layer": "Slide",
              "evidence": "Single red circle stands out against two grey",
              "confidence": 80
            }
          ],
          "page_number": 91
        },
        {
          "tools": [
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "Title 'The end of the American internet'; subhead 50% of mobile traffic",
              "confidence": 85
            },
            {
              "id": 154,
              "slug": "concrete-language",
              "layer": "Slide",
              "evidence": "Specific 50% figure for India+China share",
              "confidence": 75
            }
          ],
          "page_number": 94
        },
        {
          "tools": [
            {
              "id": 78,
              "slug": "contrast-pairs",
              "layer": "Loop",
              "evidence": "Title 'Old and new big tech' frames a comparison",
              "confidence": 70
            }
          ],
          "page_number": 95
        },
        {
          "tools": [
            {
              "id": 121,
              "slug": "metaphor-analogy",
              "layer": "Slide",
              "evidence": "Title coins 'car-commerce to e-commerce' as analogue shift",
              "confidence": 80
            }
          ],
          "page_number": 96
        },
        {
          "tools": [
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "Title 'What's the job to be done?' frames the closing question",
              "confidence": 80
            },
            {
              "id": 89,
              "slug": "anaphora",
              "layer": "Loop",
              "evidence": "JTBD question repeated p97/98/99",
              "confidence": 85
            },
            {
              "id": 125,
              "slug": "data-ink-ratio",
              "layer": "Slide",
              "evidence": "Tufte-clean ecommerce vs digital-ad line chart",
              "confidence": 80
            }
          ],
          "page_number": 97
        },
        {
          "tools": [
            {
              "id": 89,
              "slug": "anaphora",
              "layer": "Loop",
              "evidence": "Repeats 'But what's the job to be done?'",
              "confidence": 85
            }
          ],
          "page_number": 98
        },
        {
          "tools": [
            {
              "id": 89,
              "slug": "anaphora",
              "layer": "Loop",
              "evidence": "Third repetition of JTBD question",
              "confidence": 85
            },
            {
              "id": 100,
              "slug": "payoff",
              "layer": "Loop",
              "evidence": "Closes the JTBD anaphora chain",
              "confidence": 65
            }
          ],
          "page_number": 99
        },
        {
          "tools": [
            {
              "id": 124,
              "slug": "closing-techniques",
              "layer": "Slide",
              "evidence": "'One more reason for optimism' is a vision-style close",
              "confidence": 85
            },
            {
              "id": 111,
              "slug": "optimism-bias",
              "layer": "Loop",
              "evidence": "Ends on optimism beat after sober macro opening",
              "confidence": 60
            }
          ],
          "page_number": 100
        },
        {
          "tools": [
            {
              "id": 124,
              "slug": "closing-techniques",
              "layer": "Slide",
              "evidence": "Final 'Thank you' slide",
              "confidence": 70
            }
          ],
          "page_number": 103
        }
      ],
      "slides_seen": 103,
      "deck_summary": "A trend-analyst keynote that aligns strongly with Storymakers at the macro (clear three-act Triple Take, three-pillar agenda, anaphora-driven loops) and at the slide level (action titles, Tufte data-ink discipline, Von Restorff colour highlights) — but it deliberately avoids consultant rhetorical scaffolding like SCQA, recommendations, or named frameworks beyond passing JTBD/Christensen citations.",
      "secondary_arcs": [
        {
          "id": 13,
          "slug": "mountain",
          "beats": [
            {
              "name": "Setup & Stakes",
              "end_page": 17,
              "evidence": "macro shift framed as new context for tech",
              "position": 1,
              "start_page": 3
            },
            {
              "name": "Rising Action",
              "end_page": 58,
              "evidence": "category-by-category gatekeeper sweep: retail, media, content",
              "position": 2,
              "start_page": 18
            },
            {
              "name": "Climax",
              "end_page": 69,
              "evidence": "'A market reset' + 'blank canvas for new businesses' p67",
              "position": 3,
              "start_page": 59
            },
            {
              "name": "Resolution",
              "end_page": 100,
              "evidence": "future bets, generative AI, optimism close p100",
              "position": 4,
              "start_page": 70
            }
          ],
          "evidence": "Setup macro stakes -> rising tour through gatekeeper categories -> 'market reset' climax p67 -> resolution in future bets p70+.",
          "confidence": 60
        }
      ],
      "images_inspected": 7,
      "slide_frameworks": [
        {
          "frameworks": [
            {
              "name": "Innovator's Dilemma",
              "slug": "innovators-dilemma",
              "evidence": "Title quotes 'innovator's dilemma' and applies it to legacy media spend",
              "confidence": 85
            }
          ],
          "page_number": 54
        },
        {
          "frameworks": [
            {
              "name": "Jobs to Be Done",
              "slug": "jobs-to-be-done",
              "evidence": "Title 'What's the job to be done?' uses JTBD framing explicitly",
              "confidence": 80
            }
          ],
          "page_number": 97
        },
        {
          "frameworks": [
            {
              "name": "Jobs to Be Done",
              "slug": "jobs-to-be-done",
              "evidence": "Title 'But what's the job to be done?' (JTBD)",
              "confidence": 80
            }
          ],
          "page_number": 98
        },
        {
          "frameworks": [
            {
              "name": "Jobs to Be Done",
              "slug": "jobs-to-be-done",
              "evidence": "Title 'But what's the job to be done?' (JTBD)",
              "confidence": 80
            }
          ],
          "page_number": 99
        }
      ]
    },
    "matchedAt": "2026-04-27 09:34:23+00",
    "slidesSeen": 103,
    "deckSummary": "A trend-analyst keynote that aligns strongly with Storymakers at the macro (clear three-act Triple Take, three-pillar agenda, anaphora-driven loops) and at the slide level (action titles, Tufte data-ink discipline, Von Restorff colour highlights) — but it deliberately avoids consultant rhetorical scaffolding like SCQA, recommendations, or named frameworks beyond passing JTBD/Christensen citations.",
    "imagesInspected": 7,
    "extractionSeconds": 561.9052
  },
  "score": {
    "backend": "codex",
    "scoredAt": "2026-05-02 23:03:50.531+00",
    "subScores": {
      "scqa_arc": 55,
      "action_titles": 56,
      "mece_structure": 58,
      "closing_strength": 30,
      "evidence_quality": 84,
      "clarity_of_thesis": 48,
      "production_quality": 73,
      "visual_storytelling": 82
    },
    "totalScore": 61,
    "coveragePct": 100,
    "explanations": {
      "scqa_arc": "The deck has situation and complication beats in slides 4-17 and 19-35, but questions and answers recur locally rather than resolving into one SCQA answer.",
      "action_titles": "Action-title coverage is 69/103, but many are labels or questions rather than takeaways, e.g., slide 25 \"Concentration\".",
      "mece_structure": "The three main blocks in slides 3-17, 18-69, and 70-91 are understandable but not MECE because advertising, retail, media, bundles, and generative AI overlap without an explicit issue tree.",
      "closing_strength": "Slides 92-103 close with a conclusion divider, omitted topics, extra data points, about, and thank-you, but no clear recommendation, decision, or next steps.",
      "evidence_quality": "Most claims are backed by charts or quantified comparisons, for example slides 13, 24, 38, 56, and 90, though the future and generative section relies more on examples.",
      "clarity_of_thesis": "Slide 2 names three themes and slides 3-5 begin the macro section, but the first five slides never state a declarative whole-deck thesis.",
      "production_quality": "The deck is visually disciplined with repeated chart and callout patterns plus some footnotes, but action-title discipline is inconsistent and the conclusion-to-appendix boundary is loose.",
      "visual_storytelling": "Slides 5-15, 20-38, and 72-90 mostly match message to chart, comparison, quote, or image, with callouts used to carry the visual point."
    },
    "slidesAnalyzed": 103
  },
  "review": {
    "backend": null,
    "verdict": "This is a strong independent analyst survey deck with memorable data-led chapters, but only a moderate Storymakers exemplar because its thesis and close are more essayistic than decisive.",
    "reviewedAt": "2026-05-01 22:28:24.027+00",
    "slidesSeen": 103,
    "suggestions": [
      "Add a thesis slide immediately after slide 2 that states the answer: higher rates reset tech economics while commerce, ads, and generative AI create a new set of gatekeepers.",
      "Recast the long 'New Gatekeepers' section into explicit sub-pillars such as customer acquisition, logistics/fulfillment, retail media, content distribution, and brand unbundling.",
      "Replace or precede slides 93-100 with a true conclusion slide that summarizes the 3-4 implications for companies, investors, or builders and names the recommended response."
    ],
    "closingScore": 45,
    "openingScore": 61,
    "topStrengths": [
      "Slides 3-17 create a strong contextual setup around the end of free money, ecommerce normalization, venture pullback, layoffs, and long-run tech adoption.",
      "Slides 19-38 build a persuasive old-to-new-gatekeepers chain from department stores to Amazon, global ad platforms, customer reach, logistics, and retail media.",
      "Slides 79-91 give the generative AI section a useful progression from 'cool demo' skepticism to practical disruptions in search, UI, products, media, compute, and market interpretation."
    ],
    "topWeaknesses": [
      "The deck's thesis is delayed: slide 2 names themes, but the actionable meaning of 'The New Gatekeepers' only becomes clear after slide 18.",
      "The middle act sprawls across adjacent but different ideas - Amazon, Shein, streaming, Nike, bundles, advertising - without enough explicit signposting to make the structure MECE.",
      "The conclusion section starts on slide 92 but then becomes a set of extra observations through slide 100 rather than a synthesis, recommendation, or next-step agenda."
    ],
    "narrativeScore": 70,
    "pillarCritique": "The section dividers broadly map to pillars - macro reset, new gatekeepers, dreams/future, conclusion - but they are more thematic chapters than MECE pillars. The long middle section blends retail, advertising, logistics, streaming, brands, and bundles without a visibly explicit decomposition.",
    "closingCritique": "The last main slides before the appendix, especially slides 96-100, broaden into jobs-to-be-done and optimism rather than a clear call to action. Slide 103 provides a polite thank-you/contact close, but not a memorable strategic close.",
    "openingCritique": "The first 5 slides establish stakes through 'The End of Free Money' and the slide 4 callout that macro matters to tech, but they do not lead with the deck's answer about new gatekeepers. The hook is timely, yet the thesis is still implicit after slide 5.",
    "extractionSeconds": 74.542,
    "narrativeCritique": "The deck has a recognizable setup -> tension -> analysis -> partial resolution arc: macro reset on slides 3-17, new platform/channel gatekeepers on slides 18-69, future technology questions on slides 70-91, and a loose conclusion on slides 92-100. The missing act is a crisp resolution: it lands on perspective and optimism rather than a synthesized answer or recommendation.",
    "titleQualityScore": 67,
    "titleQualityCritique": "Many titles are compact and provocative but often behave as topic labels or questions, such as slides 28-29 ('What's the right ad budget?' and 'How much retail space do you need?'). The strongest action titles are insight-bearing, including slide 30 ('The US had over-invested in retail space - now the trend reverses') and slide 56 ('YouTube creator payouts are almost certainly comparable to TV production budgets')."
  },
  "activistThesis": null,
  "pitchdeck": {
    "metadata": null,
    "profile": null
  },
  "slides": [
    {
      "page": 1,
      "type": "setup",
      "function": "front_matter",
      "imagePath": "https://imgproxy.kitesheet.com/t3Bc_uZt_STgVAS-LFbCDWwSivmgSVE9ujJOmknz09I/rs:fit:1200:1200:0/q:82/f:webp/czM6Ly9raXRlc2hlZXQvY29ycHVzL3NsaWRlcy83NmVhNmNjMzk3NTMzZTM1L3AwMDEuanBn",
      "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": 4,
        "componentCount": 2,
        "textChars": 65,
        "nDataPoints": 0,
        "notes": null,
        "elementsJson": [
          "headline_text"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:35:32.438+00",
          "seconds": 2.27,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5e88-73ef-bd5d-853951586965/1",
        "deck": "/decks/019dd923-5e88-73ef-bd5d-853951586965",
        "deckAnchor": "/decks/019dd923-5e88-73ef-bd5d-853951586965#slide-1",
        "deckJson": "/decks/019dd923-5e88-73ef-bd5d-853951586965.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.115,
            "w": 0.155,
            "x": 0.203,
            "y": 0.655
          },
          "kind": "paragraph",
          "text": "Benedict Evans\nFebruary 2023\nwww.ben-evans.com",
          "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 17:35:32.438+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "328f5eb5-7fbe-4b56-abd6-00a6f88a4570",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.115,
            "w": 0.518,
            "x": 0.203,
            "y": 0.265
          },
          "kind": "title",
          "text": "The New Gatekeepers",
          "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 17:35:32.438+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "1551167d-3406-499b-950a-bd2d9f6a2db3",
          "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": "141e31d6-4821-47a6-ba03-da677996708e",
          "evidence": "The slide is a cover slide with a clear title and author information.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.9,
          "extraction": {
            "at": "2026-07-16 21:59:12.645524+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": [],
      "loops": [],
      "thumbSrc": "https://imgproxy.kitesheet.com/Es9YuNJgXnkTDu4aPP5wLR962VQ21OCnpDdlQipng0Y/rs:fit:480:480:0/q:78/f:webp/czM6Ly9raXRlc2hlZXQvY29ycHVzL3NsaWRlcy83NmVhNmNjMzk3NTMzZTM1L3AwMDEuanBn",
      "imagePathAlt": "https://imgproxy.kitesheet.com/9lhY9unSYsApa8MxSVZUfqJ4hCALaKDD_KaU-V6wVLc/rs:fit:1200:1200:0/q:82/f:webp/czM6Ly9raXRlc2hlZXQvY29ycHVzL3NsaWRlcy83NmVhNmNjMzk3NTMzZTM1L3AwMDEucG5n",
      "thumbSrcAlt": "https://imgproxy.kitesheet.com/gVrfgbZ4n5akqZqutUXz0uRR1vf8OkH35UyKQPc6O5s/rs:fit:480:480:0/q:78/f:webp/czM6Ly9raXRlc2hlZXQvY29ycHVzL3NsaWRlcy83NmVhNmNjMzk3NTMzZTM1L3AwMDEucG5n"
    },
    {
      "page": 2,
      "type": "setup",
      "title": "The slide uses a simple three-circle layout to present the core topics of the presentation.",
      "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": 24,
        "componentCount": 5,
        "textChars": 226,
        "nDataPoints": 0,
        "notes": "The slide uses a simple three-circle layout to present the core topics of the presentation.",
        "elementsJson": [
          "headline_text",
          "subtitle_text",
          "other"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:35:33.106+00",
          "seconds": 2.795,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5e88-73ef-bd5d-853951586965/2",
        "deck": "/decks/019dd923-5e88-73ef-bd5d-853951586965",
        "deckAnchor": "/decks/019dd923-5e88-73ef-bd5d-853951586965#slide-2",
        "deckJson": "/decks/019dd923-5e88-73ef-bd5d-853951586965.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.285,
            "w": 0.201,
            "x": 0.662,
            "y": 0.358
          },
          "kind": "diagram",
          "text": "Dreams for the future: The hype cycle turns, and now Generative ML is everything",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Diagram",
              "slug": "diagram",
              "status": "active",
              "canonId": "019de52c-f9f0-734a-81de-15382ff28c65",
              "version": 1,
              "description": "Schematic or relational diagram."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": "other",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:33.106+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "185c92c4-9587-4847-ae87-b7dfea482be6",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.285,
            "w": 0.201,
            "x": 0.433,
            "y": 0.358
          },
          "kind": "diagram",
          "text": "The New Gatekeepers: How do we remake commerce?",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Diagram",
              "slug": "diagram",
              "status": "active",
              "canonId": "019de52c-f9f0-734a-81de-15382ff28c65",
              "version": 1,
              "description": "Schematic or relational diagram."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": "other",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:33.106+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "c3fde54c-a3b1-4d44-b24f-7b5f5c95f015",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.285,
            "w": 0.201,
            "x": 0.204,
            "y": 0.358
          },
          "kind": "diagram",
          "text": "The end of free money: What does the macro shift do to tech?",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Diagram",
              "slug": "diagram",
              "status": "active",
              "canonId": "019de52c-f9f0-734a-81de-15382ff28c65",
              "version": 1,
              "description": "Schematic or relational diagram."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": "other",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:33.106+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "ec3c75f9-aa4e-4062-8a83-d4ca209761a1",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.045,
            "w": 0.316,
            "x": 0.204,
            "y": 0.058
          },
          "kind": "title",
          "text": "The New Gatekeepers",
          "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 17:35:33.106+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "a0c8ea5b-fba3-49c6-bdc3-45946c44a0ed",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.022,
            "w": 0.175,
            "x": 0.204,
            "y": 0.133
          },
          "kind": "title",
          "text": "Tech trends for 2023",
          "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": "Subtitle",
              "slug": "subtitle",
              "status": "active",
              "canonId": "019de52c-fb09-739d-900c-815b0d9ac526",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "subtitle",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:33.106+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "19c2d1b2-9a22-4b4a-9082-a95fcafb633a",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "The Rule of Three",
            "slug": "the-rule-of-three",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-8962-75cf-b4f8-9394501a6f33",
            "version": 1,
            "bodyDocId": null,
            "description": "Ideas presented in threes are more memorable and satisfying",
            "familyLabel": null,
            "categoryName": "Block",
            "categorySlug": "block"
          },
          "agent": "Storyteller",
          "layer": "block",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019dd95a-1b83-7130-933c-ace8fa4c349c",
          "evidence": "Three equally-weighted circular pillars on agenda",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 90,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 2,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Three Pillars",
            "slug": "three-pillars",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-81ef-7455-a365-b234d95a6bbb",
            "version": 1,
            "bodyDocId": null,
            "description": "Three major supporting arguments that are MECE and address key concerns",
            "familyLabel": null,
            "categoryName": "Block",
            "categorySlug": "block"
          },
          "agent": "Architect",
          "layer": "block",
          "agents": [
            "Architect"
          ],
          "matchId": "019dd95a-1b83-7130-933c-aa79e9b7c320",
          "evidence": "Agenda shows three labelled circles: free money / new gatekeepers / dreams",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": null,
          "confidence": 92,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 2,
          "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": "019dd95a-1b83-7130-933c-b2abd1a61ba5",
          "evidence": "Subhead 'Tech trends for 2023' frames the take",
          "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": 70,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 2,
          "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."
        }
      ],
      "frameworks": [],
      "arcBeats": [],
      "loops": [],
      "locked": true
    },
    {
      "page": 3,
      "type": "setup",
      "function": "front_matter",
      "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": 3,
        "componentCount": 2,
        "textChars": 52,
        "nDataPoints": 0,
        "notes": null,
        "elementsJson": [
          "headline_text"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:35:33.323+00",
          "seconds": 2.852,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5e88-73ef-bd5d-853951586965/3",
        "deck": "/decks/019dd923-5e88-73ef-bd5d-853951586965",
        "deckAnchor": "/decks/019dd923-5e88-73ef-bd5d-853951586965#slide-3",
        "deckJson": "/decks/019dd923-5e88-73ef-bd5d-853951586965.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.016,
            "w": 0.213,
            "x": 0.747,
            "y": 0.909
          },
          "kind": "paragraph",
          "text": "Benedict Evans -- February 2023",
          "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 17:35:33.323+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "1baba46f-f37c-489c-bdb1-c03cfd7eb500",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.07,
            "w": 0.565,
            "x": 0.202,
            "y": 0.275
          },
          "kind": "title",
          "text": "The End of Free Money",
          "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 17:35:33.323+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "0a2ec595-a786-42a1-94c4-75be8ea00286",
          "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": "c675dfbc-4f67-4452-be0b-5bf6c5f8cd8c",
          "evidence": "The slide is a cover slide with a clear title and author information.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.9,
          "extraction": {
            "at": "2026-07-16 21:59:12.833919+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 3,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 17,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 3,
          "name": "The Facts (What)",
          "beatId": "019dd95a-07a7-7579-bd65-0e7f8fe4365a",
          "matchId": "019dd95a-0543-7581-99b3-5568450d33ea",
          "beatType": {
            "name": "The Facts (What)",
            "slug": "triple-take-the-facts-what",
            "status": "active",
            "canonId": "019dd9b8-092b-754c-8eaa-ede3ffdcb060",
            "version": 1,
            "description": null
          },
          "evidence": "'End of free money' divider p3; macro data, layoffs, hiring perspective",
          "position": 1,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Setup",
            "slug": "setup",
            "status": "active",
            "canonId": "019dd9b8-020e-7505-af9b-d9b9a4679bcc",
            "version": 1,
            "description": "Where the deck grounds the reader before doing anything else. Almost every arc opens here."
          },
          "alignedBlockIds": null,
          "matchConfidence": 82
        },
        {
          "to": 17,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 3,
          "name": "Setup & Stakes",
          "beatId": "019dd95a-07a7-7579-bd65-1a88e53734ef",
          "matchId": "019dd95a-0543-7581-99b3-5836e9006609",
          "beatType": {
            "name": "Setup & Stakes",
            "slug": "mountain-setup-stakes",
            "status": "active",
            "canonId": "019dd9b8-18b5-77f3-8e4d-5dbbdb6aea1d",
            "version": 1,
            "description": null
          },
          "evidence": "macro shift framed as new context for tech",
          "position": 1,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Setup",
            "slug": "setup",
            "status": "active",
            "canonId": "019dd9b8-020e-7505-af9b-d9b9a4679bcc",
            "version": 1,
            "description": "Where the deck grounds the reader before doing anything else. Almost every arc opens here."
          },
          "alignedBlockIds": null,
          "matchConfidence": 60
        }
      ],
      "loops": [],
      "locked": true
    },
    {
      "page": 4,
      "type": "analysis",
      "title": "The chart illustrates the long-term trend of interest rates, emphasizing the recent period of near-zero rates.",
      "function": "establish_context",
      "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": "establish_context",
        "functionCanon": {
          "name": "Establish context",
          "slug": "establish_context",
          "status": "active",
          "canonId": "019de52d-1314-74e6-9074-d213dc0bdcdf",
          "version": 1,
          "description": null
        },
        "density": "balanced",
        "densityScore": 39,
        "componentCount": 6,
        "textChars": 286,
        "nDataPoints": 1,
        "notes": "The chart illustrates the long-term trend of interest rates, emphasizing the recent period of near-zero rates.",
        "elementsJson": [
          "headline_text",
          "subtitle_text",
          "line_chart"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:35:32.842+00",
          "seconds": 2.252,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5e88-73ef-bd5d-853951586965/4",
        "deck": "/decks/019dd923-5e88-73ef-bd5d-853951586965",
        "deckAnchor": "/decks/019dd923-5e88-73ef-bd5d-853951586965#slide-4",
        "deckJson": "/decks/019dd923-5e88-73ef-bd5d-853951586965.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "This is not a macro-economic presentation, but macro matters to tech for the first time in a decade",
          "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-25 12:08:50+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a108-a6291dcc805e",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.55,
            "w": 0.65,
            "x": 0.205,
            "y": 0.27
          },
          "kind": "chart",
          "text": "Bank of England interest rates",
          "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": "Line chart",
              "slug": "line",
              "status": "active",
              "canonId": "019de52c-ff62-778f-8f6c-a952ceae8677",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "line",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:32.842+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "458d56c9-3c61-4782-897e-3f1ef8a3ff68",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Interest rates",
          "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-25 12:08:50+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a108-ab9116ec2003",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.65,
            "x": 0.205,
            "y": 0.125
          },
          "kind": "paragraph",
          "text": "This is not a macro-economic presentation, but macro matters to tech for the first time in a decade",
          "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 17:35:32.842+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "843df442-da35-4b53-b82b-7a45b62dc6cf",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.15,
            "x": 0.205,
            "y": 0.91
          },
          "kind": "source-note",
          "text": "Source: Bank of England",
          "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 17:35:32.842+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "58d4b4f1-65de-45d0-9e04-94fda4206367",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.32,
            "x": 0.205,
            "y": 0.055
          },
          "kind": "title",
          "text": "The end of free money",
          "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 17:35:32.842+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "4c5ef586-2cbe-485d-8a70-1764a3d736b6",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "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": "019dd95a-1b83-7130-933c-bd722b0d8ddc",
          "evidence": "Situates a complication right after the agenda",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": null,
          "confidence": 65,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 4,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Opening Hooks",
            "slug": "opening-hooks",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-aeb0-77d5-bfbd-9cd9a6be8186",
            "version": 1,
            "bodyDocId": null,
            "description": "Techniques to capture attention: Startling statistic, provocative question, short story, analogy, contrast",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Storyteller",
          "layer": "slide",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019dd95a-1b83-7130-933c-b5fdb7c097b6",
          "evidence": "Callout: 'macro matters to tech for the first time in a decade'",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 80,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 4,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Story Moments",
            "slug": "story-moments",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-ae4e-768d-a18b-108e6cda511e",
            "version": 1,
            "bodyDocId": null,
            "description": "Design key emotional beats: The Shock, The Vision, The Proof, The Choice, The Call",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Storyteller",
          "layer": "slide",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019dd95a-1b83-7130-933c-ba5b5e2b9573",
          "evidence": "Sets the shock that opens the deck",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 60,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 4,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 17,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 3,
          "name": "The Facts (What)",
          "beatId": "019dd95a-07a7-7579-bd65-0e7f8fe4365a",
          "matchId": "019dd95a-0543-7581-99b3-5568450d33ea",
          "beatType": {
            "name": "The Facts (What)",
            "slug": "triple-take-the-facts-what",
            "status": "active",
            "canonId": "019dd9b8-092b-754c-8eaa-ede3ffdcb060",
            "version": 1,
            "description": null
          },
          "evidence": "'End of free money' divider p3; macro data, layoffs, hiring perspective",
          "position": 1,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Setup",
            "slug": "setup",
            "status": "active",
            "canonId": "019dd9b8-020e-7505-af9b-d9b9a4679bcc",
            "version": 1,
            "description": "Where the deck grounds the reader before doing anything else. Almost every arc opens here."
          },
          "alignedBlockIds": null,
          "matchConfidence": 82
        },
        {
          "to": 17,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 3,
          "name": "Setup & Stakes",
          "beatId": "019dd95a-07a7-7579-bd65-1a88e53734ef",
          "matchId": "019dd95a-0543-7581-99b3-5836e9006609",
          "beatType": {
            "name": "Setup & Stakes",
            "slug": "mountain-setup-stakes",
            "status": "active",
            "canonId": "019dd9b8-18b5-77f3-8e4d-5dbbdb6aea1d",
            "version": 1,
            "description": null
          },
          "evidence": "macro shift framed as new context for tech",
          "position": 1,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Setup",
            "slug": "setup",
            "status": "active",
            "canonId": "019dd9b8-020e-7505-af9b-d9b9a4679bcc",
            "version": 1,
            "description": "Where the deck grounds the reader before doing anything else. Almost every arc opens here."
          },
          "alignedBlockIds": null,
          "matchConfidence": 60
        }
      ],
      "loops": [
        {
          "to": 12,
          "from": 4,
          "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": "019dd95a-08f8-7619-ac2e-734e7c802a24",
          "evidence": "Repeated 'back to the trend line' titles across ecommerce, ads, valuations, venture (p5,6,9,10,11)",
          "position": 1,
          "objective": "Show macro slowdown across multiple indicators all reverting to trend",
          "confidence": 85,
          "extraction": {
            "at": "2026-04-29 13:07:29.779839+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 5,
      "type": "analysis",
      "title": "The chart uses two lines: 'Addressable retail' (red) and 'All retail & food service' (black), with dotted lines indicating the pre-pandemic trend extrapolation.",
      "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": "dense",
        "densityScore": 52,
        "componentCount": 7,
        "textChars": 380,
        "nDataPoints": 2,
        "notes": "The chart uses two lines: 'Addressable retail' (red) and 'All retail & food service' (black), with dotted lines indicating the pre-pandemic trend extrapolation.",
        "elementsJson": [
          "headline_text",
          "subtitle_text",
          "line_chart",
          "footnote"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:35:33.686+00",
          "seconds": 3.025,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5e88-73ef-bd5d-853951586965/5",
        "deck": "/decks/019dd923-5e88-73ef-bd5d-853951586965",
        "deckAnchor": "/decks/019dd923-5e88-73ef-bd5d-853951586965#slide-5",
        "deckJson": "/decks/019dd923-5e88-73ef-bd5d-853951586965.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "Penetration grew by a third in the pandemic, and now it slows down - a bit",
          "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-25 12:08:49+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a107-b19df33e7fd8",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.6,
            "w": 0.9,
            "x": 0.05,
            "y": 0.25
          },
          "kind": "chart",
          "text": "Ecommerce as % of US retail revenue",
          "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": "Line chart",
              "slug": "line",
              "status": "active",
              "canonId": "019de52c-ff62-778f-8f6c-a952ceae8677",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "line",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:33.686+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "57334634-a919-4675-935f-7e210f79de53",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.4,
            "x": 0.205,
            "y": 0.9
          },
          "kind": "disclaimer",
          "text": "Source: US Census. Seasonally adjusted. * Excludes cars, car parts, fuel, bars & restaurants",
          "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 17:35:33.686+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "d719d3db-2640-4d39-80dc-6332de5ff0af",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.15,
            "x": 0.03,
            "y": 0.35
          },
          "kind": "legend",
          "text": "Addressable retail *; All retail & food service",
          "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 17:35:33.686+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "7263ee6b-6d5d-4e83-90f8-797895e28940",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Ecommerce penetration",
          "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-25 12:08:49+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a107-b678d3200285",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.51,
            "x": 0.205,
            "y": 0.12
          },
          "kind": "title",
          "text": "Penetration grew by a third in the pandemic, and now it slows down - a bit",
          "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 17:35:33.686+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "47035b91-de02-41aa-be66-99afbac51b60",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.04,
            "w": 0.59,
            "x": 0.205,
            "y": 0.05
          },
          "kind": "title",
          "text": "Ecommerce goes back to the trend line",
          "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 17:35:33.686+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "7870a19e-6285-4d9c-a012-b6c452b38601",
          "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": "019dd95a-1b83-7130-933c-c4dab8ce8630",
          "evidence": "First in stack of evidence pointing to 'back to trend' pattern",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": null,
          "confidence": 78,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "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": "019dd95a-1b83-7130-933c-c1b7e931e085",
          "evidence": "Title 'Ecommerce goes back to the trend line' states the insight",
          "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": 88,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 5,
          "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": "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": "93271f38-7fbc-4d6e-97b1-2d6470bbac37",
          "evidence": "The slide features a line chart showing ecommerce penetration growth.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 21:59:12.945802+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 5,
          "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": "019dd95a-1b83-7130-933c-c8c63651d43e",
          "evidence": "Tufte-minimal chart, no chartjunk, single data line",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": null,
          "confidence": 85,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 5,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 17,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 3,
          "name": "The Facts (What)",
          "beatId": "019dd95a-07a7-7579-bd65-0e7f8fe4365a",
          "matchId": "019dd95a-0543-7581-99b3-5568450d33ea",
          "beatType": {
            "name": "The Facts (What)",
            "slug": "triple-take-the-facts-what",
            "status": "active",
            "canonId": "019dd9b8-092b-754c-8eaa-ede3ffdcb060",
            "version": 1,
            "description": null
          },
          "evidence": "'End of free money' divider p3; macro data, layoffs, hiring perspective",
          "position": 1,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Setup",
            "slug": "setup",
            "status": "active",
            "canonId": "019dd9b8-020e-7505-af9b-d9b9a4679bcc",
            "version": 1,
            "description": "Where the deck grounds the reader before doing anything else. Almost every arc opens here."
          },
          "alignedBlockIds": null,
          "matchConfidence": 82
        },
        {
          "to": 17,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 3,
          "name": "Setup & Stakes",
          "beatId": "019dd95a-07a7-7579-bd65-1a88e53734ef",
          "matchId": "019dd95a-0543-7581-99b3-5836e9006609",
          "beatType": {
            "name": "Setup & Stakes",
            "slug": "mountain-setup-stakes",
            "status": "active",
            "canonId": "019dd9b8-18b5-77f3-8e4d-5dbbdb6aea1d",
            "version": 1,
            "description": null
          },
          "evidence": "macro shift framed as new context for tech",
          "position": 1,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Setup",
            "slug": "setup",
            "status": "active",
            "canonId": "019dd9b8-020e-7505-af9b-d9b9a4679bcc",
            "version": 1,
            "description": "Where the deck grounds the reader before doing anything else. Almost every arc opens here."
          },
          "alignedBlockIds": null,
          "matchConfidence": 60
        }
      ],
      "loops": [
        {
          "to": 12,
          "from": 4,
          "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": "019dd95a-08f8-7619-ac2e-734e7c802a24",
          "evidence": "Repeated 'back to the trend line' titles across ecommerce, ads, valuations, venture (p5,6,9,10,11)",
          "position": 1,
          "objective": "Show macro slowdown across multiple indicators all reverting to trend",
          "confidence": 85,
          "extraction": {
            "at": "2026-04-29 13:07:29.779839+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 6,
      "type": "analysis",
      "title": "The chart includes dotted trend lines extrapolated from pre-2020 data.",
      "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": 36,
        "componentCount": 6,
        "textChars": 205,
        "nDataPoints": 2,
        "notes": "The chart includes dotted trend lines extrapolated from pre-2020 data.",
        "elementsJson": [
          "headline_text",
          "subtitle_text",
          "line_chart"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:35:34.03+00",
          "seconds": 3.247,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5e88-73ef-bd5d-853951586965/6",
        "deck": "/decks/019dd923-5e88-73ef-bd5d-853951586965",
        "deckAnchor": "/decks/019dd923-5e88-73ef-bd5d-853951586965#slide-6",
        "deckJson": "/decks/019dd923-5e88-73ef-bd5d-853951586965.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.5,
            "w": 0.6,
            "x": 0.205,
            "y": 0.27
          },
          "kind": "chart",
          "text": "US ecommerce revenue ($bn)",
          "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": "Line chart",
              "slug": "line",
              "status": "active",
              "canonId": "019de52c-ff62-778f-8f6c-a952ceae8677",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "line",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:34.03+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "fca5f15e-0102-4e31-9963-b88ee9c38fd0",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.08,
            "x": 0.03,
            "y": 0.35
          },
          "kind": "legend",
          "text": "2022 dollars\nNominal",
          "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 17:35:34.03+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "cb4bed75-a7fc-45bb-932f-7054bcc2475c",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "US ecommerce revenue",
          "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-25 12:08:49+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a107-eef36fa9e5cb",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.45,
            "x": 0.205,
            "y": 0.12
          },
          "kind": "paragraph",
          "text": "Which trend line? Which penetration? What about inflation?",
          "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 17:35:34.03+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "c89abc9a-1058-490a-b2a1-3d2babdf1d1f",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.25,
            "x": 0.205,
            "y": 0.91
          },
          "kind": "source-note",
          "text": "Source: US Census, BLS. Seasonally adjusted",
          "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 17:35:34.03+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "98c708a0-c2a2-4930-a88a-8d5045a856f6",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.04,
            "w": 0.59,
            "x": 0.205,
            "y": 0.05
          },
          "kind": "title",
          "text": "Ecommerce goes back to the trend line?",
          "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 17:35:34.03+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "9c66cf2a-bd85-454a-8ed3-d59eaeddcd68",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "Anaphora",
            "slug": "anaphora",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-9fee-74aa-a920-078aa44132c0",
            "version": 1,
            "bodyDocId": null,
            "description": "Repeating words at the beginning of successive clauses for rhythm",
            "familyLabel": null,
            "categoryName": "Loop",
            "categorySlug": "loop"
          },
          "agent": "Storyteller",
          "layer": "loop",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019dd95a-1b83-7130-933c-d0581905552b",
          "evidence": "Same 'back to the trend line' phrasing carried across slides",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 70,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "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": "019dd95a-1b83-7130-933c-cf19de14cdbf",
          "evidence": "Title repeats with question mark to maintain motif",
          "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": 80,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "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": "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": "a697fb56-7956-43ff-a358-118ecc83f8e6",
          "evidence": "The slide features a line chart showing US ecommerce revenue.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 21:59:13.019913+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 6,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 17,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 3,
          "name": "The Facts (What)",
          "beatId": "019dd95a-07a7-7579-bd65-0e7f8fe4365a",
          "matchId": "019dd95a-0543-7581-99b3-5568450d33ea",
          "beatType": {
            "name": "The Facts (What)",
            "slug": "triple-take-the-facts-what",
            "status": "active",
            "canonId": "019dd9b8-092b-754c-8eaa-ede3ffdcb060",
            "version": 1,
            "description": null
          },
          "evidence": "'End of free money' divider p3; macro data, layoffs, hiring perspective",
          "position": 1,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Setup",
            "slug": "setup",
            "status": "active",
            "canonId": "019dd9b8-020e-7505-af9b-d9b9a4679bcc",
            "version": 1,
            "description": "Where the deck grounds the reader before doing anything else. Almost every arc opens here."
          },
          "alignedBlockIds": null,
          "matchConfidence": 82
        },
        {
          "to": 17,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 3,
          "name": "Setup & Stakes",
          "beatId": "019dd95a-07a7-7579-bd65-1a88e53734ef",
          "matchId": "019dd95a-0543-7581-99b3-5836e9006609",
          "beatType": {
            "name": "Setup & Stakes",
            "slug": "mountain-setup-stakes",
            "status": "active",
            "canonId": "019dd9b8-18b5-77f3-8e4d-5dbbdb6aea1d",
            "version": 1,
            "description": null
          },
          "evidence": "macro shift framed as new context for tech",
          "position": 1,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Setup",
            "slug": "setup",
            "status": "active",
            "canonId": "019dd9b8-020e-7505-af9b-d9b9a4679bcc",
            "version": 1,
            "description": "Where the deck grounds the reader before doing anything else. Almost every arc opens here."
          },
          "alignedBlockIds": null,
          "matchConfidence": 60
        }
      ],
      "loops": [
        {
          "to": 12,
          "from": 4,
          "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": "019dd95a-08f8-7619-ac2e-734e7c802a24",
          "evidence": "Repeated 'back to the trend line' titles across ecommerce, ads, valuations, venture (p5,6,9,10,11)",
          "position": 1,
          "objective": "Show macro slowdown across multiple indicators all reverting to trend",
          "confidence": 85,
          "extraction": {
            "at": "2026-04-29 13:07:29.779839+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 7,
      "type": "analysis",
      "title": "The chart shows a clear 'pull-forward' effect where growth peaked in 2020/2021 and has since moderated in 2022.",
      "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": "dense",
        "densityScore": 56,
        "componentCount": 7,
        "textChars": 385,
        "nDataPoints": 24,
        "notes": "The chart shows a clear 'pull-forward' effect where growth peaked in 2020/2021 and has since moderated in 2022.",
        "elementsJson": [
          "headline_text",
          "subtitle_text",
          "bar_chart_grouped"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:35:34.43+00",
          "seconds": 3.15,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5e88-73ef-bd5d-853951586965/7",
        "deck": "/decks/019dd923-5e88-73ef-bd5d-853951586965",
        "deckAnchor": "/decks/019dd923-5e88-73ef-bd5d-853951586965#slide-7",
        "deckJson": "/decks/019dd923-5e88-73ef-bd5d-853951586965.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "Most major markets saw several years of future ecommerce growth compressed into the pandemic",
          "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-25 12:08:52+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a109-8ef9aa914521",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.6,
            "w": 0.7,
            "x": 0.15,
            "y": 0.25
          },
          "kind": "chart",
          "text": "Ecommerce sales relative to December 2018, real terms",
          "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": "Grouped bar chart",
              "slug": "bar-grouped",
              "status": "active",
              "canonId": "019de52c-ff3b-751e-a8ff-f21ff11097b1",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bar-grouped",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:34.43+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "96407efa-a49e-4023-866b-894e52dc10c4",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.1,
            "w": 0.1,
            "x": 0.03,
            "y": 0.35
          },
          "kind": "legend",
          "text": "December 2019, December 2020, December 2021, December 2022",
          "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 17:35:34.43+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "c453ab57-f064-423e-8572-eb60d15342e5",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Ecommerce sales growth: 25-50%",
          "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-25 12:08:52+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a109-916a93f145e8",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.2,
            "x": 0.205,
            "y": 0.91
          },
          "kind": "source-note",
          "text": "Source: US Census, ONS, Eurostat",
          "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 17:35:34.43+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "790df95f-4bfd-4c9b-8eef-046bb808ef5a",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.6,
            "x": 0.205,
            "y": 0.12
          },
          "kind": "subtitle",
          "text": "Most major markets saw several years of future ecommerce growth compressed into the pandemic",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Subtitle",
              "slug": "subtitle",
              "status": "active",
              "canonId": "82d821ee-2793-42e7-8f16-c6131385a3ce",
              "version": 1,
              "description": "Header-zone supporting text near the title (= ex body.description with bbox)."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:34.43+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "e044bc3e-8434-4df5-9278-1eaecaa688c4",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.45,
            "x": 0.205,
            "y": 0.05
          },
          "kind": "title",
          "text": "25-50% growth pulled forward",
          "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 17:35:34.43+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "09408539-aa60-4fe8-a62c-2e9a7a350536",
          "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": "019dd95a-1b83-7130-933c-d6fedfe9a52d",
          "evidence": "Title quantifies insight: '25-50% growth pulled forward'",
          "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": 92,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "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": "Chartjunk Elimination",
            "slug": "chartjunk-elimination",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-b49e-7453-ab01-b60f338eeda1",
            "version": 1,
            "bodyDocId": null,
            "description": "Remove decorative elements that don't convey data: 3D effects, shadows, unnecessary gridlines",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "cb941066-8608-48e4-833c-901aad507170",
          "evidence": "The slide features a clear and simple bar chart with a grouped layout, making it easy to compare data across different categories.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-17 03:20:51.383497+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 7,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "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": "019dd95a-1b83-7130-933c-dd00125fe9ed",
          "evidence": "Red 2022 bars vs grey historical bars highlight the reversion",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 80,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "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": "019dd95a-1b83-7130-933c-e18567745f5b",
          "evidence": "No gridlines, no 3D, minimal axes",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": null,
          "confidence": 80,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 7,
          "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": "019dd95a-1b83-7130-933c-da672923ff23",
          "evidence": "Six country panels (US/UK/FR/DE/ES/IT) compared",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 95,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 7,
          "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": "9c8d04c0-cf5b-44d0-8d06-10f3460abb78",
          "evidence": "The slide features a grouped bar chart with multiple categories, allowing for easy comparison across different groups.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-17 03:20:51.415738+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 7,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 17,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 3,
          "name": "The Facts (What)",
          "beatId": "019dd95a-07a7-7579-bd65-0e7f8fe4365a",
          "matchId": "019dd95a-0543-7581-99b3-5568450d33ea",
          "beatType": {
            "name": "The Facts (What)",
            "slug": "triple-take-the-facts-what",
            "status": "active",
            "canonId": "019dd9b8-092b-754c-8eaa-ede3ffdcb060",
            "version": 1,
            "description": null
          },
          "evidence": "'End of free money' divider p3; macro data, layoffs, hiring perspective",
          "position": 1,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Setup",
            "slug": "setup",
            "status": "active",
            "canonId": "019dd9b8-020e-7505-af9b-d9b9a4679bcc",
            "version": 1,
            "description": "Where the deck grounds the reader before doing anything else. Almost every arc opens here."
          },
          "alignedBlockIds": null,
          "matchConfidence": 82
        },
        {
          "to": 17,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 3,
          "name": "Setup & Stakes",
          "beatId": "019dd95a-07a7-7579-bd65-1a88e53734ef",
          "matchId": "019dd95a-0543-7581-99b3-5836e9006609",
          "beatType": {
            "name": "Setup & Stakes",
            "slug": "mountain-setup-stakes",
            "status": "active",
            "canonId": "019dd9b8-18b5-77f3-8e4d-5dbbdb6aea1d",
            "version": 1,
            "description": null
          },
          "evidence": "macro shift framed as new context for tech",
          "position": 1,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Setup",
            "slug": "setup",
            "status": "active",
            "canonId": "019dd9b8-020e-7505-af9b-d9b9a4679bcc",
            "version": 1,
            "description": "Where the deck grounds the reader before doing anything else. Almost every arc opens here."
          },
          "alignedBlockIds": null,
          "matchConfidence": 60
        }
      ],
      "loops": [
        {
          "to": 12,
          "from": 4,
          "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": "019dd95a-08f8-7619-ac2e-734e7c802a24",
          "evidence": "Repeated 'back to the trend line' titles across ecommerce, ads, valuations, venture (p5,6,9,10,11)",
          "position": 1,
          "objective": "Show macro slowdown across multiple indicators all reverting to trend",
          "confidence": 85,
          "extraction": {
            "at": "2026-04-29 13:07:29.779839+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 8,
      "type": "analysis",
      "title": "The chart uses inflation-adjusted dollars (2022 dollars).",
      "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": 44,
        "componentCount": 7,
        "textChars": 203,
        "nDataPoints": 2,
        "notes": "The chart uses inflation-adjusted dollars (2022 dollars).",
        "elementsJson": [
          "headline_text",
          "line_chart"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:35:34.046+00",
          "seconds": 2.702,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5e88-73ef-bd5d-853951586965/8",
        "deck": "/decks/019dd923-5e88-73ef-bd5d-853951586965",
        "deckAnchor": "/decks/019dd923-5e88-73ef-bd5d-853951586965#slide-8",
        "deckJson": "/decks/019dd923-5e88-73ef-bd5d-853951586965.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "The end of 20% annual revenue growth?",
          "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-25 12:08:49+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a108-22c11634a4b2",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.5,
            "w": 0.75,
            "x": 0.205,
            "y": 0.25
          },
          "kind": "chart",
          "text": "Advertising revenue ($bn, 2022 dollars)",
          "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": "Line chart",
              "slug": "line",
              "status": "active",
              "canonId": "019de52c-ff62-778f-8f6c-a952ceae8677",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "line",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:34.046+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "67b07a29-631c-481a-a247-958030417360",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.2,
            "x": 0.205,
            "y": 0.91
          },
          "kind": "disclaimer",
          "text": "Source: Alphabet, Meta, BLS",
          "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 17:35:34.046+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "7cdf25ea-4aef-4d59-a2b6-f7c5bc0184e1",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.05,
            "x": 0.03,
            "y": 0.35
          },
          "kind": "legend",
          "text": "Alphabet\nMeta",
          "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 17:35:34.046+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "3ac9c4ba-6f2c-4208-a420-ef4bae900ae6",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Advertising revenue",
          "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-25 12:08:49+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a108-274754cf4d21",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.4,
            "x": 0.205,
            "y": 0.13
          },
          "kind": "title",
          "text": "The end of 20% annual revenue growth?",
          "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 17:35:34.046+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "202ea337-0534-4bd8-9f08-60219745e2df",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.45,
            "x": 0.205,
            "y": 0.05
          },
          "kind": "title",
          "text": "Ad revenue slows for the giants",
          "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 17:35:34.046+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "1c59c76e-4861-4e2d-9d19-4e5b859f7824",
          "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": "019dd95a-1b83-7130-933c-e88c6ed3bd60",
          "evidence": "Callout asks 'The end of 20% annual revenue growth?'",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 65,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "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": "019dd95a-1b83-7130-933c-e5c1b9fbccf4",
          "evidence": "Title 'Ad revenue slows for the giants' states the so-what",
          "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": 85,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "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": "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": "09bfc852-aa1c-4e49-a0fb-65bc4538ec27",
          "evidence": "The slide features a bold and attention-grabbing title that sets the tone for the rest of the presentation: 'The end of 20% annual revenue growth?'.",
          "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.9,
          "extraction": {
            "at": "2026-07-17 03:20:51.477485+00",
            "model": "or:meta-llama/llama-4-scout",
            "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": "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": "33fee29d-6bed-4d96-bb81-ad5a7441bcfa",
          "evidence": "The slide features a line chart, which is suitable for showing trends over time.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-17 03:20:51.508439+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 8,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 17,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 3,
          "name": "The Facts (What)",
          "beatId": "019dd95a-07a7-7579-bd65-0e7f8fe4365a",
          "matchId": "019dd95a-0543-7581-99b3-5568450d33ea",
          "beatType": {
            "name": "The Facts (What)",
            "slug": "triple-take-the-facts-what",
            "status": "active",
            "canonId": "019dd9b8-092b-754c-8eaa-ede3ffdcb060",
            "version": 1,
            "description": null
          },
          "evidence": "'End of free money' divider p3; macro data, layoffs, hiring perspective",
          "position": 1,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Setup",
            "slug": "setup",
            "status": "active",
            "canonId": "019dd9b8-020e-7505-af9b-d9b9a4679bcc",
            "version": 1,
            "description": "Where the deck grounds the reader before doing anything else. Almost every arc opens here."
          },
          "alignedBlockIds": null,
          "matchConfidence": 82
        },
        {
          "to": 17,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 3,
          "name": "Setup & Stakes",
          "beatId": "019dd95a-07a7-7579-bd65-1a88e53734ef",
          "matchId": "019dd95a-0543-7581-99b3-5836e9006609",
          "beatType": {
            "name": "Setup & Stakes",
            "slug": "mountain-setup-stakes",
            "status": "active",
            "canonId": "019dd9b8-18b5-77f3-8e4d-5dbbdb6aea1d",
            "version": 1,
            "description": null
          },
          "evidence": "macro shift framed as new context for tech",
          "position": 1,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Setup",
            "slug": "setup",
            "status": "active",
            "canonId": "019dd9b8-020e-7505-af9b-d9b9a4679bcc",
            "version": 1,
            "description": "Where the deck grounds the reader before doing anything else. Almost every arc opens here."
          },
          "alignedBlockIds": null,
          "matchConfidence": 60
        }
      ],
      "loops": [
        {
          "to": 12,
          "from": 4,
          "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": "019dd95a-08f8-7619-ac2e-734e7c802a24",
          "evidence": "Repeated 'back to the trend line' titles across ecommerce, ads, valuations, venture (p5,6,9,10,11)",
          "position": 1,
          "objective": "Show macro slowdown across multiple indicators all reverting to trend",
          "confidence": 85,
          "extraction": {
            "at": "2026-04-29 13:07:29.779839+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 9,
      "type": "analysis",
      "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": 43,
        "componentCount": 7,
        "textChars": 190,
        "nDataPoints": 2,
        "notes": null,
        "elementsJson": [
          "headline_text",
          "subtitle_text",
          "line_chart"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:35:34.435+00",
          "seconds": 2.695,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5e88-73ef-bd5d-853951586965/9",
        "deck": "/decks/019dd923-5e88-73ef-bd5d-853951586965",
        "deckAnchor": "/decks/019dd923-5e88-73ef-bd5d-853951586965#slide-9",
        "deckJson": "/decks/019dd923-5e88-73ef-bd5d-853951586965.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "And a lot of exuberant valuations fade away",
          "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-25 12:08:49+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a108-06cf5972dc82",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.6,
            "w": 0.75,
            "x": 0.205,
            "y": 0.25
          },
          "kind": "chart",
          "text": "Market capitalisation ($bn)",
          "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": "Line chart",
              "slug": "line",
              "status": "active",
              "canonId": "019de52c-ff62-778f-8f6c-a952ceae8677",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "line",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:34.435+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "27bb686f-aa8d-4d18-ad47-7357ff084fab",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.05,
            "x": 0.03,
            "y": 0.35
          },
          "kind": "legend",
          "text": "Exxon\nZoom",
          "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 17:35:34.435+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "e590fc2e-8199-49cc-9a56-c3ee17523f7e",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Market capitalisation",
          "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-25 12:08:49+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a108-0a0ea81a53b7",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.1,
            "x": 0.205,
            "y": 0.91
          },
          "kind": "source-note",
          "text": "Source: Bloomberg",
          "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 17:35:34.435+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "9e360c27-3700-4d5d-9092-11cfc6ff1fe6",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.5,
            "x": 0.205,
            "y": 0.12
          },
          "kind": "title",
          "text": "And a lot of exuberant valuations fade away",
          "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 17:35:34.435+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "b4f6ca3b-5f6c-4f30-8829-bc027330ab6b",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.4,
            "x": 0.205,
            "y": 0.05
          },
          "kind": "title",
          "text": "The Covid rotation... rotates",
          "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 17:35:34.435+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "bfb002c8-f303-42a8-9c35-fe9e09f068b3",
          "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": "019dd95a-1b83-7130-933c-efebbdfc3193",
          "evidence": "Subtitle 'exuberant valuations fade away' is the insight",
          "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": 80,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "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": "Before-After-Bridge",
            "slug": "before-after-bridge",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-8604-7188-883f-42370288ad05",
            "version": 1,
            "bodyDocId": null,
            "description": "Narrative structure: Paint the before, show the after, explain the bridge",
            "familyLabel": null,
            "categoryName": "Block",
            "categorySlug": "block"
          },
          "agent": "Storyteller",
          "layer": "slide",
          "agents": [
            "Storyteller"
          ],
          "matchId": "41b73911-2096-4eb8-8a0e-c5a1ffd5d725",
          "evidence": "The slide features a clear 'before and after' comparison, with a line chart showing market capitalization over time.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-17 03:20:51.570574+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 9,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Call to action",
            "slug": "call-to-action",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd9e1-4bbb-702a-9ead-82daf188bb7c",
            "version": 1,
            "bodyDocId": null,
            "description": "Explicit prescription of what the audience should do next.",
            "familyLabel": null,
            "categoryName": null,
            "categorySlug": null
          },
          "agent": null,
          "layer": "slide",
          "agents": null,
          "matchId": "f0e4e362-fdbe-4d96-957f-c7991f1f5a42",
          "evidence": "The slide's title and subtitle encourage the audience to consider the implications of the data.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.5,
          "extraction": {
            "at": "2026-07-17 03:20:51.601929+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 9,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": "common",
          "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": "019dd95a-1b83-7130-933c-f0ff19bd621a",
          "evidence": "Index time-series fits comparison vs benchmark",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 70,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 9,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 17,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 3,
          "name": "The Facts (What)",
          "beatId": "019dd95a-07a7-7579-bd65-0e7f8fe4365a",
          "matchId": "019dd95a-0543-7581-99b3-5568450d33ea",
          "beatType": {
            "name": "The Facts (What)",
            "slug": "triple-take-the-facts-what",
            "status": "active",
            "canonId": "019dd9b8-092b-754c-8eaa-ede3ffdcb060",
            "version": 1,
            "description": null
          },
          "evidence": "'End of free money' divider p3; macro data, layoffs, hiring perspective",
          "position": 1,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Setup",
            "slug": "setup",
            "status": "active",
            "canonId": "019dd9b8-020e-7505-af9b-d9b9a4679bcc",
            "version": 1,
            "description": "Where the deck grounds the reader before doing anything else. Almost every arc opens here."
          },
          "alignedBlockIds": null,
          "matchConfidence": 82
        },
        {
          "to": 17,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 3,
          "name": "Setup & Stakes",
          "beatId": "019dd95a-07a7-7579-bd65-1a88e53734ef",
          "matchId": "019dd95a-0543-7581-99b3-5836e9006609",
          "beatType": {
            "name": "Setup & Stakes",
            "slug": "mountain-setup-stakes",
            "status": "active",
            "canonId": "019dd9b8-18b5-77f3-8e4d-5dbbdb6aea1d",
            "version": 1,
            "description": null
          },
          "evidence": "macro shift framed as new context for tech",
          "position": 1,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Setup",
            "slug": "setup",
            "status": "active",
            "canonId": "019dd9b8-020e-7505-af9b-d9b9a4679bcc",
            "version": 1,
            "description": "Where the deck grounds the reader before doing anything else. Almost every arc opens here."
          },
          "alignedBlockIds": null,
          "matchConfidence": 60
        }
      ],
      "loops": [
        {
          "to": 12,
          "from": 4,
          "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": "019dd95a-08f8-7619-ac2e-734e7c802a24",
          "evidence": "Repeated 'back to the trend line' titles across ecommerce, ads, valuations, venture (p5,6,9,10,11)",
          "position": 1,
          "objective": "Show macro slowdown across multiple indicators all reverting to trend",
          "confidence": 85,
          "extraction": {
            "at": "2026-04-29 13:07:29.779839+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 10,
      "type": "analysis",
      "title": "The chart segments investment into rounds greater than and less than $50m.",
      "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": "dense",
        "densityScore": 50,
        "componentCount": 7,
        "textChars": 246,
        "nDataPoints": 52,
        "notes": "The chart segments investment into rounds greater than and less than $50m.",
        "elementsJson": [
          "bar_chart_stacked"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:35:38.98+00",
          "seconds": 7.037,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5e88-73ef-bd5d-853951586965/10",
        "deck": "/decks/019dd923-5e88-73ef-bd5d-853951586965",
        "deckAnchor": "/decks/019dd923-5e88-73ef-bd5d-853951586965#slide-10",
        "deckJson": "/decks/019dd923-5e88-73ef-bd5d-853951586965.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "Venture investment surged dramatically in the pandemic. Now...",
          "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-25 12:08:50+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a108-4cd57a72ad08",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.6,
            "w": 0.75,
            "x": 0.18,
            "y": 0.25
          },
          "kind": "chart",
          "text": "US venture investment ($bn)",
          "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": "Stacked bar chart",
              "slug": "bar-stacked",
              "status": "active",
              "canonId": "019de52c-feec-74bf-9028-15b74f84f0a7",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bar-stacked",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:38.98+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "059086e2-c611-4840-921a-47620887e1e6",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.15,
            "x": 0.03,
            "y": 0.35
          },
          "kind": "legend",
          "text": "Rounds for >$50m\nRounds for <$50m",
          "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 17:35:38.98+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "1c309c13-3d28-4dd9-aba6-495c5e41b6ee",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "US venture investment ($bn)",
          "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-25 12:08:50+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a108-5148771ca54d",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.1,
            "x": 0.205,
            "y": 0.91
          },
          "kind": "source-note",
          "text": "Source: NVCA",
          "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 17:35:38.98+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "99fcce50-0fef-4557-b405-e8f3c9530c01",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.4,
            "x": 0.205,
            "y": 0.12
          },
          "kind": "subtitle",
          "text": "Venture investment surged dramatically in the pandemic. Now...",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Subtitle",
              "slug": "subtitle",
              "status": "active",
              "canonId": "82d821ee-2793-42e7-8f16-c6131385a3ce",
              "version": 1,
              "description": "Header-zone supporting text near the title (= ex body.description with bbox)."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:38.98+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "28ea7ba1-1a1c-4e38-83c3-44dfbf536e4e",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.35,
            "x": 0.205,
            "y": 0.05
          },
          "kind": "title",
          "text": "Flow-through to venture",
          "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 17:35:38.98+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "72f968b6-bad8-42af-bb02-991b61680903",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "Causal Chain",
            "slug": "causal-chain",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-9e98-7269-907b-8cf727e9499d",
            "version": 1,
            "bodyDocId": null,
            "description": "Showing how one event leads to another in sequence",
            "familyLabel": null,
            "categoryName": "Loop",
            "categorySlug": "loop"
          },
          "agent": "Architect",
          "layer": "loop",
          "agents": [
            "Architect"
          ],
          "matchId": "019dd95a-1b83-7130-933c-fb46d520682e",
          "evidence": "Macro -> ad slowdown -> venture pullback chain in this loop",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 70,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 10,
          "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": "019dd95a-1b83-7130-933c-f44c93e6c486",
          "evidence": "Title 'Flow-through to venture' names the causal step",
          "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": 78,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "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": "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": "9afdc4fb-dad9-49d9-8336-0a6d66c7de4c",
          "evidence": "The slide features a stacked bar chart, which is suitable for showing how different categories contribute to a whole.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-17 03:20:51.661196+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 10,
          "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": "8cff0b99-41e3-4c87-b9c9-029e3761f031",
          "evidence": "The slide features a chart with a high data-ink ratio, making it easy to read and understand.",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": null,
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-17 03:20:51.69179+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 10,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 17,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 3,
          "name": "The Facts (What)",
          "beatId": "019dd95a-07a7-7579-bd65-0e7f8fe4365a",
          "matchId": "019dd95a-0543-7581-99b3-5568450d33ea",
          "beatType": {
            "name": "The Facts (What)",
            "slug": "triple-take-the-facts-what",
            "status": "active",
            "canonId": "019dd9b8-092b-754c-8eaa-ede3ffdcb060",
            "version": 1,
            "description": null
          },
          "evidence": "'End of free money' divider p3; macro data, layoffs, hiring perspective",
          "position": 1,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Setup",
            "slug": "setup",
            "status": "active",
            "canonId": "019dd9b8-020e-7505-af9b-d9b9a4679bcc",
            "version": 1,
            "description": "Where the deck grounds the reader before doing anything else. Almost every arc opens here."
          },
          "alignedBlockIds": null,
          "matchConfidence": 82
        },
        {
          "to": 17,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 3,
          "name": "Setup & Stakes",
          "beatId": "019dd95a-07a7-7579-bd65-1a88e53734ef",
          "matchId": "019dd95a-0543-7581-99b3-5836e9006609",
          "beatType": {
            "name": "Setup & Stakes",
            "slug": "mountain-setup-stakes",
            "status": "active",
            "canonId": "019dd9b8-18b5-77f3-8e4d-5dbbdb6aea1d",
            "version": 1,
            "description": null
          },
          "evidence": "macro shift framed as new context for tech",
          "position": 1,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Setup",
            "slug": "setup",
            "status": "active",
            "canonId": "019dd9b8-020e-7505-af9b-d9b9a4679bcc",
            "version": 1,
            "description": "Where the deck grounds the reader before doing anything else. Almost every arc opens here."
          },
          "alignedBlockIds": null,
          "matchConfidence": 60
        }
      ],
      "loops": [
        {
          "to": 12,
          "from": 4,
          "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": "019dd95a-08f8-7619-ac2e-734e7c802a24",
          "evidence": "Repeated 'back to the trend line' titles across ecommerce, ads, valuations, venture (p5,6,9,10,11)",
          "position": 1,
          "objective": "Show macro slowdown across multiple indicators all reverting to trend",
          "confidence": 85,
          "extraction": {
            "at": "2026-04-29 13:07:29.779839+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 11,
      "type": "analysis",
      "title": "The chart illustrates the 'dot-com' bubble peak around 2000 and the much larger recent peak around 2021.",
      "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": 32,
        "componentCount": 5,
        "textChars": 212,
        "nDataPoints": 43,
        "notes": "The chart illustrates the 'dot-com' bubble peak around 2000 and the much larger recent peak around 2021.",
        "elementsJson": [
          "headline_text",
          "subtitle_text",
          "line_chart"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:35:39.29+00",
          "seconds": 7.322,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5e88-73ef-bd5d-853951586965/11",
        "deck": "/decks/019dd923-5e88-73ef-bd5d-853951586965",
        "deckAnchor": "/decks/019dd923-5e88-73ef-bd5d-853951586965#slide-11",
        "deckJson": "/decks/019dd923-5e88-73ef-bd5d-853951586965.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.55,
            "w": 0.59,
            "x": 0.205,
            "y": 0.275
          },
          "kind": "chart",
          "text": "US tech venture investing ($bn, 2022 dollars)",
          "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": "Line chart",
              "slug": "line",
              "status": "active",
              "canonId": "019de52c-ff62-778f-8f6c-a952ceae8677",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "line",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:39.29+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "8c73405d-bdaa-468e-8757-e24d9dac61b9",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "US tech venture investing ($bn)",
          "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-25 12:08:49+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a108-3b4af35c1af1",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.5,
            "x": 0.205,
            "y": 0.91
          },
          "kind": "source-note",
          "text": "Source: Capital IQ, Jay Ritter, University of Florida, NVCA, a16z, BLS",
          "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 17:35:39.29+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "41e7dd03-b209-4153-9855-e7d49bdd3a24",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.045,
            "w": 0.325,
            "x": 0.205,
            "y": 0.055
          },
          "kind": "title",
          "text": "Back to the trend line?",
          "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 17:35:39.29+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "e244e4f6-501d-43c2-8f9c-5336cdadfb11",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.025,
            "w": 0.49,
            "x": 0.205,
            "y": 0.135
          },
          "kind": "title",
          "text": "But based on reality rather than promise...",
          "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": "Subtitle",
              "slug": "subtitle",
              "status": "active",
              "canonId": "019de52c-fb09-739d-900c-815b0d9ac526",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "subtitle",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:39.29+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "904eb927-87c9-49e4-abb5-86aea741a309",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "Anaphora",
            "slug": "anaphora",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-9fee-74aa-a920-078aa44132c0",
            "version": 1,
            "bodyDocId": null,
            "description": "Repeating words at the beginning of successive clauses for rhythm",
            "familyLabel": null,
            "categoryName": "Loop",
            "categorySlug": "loop"
          },
          "agent": "Storyteller",
          "layer": "loop",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019dd95a-1b83-7130-933d-00b3115a7ded",
          "evidence": "Repeats trend-line phrasing across the loop",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 75,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 11,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Callback",
            "slug": "callback",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-a3a9-708f-b4a3-d3da2181c576",
            "version": 1,
            "bodyDocId": null,
            "description": "Referencing earlier content for payoff and cohesion",
            "familyLabel": null,
            "categoryName": "Loop",
            "categorySlug": "loop"
          },
          "agent": "Storyteller",
          "layer": "loop",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019dd95a-1b83-7130-933c-fc283566bee3",
          "evidence": "Title 'Back to the trend line?' echoes p5/p6 motif a third time",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 80,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 11,
          "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": "d73a29d5-d46e-41a2-ac59-855873aff92f",
          "evidence": "The slide features a line chart, which is suitable for showing trends over time.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-17 03:20:51.75492+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 11,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Reveal vs. Headline Strategy",
            "slug": "reveal-vs-headline-strategy",
            "status": "active",
            "bestFor": "Use whenever a deck carries a single load-bearing thesis to a defined audience: headline when the audience is senior, time-poor, scanning, or already aligned with the thesis; reveal when the thesis is contrarian, the audience needs to feel the gap before accepting the bridge, or the deck is a single-pass in-room persuasion artefact. Skip for routine KPI updates, hypothesis-tree discovery decks, or reference material with no thesis.",
            "canonId": "019dd956-9c8b-76fe-b6f3-c2621dbef6d3",
            "version": 1,
            "bodyDocId": "f162d89e-0423-4b27-aa7e-2fe4db1c5d57",
            "description": "The meta-decision at the deck-flow layer of whether to lead with the answer (headline / Minto / top-down) or earn the answer through a built arc (reveal / Sparkline / in medias res). Sequences whole sections by audience cognitive state, stakes, and thesis-direction.",
            "familyLabel": null,
            "categoryName": "Loop",
            "categorySlug": "loop"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "b71291f1-11f6-4e45-92be-078530d14ee5",
          "evidence": "The slide's title and subtitle work together to reveal the main point of the slide.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": "Use whenever a deck carries a single load-bearing thesis to a defined audience: headline when the audience is senior, time-poor, scanning, or already aligned with the thesis; reveal when the thesis is contrarian, the audience needs to feel the gap before accepting the bridge, or the deck is a single-pass in-room persuasion artefact. Skip for routine KPI updates, hypothesis-tree discovery decks, or reference material with no thesis.",
          "confidence": 0.5,
          "extraction": {
            "at": "2026-07-17 03:20:51.784867+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 11,
          "whyItWorks": "The two strategies optimise for genuinely different audience starting positions — headline for speed of agreement with neutral or sympathetic audiences, reveal for depth of agreement with sceptical or invested ones. Headlining a contrarian thesis triggers reactance; revealing to a transactional audience makes them scan ahead and lose the thread. Naming the choice up front prevents the hybrid that under-performs in both rooms.",
          "antipattern": "The hybrid that pleases nobody — previewing the answer on slide 2 and then attempting a reveal arc. Audience has the answer so the build feels stalled; the build is there so the answer feels under-defended. Adjacent failures: chronological deck labelled reveal, reveal climax on the final slide with no call to action, and headline deck without an SCQA opening.",
          "cardinality": null,
          "narrativePurpose": "Forces the loop-layer author to commit to a single shape — headline or reveal — before sequencing slides, so cadence, slide-one job, and call-to-action placement all flow from one named choice instead of drifting into a hybrid that pleases neither scanners nor sit-forward audiences."
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 17,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 3,
          "name": "The Facts (What)",
          "beatId": "019dd95a-07a7-7579-bd65-0e7f8fe4365a",
          "matchId": "019dd95a-0543-7581-99b3-5568450d33ea",
          "beatType": {
            "name": "The Facts (What)",
            "slug": "triple-take-the-facts-what",
            "status": "active",
            "canonId": "019dd9b8-092b-754c-8eaa-ede3ffdcb060",
            "version": 1,
            "description": null
          },
          "evidence": "'End of free money' divider p3; macro data, layoffs, hiring perspective",
          "position": 1,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Setup",
            "slug": "setup",
            "status": "active",
            "canonId": "019dd9b8-020e-7505-af9b-d9b9a4679bcc",
            "version": 1,
            "description": "Where the deck grounds the reader before doing anything else. Almost every arc opens here."
          },
          "alignedBlockIds": null,
          "matchConfidence": 82
        },
        {
          "to": 17,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 3,
          "name": "Setup & Stakes",
          "beatId": "019dd95a-07a7-7579-bd65-1a88e53734ef",
          "matchId": "019dd95a-0543-7581-99b3-5836e9006609",
          "beatType": {
            "name": "Setup & Stakes",
            "slug": "mountain-setup-stakes",
            "status": "active",
            "canonId": "019dd9b8-18b5-77f3-8e4d-5dbbdb6aea1d",
            "version": 1,
            "description": null
          },
          "evidence": "macro shift framed as new context for tech",
          "position": 1,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Setup",
            "slug": "setup",
            "status": "active",
            "canonId": "019dd9b8-020e-7505-af9b-d9b9a4679bcc",
            "version": 1,
            "description": "Where the deck grounds the reader before doing anything else. Almost every arc opens here."
          },
          "alignedBlockIds": null,
          "matchConfidence": 60
        }
      ],
      "loops": [
        {
          "to": 12,
          "from": 4,
          "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": "019dd95a-08f8-7619-ac2e-734e7c802a24",
          "evidence": "Repeated 'back to the trend line' titles across ecommerce, ads, valuations, venture (p5,6,9,10,11)",
          "position": 1,
          "objective": "Show macro slowdown across multiple indicators all reverting to trend",
          "confidence": 85,
          "extraction": {
            "at": "2026-04-29 13:07:29.779839+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 12,
      "type": "setup",
      "title": "The slide uses a photo of competing quick-commerce ads to illustrate the 'free money' era of rapid customer acquisition.",
      "function": "establish_context",
      "rawType": "thesis_headline",
      "block": null,
      "metadata": {
        "slideType": "thesis_headline",
        "slideTypeCanon": {
          "name": "Thesis headline",
          "slug": "thesis_headline",
          "status": "active",
          "canonId": "019de52d-073a-70cb-b9f6-772a597bb5af",
          "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": "sparse",
        "densityScore": 8,
        "componentCount": 3,
        "textChars": 87,
        "nDataPoints": 0,
        "notes": "The slide uses a photo of competing quick-commerce ads to illustrate the 'free money' era of rapid customer acquisition.",
        "elementsJson": [
          "headline_text",
          "photo",
          "footnote"
        ],
        "confidence": 0.9,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:35:34.522+00",
          "seconds": 2.498,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5e88-73ef-bd5d-853951586965/12",
        "deck": "/decks/019dd923-5e88-73ef-bd5d-853951586965",
        "deckAnchor": "/decks/019dd923-5e88-73ef-bd5d-853951586965#slide-12",
        "deckJson": "/decks/019dd923-5e88-73ef-bd5d-853951586965.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.8,
            "w": 0.7,
            "x": 0.25,
            "y": 0.1
          },
          "kind": "image",
          "text": "Bus stop advertisement featuring Zapp and Getir",
          "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 17:35:34.522+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "21be34a7-669e-46f3-8ab7-7a23d371df41",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.1,
            "x": 0.05,
            "y": 0.9
          },
          "kind": "source-note",
          "text": "Source: @njashanmal",
          "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 17:35:34.522+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "69752880-2a40-4cf0-a135-bdfd7b847dba",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.1,
            "w": 0.2,
            "x": 0.05,
            "y": 0.25
          },
          "kind": "title",
          "text": "The end of free money",
          "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 17:35:34.522+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "41bb9ecd-0f49-4c9d-98af-d3abf9055894",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "Thesis archetype",
            "slug": "thesis-archetype",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd9e1-4b0b-7428-9b26-f171d1e753fb",
            "version": 1,
            "bodyDocId": null,
            "description": "A canonical investment / activist thesis shape (breakup, fraud, governance).",
            "familyLabel": null,
            "categoryName": null,
            "categorySlug": null
          },
          "agent": null,
          "layer": "slide",
          "agents": null,
          "matchId": "4af86db4-464b-4d6a-a8c2-8133d80c8fb1",
          "evidence": "The slide features a clear and concise headline that sets up a thesis or main argument.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.9,
          "extraction": {
            "at": "2026-07-17 03:20:51.845911+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 12,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": "optional",
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 17,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 3,
          "name": "The Facts (What)",
          "beatId": "019dd95a-07a7-7579-bd65-0e7f8fe4365a",
          "matchId": "019dd95a-0543-7581-99b3-5568450d33ea",
          "beatType": {
            "name": "The Facts (What)",
            "slug": "triple-take-the-facts-what",
            "status": "active",
            "canonId": "019dd9b8-092b-754c-8eaa-ede3ffdcb060",
            "version": 1,
            "description": null
          },
          "evidence": "'End of free money' divider p3; macro data, layoffs, hiring perspective",
          "position": 1,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Setup",
            "slug": "setup",
            "status": "active",
            "canonId": "019dd9b8-020e-7505-af9b-d9b9a4679bcc",
            "version": 1,
            "description": "Where the deck grounds the reader before doing anything else. Almost every arc opens here."
          },
          "alignedBlockIds": null,
          "matchConfidence": 82
        },
        {
          "to": 17,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 3,
          "name": "Setup & Stakes",
          "beatId": "019dd95a-07a7-7579-bd65-1a88e53734ef",
          "matchId": "019dd95a-0543-7581-99b3-5836e9006609",
          "beatType": {
            "name": "Setup & Stakes",
            "slug": "mountain-setup-stakes",
            "status": "active",
            "canonId": "019dd9b8-18b5-77f3-8e4d-5dbbdb6aea1d",
            "version": 1,
            "description": null
          },
          "evidence": "macro shift framed as new context for tech",
          "position": 1,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Setup",
            "slug": "setup",
            "status": "active",
            "canonId": "019dd9b8-020e-7505-af9b-d9b9a4679bcc",
            "version": 1,
            "description": "Where the deck grounds the reader before doing anything else. Almost every arc opens here."
          },
          "alignedBlockIds": null,
          "matchConfidence": 60
        }
      ],
      "loops": [
        {
          "to": 12,
          "from": 4,
          "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": "019dd95a-08f8-7619-ac2e-734e7c802a24",
          "evidence": "Repeated 'back to the trend line' titles across ecommerce, ads, valuations, venture (p5,6,9,10,11)",
          "position": 1,
          "objective": "Show macro slowdown across multiple indicators all reverting to trend",
          "confidence": 85,
          "extraction": {
            "at": "2026-04-29 13:07:29.779839+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 13,
      "type": "analysis",
      "function": "summarize",
      "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": "summarize",
        "functionCanon": {
          "name": "Summarize",
          "slug": "summarize",
          "status": "active",
          "canonId": "019de52d-1541-704f-b86f-bf7b75056373",
          "version": 1,
          "description": null
        },
        "density": "balanced",
        "densityScore": 42,
        "componentCount": 6,
        "textChars": 280,
        "nDataPoints": 13,
        "notes": null,
        "elementsJson": [
          "headline_text",
          "subtitle_text",
          "bar_chart_vertical"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:35:34.923+00",
          "seconds": 2.843,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5e88-73ef-bd5d-853951586965/13",
        "deck": "/decks/019dd923-5e88-73ef-bd5d-853951586965",
        "deckAnchor": "/decks/019dd923-5e88-73ef-bd5d-853951586965#slide-13",
        "deckJson": "/decks/019dd923-5e88-73ef-bd5d-853951586965.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "At least 250k tech layoffs were announced in the last 12 months - 85k in January",
          "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-25 12:08:50+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a108-65039944eaeb",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.5,
            "w": 0.6,
            "x": 0.205,
            "y": 0.27
          },
          "kind": "chart",
          "text": "Tech layoffs announced (000 employees)",
          "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 17:35:34.923+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "9493c0cb-cf42-45d1-b9f8-ff171512feb7",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Tech layoffs (000 employees): 85k",
          "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-25 12:08:50+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a108-6b0a36df37fc",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.55,
            "x": 0.205,
            "y": 0.13
          },
          "kind": "paragraph",
          "text": "At least 250k tech layoffs were announced in the last 12 months - 85k in January",
          "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 17:35:34.923+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "35c1b850-1c8c-4da5-8272-bd89779aaca8",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.1,
            "x": 0.205,
            "y": 0.91
          },
          "kind": "source-note",
          "text": "Source: layoffs.fyi",
          "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 17:35:34.923+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "0ed108b3-51ca-41f5-9f84-29be9d852be5",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.04,
            "w": 0.41,
            "x": 0.205,
            "y": 0.05
          },
          "kind": "title",
          "text": "And all of this brings layoffs",
          "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 17:35:34.923+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "922c3a47-1689-4c11-90f7-060fd93ef586",
          "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": "019dd95a-1b83-7130-933d-04b52186ec69",
          "evidence": "Title states consequence: 'all of this brings layoffs'; 85k Jan figure",
          "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": 85,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 13,
          "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": "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": "1348d12b-7e6a-4844-aba1-5d853feeeee6",
          "evidence": "The slide features a vertical bar chart, which is suitable for showing categorical data.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-17 03:20:51.907591+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 13,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Concrete Language",
            "slug": "concrete-language",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-bcd4-7398-9723-6aa72346170b",
            "version": 1,
            "bodyDocId": null,
            "description": "Using specific sensory details instead of abstract terms",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Storyteller",
          "layer": "slide",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019dd95a-1b83-7130-933d-0b5c7bfcab85",
          "evidence": "Specific 250k / 85k numbers anchor the abstract",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 75,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 13,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Data Story Arc",
            "slug": "data-story-arc",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-9c30-728e-b974-d3fb123dcf5a",
            "version": 1,
            "bodyDocId": null,
            "description": "Context → Conflict → Insight → Implication structure for data narratives",
            "familyLabel": null,
            "categoryName": "Loop",
            "categorySlug": "loop"
          },
          "agent": "Storyteller",
          "layer": "slide",
          "agents": [
            "Storyteller"
          ],
          "matchId": "cbf3426e-012e-40e9-b893-67b9ad1f485b",
          "evidence": "The slide tells a story with the data, setting up a problem and then providing context.",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": null,
          "confidence": 0.5,
          "extraction": {
            "at": "2026-07-17 03:20:51.937976+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 13,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 17,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 3,
          "name": "The Facts (What)",
          "beatId": "019dd95a-07a7-7579-bd65-0e7f8fe4365a",
          "matchId": "019dd95a-0543-7581-99b3-5568450d33ea",
          "beatType": {
            "name": "The Facts (What)",
            "slug": "triple-take-the-facts-what",
            "status": "active",
            "canonId": "019dd9b8-092b-754c-8eaa-ede3ffdcb060",
            "version": 1,
            "description": null
          },
          "evidence": "'End of free money' divider p3; macro data, layoffs, hiring perspective",
          "position": 1,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Setup",
            "slug": "setup",
            "status": "active",
            "canonId": "019dd9b8-020e-7505-af9b-d9b9a4679bcc",
            "version": 1,
            "description": "Where the deck grounds the reader before doing anything else. Almost every arc opens here."
          },
          "alignedBlockIds": null,
          "matchConfidence": 82
        },
        {
          "to": 17,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 3,
          "name": "Setup & Stakes",
          "beatId": "019dd95a-07a7-7579-bd65-1a88e53734ef",
          "matchId": "019dd95a-0543-7581-99b3-5836e9006609",
          "beatType": {
            "name": "Setup & Stakes",
            "slug": "mountain-setup-stakes",
            "status": "active",
            "canonId": "019dd9b8-18b5-77f3-8e4d-5dbbdb6aea1d",
            "version": 1,
            "description": null
          },
          "evidence": "macro shift framed as new context for tech",
          "position": 1,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Setup",
            "slug": "setup",
            "status": "active",
            "canonId": "019dd9b8-020e-7505-af9b-d9b9a4679bcc",
            "version": 1,
            "description": "Where the deck grounds the reader before doing anything else. Almost every arc opens here."
          },
          "alignedBlockIds": null,
          "matchConfidence": 60
        }
      ],
      "loops": [
        {
          "to": 17,
          "from": 13,
          "loop": {
            "name": "12_myth_buster",
            "slug": "12-myth-buster",
            "status": "active",
            "bestFor": "Rebranding, changing market perception, correcting false assumptions",
            "canonId": "019dd956-6aac-748b-b08d-f2b9c3727326",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Common Belief -> The Friction/Failure of that Belief -> The New Truth",
            "description": "Address a common misconception head-on to clear the room for a new truth",
            "familyLabel": null
          },
          "matchId": "019dd95a-08f8-7619-ac2e-77bdf34babcc",
          "evidence": "p14 'Some perspective': Meta laid off 11k but hired 15k; p16 'Glass half-empty/half-full' two-column",
          "position": 2,
          "objective": "Reframe layoff narrative with hiring context",
          "confidence": 78,
          "extraction": {
            "at": "2026-04-29 13:07:29.779839+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 14,
      "type": "setup",
      "title": "The chart highlights that despite layoffs, the net hiring growth in recent years remains significant.",
      "function": "compare_peers",
      "rawType": "comparison_table",
      "block": null,
      "metadata": {
        "slideType": "comparison_table",
        "slideTypeCanon": {
          "name": "Comparison table",
          "slug": "comparison_table",
          "status": "active",
          "canonId": "019de52d-0a06-73f8-8813-fe022fab1de2",
          "version": 1,
          "description": null
        },
        "function": "compare_peers",
        "functionCanon": {
          "name": "Compare peers",
          "slug": "compare_peers",
          "status": "active",
          "canonId": "019de52d-1453-72ba-a367-9ba3d34c1630",
          "version": 1,
          "description": null
        },
        "density": "dense",
        "densityScore": 51,
        "componentCount": 7,
        "textChars": 305,
        "nDataPoints": 16,
        "notes": "The chart highlights that despite layoffs, the net hiring growth in recent years remains significant.",
        "elementsJson": [
          "headline_text",
          "subtitle_text",
          "bar_chart_grouped"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:35:34.705+00",
          "seconds": 2.578,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5e88-73ef-bd5d-853951586965/14",
        "deck": "/decks/019dd923-5e88-73ef-bd5d-853951586965",
        "deckAnchor": "/decks/019dd923-5e88-73ef-bd5d-853951586965#slide-14",
        "deckJson": "/decks/019dd923-5e88-73ef-bd5d-853951586965.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "Meta laid off 11,000 people in November 2022, but had hired over 15,000 since January",
          "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-25 12:08:54+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a109-c1341e27bd14",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.55,
            "w": 0.6,
            "x": 0.205,
            "y": 0.25
          },
          "kind": "chart",
          "text": "Employees (000) by company and year",
          "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": "Grouped bar chart",
              "slug": "bar-grouped",
              "status": "active",
              "canonId": "019de52c-ff3b-751e-a8ff-f21ff11097b1",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bar-grouped",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:34.705+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "2d471dc0-0050-442f-81c5-170a2992648e",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.1,
            "w": 0.15,
            "x": 0.03,
            "y": 0.35
          },
          "kind": "legend",
          "text": "2010, 2020, 2022, 2022/23 Layoffs",
          "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 17:35:34.705+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "779515c2-e8cc-4a2c-8690-f2dbafec9856",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Employee headcount: 11,000",
          "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-25 12:08:54+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a109-c68b15b03639",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.6,
            "x": 0.205,
            "y": 0.12
          },
          "kind": "paragraph",
          "text": "Meta laid off 11,000 people in November 2022, but had hired over 15,000 since January",
          "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 17:35:34.705+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "7bb8c13e-5310-49ef-9e43-7afb4ddab7e4",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.1,
            "x": 0.205,
            "y": 0.9
          },
          "kind": "source-note",
          "text": "Source: Companies",
          "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 17:35:34.705+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "2d7f0fba-2ae3-455e-836c-94bf4e8b2a10",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.35,
            "x": 0.205,
            "y": 0.05
          },
          "kind": "title",
          "text": "Some perspective, though",
          "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 17:35:34.705+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "30c1ea19-89e6-4fc6-967a-db7e2f6cfd39",
          "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": "019dd95a-1b83-7130-933d-0fdcb3a544a7",
          "evidence": "Title 'Some perspective, though' opens loop on layoff narrative",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 70,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 14,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "The Turn",
            "slug": "the-turn",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-a2b1-7787-8ff6-60ba7e50b814",
            "version": 1,
            "bodyDocId": null,
            "description": "Pivotal moment where perspective shifts or insight emerges",
            "familyLabel": null,
            "categoryName": "Loop",
            "categorySlug": "loop"
          },
          "agent": "Storyteller",
          "layer": "loop",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019dd95a-1b83-7130-933d-11c72cdde969",
          "evidence": "Pivots from layoff alarm to '15,000 hired since January'",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 78,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 14,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Comparison frame",
            "slug": "comparison-frame",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd9e1-484b-7399-a4fc-d14644b99f93",
            "version": 1,
            "bodyDocId": null,
            "description": "Two or more states/subjects placed side by side to expose a gap.",
            "familyLabel": null,
            "categoryName": null,
            "categorySlug": null
          },
          "agent": null,
          "layer": "slide",
          "agents": null,
          "matchId": "6f847779-9dc1-4eec-9e76-2e917a1b7c74",
          "evidence": "The slide features a comparison table, allowing the audience to easily compare data across different categories.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-17 03:20:52.001479+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 14,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": "common",
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 17,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 3,
          "name": "The Facts (What)",
          "beatId": "019dd95a-07a7-7579-bd65-0e7f8fe4365a",
          "matchId": "019dd95a-0543-7581-99b3-5568450d33ea",
          "beatType": {
            "name": "The Facts (What)",
            "slug": "triple-take-the-facts-what",
            "status": "active",
            "canonId": "019dd9b8-092b-754c-8eaa-ede3ffdcb060",
            "version": 1,
            "description": null
          },
          "evidence": "'End of free money' divider p3; macro data, layoffs, hiring perspective",
          "position": 1,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Setup",
            "slug": "setup",
            "status": "active",
            "canonId": "019dd9b8-020e-7505-af9b-d9b9a4679bcc",
            "version": 1,
            "description": "Where the deck grounds the reader before doing anything else. Almost every arc opens here."
          },
          "alignedBlockIds": null,
          "matchConfidence": 82
        },
        {
          "to": 17,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 3,
          "name": "Setup & Stakes",
          "beatId": "019dd95a-07a7-7579-bd65-1a88e53734ef",
          "matchId": "019dd95a-0543-7581-99b3-5836e9006609",
          "beatType": {
            "name": "Setup & Stakes",
            "slug": "mountain-setup-stakes",
            "status": "active",
            "canonId": "019dd9b8-18b5-77f3-8e4d-5dbbdb6aea1d",
            "version": 1,
            "description": null
          },
          "evidence": "macro shift framed as new context for tech",
          "position": 1,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Setup",
            "slug": "setup",
            "status": "active",
            "canonId": "019dd9b8-020e-7505-af9b-d9b9a4679bcc",
            "version": 1,
            "description": "Where the deck grounds the reader before doing anything else. Almost every arc opens here."
          },
          "alignedBlockIds": null,
          "matchConfidence": 60
        }
      ],
      "loops": [
        {
          "to": 17,
          "from": 13,
          "loop": {
            "name": "12_myth_buster",
            "slug": "12-myth-buster",
            "status": "active",
            "bestFor": "Rebranding, changing market perception, correcting false assumptions",
            "canonId": "019dd956-6aac-748b-b08d-f2b9c3727326",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Common Belief -> The Friction/Failure of that Belief -> The New Truth",
            "description": "Address a common misconception head-on to clear the room for a new truth",
            "familyLabel": null
          },
          "matchId": "019dd95a-08f8-7619-ac2e-77bdf34babcc",
          "evidence": "p14 'Some perspective': Meta laid off 11k but hired 15k; p16 'Glass half-empty/half-full' two-column",
          "position": 2,
          "objective": "Reframe layoff narrative with hiring context",
          "confidence": 78,
          "extraction": {
            "at": "2026-04-29 13:07:29.779839+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 15,
      "type": "analysis",
      "title": "The chart shows a massive increase in headcount for Amazon compared to other tech giants.",
      "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": 37,
        "componentCount": 6,
        "textChars": 174,
        "nDataPoints": 15,
        "notes": "The chart shows a massive increase in headcount for Amazon compared to other tech giants.",
        "elementsJson": [
          "headline_text",
          "subtitle_text",
          "bar_chart_grouped"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:35:34.968+00",
          "seconds": 2.84,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5e88-73ef-bd5d-853951586965/15",
        "deck": "/decks/019dd923-5e88-73ef-bd5d-853951586965",
        "deckAnchor": "/decks/019dd923-5e88-73ef-bd5d-853951586965#slide-15",
        "deckJson": "/decks/019dd923-5e88-73ef-bd5d-853951586965.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.6,
            "w": 0.7,
            "x": 0.205,
            "y": 0.25
          },
          "kind": "chart",
          "text": "Employees (000) by company and year",
          "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": "Grouped bar chart",
              "slug": "bar-grouped",
              "status": "active",
              "canonId": "019de52c-ff3b-751e-a8ff-f21ff11097b1",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bar-grouped",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:34.968+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "1513d129-502b-4412-bdab-9a1869cf9c4d",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.1,
            "w": 0.15,
            "x": 0.03,
            "y": 0.35
          },
          "kind": "legend",
          "text": "2010, 2020, 2022, 2022/23 Layoffs",
          "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 17:35:34.968+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "78ec4f0e-8c95-4b8e-b991-1d8641925e83",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Employees (000)",
          "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-25 12:08:53+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a109-a840788f3fbe",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.1,
            "x": 0.205,
            "y": 0.9
          },
          "kind": "subtitle",
          "text": "Source: Companies",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Subtitle",
              "slug": "subtitle",
              "status": "active",
              "canonId": "82d821ee-2793-42e7-8f16-c6131385a3ce",
              "version": 1,
              "description": "Header-zone supporting text near the title (= ex body.description with bbox)."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:34.968+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "19a58ba8-e573-4d1c-82e8-e984ea284dcc",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.25,
            "x": 0.205,
            "y": 0.05
          },
          "kind": "title",
          "text": "Some perspective",
          "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 17:35:34.968+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "5a1fb208-1d10-4ff0-a797-f1c9de6713cc",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.5,
            "x": 0.205,
            "y": 0.12
          },
          "kind": "title",
          "text": "Tech companies have hired at huge scale in the last decade",
          "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": "Subtitle",
              "slug": "subtitle",
              "status": "active",
              "canonId": "019de52c-fb09-739d-900c-815b0d9ac526",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "subtitle",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:34.968+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "e642595c-7075-4aa4-8ea3-227c7d3467aa",
          "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": "019dd95a-1b83-7130-933d-1475b6f739e6",
          "evidence": "Title states 'hired at huge scale in the last decade'",
          "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": 75,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 15,
          "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": "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": "3496d0f1-1344-49bd-b8d0-5ade44460ed1",
          "evidence": "The slide features a grouped bar chart, which is suitable for comparing data across different categories.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-17 03:20:52.065527+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 15,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 17,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 3,
          "name": "The Facts (What)",
          "beatId": "019dd95a-07a7-7579-bd65-0e7f8fe4365a",
          "matchId": "019dd95a-0543-7581-99b3-5568450d33ea",
          "beatType": {
            "name": "The Facts (What)",
            "slug": "triple-take-the-facts-what",
            "status": "active",
            "canonId": "019dd9b8-092b-754c-8eaa-ede3ffdcb060",
            "version": 1,
            "description": null
          },
          "evidence": "'End of free money' divider p3; macro data, layoffs, hiring perspective",
          "position": 1,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Setup",
            "slug": "setup",
            "status": "active",
            "canonId": "019dd9b8-020e-7505-af9b-d9b9a4679bcc",
            "version": 1,
            "description": "Where the deck grounds the reader before doing anything else. Almost every arc opens here."
          },
          "alignedBlockIds": null,
          "matchConfidence": 82
        },
        {
          "to": 17,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 3,
          "name": "Setup & Stakes",
          "beatId": "019dd95a-07a7-7579-bd65-1a88e53734ef",
          "matchId": "019dd95a-0543-7581-99b3-5836e9006609",
          "beatType": {
            "name": "Setup & Stakes",
            "slug": "mountain-setup-stakes",
            "status": "active",
            "canonId": "019dd9b8-18b5-77f3-8e4d-5dbbdb6aea1d",
            "version": 1,
            "description": null
          },
          "evidence": "macro shift framed as new context for tech",
          "position": 1,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Setup",
            "slug": "setup",
            "status": "active",
            "canonId": "019dd9b8-020e-7505-af9b-d9b9a4679bcc",
            "version": 1,
            "description": "Where the deck grounds the reader before doing anything else. Almost every arc opens here."
          },
          "alignedBlockIds": null,
          "matchConfidence": 60
        }
      ],
      "loops": [
        {
          "to": 17,
          "from": 13,
          "loop": {
            "name": "12_myth_buster",
            "slug": "12-myth-buster",
            "status": "active",
            "bestFor": "Rebranding, changing market perception, correcting false assumptions",
            "canonId": "019dd956-6aac-748b-b08d-f2b9c3727326",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Common Belief -> The Friction/Failure of that Belief -> The New Truth",
            "description": "Address a common misconception head-on to clear the room for a new truth",
            "familyLabel": null
          },
          "matchId": "019dd95a-08f8-7619-ac2e-77bdf34babcc",
          "evidence": "p14 'Some perspective': Meta laid off 11k but hired 15k; p16 'Glass half-empty/half-full' two-column",
          "position": 2,
          "objective": "Reframe layoff narrative with hiring context",
          "confidence": 78,
          "extraction": {
            "at": "2026-04-29 13:07:29.779839+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 16,
      "type": "setup",
      "title": "Uses a binary comparison framework to balance pessimistic and optimistic outlooks.",
      "function": "compare_options",
      "rawType": "comparison_table",
      "block": null,
      "metadata": {
        "slideType": "comparison_table",
        "slideTypeCanon": {
          "name": "Comparison table",
          "slug": "comparison_table",
          "status": "active",
          "canonId": "019de52d-0a06-73f8-8813-fe022fab1de2",
          "version": 1,
          "description": null
        },
        "function": "compare_options",
        "functionCanon": {
          "name": "Compare options",
          "slug": "compare_options",
          "status": "active",
          "canonId": "019de52d-167f-7038-aebc-70a9d2e0e33b",
          "version": 1,
          "description": null
        },
        "density": "balanced",
        "densityScore": 28,
        "componentCount": 4,
        "textChars": 358,
        "nDataPoints": 1,
        "notes": "Uses a binary comparison framework to balance pessimistic and optimistic outlooks.",
        "elementsJson": [
          "headline_text",
          "subtitle_text",
          "comparison_table"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:35:34.755+00",
          "seconds": 2.495,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5e88-73ef-bd5d-853951586965/16",
        "deck": "/decks/019dd923-5e88-73ef-bd5d-853951586965",
        "deckAnchor": "/decks/019dd923-5e88-73ef-bd5d-853951586965#slide-16",
        "deckJson": "/decks/019dd923-5e88-73ef-bd5d-853951586965.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.3,
            "w": 0.28,
            "x": 0.64,
            "y": 0.38
          },
          "kind": "list",
          "text": "Half-full: 5bn people have a smartphone now; The pandemic broke every offline habit; Every market and value chain is being remade around the internet",
          "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": "Comparison list",
              "slug": "comparison",
              "status": "active",
              "canonId": "019de52c-fce7-733e-99d3-030a104727bf",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "comparison",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:34.755+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "3e771ee2-8989-48c7-b773-9328957f4ad5",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.3,
            "w": 0.28,
            "x": 0.205,
            "y": 0.38
          },
          "kind": "list",
          "text": "Half-empty: Over-investment and loss of discipline in the last 24 months; Uncertain macro-economic outlook; (Uncertain geo-political outlook)",
          "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": "Comparison list",
              "slug": "comparison",
              "status": "active",
              "canonId": "019de52c-fce7-733e-99d3-030a104727bf",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "comparison",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:34.755+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "f8c12039-ca45-4097-95d7-c5be6adcf2c1",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.45,
            "x": 0.205,
            "y": 0.05
          },
          "kind": "title",
          "text": "Glass half-empty, glass half-full",
          "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 17:35:34.755+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "0bfa17f3-cd26-40f2-963c-9bfbd8641611",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.25,
            "x": 0.205,
            "y": 0.12
          },
          "kind": "title",
          "text": "How optimistic do you want to feel?",
          "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": "Subtitle",
              "slug": "subtitle",
              "status": "active",
              "canonId": "019de52c-fb09-739d-900c-815b0d9ac526",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "subtitle",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:34.755+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "f5051925-2429-4bf2-bb02-930cad7a77a8",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "Antithesis",
            "slug": "antithesis",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-a1f8-7283-8cf4-8e2c4292cc4e",
            "version": 1,
            "bodyDocId": null,
            "description": "Juxtaposing contrasting ideas in parallel structure",
            "familyLabel": null,
            "categoryName": "Loop",
            "categorySlug": "loop"
          },
          "agent": "Storyteller",
          "layer": "loop",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019dd95a-1b83-7130-933d-1a17683d7ef2",
          "evidence": "Two-column 'Half-empty | Half-full' juxtaposition with red divider",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 90,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 16,
          "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": "019dd95a-1b83-7130-933d-1ee46e7cd72e",
          "evidence": "Three paired bullets explicitly framed as opposing readings",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": null,
          "confidence": 88,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 16,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Parallel Structure",
            "slug": "parallel-structure",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-9f34-762a-93b7-1d8e84bbd153",
            "version": 1,
            "bodyDocId": null,
            "description": "Using similar grammatical structure for related ideas",
            "familyLabel": null,
            "categoryName": "Loop",
            "categorySlug": "loop"
          },
          "agent": "Architect",
          "layer": "loop",
          "agents": [
            "Architect"
          ],
          "matchId": "019dd95a-1b83-7130-933d-20c0337058a3",
          "evidence": "Mirror three-bullet structure on each side",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 80,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 16,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Audience frame",
            "slug": "audience-frame",
            "status": "active",
            "bestFor": null,
            "canonId": "2a1eefbd-5be8-4600-898b-49dbfcf73ec8",
            "version": 1,
            "bodyDocId": null,
            "description": "Tools for modelling and segmenting the audience (persona, JTBD, segmentation).",
            "familyLabel": null,
            "categoryName": null,
            "categorySlug": null
          },
          "agent": null,
          "layer": "slide",
          "agents": null,
          "matchId": "86ff0d72-3426-447f-8112-7328c429a9dc",
          "evidence": "The slide provides context and sets up a frame for the audience to understand the data.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-17 03:20:52.12661+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 16,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": "optional",
          "narrativePurpose": null
        }
      ],
      "frameworks": [
        {
          "matchId": "9fd5b8b8-e92c-4e02-8920-0935b0f7ebea",
          "evidence": "The slide explicitly contrasts two opposing viewpoints (half-empty vs half-full) to frame a market outlook.",
          "framework": null,
          "confidence": 0.9,
          "extraction": {
            "at": "2026-05-02 17:35:34.755+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 16,
          "frameworkName": "comparison-frame"
        }
      ],
      "arcBeats": [
        {
          "to": 17,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 3,
          "name": "The Facts (What)",
          "beatId": "019dd95a-07a7-7579-bd65-0e7f8fe4365a",
          "matchId": "019dd95a-0543-7581-99b3-5568450d33ea",
          "beatType": {
            "name": "The Facts (What)",
            "slug": "triple-take-the-facts-what",
            "status": "active",
            "canonId": "019dd9b8-092b-754c-8eaa-ede3ffdcb060",
            "version": 1,
            "description": null
          },
          "evidence": "'End of free money' divider p3; macro data, layoffs, hiring perspective",
          "position": 1,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Setup",
            "slug": "setup",
            "status": "active",
            "canonId": "019dd9b8-020e-7505-af9b-d9b9a4679bcc",
            "version": 1,
            "description": "Where the deck grounds the reader before doing anything else. Almost every arc opens here."
          },
          "alignedBlockIds": null,
          "matchConfidence": 82
        },
        {
          "to": 17,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 3,
          "name": "Setup & Stakes",
          "beatId": "019dd95a-07a7-7579-bd65-1a88e53734ef",
          "matchId": "019dd95a-0543-7581-99b3-5836e9006609",
          "beatType": {
            "name": "Setup & Stakes",
            "slug": "mountain-setup-stakes",
            "status": "active",
            "canonId": "019dd9b8-18b5-77f3-8e4d-5dbbdb6aea1d",
            "version": 1,
            "description": null
          },
          "evidence": "macro shift framed as new context for tech",
          "position": 1,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Setup",
            "slug": "setup",
            "status": "active",
            "canonId": "019dd9b8-020e-7505-af9b-d9b9a4679bcc",
            "version": 1,
            "description": "Where the deck grounds the reader before doing anything else. Almost every arc opens here."
          },
          "alignedBlockIds": null,
          "matchConfidence": 60
        }
      ],
      "loops": [
        {
          "to": 17,
          "from": 13,
          "loop": {
            "name": "12_myth_buster",
            "slug": "12-myth-buster",
            "status": "active",
            "bestFor": "Rebranding, changing market perception, correcting false assumptions",
            "canonId": "019dd956-6aac-748b-b08d-f2b9c3727326",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Common Belief -> The Friction/Failure of that Belief -> The New Truth",
            "description": "Address a common misconception head-on to clear the room for a new truth",
            "familyLabel": null
          },
          "matchId": "019dd95a-08f8-7619-ac2e-77bdf34babcc",
          "evidence": "p14 'Some perspective': Meta laid off 11k but hired 15k; p16 'Glass half-empty/half-full' two-column",
          "position": 2,
          "objective": "Reframe layoff narrative with hiring context",
          "confidence": 78,
          "extraction": {
            "at": "2026-04-29 13:07:29.779839+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 17,
      "type": "analysis",
      "title": "The chart illustrates that despite market volatility (e.g., dotcom bubble), the underlying adoption trend remains consistent.",
      "function": "establish_context",
      "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": "establish_context",
        "functionCanon": {
          "name": "Establish context",
          "slug": "establish_context",
          "status": "active",
          "canonId": "019de52d-1314-74e6-9074-d213dc0bdcdf",
          "version": 1,
          "description": null
        },
        "density": "balanced",
        "densityScore": 35,
        "componentCount": 6,
        "textChars": 176,
        "nDataPoints": 4,
        "notes": "The chart illustrates that despite market volatility (e.g., dotcom bubble), the underlying adoption trend remains consistent.",
        "elementsJson": [
          "headline_text",
          "subtitle_text",
          "line_chart",
          "footnote"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:35:37.633+00",
          "seconds": 5.277,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5e88-73ef-bd5d-853951586965/17",
        "deck": "/decks/019dd923-5e88-73ef-bd5d-853951586965",
        "deckAnchor": "/decks/019dd923-5e88-73ef-bd5d-853951586965#slide-17",
        "deckJson": "/decks/019dd923-5e88-73ef-bd5d-853951586965.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "From exciting to universal",
          "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-25 12:08:51+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a109-3d77295faed9",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.55,
            "w": 0.745,
            "x": 0.205,
            "y": 0.27
          },
          "kind": "chart",
          "text": "Global computer users (bn)",
          "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": "Line chart",
              "slug": "line",
              "status": "active",
              "canonId": "019de52c-ff62-778f-8f6c-a952ceae8677",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "line",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:37.633+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "ab0d9623-ed4d-467d-81c2-a52eff916a49",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Global computer users",
          "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-25 12:08:51+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a109-41dd1cd31d7c",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.025,
            "w": 0.495,
            "x": 0.205,
            "y": 0.91
          },
          "kind": "source-note",
          "text": "Source: Gartner, ITU, Apple, Google, CNNIC, Benedict Evans",
          "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 17:35:37.633+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "6a85f980-ef35-4caa-a10f-c04eb3e4c8b2",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.045,
            "w": 0.275,
            "x": 0.205,
            "y": 0.055
          },
          "kind": "title",
          "text": "The real trend line",
          "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 17:35:37.633+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "b03482ec-c26a-4a38-a223-583f0f50c21e",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.025,
            "w": 0.285,
            "x": 0.205,
            "y": 0.125
          },
          "kind": "title",
          "text": "From exciting to universal",
          "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": "Subtitle",
              "slug": "subtitle",
              "status": "active",
              "canonId": "019de52c-fb09-739d-900c-815b0d9ac526",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "subtitle",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:37.633+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "f12a4e1d-0ac4-4d40-82be-2a4d7a55271d",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "Payoff",
            "slug": "payoff",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-a464-704b-b1a1-e1d483709f00",
            "version": 1,
            "bodyDocId": null,
            "description": "Delivering on earlier setup for satisfying resolution",
            "familyLabel": null,
            "categoryName": "Loop",
            "categorySlug": "loop"
          },
          "agent": "Storyteller",
          "layer": "loop",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019dd95a-1b83-7130-933d-2954843bbbfe",
          "evidence": "Closes the macro-context loop with a 'real trend line' resolution",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 70,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 17,
          "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": "019dd95a-1b83-7130-933d-269235118b93",
          "evidence": "Subhead 'From exciting to universal' compresses the section thesis",
          "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": 80,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 17,
          "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": "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": "cf2201e5-8146-48ae-a714-f0b792c65984",
          "evidence": "The slide features a line chart, which is suitable for showing trends over time.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-17 03:20:52.186974+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 17,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 17,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 3,
          "name": "The Facts (What)",
          "beatId": "019dd95a-07a7-7579-bd65-0e7f8fe4365a",
          "matchId": "019dd95a-0543-7581-99b3-5568450d33ea",
          "beatType": {
            "name": "The Facts (What)",
            "slug": "triple-take-the-facts-what",
            "status": "active",
            "canonId": "019dd9b8-092b-754c-8eaa-ede3ffdcb060",
            "version": 1,
            "description": null
          },
          "evidence": "'End of free money' divider p3; macro data, layoffs, hiring perspective",
          "position": 1,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Setup",
            "slug": "setup",
            "status": "active",
            "canonId": "019dd9b8-020e-7505-af9b-d9b9a4679bcc",
            "version": 1,
            "description": "Where the deck grounds the reader before doing anything else. Almost every arc opens here."
          },
          "alignedBlockIds": null,
          "matchConfidence": 82
        },
        {
          "to": 17,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 3,
          "name": "Setup & Stakes",
          "beatId": "019dd95a-07a7-7579-bd65-1a88e53734ef",
          "matchId": "019dd95a-0543-7581-99b3-5836e9006609",
          "beatType": {
            "name": "Setup & Stakes",
            "slug": "mountain-setup-stakes",
            "status": "active",
            "canonId": "019dd9b8-18b5-77f3-8e4d-5dbbdb6aea1d",
            "version": 1,
            "description": null
          },
          "evidence": "macro shift framed as new context for tech",
          "position": 1,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Setup",
            "slug": "setup",
            "status": "active",
            "canonId": "019dd9b8-020e-7505-af9b-d9b9a4679bcc",
            "version": 1,
            "description": "Where the deck grounds the reader before doing anything else. Almost every arc opens here."
          },
          "alignedBlockIds": null,
          "matchConfidence": 60
        }
      ],
      "loops": [
        {
          "to": 17,
          "from": 13,
          "loop": {
            "name": "12_myth_buster",
            "slug": "12-myth-buster",
            "status": "active",
            "bestFor": "Rebranding, changing market perception, correcting false assumptions",
            "canonId": "019dd956-6aac-748b-b08d-f2b9c3727326",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Common Belief -> The Friction/Failure of that Belief -> The New Truth",
            "description": "Address a common misconception head-on to clear the room for a new truth",
            "familyLabel": null
          },
          "matchId": "019dd95a-08f8-7619-ac2e-77bdf34babcc",
          "evidence": "p14 'Some perspective': Meta laid off 11k but hired 15k; p16 'Glass half-empty/half-full' two-column",
          "position": 2,
          "objective": "Reframe layoff narrative with hiring context",
          "confidence": 78,
          "extraction": {
            "at": "2026-04-29 13:07:29.779839+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 18,
      "type": "setup",
      "function": "transition",
      "rawType": "section_divider",
      "block": null,
      "metadata": {
        "slideType": "section_divider",
        "slideTypeCanon": {
          "name": "Section divider",
          "slug": "section_divider",
          "status": "active",
          "canonId": "019de52d-066a-7402-9554-6ae504999041",
          "version": 1,
          "description": null
        },
        "function": "transition",
        "functionCanon": {
          "name": "Transition",
          "slug": "transition",
          "status": "active",
          "canonId": "019de52d-1365-7149-92aa-66df859e75fd",
          "version": 1,
          "description": null
        },
        "density": "sparse",
        "densityScore": 1,
        "componentCount": 1,
        "textChars": 19,
        "nDataPoints": 0,
        "notes": null,
        "elementsJson": [
          "headline_text"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:35:36.304+00",
          "seconds": 3.661,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5e88-73ef-bd5d-853951586965/18",
        "deck": "/decks/019dd923-5e88-73ef-bd5d-853951586965",
        "deckAnchor": "/decks/019dd923-5e88-73ef-bd5d-853951586965#slide-18",
        "deckJson": "/decks/019dd923-5e88-73ef-bd5d-853951586965.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.085,
            "w": 0.518,
            "x": 0.202,
            "y": 0.275
          },
          "kind": "title",
          "text": "The New Gatekeepers",
          "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 17:35:36.304+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "dde94e49-be6f-483a-becc-9c719112961a",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 69,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 18,
          "name": "The Implications (So What)",
          "beatId": "019dd95a-07a7-7579-bd65-11bd74463cfe",
          "matchId": "019dd95a-0543-7581-99b3-5568450d33ea",
          "beatType": {
            "name": "The Implications (So What)",
            "slug": "triple-take-the-implications-so-what",
            "status": "active",
            "canonId": "019dd9b8-09c7-75cd-8c7b-ae0e23cca2b8",
            "version": 1,
            "description": null
          },
          "evidence": "'The New Gatekeepers' divider p18; retail media, unbundling, brand reset",
          "position": 2,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Reflection",
            "slug": "reflection",
            "status": "active",
            "canonId": "019dd9b8-0510-73fd-8d00-1c7e45f7bc98",
            "version": 1,
            "description": "The \"so what\" beat. Used by analytical arcs (Triple-take, Onion) and learning arcs (Voyage-return, Tragedy)."
          },
          "alignedBlockIds": null,
          "matchConfidence": 82
        },
        {
          "to": 58,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 18,
          "name": "Rising Action",
          "beatId": "019dd95a-07a7-7579-bd65-1d44db232db5",
          "matchId": "019dd95a-0543-7581-99b3-5836e9006609",
          "beatType": {
            "name": "Rising Action",
            "slug": "mountain-rising-action",
            "status": "active",
            "canonId": "019dd9b8-1992-742b-be9c-85d0ebee0591",
            "version": 1,
            "description": null
          },
          "evidence": "category-by-category gatekeeper sweep: retail, media, content",
          "position": 2,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Development",
            "slug": "development",
            "status": "active",
            "canonId": "019dd9b8-0332-7008-b3aa-11b0840a57b1",
            "version": 1,
            "description": "The middle stretch in arcs that have one. Often where length problems creep in."
          },
          "alignedBlockIds": null,
          "matchConfidence": 60
        }
      ],
      "loops": [],
      "locked": true
    },
    {
      "page": 19,
      "type": "analysis",
      "title": "Includes a data break in 1964 due to a definition change.",
      "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": 34,
        "componentCount": 5,
        "textChars": 346,
        "nDataPoints": 1,
        "notes": "Includes a data break in 1964 due to a definition change.",
        "elementsJson": [
          "headline_text",
          "subtitle_text",
          "line_chart",
          "footnote"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:35:34.934+00",
          "seconds": 2.243,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5e88-73ef-bd5d-853951586965/19",
        "deck": "/decks/019dd923-5e88-73ef-bd5d-853951586965",
        "deckAnchor": "/decks/019dd923-5e88-73ef-bd5d-853951586965#slide-19",
        "deckJson": "/decks/019dd923-5e88-73ef-bd5d-853951586965.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.55,
            "w": 0.75,
            "x": 0.18,
            "y": 0.25
          },
          "kind": "chart",
          "text": "Department store share of US addressable retail revenue",
          "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": "Line chart",
              "slug": "line",
              "status": "active",
              "canonId": "019de52c-ff62-778f-8f6c-a952ceae8677",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "line",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:34.934+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "95218952-5db2-42a8-a0e5-52909ca1527b",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Department store share of US addressable retail revenue",
          "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-25 12:08:51+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a108-f0f9b7f1b680",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.6,
            "x": 0.205,
            "y": 0.12
          },
          "kind": "paragraph",
          "text": "Department stores dominated retail for a century. Now they've almost disappeared",
          "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 17:35:34.934+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "577a3f58-3845-456d-b42a-62f2fa967dcc",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.5,
            "x": 0.205,
            "y": 0.9
          },
          "kind": "source-note",
          "text": "Source: US Census, ARTS. Definition change in 1964. *Excluding automotive, building materials, gasoline, grocery, food service",
          "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 17:35:34.934+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "ffe1e1a2-336a-459f-9d90-9558303b2f37",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.45,
            "x": 0.205,
            "y": 0.05
          },
          "kind": "title",
          "text": "The decline of old gatekeepers",
          "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 17:35:34.934+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "8afd4bb3-a684-48dd-a03f-67f3ddcf01e4",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "Before-After-Bridge",
            "slug": "before-after-bridge",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-8604-7188-883f-42370288ad05",
            "version": 1,
            "bodyDocId": null,
            "description": "Narrative structure: Paint the before, show the after, explain the bridge",
            "familyLabel": null,
            "categoryName": "Block",
            "categorySlug": "block"
          },
          "agent": "Storyteller",
          "layer": "block",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019dd95a-1b83-7130-933d-30af05ca6ad5",
          "evidence": "Opens before/after frame against next slide",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 70,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 19,
          "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": "019dd95a-1b83-7130-933d-2e1dd71be05f",
          "evidence": "Title 'The decline of old gatekeepers' states the move",
          "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": 80,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 19,
          "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."
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 69,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 18,
          "name": "The Implications (So What)",
          "beatId": "019dd95a-07a7-7579-bd65-11bd74463cfe",
          "matchId": "019dd95a-0543-7581-99b3-5568450d33ea",
          "beatType": {
            "name": "The Implications (So What)",
            "slug": "triple-take-the-implications-so-what",
            "status": "active",
            "canonId": "019dd9b8-09c7-75cd-8c7b-ae0e23cca2b8",
            "version": 1,
            "description": null
          },
          "evidence": "'The New Gatekeepers' divider p18; retail media, unbundling, brand reset",
          "position": 2,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Reflection",
            "slug": "reflection",
            "status": "active",
            "canonId": "019dd9b8-0510-73fd-8d00-1c7e45f7bc98",
            "version": 1,
            "description": "The \"so what\" beat. Used by analytical arcs (Triple-take, Onion) and learning arcs (Voyage-return, Tragedy)."
          },
          "alignedBlockIds": null,
          "matchConfidence": 82
        },
        {
          "to": 58,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 18,
          "name": "Rising Action",
          "beatId": "019dd95a-07a7-7579-bd65-1d44db232db5",
          "matchId": "019dd95a-0543-7581-99b3-5836e9006609",
          "beatType": {
            "name": "Rising Action",
            "slug": "mountain-rising-action",
            "status": "active",
            "canonId": "019dd9b8-1992-742b-be9c-85d0ebee0591",
            "version": 1,
            "description": null
          },
          "evidence": "category-by-category gatekeeper sweep: retail, media, content",
          "position": 2,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Development",
            "slug": "development",
            "status": "active",
            "canonId": "019dd9b8-0332-7008-b3aa-11b0840a57b1",
            "version": 1,
            "description": "The middle stretch in arcs that have one. Often where length problems creep in."
          },
          "alignedBlockIds": null,
          "matchConfidence": 60
        }
      ],
      "loops": [
        {
          "to": 25,
          "from": 19,
          "loop": {
            "name": "04_tale_two_worlds",
            "slug": "04-tale-two-worlds",
            "status": "active",
            "bestFor": "Competitive analysis, benchmarking, case for change",
            "canonId": "019dd956-674f-750b-b15d-f082e2717f4e",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "Current State -> Desired State / Benchmark -> The Gap & Implication",
            "description": "Show the gap between two states to drive urgency or highlight opportunity",
            "familyLabel": null
          },
          "matchId": "019dd95a-08f8-7619-ac2e-792c8a06dcac",
          "evidence": "p19 'decline of old gatekeepers' immediately followed by p20 'rise of new ones'; Amazon overtakes Walmart",
          "position": 3,
          "objective": "Contrast decline of old gatekeepers with rise of new ones",
          "confidence": 82,
          "extraction": {
            "at": "2026-04-29 13:07:29.779839+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 20,
      "type": "analysis",
      "title": "The chart uses 2022 inflation-adjusted dollars.",
      "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": 46,
        "componentCount": 7,
        "textChars": 257,
        "nDataPoints": 2,
        "notes": "The chart uses 2022 inflation-adjusted dollars.",
        "elementsJson": [
          "headline_text",
          "subtitle_text",
          "line_chart"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:35:36.365+00",
          "seconds": 3.413,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5e88-73ef-bd5d-853951586965/20",
        "deck": "/decks/019dd923-5e88-73ef-bd5d-853951586965",
        "deckAnchor": "/decks/019dd923-5e88-73ef-bd5d-853951586965#slide-20",
        "deckJson": "/decks/019dd923-5e88-73ef-bd5d-853951586965.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "On a GMV basis, Amazon has now overtaken Walmart’s revenue",
          "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-25 12:08:52+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a109-71b8134d2189",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.6,
            "w": 0.75,
            "x": 0.205,
            "y": 0.25
          },
          "kind": "chart",
          "text": "Retail revenue ($bn, 2022 dollars)",
          "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": "Line chart",
              "slug": "line",
              "status": "active",
              "canonId": "019de52c-ff62-778f-8f6c-a952ceae8677",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "line",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:36.365+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "01eced6f-9e8e-4508-a502-c0586e1a1ed3",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.3,
            "x": 0.205,
            "y": 0.91
          },
          "kind": "disclaimer",
          "text": "Source: Amazon, Walmart, BLS, Benedict Evans",
          "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 17:35:36.365+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "87150088-48b8-4401-b235-c3dd41d89857",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.12,
            "x": 0.03,
            "y": 0.35
          },
          "kind": "legend",
          "text": "Walmart; Amazon GMV",
          "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 17:35:36.365+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "b6826fd0-a134-414e-841c-230bba0b77cc",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Retail revenue ($bn)",
          "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-25 12:08:52+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a109-765ce3a85e69",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.6,
            "x": 0.205,
            "y": 0.12
          },
          "kind": "title",
          "text": "On a GMV basis, Amazon has now overtaken Walmart’s revenue",
          "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 17:35:36.365+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "24c89c98-0ccc-4f69-b822-e9e84a1eeb7b",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.35,
            "x": 0.205,
            "y": 0.05
          },
          "kind": "title",
          "text": "And the rise of new ones",
          "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 17:35:36.365+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "ffb408a2-165d-43b7-a170-9bc16ca46937",
          "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": "019dd95a-1b83-7130-933d-3b02213aaf86",
          "evidence": "Decline (p19) <-> rise (p20) explicit pair",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": null,
          "confidence": 75,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 20,
          "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": "019dd95a-1b83-7130-933d-352ec5575ec1",
          "evidence": "Title 'And the rise of new ones'; subhead 'Amazon overtakes Walmart'",
          "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": 88,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 20,
          "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."
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 69,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 18,
          "name": "The Implications (So What)",
          "beatId": "019dd95a-07a7-7579-bd65-11bd74463cfe",
          "matchId": "019dd95a-0543-7581-99b3-5568450d33ea",
          "beatType": {
            "name": "The Implications (So What)",
            "slug": "triple-take-the-implications-so-what",
            "status": "active",
            "canonId": "019dd9b8-09c7-75cd-8c7b-ae0e23cca2b8",
            "version": 1,
            "description": null
          },
          "evidence": "'The New Gatekeepers' divider p18; retail media, unbundling, brand reset",
          "position": 2,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Reflection",
            "slug": "reflection",
            "status": "active",
            "canonId": "019dd9b8-0510-73fd-8d00-1c7e45f7bc98",
            "version": 1,
            "description": "The \"so what\" beat. Used by analytical arcs (Triple-take, Onion) and learning arcs (Voyage-return, Tragedy)."
          },
          "alignedBlockIds": null,
          "matchConfidence": 82
        },
        {
          "to": 58,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 18,
          "name": "Rising Action",
          "beatId": "019dd95a-07a7-7579-bd65-1d44db232db5",
          "matchId": "019dd95a-0543-7581-99b3-5836e9006609",
          "beatType": {
            "name": "Rising Action",
            "slug": "mountain-rising-action",
            "status": "active",
            "canonId": "019dd9b8-1992-742b-be9c-85d0ebee0591",
            "version": 1,
            "description": null
          },
          "evidence": "category-by-category gatekeeper sweep: retail, media, content",
          "position": 2,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Development",
            "slug": "development",
            "status": "active",
            "canonId": "019dd9b8-0332-7008-b3aa-11b0840a57b1",
            "version": 1,
            "description": "The middle stretch in arcs that have one. Often where length problems creep in."
          },
          "alignedBlockIds": null,
          "matchConfidence": 60
        }
      ],
      "loops": [
        {
          "to": 25,
          "from": 19,
          "loop": {
            "name": "04_tale_two_worlds",
            "slug": "04-tale-two-worlds",
            "status": "active",
            "bestFor": "Competitive analysis, benchmarking, case for change",
            "canonId": "019dd956-674f-750b-b15d-f082e2717f4e",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "Current State -> Desired State / Benchmark -> The Gap & Implication",
            "description": "Show the gap between two states to drive urgency or highlight opportunity",
            "familyLabel": null
          },
          "matchId": "019dd95a-08f8-7619-ac2e-792c8a06dcac",
          "evidence": "p19 'decline of old gatekeepers' immediately followed by p20 'rise of new ones'; Amazon overtakes Walmart",
          "position": 3,
          "objective": "Contrast decline of old gatekeepers with rise of new ones",
          "confidence": 82,
          "extraction": {
            "at": "2026-04-29 13:07:29.779839+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 21,
      "type": "analysis",
      "title": "The chart illustrates the shift in advertising spend from traditional media (newspapers, magazines, TV, radio) to internet-based advertising over time.",
      "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": 38,
        "componentCount": 6,
        "textChars": 228,
        "nDataPoints": 5,
        "notes": "The chart illustrates the shift in advertising spend from traditional media (newspapers, magazines, TV, radio) to internet-based advertising over time.",
        "elementsJson": [
          "headline_text",
          "subtitle_text",
          "area_chart"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:35:35.528+00",
          "seconds": 2.402,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5e88-73ef-bd5d-853951586965/21",
        "deck": "/decks/019dd923-5e88-73ef-bd5d-853951586965",
        "deckAnchor": "/decks/019dd923-5e88-73ef-bd5d-853951586965#slide-21",
        "deckJson": "/decks/019dd923-5e88-73ef-bd5d-853951586965.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.6,
            "w": 0.75,
            "x": 0.205,
            "y": 0.25
          },
          "kind": "chart",
          "text": "Advertising as % of US GDP",
          "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": "Stacked area chart",
              "slug": "area-stacked",
              "status": "active",
              "canonId": "019de52c-ffb1-75fa-a614-76782f418cf1",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "area-stacked",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:35.528+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "c3d76091-713e-4cc3-b179-32354808a3d0",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.2,
            "x": 0.205,
            "y": 0.91
          },
          "kind": "disclaimer",
          "text": "Source: Coen, McCann, Zenith, BEA",
          "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 17:35:35.528+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "92e53dbf-a691-47fe-99d3-6a2a4acbe759",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.1,
            "x": 0.03,
            "y": 0.35
          },
          "kind": "legend",
          "text": "Internet, Magazines, Newspapers, TV, Radio",
          "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 17:35:35.528+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "c153d667-207c-4c15-ab5d-5c8a0d968df6",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Advertising as % of US GDP",
          "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-25 12:08:51+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a109-0fad0b1959c3",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.5,
            "x": 0.205,
            "y": 0.12
          },
          "kind": "paragraph",
          "text": "Digital broke up the old markets - then, a decade later, it found new models",
          "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 17:35:35.528+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "38d5c50f-b550-4580-aa31-bf26671b5fc0",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.04,
            "w": 0.36,
            "x": 0.205,
            "y": 0.05
          },
          "kind": "title",
          "text": "Software eats advertising",
          "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 17:35:35.528+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "e40106b3-1cdd-4a5e-8b12-577c19c6f9ea",
          "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": "019dd95a-1b83-7130-933d-3ef58e5f4a48",
          "evidence": "'Software eats advertising' states the thesis",
          "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": 80,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 21,
          "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": "Metaphor & Analogy",
            "slug": "metaphor-analogy",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-adea-7729-bca1-70810d6238a9",
            "version": 1,
            "bodyDocId": null,
            "description": "Making abstract concepts concrete through familiar comparisons",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Storyteller",
          "layer": "slide",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019dd95a-1b83-7130-933d-4162e7702b51",
          "evidence": "'Software eats X' borrows Andreessen's eating metaphor",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": null,
          "confidence": 90,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 21,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 69,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 18,
          "name": "The Implications (So What)",
          "beatId": "019dd95a-07a7-7579-bd65-11bd74463cfe",
          "matchId": "019dd95a-0543-7581-99b3-5568450d33ea",
          "beatType": {
            "name": "The Implications (So What)",
            "slug": "triple-take-the-implications-so-what",
            "status": "active",
            "canonId": "019dd9b8-09c7-75cd-8c7b-ae0e23cca2b8",
            "version": 1,
            "description": null
          },
          "evidence": "'The New Gatekeepers' divider p18; retail media, unbundling, brand reset",
          "position": 2,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Reflection",
            "slug": "reflection",
            "status": "active",
            "canonId": "019dd9b8-0510-73fd-8d00-1c7e45f7bc98",
            "version": 1,
            "description": "The \"so what\" beat. Used by analytical arcs (Triple-take, Onion) and learning arcs (Voyage-return, Tragedy)."
          },
          "alignedBlockIds": null,
          "matchConfidence": 82
        },
        {
          "to": 58,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 18,
          "name": "Rising Action",
          "beatId": "019dd95a-07a7-7579-bd65-1d44db232db5",
          "matchId": "019dd95a-0543-7581-99b3-5836e9006609",
          "beatType": {
            "name": "Rising Action",
            "slug": "mountain-rising-action",
            "status": "active",
            "canonId": "019dd9b8-1992-742b-be9c-85d0ebee0591",
            "version": 1,
            "description": null
          },
          "evidence": "category-by-category gatekeeper sweep: retail, media, content",
          "position": 2,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Development",
            "slug": "development",
            "status": "active",
            "canonId": "019dd9b8-0332-7008-b3aa-11b0840a57b1",
            "version": 1,
            "description": "The middle stretch in arcs that have one. Often where length problems creep in."
          },
          "alignedBlockIds": null,
          "matchConfidence": 60
        }
      ],
      "loops": [
        {
          "to": 25,
          "from": 19,
          "loop": {
            "name": "04_tale_two_worlds",
            "slug": "04-tale-two-worlds",
            "status": "active",
            "bestFor": "Competitive analysis, benchmarking, case for change",
            "canonId": "019dd956-674f-750b-b15d-f082e2717f4e",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "Current State -> Desired State / Benchmark -> The Gap & Implication",
            "description": "Show the gap between two states to drive urgency or highlight opportunity",
            "familyLabel": null
          },
          "matchId": "019dd95a-08f8-7619-ac2e-792c8a06dcac",
          "evidence": "p19 'decline of old gatekeepers' immediately followed by p20 'rise of new ones'; Amazon overtakes Walmart",
          "position": 3,
          "objective": "Contrast decline of old gatekeepers with rise of new ones",
          "confidence": 82,
          "extraction": {
            "at": "2026-04-29 13:07:29.779839+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 22,
      "type": "analysis",
      "title": "The chart illustrates the dominance of digital advertising across major global markets.",
      "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": 37,
        "componentCount": 6,
        "textChars": 168,
        "nDataPoints": 12,
        "notes": "The chart illustrates the dominance of digital advertising across major global markets.",
        "elementsJson": [
          "headline_text",
          "subtitle_text",
          "bar_chart_stacked"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:35:36.168+00",
          "seconds": 2.803,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5e88-73ef-bd5d-853951586965/22",
        "deck": "/decks/019dd923-5e88-73ef-bd5d-853951586965",
        "deckAnchor": "/decks/019dd923-5e88-73ef-bd5d-853951586965#slide-22",
        "deckJson": "/decks/019dd923-5e88-73ef-bd5d-853951586965.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.5,
            "w": 0.6,
            "x": 0.205,
            "y": 0.27
          },
          "kind": "chart",
          "text": "2022 ad revenue ($bn)",
          "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": "Stacked bar chart",
              "slug": "bar-stacked",
              "status": "active",
              "canonId": "019de52c-feec-74bf-9028-15b74f84f0a7",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bar-stacked",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:36.168+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "9b6aae0a-0b43-452f-968e-3b644e7a87eb",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.1,
            "w": 0.1,
            "x": 0.03,
            "y": 0.35
          },
          "kind": "legend",
          "text": "All other*\nTV\nDigital pure-play",
          "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 17:35:36.168+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "04135239-c3e9-4b48-9b9f-cf052287ac37",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Ad revenue: $700bn",
          "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-25 12:08:51+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a109-25a980a8e685",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.2,
            "x": 0.205,
            "y": 0.9
          },
          "kind": "source-note",
          "text": "Source: GroupM\n* Print, OoH, radio and cinema",
          "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 17:35:36.168+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "be7055e5-ed79-46bf-bbb0-7480b972272b",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.04,
            "w": 0.36,
            "x": 0.205,
            "y": 0.05
          },
          "kind": "title",
          "text": "Software eats advertising",
          "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 17:35:36.168+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "237fef43-86db-4c7d-9baf-203cea4d003f",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.25,
            "x": 0.205,
            "y": 0.1
          },
          "kind": "title",
          "text": "A $700bn industry turns over",
          "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": "Subtitle",
              "slug": "subtitle",
              "status": "active",
              "canonId": "019de52c-fb09-739d-900c-815b0d9ac526",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "subtitle",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:36.168+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "72fdb82c-bcb3-418c-9513-79a10a0a9670",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "Anaphora",
            "slug": "anaphora",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-9fee-74aa-a920-078aa44132c0",
            "version": 1,
            "bodyDocId": null,
            "description": "Repeating words at the beginning of successive clauses for rhythm",
            "familyLabel": null,
            "categoryName": "Loop",
            "categorySlug": "loop"
          },
          "agent": "Storyteller",
          "layer": "loop",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019dd95a-1b83-7130-933d-47deb37188fd",
          "evidence": "Title 'Software eats advertising' repeated for emphasis",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 78,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 22,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Concrete Language",
            "slug": "concrete-language",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-bcd4-7398-9723-6aa72346170b",
            "version": 1,
            "bodyDocId": null,
            "description": "Using specific sensory details instead of abstract terms",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Storyteller",
          "layer": "slide",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019dd95a-1b83-7130-933d-4a30e8f9128c",
          "evidence": "Anchors with $700bn market sizing",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 80,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 22,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 69,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 18,
          "name": "The Implications (So What)",
          "beatId": "019dd95a-07a7-7579-bd65-11bd74463cfe",
          "matchId": "019dd95a-0543-7581-99b3-5568450d33ea",
          "beatType": {
            "name": "The Implications (So What)",
            "slug": "triple-take-the-implications-so-what",
            "status": "active",
            "canonId": "019dd9b8-09c7-75cd-8c7b-ae0e23cca2b8",
            "version": 1,
            "description": null
          },
          "evidence": "'The New Gatekeepers' divider p18; retail media, unbundling, brand reset",
          "position": 2,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Reflection",
            "slug": "reflection",
            "status": "active",
            "canonId": "019dd9b8-0510-73fd-8d00-1c7e45f7bc98",
            "version": 1,
            "description": "The \"so what\" beat. Used by analytical arcs (Triple-take, Onion) and learning arcs (Voyage-return, Tragedy)."
          },
          "alignedBlockIds": null,
          "matchConfidence": 82
        },
        {
          "to": 58,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 18,
          "name": "Rising Action",
          "beatId": "019dd95a-07a7-7579-bd65-1d44db232db5",
          "matchId": "019dd95a-0543-7581-99b3-5836e9006609",
          "beatType": {
            "name": "Rising Action",
            "slug": "mountain-rising-action",
            "status": "active",
            "canonId": "019dd9b8-1992-742b-be9c-85d0ebee0591",
            "version": 1,
            "description": null
          },
          "evidence": "category-by-category gatekeeper sweep: retail, media, content",
          "position": 2,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Development",
            "slug": "development",
            "status": "active",
            "canonId": "019dd9b8-0332-7008-b3aa-11b0840a57b1",
            "version": 1,
            "description": "The middle stretch in arcs that have one. Often where length problems creep in."
          },
          "alignedBlockIds": null,
          "matchConfidence": 60
        }
      ],
      "loops": [
        {
          "to": 25,
          "from": 19,
          "loop": {
            "name": "04_tale_two_worlds",
            "slug": "04-tale-two-worlds",
            "status": "active",
            "bestFor": "Competitive analysis, benchmarking, case for change",
            "canonId": "019dd956-674f-750b-b15d-f082e2717f4e",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "Current State -> Desired State / Benchmark -> The Gap & Implication",
            "description": "Show the gap between two states to drive urgency or highlight opportunity",
            "familyLabel": null
          },
          "matchId": "019dd95a-08f8-7619-ac2e-792c8a06dcac",
          "evidence": "p19 'decline of old gatekeepers' immediately followed by p20 'rise of new ones'; Amazon overtakes Walmart",
          "position": 3,
          "objective": "Contrast decline of old gatekeepers with rise of new ones",
          "confidence": 82,
          "extraction": {
            "at": "2026-04-29 13:07:29.779839+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 23,
      "type": "analysis",
      "title": "The chart uses color to distinguish between digital-native global platforms (grey) and traditional media companies (red).",
      "function": "analyze_data",
      "rawType": "market_landscape",
      "block": null,
      "metadata": {
        "slideType": "market_landscape",
        "slideTypeCanon": {
          "name": "Market landscape",
          "slug": "market_landscape",
          "status": "active",
          "canonId": "019de52d-0b6d-75db-a946-9ac362e3afc2",
          "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": 43,
        "componentCount": 6,
        "textChars": 277,
        "nDataPoints": 54,
        "notes": "The chart uses color to distinguish between digital-native global platforms (grey) and traditional media companies (red).",
        "elementsJson": [
          "headline_text",
          "subtitle_text",
          "bar_chart_grouped"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:35:35.729+00",
          "seconds": 2.323,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5e88-73ef-bd5d-853951586965/23",
        "deck": "/decks/019dd923-5e88-73ef-bd5d-853951586965",
        "deckAnchor": "/decks/019dd923-5e88-73ef-bd5d-853951586965#slide-23",
        "deckJson": "/decks/019dd923-5e88-73ef-bd5d-853951586965.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "Moving from local to global markets means moving from local to global winners",
          "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-25 12:08:56+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a10a-be594f74bdcb",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.6,
            "w": 0.75,
            "x": 0.205,
            "y": 0.27
          },
          "kind": "chart",
          "text": "Top 10 global media owners by ad revenue, 2016-2021 ($bn)",
          "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": "Grouped bar chart",
              "slug": "bar-grouped",
              "status": "active",
              "canonId": "019de52c-ff3b-751e-a8ff-f21ff11097b1",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bar-grouped",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:35.729+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "a91a897c-b276-4712-bdf9-f2de64181ecd",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Ad revenue",
          "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-25 12:08:56+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a10a-c1883604d06c",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.15,
            "x": 0.205,
            "y": 0.91
          },
          "kind": "source-note",
          "text": "Source: GroupM, companies",
          "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 17:35:35.729+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "f63149c4-f6cf-459f-a8a5-a6f522305c66",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.6,
            "x": 0.205,
            "y": 0.12
          },
          "kind": "title",
          "text": "Moving from local to global markets means moving from local to global winners",
          "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 17:35:35.729+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "284b462c-51c1-40a5-aed4-844d691368f0",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.04,
            "w": 0.46,
            "x": 0.205,
            "y": 0.05
          },
          "kind": "title",
          "text": "Global channels, global winners",
          "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 17:35:35.729+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "050202d2-dd15-4fb9-8368-57155035d6b3",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "Parallel Structure",
            "slug": "parallel-structure",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-9f34-762a-93b7-1d8e84bbd153",
            "version": 1,
            "bodyDocId": null,
            "description": "Using similar grammatical structure for related ideas",
            "familyLabel": null,
            "categoryName": "Loop",
            "categorySlug": "loop"
          },
          "agent": "Architect",
          "layer": "loop",
          "agents": [
            "Architect"
          ],
          "matchId": "019dd95a-1b83-7130-933d-530bedd874d6",
          "evidence": "Local->global / local->global parallel construction",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 78,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 23,
          "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": "019dd95a-1b83-7130-933d-4e77237367ef",
          "evidence": "'Global channels, global winners' states the structural shift",
          "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": 85,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 23,
          "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."
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 69,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 18,
          "name": "The Implications (So What)",
          "beatId": "019dd95a-07a7-7579-bd65-11bd74463cfe",
          "matchId": "019dd95a-0543-7581-99b3-5568450d33ea",
          "beatType": {
            "name": "The Implications (So What)",
            "slug": "triple-take-the-implications-so-what",
            "status": "active",
            "canonId": "019dd9b8-09c7-75cd-8c7b-ae0e23cca2b8",
            "version": 1,
            "description": null
          },
          "evidence": "'The New Gatekeepers' divider p18; retail media, unbundling, brand reset",
          "position": 2,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Reflection",
            "slug": "reflection",
            "status": "active",
            "canonId": "019dd9b8-0510-73fd-8d00-1c7e45f7bc98",
            "version": 1,
            "description": "The \"so what\" beat. Used by analytical arcs (Triple-take, Onion) and learning arcs (Voyage-return, Tragedy)."
          },
          "alignedBlockIds": null,
          "matchConfidence": 82
        },
        {
          "to": 58,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 18,
          "name": "Rising Action",
          "beatId": "019dd95a-07a7-7579-bd65-1d44db232db5",
          "matchId": "019dd95a-0543-7581-99b3-5836e9006609",
          "beatType": {
            "name": "Rising Action",
            "slug": "mountain-rising-action",
            "status": "active",
            "canonId": "019dd9b8-1992-742b-be9c-85d0ebee0591",
            "version": 1,
            "description": null
          },
          "evidence": "category-by-category gatekeeper sweep: retail, media, content",
          "position": 2,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Development",
            "slug": "development",
            "status": "active",
            "canonId": "019dd9b8-0332-7008-b3aa-11b0840a57b1",
            "version": 1,
            "description": "The middle stretch in arcs that have one. Often where length problems creep in."
          },
          "alignedBlockIds": null,
          "matchConfidence": 60
        }
      ],
      "loops": [
        {
          "to": 25,
          "from": 19,
          "loop": {
            "name": "04_tale_two_worlds",
            "slug": "04-tale-two-worlds",
            "status": "active",
            "bestFor": "Competitive analysis, benchmarking, case for change",
            "canonId": "019dd956-674f-750b-b15d-f082e2717f4e",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "Current State -> Desired State / Benchmark -> The Gap & Implication",
            "description": "Show the gap between two states to drive urgency or highlight opportunity",
            "familyLabel": null
          },
          "matchId": "019dd95a-08f8-7619-ac2e-792c8a06dcac",
          "evidence": "p19 'decline of old gatekeepers' immediately followed by p20 'rise of new ones'; Amazon overtakes Walmart",
          "position": 3,
          "objective": "Contrast decline of old gatekeepers with rise of new ones",
          "confidence": 82,
          "extraction": {
            "at": "2026-04-29 13:07:29.779839+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 24,
      "type": "analysis",
      "title": "The chart illustrates market concentration in the advertising industry.",
      "function": "analyze_data",
      "rawType": "market_landscape",
      "block": null,
      "metadata": {
        "slideType": "market_landscape",
        "slideTypeCanon": {
          "name": "Market landscape",
          "slug": "market_landscape",
          "status": "active",
          "canonId": "019de52d-0b6d-75db-a946-9ac362e3afc2",
          "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": 27,
        "componentCount": 5,
        "textChars": 171,
        "nDataPoints": 3,
        "notes": "The chart illustrates market concentration in the advertising industry.",
        "elementsJson": [
          "headline_text",
          "bar_chart_vertical",
          "bar_chart_stacked"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:35:36.369+00",
          "seconds": 2.861,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5e88-73ef-bd5d-853951586965/24",
        "deck": "/decks/019dd923-5e88-73ef-bd5d-853951586965",
        "deckAnchor": "/decks/019dd923-5e88-73ef-bd5d-853951586965#slide-24",
        "deckJson": "/decks/019dd923-5e88-73ef-bd5d-853951586965.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.55,
            "w": 0.59,
            "x": 0.206,
            "y": 0.275
          },
          "kind": "chart",
          "text": "2021 advertising ($bn)",
          "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 17:35:36.369+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "1532c9d9-ee96-403d-bca6-4fd36a2e9bae",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Advertising revenue: $760bn",
          "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-25 12:09:01+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a10e-11c684b860c7",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.18,
            "x": 0.206,
            "y": 0.91
          },
          "kind": "source-note",
          "text": "Source: GroupM, AdAge, companies",
          "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 17:35:36.369+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "c75682af-055a-4eda-abc4-59d5eba194dc",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.022,
            "w": 0.545,
            "x": 0.206,
            "y": 0.132
          },
          "kind": "title",
          "text": "Moving from local to global markets means moving from local to global winners",
          "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 17:35:36.369+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "943c7f6b-5077-44f9-b852-a478eaa796ff",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.045,
            "w": 0.212,
            "x": 0.206,
            "y": 0.055
          },
          "kind": "title",
          "text": "Concentration",
          "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 17:35:36.369+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "828bdb9b-a48c-49e8-90bb-97174d332b06",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "Anaphora",
            "slug": "anaphora",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-9fee-74aa-a920-078aa44132c0",
            "version": 1,
            "bodyDocId": null,
            "description": "Repeating words at the beginning of successive clauses for rhythm",
            "familyLabel": null,
            "categoryName": "Loop",
            "categorySlug": "loop"
          },
          "agent": "Storyteller",
          "layer": "loop",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019dd95a-1b83-7130-933d-54b4a455fe47",
          "evidence": "Repeats 'local to global' phrasing as the action title",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 70,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 24,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Concrete Language",
            "slug": "concrete-language",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-bcd4-7398-9723-6aa72346170b",
            "version": 1,
            "bodyDocId": null,
            "description": "Using specific sensory details instead of abstract terms",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Storyteller",
          "layer": "slide",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019dd95a-1b83-7130-933d-5b55c3085519",
          "evidence": "$760bn anchor figure",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 75,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 24,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 69,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 18,
          "name": "The Implications (So What)",
          "beatId": "019dd95a-07a7-7579-bd65-11bd74463cfe",
          "matchId": "019dd95a-0543-7581-99b3-5568450d33ea",
          "beatType": {
            "name": "The Implications (So What)",
            "slug": "triple-take-the-implications-so-what",
            "status": "active",
            "canonId": "019dd9b8-09c7-75cd-8c7b-ae0e23cca2b8",
            "version": 1,
            "description": null
          },
          "evidence": "'The New Gatekeepers' divider p18; retail media, unbundling, brand reset",
          "position": 2,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Reflection",
            "slug": "reflection",
            "status": "active",
            "canonId": "019dd9b8-0510-73fd-8d00-1c7e45f7bc98",
            "version": 1,
            "description": "The \"so what\" beat. Used by analytical arcs (Triple-take, Onion) and learning arcs (Voyage-return, Tragedy)."
          },
          "alignedBlockIds": null,
          "matchConfidence": 82
        },
        {
          "to": 58,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 18,
          "name": "Rising Action",
          "beatId": "019dd95a-07a7-7579-bd65-1d44db232db5",
          "matchId": "019dd95a-0543-7581-99b3-5836e9006609",
          "beatType": {
            "name": "Rising Action",
            "slug": "mountain-rising-action",
            "status": "active",
            "canonId": "019dd9b8-1992-742b-be9c-85d0ebee0591",
            "version": 1,
            "description": null
          },
          "evidence": "category-by-category gatekeeper sweep: retail, media, content",
          "position": 2,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Development",
            "slug": "development",
            "status": "active",
            "canonId": "019dd9b8-0332-7008-b3aa-11b0840a57b1",
            "version": 1,
            "description": "The middle stretch in arcs that have one. Often where length problems creep in."
          },
          "alignedBlockIds": null,
          "matchConfidence": 60
        }
      ],
      "loops": [
        {
          "to": 25,
          "from": 19,
          "loop": {
            "name": "04_tale_two_worlds",
            "slug": "04-tale-two-worlds",
            "status": "active",
            "bestFor": "Competitive analysis, benchmarking, case for change",
            "canonId": "019dd956-674f-750b-b15d-f082e2717f4e",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "Current State -> Desired State / Benchmark -> The Gap & Implication",
            "description": "Show the gap between two states to drive urgency or highlight opportunity",
            "familyLabel": null
          },
          "matchId": "019dd95a-08f8-7619-ac2e-792c8a06dcac",
          "evidence": "p19 'decline of old gatekeepers' immediately followed by p20 'rise of new ones'; Amazon overtakes Walmart",
          "position": 3,
          "objective": "Contrast decline of old gatekeepers with rise of new ones",
          "confidence": 82,
          "extraction": {
            "at": "2026-04-29 13:07:29.779839+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 25,
      "type": "analysis",
      "title": "The chart illustrates the high and consistent marketing spend required by these platforms to maintain market reach.",
      "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": "dense",
        "densityScore": 50,
        "componentCount": 7,
        "textChars": 257,
        "nDataPoints": 22,
        "notes": "The chart illustrates the high and consistent marketing spend required by these platforms to maintain market reach.",
        "elementsJson": [
          "line_chart"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:35:36.29+00",
          "seconds": 2.47,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5e88-73ef-bd5d-853951586965/25",
        "deck": "/decks/019dd923-5e88-73ef-bd5d-853951586965",
        "deckAnchor": "/decks/019dd923-5e88-73ef-bd5d-853951586965#slide-25",
        "deckJson": "/decks/019dd923-5e88-73ef-bd5d-853951586965.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "Booking and Expedia paid $13bn for reach in the last 12 months",
          "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-25 12:08:56+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a109-da7693594bc6",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.5,
            "w": 0.75,
            "x": 0.205,
            "y": 0.26
          },
          "kind": "chart",
          "text": "Sales & Marketing as % revenue (TTM)",
          "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": "Line chart",
              "slug": "line",
              "status": "active",
              "canonId": "019de52c-ff62-778f-8f6c-a952ceae8677",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "line",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:36.29+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "47c973b8-226e-4c55-be6d-ccf0d255d128",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.08,
            "x": 0.02,
            "y": 0.34
          },
          "kind": "legend",
          "text": "Booking (black), Expedia (red)",
          "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 17:35:36.29+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "02f00aad-7763-49d8-8529-c5e9c8d66356",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Sales & Marketing as % revenue: $13bn",
          "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-25 12:08:56+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a109-dc6c73edf737",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.1,
            "x": 0.205,
            "y": 0.91
          },
          "kind": "source-note",
          "text": "Source: Companies",
          "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 17:35:36.29+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "fae5c82c-78b4-44aa-b66e-4ecc45633d1a",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.04,
            "w": 0.21,
            "x": 0.205,
            "y": 0.05
          },
          "kind": "title",
          "text": "Concentration",
          "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 17:35:36.29+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "ada8c533-616b-413a-909f-e6fb49bca137",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.55,
            "x": 0.205,
            "y": 0.12
          },
          "kind": "title",
          "text": "Booking and Expedia paid $13bn for reach in the last 12 months",
          "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": "Subtitle",
              "slug": "subtitle",
              "status": "active",
              "canonId": "019de52c-fb09-739d-900c-815b0d9ac526",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "subtitle",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:36.29+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "afb42e00-246d-4f30-9842-4bb6ebab364e",
          "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": "019dd95a-1b83-7130-933d-5e17c03f3ede",
          "evidence": "'Concentration' + '$13bn for reach' lands the so-what",
          "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": 80,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 25,
          "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": "Concrete Language",
            "slug": "concrete-language",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-bcd4-7398-9723-6aa72346170b",
            "version": 1,
            "bodyDocId": null,
            "description": "Using specific sensory details instead of abstract terms",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Storyteller",
          "layer": "slide",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019dd95a-1b83-7130-933d-622f98ae0609",
          "evidence": "Booking+Expedia $13bn ad spend specific",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 80,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 25,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 69,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 18,
          "name": "The Implications (So What)",
          "beatId": "019dd95a-07a7-7579-bd65-11bd74463cfe",
          "matchId": "019dd95a-0543-7581-99b3-5568450d33ea",
          "beatType": {
            "name": "The Implications (So What)",
            "slug": "triple-take-the-implications-so-what",
            "status": "active",
            "canonId": "019dd9b8-09c7-75cd-8c7b-ae0e23cca2b8",
            "version": 1,
            "description": null
          },
          "evidence": "'The New Gatekeepers' divider p18; retail media, unbundling, brand reset",
          "position": 2,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Reflection",
            "slug": "reflection",
            "status": "active",
            "canonId": "019dd9b8-0510-73fd-8d00-1c7e45f7bc98",
            "version": 1,
            "description": "The \"so what\" beat. Used by analytical arcs (Triple-take, Onion) and learning arcs (Voyage-return, Tragedy)."
          },
          "alignedBlockIds": null,
          "matchConfidence": 82
        },
        {
          "to": 58,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 18,
          "name": "Rising Action",
          "beatId": "019dd95a-07a7-7579-bd65-1d44db232db5",
          "matchId": "019dd95a-0543-7581-99b3-5836e9006609",
          "beatType": {
            "name": "Rising Action",
            "slug": "mountain-rising-action",
            "status": "active",
            "canonId": "019dd9b8-1992-742b-be9c-85d0ebee0591",
            "version": 1,
            "description": null
          },
          "evidence": "category-by-category gatekeeper sweep: retail, media, content",
          "position": 2,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Development",
            "slug": "development",
            "status": "active",
            "canonId": "019dd9b8-0332-7008-b3aa-11b0840a57b1",
            "version": 1,
            "description": "The middle stretch in arcs that have one. Often where length problems creep in."
          },
          "alignedBlockIds": null,
          "matchConfidence": 60
        }
      ],
      "loops": [
        {
          "to": 25,
          "from": 19,
          "loop": {
            "name": "04_tale_two_worlds",
            "slug": "04-tale-two-worlds",
            "status": "active",
            "bestFor": "Competitive analysis, benchmarking, case for change",
            "canonId": "019dd956-674f-750b-b15d-f082e2717f4e",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "Current State -> Desired State / Benchmark -> The Gap & Implication",
            "description": "Show the gap between two states to drive urgency or highlight opportunity",
            "familyLabel": null
          },
          "matchId": "019dd95a-08f8-7619-ac2e-792c8a06dcac",
          "evidence": "p19 'decline of old gatekeepers' immediately followed by p20 'rise of new ones'; Amazon overtakes Walmart",
          "position": 3,
          "objective": "Contrast decline of old gatekeepers with rise of new ones",
          "confidence": 82,
          "extraction": {
            "at": "2026-04-29 13:07:29.779839+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 26,
      "type": "appendix",
      "title": "The slide illustrates the convergence of traditionally separate business functions into a unified customer acquisition strategy.",
      "function": "present_framework",
      "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": "present_framework",
        "functionCanon": {
          "name": "Present framework",
          "slug": "present_framework",
          "status": "active",
          "canonId": "019de52d-1403-7667-9100-d2ac6709f750",
          "version": 1,
          "description": null
        },
        "density": "sparse",
        "densityScore": 19,
        "componentCount": 4,
        "textChars": 260,
        "nDataPoints": 0,
        "notes": "The slide illustrates the convergence of traditionally separate business functions into a unified customer acquisition strategy.",
        "elementsJson": [
          "process_diagram"
        ],
        "confidence": 0.9,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:35:36.485+00",
          "seconds": 2.461,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5e88-73ef-bd5d-853951586965/26",
        "deck": "/decks/019dd923-5e88-73ef-bd5d-853951586965",
        "deckAnchor": "/decks/019dd923-5e88-73ef-bd5d-853951586965#slide-26",
        "deckJson": "/decks/019dd923-5e88-73ef-bd5d-853951586965.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "Rent, advertising and pricing were all separate budgets - now they merge into one",
          "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-25 12:08:57+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a10a-fe9cfedbb240",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.315,
            "w": 0.592,
            "x": 0.204,
            "y": 0.355
          },
          "kind": "diagram",
          "text": "Logistics and Discovery converging into 'How do you reach people?'",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Diagram",
              "slug": "diagram",
              "status": "active",
              "canonId": "019de52c-f9f0-734a-81de-15382ff28c65",
              "version": 1,
              "description": "Schematic or relational diagram."
            },
            "tool": null,
            "subkind": {
              "name": "Process flow",
              "slug": "process",
              "status": "active",
              "canonId": "019de52d-039c-718f-ad3a-efe9c4b3c838",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "process",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:36.485+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "7b96a395-204f-464d-8c45-ab5740901fa2",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.026,
            "w": 0.55,
            "x": 0.204,
            "y": 0.132
          },
          "kind": "paragraph",
          "text": "Rent, advertising and pricing were all separate budgets - now they merge into one",
          "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 17:35:36.485+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "ee819a34-48f8-4e3a-8f57-c768885a1e57",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.061,
            "w": 0.505,
            "x": 0.204,
            "y": 0.055
          },
          "kind": "title",
          "text": "How do you reach your customers?",
          "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 17:35:36.485+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "ef26eea5-6f47-42bf-b472-efaf0ada6a08",
          "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": "019dd95a-1b83-7130-933d-67ca019bc6ca",
          "evidence": "Question title 'How do you reach your customers?' opens loop",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 75,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 26,
          "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": "019dd95a-1b83-7130-933d-69f77afcea96",
          "evidence": "Sets up complication: rent/ads/pricing budgets merge",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": null,
          "confidence": 60,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 26,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [
        {
          "matchId": "f866941e-ceb4-4e2b-98c7-e03aace41e31",
          "evidence": "The diagram shows two inputs (Logistics, Discovery) converging into a central outcome (How do you reach people).",
          "framework": null,
          "confidence": 0.7,
          "extraction": {
            "at": "2026-05-02 17:35:36.485+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 26,
          "frameworkName": "causal-chain"
        }
      ],
      "arcBeats": [
        {
          "to": 69,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 18,
          "name": "The Implications (So What)",
          "beatId": "019dd95a-07a7-7579-bd65-11bd74463cfe",
          "matchId": "019dd95a-0543-7581-99b3-5568450d33ea",
          "beatType": {
            "name": "The Implications (So What)",
            "slug": "triple-take-the-implications-so-what",
            "status": "active",
            "canonId": "019dd9b8-09c7-75cd-8c7b-ae0e23cca2b8",
            "version": 1,
            "description": null
          },
          "evidence": "'The New Gatekeepers' divider p18; retail media, unbundling, brand reset",
          "position": 2,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Reflection",
            "slug": "reflection",
            "status": "active",
            "canonId": "019dd9b8-0510-73fd-8d00-1c7e45f7bc98",
            "version": 1,
            "description": "The \"so what\" beat. Used by analytical arcs (Triple-take, Onion) and learning arcs (Voyage-return, Tragedy)."
          },
          "alignedBlockIds": null,
          "matchConfidence": 82
        },
        {
          "to": 58,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 18,
          "name": "Rising Action",
          "beatId": "019dd95a-07a7-7579-bd65-1d44db232db5",
          "matchId": "019dd95a-0543-7581-99b3-5836e9006609",
          "beatType": {
            "name": "Rising Action",
            "slug": "mountain-rising-action",
            "status": "active",
            "canonId": "019dd9b8-1992-742b-be9c-85d0ebee0591",
            "version": 1,
            "description": null
          },
          "evidence": "category-by-category gatekeeper sweep: retail, media, content",
          "position": 2,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Development",
            "slug": "development",
            "status": "active",
            "canonId": "019dd9b8-0332-7008-b3aa-11b0840a57b1",
            "version": 1,
            "description": "The middle stretch in arcs that have one. Often where length problems creep in."
          },
          "alignedBlockIds": null,
          "matchConfidence": 60
        }
      ],
      "loops": [
        {
          "to": 39,
          "from": 26,
          "loop": {
            "name": "03_aha_moment",
            "slug": "03-aha-moment",
            "status": "active",
            "bestFor": "Data-heavy sections, research findings, analytical arguments",
            "canonId": "019dd956-66f4-7668-ab25-cec9c996c0bc",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Problem/Question -> What the Data Shows -> The Insight",
            "description": "Establish a tension, present data, then deliver the insight that changes everything",
            "familyLabel": null
          },
          "matchId": "019dd95a-08f8-7619-ac2e-7e423a6ea565",
          "evidence": "Builds from 'how to reach customers' to Ads>Prime, Ads>AWS, retail media =10% share",
          "position": 4,
          "objective": "Reveal retail itself as the new advertising gatekeeper",
          "confidence": 80,
          "extraction": {
            "at": "2026-04-29 13:07:29.779839+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 27,
      "type": "analysis",
      "title": "The chart highlights the scale of digital advertising (Online advertising, Search ads, Amazon ads) relative to traditional retail costs.",
      "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": 43,
        "componentCount": 6,
        "textChars": 321,
        "nDataPoints": 10,
        "notes": "The chart highlights the scale of digital advertising (Online advertising, Search ads, Amazon ads) relative to traditional retail costs.",
        "elementsJson": [
          "headline_text",
          "subtitle_text",
          "bar_chart_vertical"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:35:39.708+00",
          "seconds": 5.378,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5e88-73ef-bd5d-853951586965/27",
        "deck": "/decks/019dd923-5e88-73ef-bd5d-853951586965",
        "deckAnchor": "/decks/019dd923-5e88-73ef-bd5d-853951586965#slide-27",
        "deckJson": "/decks/019dd923-5e88-73ef-bd5d-853951586965.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "Rent, advertising and pricing were all separate budgets - now they merge into one",
          "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-25 12:08:56+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a10a-3aeca7ad5992",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.6,
            "w": 0.7,
            "x": 0.205,
            "y": 0.25
          },
          "kind": "chart",
          "text": "US budgets, 2022 ($bn)",
          "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 17:35:39.708+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "c544cf39-17bf-45a4-a5a3-5e309d7eece2",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "US budgets ($bn)",
          "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-25 12:08:56+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a10a-3c0eb00f7d80",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.5,
            "x": 0.205,
            "y": 0.9
          },
          "kind": "source-note",
          "text": "Source: GroupM, Zenith, Costar, BLS, Federal Reserve, Amazon, Deloitte, Pitney Bowes, NRF",
          "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 17:35:39.708+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "f10fcf46-944b-421d-aa44-838578d85143",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.6,
            "x": 0.205,
            "y": 0.12
          },
          "kind": "title",
          "text": "Rent, advertising and pricing were all separate budgets - now they merge into one",
          "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 17:35:39.708+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "20d01a43-6c8d-476a-be5d-875b04f17b17",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.5,
            "x": 0.205,
            "y": 0.05
          },
          "kind": "title",
          "text": "How do you reach your customers?",
          "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 17:35:39.708+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "9dca39be-a2e4-4f95-b24b-bb2918761956",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "Anaphora",
            "slug": "anaphora",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-9fee-74aa-a920-078aa44132c0",
            "version": 1,
            "bodyDocId": null,
            "description": "Repeating words at the beginning of successive clauses for rhythm",
            "familyLabel": null,
            "categoryName": "Loop",
            "categorySlug": "loop"
          },
          "agent": "Storyteller",
          "layer": "loop",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019dd95a-1b83-7130-933d-6dfe91fc6e22",
          "evidence": "Same question title repeated, callout reused",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 70,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 27,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 69,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 18,
          "name": "The Implications (So What)",
          "beatId": "019dd95a-07a7-7579-bd65-11bd74463cfe",
          "matchId": "019dd95a-0543-7581-99b3-5568450d33ea",
          "beatType": {
            "name": "The Implications (So What)",
            "slug": "triple-take-the-implications-so-what",
            "status": "active",
            "canonId": "019dd9b8-09c7-75cd-8c7b-ae0e23cca2b8",
            "version": 1,
            "description": null
          },
          "evidence": "'The New Gatekeepers' divider p18; retail media, unbundling, brand reset",
          "position": 2,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Reflection",
            "slug": "reflection",
            "status": "active",
            "canonId": "019dd9b8-0510-73fd-8d00-1c7e45f7bc98",
            "version": 1,
            "description": "The \"so what\" beat. Used by analytical arcs (Triple-take, Onion) and learning arcs (Voyage-return, Tragedy)."
          },
          "alignedBlockIds": null,
          "matchConfidence": 82
        },
        {
          "to": 58,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 18,
          "name": "Rising Action",
          "beatId": "019dd95a-07a7-7579-bd65-1d44db232db5",
          "matchId": "019dd95a-0543-7581-99b3-5836e9006609",
          "beatType": {
            "name": "Rising Action",
            "slug": "mountain-rising-action",
            "status": "active",
            "canonId": "019dd9b8-1992-742b-be9c-85d0ebee0591",
            "version": 1,
            "description": null
          },
          "evidence": "category-by-category gatekeeper sweep: retail, media, content",
          "position": 2,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Development",
            "slug": "development",
            "status": "active",
            "canonId": "019dd9b8-0332-7008-b3aa-11b0840a57b1",
            "version": 1,
            "description": "The middle stretch in arcs that have one. Often where length problems creep in."
          },
          "alignedBlockIds": null,
          "matchConfidence": 60
        }
      ],
      "loops": [
        {
          "to": 39,
          "from": 26,
          "loop": {
            "name": "03_aha_moment",
            "slug": "03-aha-moment",
            "status": "active",
            "bestFor": "Data-heavy sections, research findings, analytical arguments",
            "canonId": "019dd956-66f4-7668-ab25-cec9c996c0bc",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Problem/Question -> What the Data Shows -> The Insight",
            "description": "Establish a tension, present data, then deliver the insight that changes everything",
            "familyLabel": null
          },
          "matchId": "019dd95a-08f8-7619-ac2e-7e423a6ea565",
          "evidence": "Builds from 'how to reach customers' to Ads>Prime, Ads>AWS, retail media =10% share",
          "position": 4,
          "objective": "Reveal retail itself as the new advertising gatekeeper",
          "confidence": 80,
          "extraction": {
            "at": "2026-04-29 13:07:29.779839+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 28,
      "type": "setup",
      "title": "The chart uses a red bar for the USA to draw focus, while other countries are in grey.",
      "function": "compare_peers",
      "rawType": "peer_benchmark",
      "block": null,
      "metadata": {
        "slideType": "peer_benchmark",
        "slideTypeCanon": {
          "name": "Peer benchmark",
          "slug": "peer_benchmark",
          "status": "active",
          "canonId": "019de52d-08f0-7158-a78d-d7b5331fefaf",
          "version": 1,
          "description": null
        },
        "function": "compare_peers",
        "functionCanon": {
          "name": "Compare peers",
          "slug": "compare_peers",
          "status": "active",
          "canonId": "019de52d-1453-72ba-a367-9ba3d34c1630",
          "version": 1,
          "description": null
        },
        "density": "balanced",
        "densityScore": 27,
        "componentCount": 5,
        "textChars": 142,
        "nDataPoints": 7,
        "notes": "The chart uses a red bar for the USA to draw focus, while other countries are in grey.",
        "elementsJson": [
          "headline_text",
          "subtitle_text",
          "bar_chart_vertical",
          "footnote"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:35:37.148+00",
          "seconds": 2.738,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5e88-73ef-bd5d-853951586965/28",
        "deck": "/decks/019dd923-5e88-73ef-bd5d-853951586965",
        "deckAnchor": "/decks/019dd923-5e88-73ef-bd5d-853951586965#slide-28",
        "deckJson": "/decks/019dd923-5e88-73ef-bd5d-853951586965.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.55,
            "w": 0.59,
            "x": 0.205,
            "y": 0.27
          },
          "kind": "chart",
          "text": "2021 ad spend as % of GDP",
          "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 17:35:37.148+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "647b008f-63da-4729-8462-996468886c3f",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Ad spend as % of GDP: 1.3%",
          "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-25 12:08:59+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a10c-aa6365bfe755",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.15,
            "x": 0.205,
            "y": 0.91
          },
          "kind": "source-note",
          "text": "Source: Zenith, World Bank",
          "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 17:35:37.148+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "94a3abb5-71ba-4e5a-8ae5-5d266e6aa863",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.045,
            "w": 0.398,
            "x": 0.205,
            "y": 0.055
          },
          "kind": "title",
          "text": "What's the right ad budget?",
          "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 17:35:37.148+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "d679e399-15d6-4770-a138-91db3552d7cf",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.025,
            "w": 0.275,
            "x": 0.205,
            "y": 0.125
          },
          "kind": "title",
          "text": "Where else could this budget be going?",
          "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": "Subtitle",
              "slug": "subtitle",
              "status": "active",
              "canonId": "019de52c-fb09-739d-900c-815b0d9ac526",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "subtitle",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:37.148+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "c1066060-b74c-4e28-aebd-b667273c40db",
          "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": "019dd95a-1b83-7130-933d-70941fd8c3a9",
          "evidence": "Question title 'What's the right ad budget?' implies benchmark",
          "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": 75,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 28,
          "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."
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 69,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 18,
          "name": "The Implications (So What)",
          "beatId": "019dd95a-07a7-7579-bd65-11bd74463cfe",
          "matchId": "019dd95a-0543-7581-99b3-5568450d33ea",
          "beatType": {
            "name": "The Implications (So What)",
            "slug": "triple-take-the-implications-so-what",
            "status": "active",
            "canonId": "019dd9b8-09c7-75cd-8c7b-ae0e23cca2b8",
            "version": 1,
            "description": null
          },
          "evidence": "'The New Gatekeepers' divider p18; retail media, unbundling, brand reset",
          "position": 2,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Reflection",
            "slug": "reflection",
            "status": "active",
            "canonId": "019dd9b8-0510-73fd-8d00-1c7e45f7bc98",
            "version": 1,
            "description": "The \"so what\" beat. Used by analytical arcs (Triple-take, Onion) and learning arcs (Voyage-return, Tragedy)."
          },
          "alignedBlockIds": null,
          "matchConfidence": 82
        },
        {
          "to": 58,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 18,
          "name": "Rising Action",
          "beatId": "019dd95a-07a7-7579-bd65-1d44db232db5",
          "matchId": "019dd95a-0543-7581-99b3-5836e9006609",
          "beatType": {
            "name": "Rising Action",
            "slug": "mountain-rising-action",
            "status": "active",
            "canonId": "019dd9b8-1992-742b-be9c-85d0ebee0591",
            "version": 1,
            "description": null
          },
          "evidence": "category-by-category gatekeeper sweep: retail, media, content",
          "position": 2,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Development",
            "slug": "development",
            "status": "active",
            "canonId": "019dd9b8-0332-7008-b3aa-11b0840a57b1",
            "version": 1,
            "description": "The middle stretch in arcs that have one. Often where length problems creep in."
          },
          "alignedBlockIds": null,
          "matchConfidence": 60
        }
      ],
      "loops": [
        {
          "to": 39,
          "from": 26,
          "loop": {
            "name": "03_aha_moment",
            "slug": "03-aha-moment",
            "status": "active",
            "bestFor": "Data-heavy sections, research findings, analytical arguments",
            "canonId": "019dd956-66f4-7668-ab25-cec9c996c0bc",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Problem/Question -> What the Data Shows -> The Insight",
            "description": "Establish a tension, present data, then deliver the insight that changes everything",
            "familyLabel": null
          },
          "matchId": "019dd95a-08f8-7619-ac2e-7e423a6ea565",
          "evidence": "Builds from 'how to reach customers' to Ads>Prime, Ads>AWS, retail media =10% share",
          "position": 4,
          "objective": "Reveal retail itself as the new advertising gatekeeper",
          "confidence": 80,
          "extraction": {
            "at": "2026-04-29 13:07:29.779839+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 29,
      "type": "setup",
      "title": "The chart uses a stacked bar format to distinguish between shopping centers/malls and stand-alone retail, though the legend colors in the chart body for non-USA",
      "function": "compare_peers",
      "rawType": "peer_benchmark",
      "block": null,
      "metadata": {
        "slideType": "peer_benchmark",
        "slideTypeCanon": {
          "name": "Peer benchmark",
          "slug": "peer_benchmark",
          "status": "active",
          "canonId": "019de52d-08f0-7158-a78d-d7b5331fefaf",
          "version": 1,
          "description": null
        },
        "function": "compare_peers",
        "functionCanon": {
          "name": "Compare peers",
          "slug": "compare_peers",
          "status": "active",
          "canonId": "019de52d-1453-72ba-a367-9ba3d34c1630",
          "version": 1,
          "description": null
        },
        "density": "balanced",
        "densityScore": 40,
        "componentCount": 6,
        "textChars": 252,
        "nDataPoints": 14,
        "notes": "The chart uses a stacked bar format to distinguish between shopping centers/malls and stand-alone retail, though the legend colors in the chart body for non-USA countries are greyed out.",
        "elementsJson": [
          "headline_text",
          "subtitle_text",
          "bar_chart_stacked"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:35:37.528+00",
          "seconds": 2.947,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5e88-73ef-bd5d-853951586965/29",
        "deck": "/decks/019dd923-5e88-73ef-bd5d-853951586965",
        "deckAnchor": "/decks/019dd923-5e88-73ef-bd5d-853951586965#slide-29",
        "deckJson": "/decks/019dd923-5e88-73ef-bd5d-853951586965.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.5,
            "w": 0.6,
            "x": 0.205,
            "y": 0.27
          },
          "kind": "chart",
          "text": "Retail square feet per capita, 2021",
          "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": "Stacked bar chart",
              "slug": "bar-stacked",
              "status": "active",
              "canonId": "019de52c-feec-74bf-9028-15b74f84f0a7",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bar-stacked",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:37.528+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "53ddb4ba-e7c5-4d62-8048-47fbcbf9d3bd",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.4,
            "x": 0.205,
            "y": 0.91
          },
          "kind": "disclaimer",
          "text": "Source: Cushman & Wakefield, Costar, ICSC, Savills, GfK, MIAC. GLA basis.",
          "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 17:35:37.528+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "d1d9d276-409e-4912-b788-e103763bd51b",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.15,
            "x": 0.03,
            "y": 0.35
          },
          "kind": "legend",
          "text": "Shopping centres & malls\nStand-alone retail",
          "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 17:35:37.528+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "7daf39be-8b6d-4110-b42a-c6e80f83babb",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Retail square feet per capita",
          "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-25 12:08:56+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a10a-50856158eadb",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.5,
            "x": 0.205,
            "y": 0.05
          },
          "kind": "title",
          "text": "How much retail space do you need?",
          "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 17:35:37.528+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "15279c64-0262-46b6-9f94-0068769bad6f",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.3,
            "x": 0.205,
            "y": 0.12
          },
          "kind": "title",
          "text": "Where else could this budget be going?",
          "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": "Subtitle",
              "slug": "subtitle",
              "status": "active",
              "canonId": "019de52c-fb09-739d-900c-815b0d9ac526",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "subtitle",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:37.528+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "6c78edfc-f64f-48e0-abd0-99b69de5478e",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 69,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 18,
          "name": "The Implications (So What)",
          "beatId": "019dd95a-07a7-7579-bd65-11bd74463cfe",
          "matchId": "019dd95a-0543-7581-99b3-5568450d33ea",
          "beatType": {
            "name": "The Implications (So What)",
            "slug": "triple-take-the-implications-so-what",
            "status": "active",
            "canonId": "019dd9b8-09c7-75cd-8c7b-ae0e23cca2b8",
            "version": 1,
            "description": null
          },
          "evidence": "'The New Gatekeepers' divider p18; retail media, unbundling, brand reset",
          "position": 2,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Reflection",
            "slug": "reflection",
            "status": "active",
            "canonId": "019dd9b8-0510-73fd-8d00-1c7e45f7bc98",
            "version": 1,
            "description": "The \"so what\" beat. Used by analytical arcs (Triple-take, Onion) and learning arcs (Voyage-return, Tragedy)."
          },
          "alignedBlockIds": null,
          "matchConfidence": 82
        },
        {
          "to": 58,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 18,
          "name": "Rising Action",
          "beatId": "019dd95a-07a7-7579-bd65-1d44db232db5",
          "matchId": "019dd95a-0543-7581-99b3-5836e9006609",
          "beatType": {
            "name": "Rising Action",
            "slug": "mountain-rising-action",
            "status": "active",
            "canonId": "019dd9b8-1992-742b-be9c-85d0ebee0591",
            "version": 1,
            "description": null
          },
          "evidence": "category-by-category gatekeeper sweep: retail, media, content",
          "position": 2,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Development",
            "slug": "development",
            "status": "active",
            "canonId": "019dd9b8-0332-7008-b3aa-11b0840a57b1",
            "version": 1,
            "description": "The middle stretch in arcs that have one. Often where length problems creep in."
          },
          "alignedBlockIds": null,
          "matchConfidence": 60
        }
      ],
      "loops": [
        {
          "to": 39,
          "from": 26,
          "loop": {
            "name": "03_aha_moment",
            "slug": "03-aha-moment",
            "status": "active",
            "bestFor": "Data-heavy sections, research findings, analytical arguments",
            "canonId": "019dd956-66f4-7668-ab25-cec9c996c0bc",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Problem/Question -> What the Data Shows -> The Insight",
            "description": "Establish a tension, present data, then deliver the insight that changes everything",
            "familyLabel": null
          },
          "matchId": "019dd95a-08f8-7619-ac2e-7e423a6ea565",
          "evidence": "Builds from 'how to reach customers' to Ads>Prime, Ads>AWS, retail media =10% share",
          "position": 4,
          "objective": "Reveal retail itself as the new advertising gatekeeper",
          "confidence": 80,
          "extraction": {
            "at": "2026-04-29 13:07:29.779839+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 30,
      "type": "analysis",
      "title": "The chart illustrates the 'retail apocalypse' and the rise of e-commerce logistics infrastructure.",
      "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": 47,
        "componentCount": 7,
        "textChars": 290,
        "nDataPoints": 2,
        "notes": "The chart illustrates the 'retail apocalypse' and the rise of e-commerce logistics infrastructure.",
        "elementsJson": [
          "headline_text",
          "subtitle_text",
          "line_chart",
          "footnote"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:35:38.032+00",
          "seconds": 3.281,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5e88-73ef-bd5d-853951586965/30",
        "deck": "/decks/019dd923-5e88-73ef-bd5d-853951586965",
        "deckAnchor": "/decks/019dd923-5e88-73ef-bd5d-853951586965#slide-30",
        "deckJson": "/decks/019dd923-5e88-73ef-bd5d-853951586965.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "The US had over-invested in retail space - now the trend reverses",
          "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-25 12:08:57+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a10b-4d0800f8a4de",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.55,
            "w": 0.75,
            "x": 0.205,
            "y": 0.27
          },
          "kind": "chart",
          "text": "Annual US construction spending ($bn, 2022 dollars)",
          "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": "Line chart",
              "slug": "line",
              "status": "active",
              "canonId": "019de52c-ff62-778f-8f6c-a952ceae8677",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "line",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:38.032+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "00de53b7-b271-4ba5-b718-13e11e68be36",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.15,
            "x": 0.205,
            "y": 0.91
          },
          "kind": "disclaimer",
          "text": "Source: US Census, BLS",
          "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 17:35:38.032+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "693d74ad-6059-4409-9386-50867675a8a9",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.15,
            "x": 0.03,
            "y": 0.35
          },
          "kind": "legend",
          "text": "Retail & food service; Warehouses",
          "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 17:35:38.032+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "a8eafc2c-5035-443d-a300-c86891fc9259",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Annual US construction spending",
          "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-25 12:08:57+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a10b-51c99f3017da",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.32,
            "x": 0.205,
            "y": 0.05
          },
          "kind": "title",
          "text": "Retail versus logistics",
          "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 17:35:38.032+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "1df8729f-d877-4b42-b261-890adea69fba",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.65,
            "x": 0.205,
            "y": 0.12
          },
          "kind": "title",
          "text": "The US had over-invested in retail space - now the trend reverses",
          "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": "Subtitle",
              "slug": "subtitle",
              "status": "active",
              "canonId": "019de52c-fb09-739d-900c-815b0d9ac526",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "subtitle",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:38.032+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "92538274-9ff3-4b0c-9aad-8e86a08f17fc",
          "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": "019dd95a-1b83-7130-933d-749f67799b9d",
          "evidence": "Title states the full claim about retail over-investment reversing",
          "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": 88,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 30,
          "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."
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 69,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 18,
          "name": "The Implications (So What)",
          "beatId": "019dd95a-07a7-7579-bd65-11bd74463cfe",
          "matchId": "019dd95a-0543-7581-99b3-5568450d33ea",
          "beatType": {
            "name": "The Implications (So What)",
            "slug": "triple-take-the-implications-so-what",
            "status": "active",
            "canonId": "019dd9b8-09c7-75cd-8c7b-ae0e23cca2b8",
            "version": 1,
            "description": null
          },
          "evidence": "'The New Gatekeepers' divider p18; retail media, unbundling, brand reset",
          "position": 2,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Reflection",
            "slug": "reflection",
            "status": "active",
            "canonId": "019dd9b8-0510-73fd-8d00-1c7e45f7bc98",
            "version": 1,
            "description": "The \"so what\" beat. Used by analytical arcs (Triple-take, Onion) and learning arcs (Voyage-return, Tragedy)."
          },
          "alignedBlockIds": null,
          "matchConfidence": 82
        },
        {
          "to": 58,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 18,
          "name": "Rising Action",
          "beatId": "019dd95a-07a7-7579-bd65-1d44db232db5",
          "matchId": "019dd95a-0543-7581-99b3-5836e9006609",
          "beatType": {
            "name": "Rising Action",
            "slug": "mountain-rising-action",
            "status": "active",
            "canonId": "019dd9b8-1992-742b-be9c-85d0ebee0591",
            "version": 1,
            "description": null
          },
          "evidence": "category-by-category gatekeeper sweep: retail, media, content",
          "position": 2,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Development",
            "slug": "development",
            "status": "active",
            "canonId": "019dd9b8-0332-7008-b3aa-11b0840a57b1",
            "version": 1,
            "description": "The middle stretch in arcs that have one. Often where length problems creep in."
          },
          "alignedBlockIds": null,
          "matchConfidence": 60
        }
      ],
      "loops": [
        {
          "to": 39,
          "from": 26,
          "loop": {
            "name": "03_aha_moment",
            "slug": "03-aha-moment",
            "status": "active",
            "bestFor": "Data-heavy sections, research findings, analytical arguments",
            "canonId": "019dd956-66f4-7668-ab25-cec9c996c0bc",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Problem/Question -> What the Data Shows -> The Insight",
            "description": "Establish a tension, present data, then deliver the insight that changes everything",
            "familyLabel": null
          },
          "matchId": "019dd95a-08f8-7619-ac2e-7e423a6ea565",
          "evidence": "Builds from 'how to reach customers' to Ads>Prime, Ads>AWS, retail media =10% share",
          "position": 4,
          "objective": "Reveal retail itself as the new advertising gatekeeper",
          "confidence": 80,
          "extraction": {
            "at": "2026-04-29 13:07:29.779839+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 31,
      "type": "analysis",
      "title": "The chart illustrates a rapid acceleration in warehouse expansion starting around 2019.",
      "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": 37,
        "componentCount": 6,
        "textChars": 247,
        "nDataPoints": 1,
        "notes": "The chart illustrates a rapid acceleration in warehouse expansion starting around 2019.",
        "elementsJson": [
          "headline_text",
          "subtitle_text",
          "line_chart"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:35:37.179+00",
          "seconds": 2.393,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5e88-73ef-bd5d-853951586965/31",
        "deck": "/decks/019dd923-5e88-73ef-bd5d-853951586965",
        "deckAnchor": "/decks/019dd923-5e88-73ef-bd5d-853951586965#slide-31",
        "deckJson": "/decks/019dd923-5e88-73ef-bd5d-853951586965.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "... And is now pulling back, slowing down and subletting",
          "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-25 12:08:57+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a10b-1350951e4be8",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.55,
            "w": 0.64,
            "x": 0.18,
            "y": 0.25
          },
          "kind": "chart",
          "text": "Amazon fulfilment centre space (m square feet)",
          "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": "Line chart",
              "slug": "line",
              "status": "active",
              "canonId": "019de52c-ff62-778f-8f6c-a952ceae8677",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "line",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:37.179+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "a7fe640b-a9e0-491b-9766-ac3ce8dbad0a",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "fulfillment centre space: 500m",
          "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-25 12:08:57+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a10b-15b229210443",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.08,
            "x": 0.205,
            "y": 0.91
          },
          "kind": "source-note",
          "text": "Source: Amazon",
          "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 17:35:37.179+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "93a38ce7-69af-4db8-9a04-6fbd1249a0d7",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.04,
            "w": 0.59,
            "x": 0.205,
            "y": 0.05
          },
          "kind": "title",
          "text": "Amazon doubled its warehouse space since 2019",
          "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 17:35:37.179+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "28c8621b-923f-483f-84ab-13fe12031111",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.4,
            "x": 0.205,
            "y": 0.1
          },
          "kind": "title",
          "text": "... And is now pulling back, slowing down and subletting",
          "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": "Subtitle",
              "slug": "subtitle",
              "status": "active",
              "canonId": "019de52c-fb09-739d-900c-815b0d9ac526",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "subtitle",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:37.179+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "55ea45cd-5276-484f-ae4b-12158a496ba4",
          "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": "019dd95a-1b83-7130-933d-78be775d4b6e",
          "evidence": "'Amazon doubled warehouse space since 2019'; subhead 'now pulling back'",
          "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": 85,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 31,
          "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": "Concrete Language",
            "slug": "concrete-language",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-bcd4-7398-9723-6aa72346170b",
            "version": 1,
            "bodyDocId": null,
            "description": "Using specific sensory details instead of abstract terms",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Storyteller",
          "layer": "slide",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019dd95a-1b83-7130-933d-7cea80da3f9e",
          "evidence": "500m sqft figure",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 70,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 31,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Waterfall chart",
            "slug": "waterfall-chart",
            "status": "active",
            "bestFor": null,
            "canonId": "e2799da3-725f-44a9-a093-570f1f388e64",
            "version": 1,
            "bodyDocId": null,
            "description": null,
            "familyLabel": null,
            "categoryName": null,
            "categorySlug": null
          },
          "agent": null,
          "layer": "slide",
          "agents": null,
          "matchId": "8573e74f-e34d-4cda-98d8-56cd68de617d",
          "evidence": "Amazon fulfilment centre space (m square feet)",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 21:59:13.325232+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 31,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 69,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 18,
          "name": "The Implications (So What)",
          "beatId": "019dd95a-07a7-7579-bd65-11bd74463cfe",
          "matchId": "019dd95a-0543-7581-99b3-5568450d33ea",
          "beatType": {
            "name": "The Implications (So What)",
            "slug": "triple-take-the-implications-so-what",
            "status": "active",
            "canonId": "019dd9b8-09c7-75cd-8c7b-ae0e23cca2b8",
            "version": 1,
            "description": null
          },
          "evidence": "'The New Gatekeepers' divider p18; retail media, unbundling, brand reset",
          "position": 2,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Reflection",
            "slug": "reflection",
            "status": "active",
            "canonId": "019dd9b8-0510-73fd-8d00-1c7e45f7bc98",
            "version": 1,
            "description": "The \"so what\" beat. Used by analytical arcs (Triple-take, Onion) and learning arcs (Voyage-return, Tragedy)."
          },
          "alignedBlockIds": null,
          "matchConfidence": 82
        },
        {
          "to": 58,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 18,
          "name": "Rising Action",
          "beatId": "019dd95a-07a7-7579-bd65-1d44db232db5",
          "matchId": "019dd95a-0543-7581-99b3-5836e9006609",
          "beatType": {
            "name": "Rising Action",
            "slug": "mountain-rising-action",
            "status": "active",
            "canonId": "019dd9b8-1992-742b-be9c-85d0ebee0591",
            "version": 1,
            "description": null
          },
          "evidence": "category-by-category gatekeeper sweep: retail, media, content",
          "position": 2,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Development",
            "slug": "development",
            "status": "active",
            "canonId": "019dd9b8-0332-7008-b3aa-11b0840a57b1",
            "version": 1,
            "description": "The middle stretch in arcs that have one. Often where length problems creep in."
          },
          "alignedBlockIds": null,
          "matchConfidence": 60
        }
      ],
      "loops": [
        {
          "to": 39,
          "from": 26,
          "loop": {
            "name": "03_aha_moment",
            "slug": "03-aha-moment",
            "status": "active",
            "bestFor": "Data-heavy sections, research findings, analytical arguments",
            "canonId": "019dd956-66f4-7668-ab25-cec9c996c0bc",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Problem/Question -> What the Data Shows -> The Insight",
            "description": "Establish a tension, present data, then deliver the insight that changes everything",
            "familyLabel": null
          },
          "matchId": "019dd95a-08f8-7619-ac2e-7e423a6ea565",
          "evidence": "Builds from 'how to reach customers' to Ads>Prime, Ads>AWS, retail media =10% share",
          "position": 4,
          "objective": "Reveal retail itself as the new advertising gatekeeper",
          "confidence": 80,
          "extraction": {
            "at": "2026-04-29 13:07:29.779839+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 32,
      "type": "analysis",
      "title": "The chart uses a dotted line for historical data and a solid line for more recent data, likely indicating a reporting change or data source shift.",
      "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": 45,
        "componentCount": 7,
        "textChars": 237,
        "nDataPoints": 1,
        "notes": "The chart uses a dotted line for historical data and a solid line for more recent data, likely indicating a reporting change or data source shift.",
        "elementsJson": [
          "headline_text",
          "subtitle_text",
          "line_chart"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:35:37.539+00",
          "seconds": 2.734,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5e88-73ef-bd5d-853951586965/32",
        "deck": "/decks/019dd923-5e88-73ef-bd5d-853951586965",
        "deckAnchor": "/decks/019dd923-5e88-73ef-bd5d-853951586965#slide-32",
        "deckJson": "/decks/019dd923-5e88-73ef-bd5d-853951586965.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "'Merchant media' - Amazon had $38bn of ad revenue in 2022",
          "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-25 12:08:56+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a10a-a30024b50072",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.55,
            "w": 0.75,
            "x": 0.205,
            "y": 0.27
          },
          "kind": "chart",
          "text": "Amazon advertising, TTM ($bn)",
          "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": "Line chart",
              "slug": "line",
              "status": "active",
              "canonId": "019de52c-ff62-778f-8f6c-a952ceae8677",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "line",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:37.539+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "2b730dcc-fc30-48ea-a5a4-491855a3905a",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.15,
            "x": 0.03,
            "y": 0.35
          },
          "kind": "legend",
          "text": "'Other, predominantly ads' / 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 17:35:37.539+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "62ca121b-efe1-4414-86e3-fcb5272230bb",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Amazon advertising revenue: $38bn",
          "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-25 12:08:56+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a10a-a59a12c21ffe",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.08,
            "x": 0.205,
            "y": 0.91
          },
          "kind": "source-note",
          "text": "Source: Amazon",
          "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 17:35:37.539+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "9334f141-bf1b-49e9-ab36-1bd9b7c96a24",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.42,
            "x": 0.205,
            "y": 0.13
          },
          "kind": "subtitle",
          "text": "'Merchant media' - Amazon had $38bn of ad revenue in 2022",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Subtitle",
              "slug": "subtitle",
              "status": "active",
              "canonId": "82d821ee-2793-42e7-8f16-c6131385a3ce",
              "version": 1,
              "description": "Header-zone supporting text near the title (= ex body.description with bbox)."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:37.539+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "c1d07d9d-1e13-48fb-b8f1-6400c047de9a",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.04,
            "w": 0.22,
            "x": 0.205,
            "y": 0.05
          },
          "kind": "title",
          "text": "Retail as media",
          "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 17:35:37.539+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "dce47ee6-71b3-479c-87b3-9e072c4908d4",
          "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": "019dd95a-1b83-7130-933d-81421b449225",
          "evidence": "Title 'Retail as media' + '$38bn ad revenue'",
          "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": 85,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 32,
          "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": "AIDA Model",
            "slug": "aida-model",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-86fc-773c-813f-d416714b8413",
            "version": 1,
            "bodyDocId": null,
            "description": "Attention, Interest, Desire, Action - classic persuasion sequence",
            "familyLabel": null,
            "categoryName": "Block",
            "categorySlug": "block"
          },
          "agent": "Storyteller",
          "layer": "slide",
          "agents": [
            "Storyteller"
          ],
          "matchId": "9b6ea812-29af-4c40-af19-f9070e14fa97",
          "evidence": "'Merchant media' - Amazon had $38bn of ad revenue in 2022",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.5,
          "extraction": {
            "at": "2026-07-16 21:59:13.394367+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 32,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Metaphor & Analogy",
            "slug": "metaphor-analogy",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-adea-7729-bca1-70810d6238a9",
            "version": 1,
            "bodyDocId": null,
            "description": "Making abstract concepts concrete through familiar comparisons",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Storyteller",
          "layer": "slide",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019dd95a-1b83-7130-933d-85805a94d3d7",
          "evidence": "Reframes retail-as-media category",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": null,
          "confidence": 75,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 32,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 69,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 18,
          "name": "The Implications (So What)",
          "beatId": "019dd95a-07a7-7579-bd65-11bd74463cfe",
          "matchId": "019dd95a-0543-7581-99b3-5568450d33ea",
          "beatType": {
            "name": "The Implications (So What)",
            "slug": "triple-take-the-implications-so-what",
            "status": "active",
            "canonId": "019dd9b8-09c7-75cd-8c7b-ae0e23cca2b8",
            "version": 1,
            "description": null
          },
          "evidence": "'The New Gatekeepers' divider p18; retail media, unbundling, brand reset",
          "position": 2,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Reflection",
            "slug": "reflection",
            "status": "active",
            "canonId": "019dd9b8-0510-73fd-8d00-1c7e45f7bc98",
            "version": 1,
            "description": "The \"so what\" beat. Used by analytical arcs (Triple-take, Onion) and learning arcs (Voyage-return, Tragedy)."
          },
          "alignedBlockIds": null,
          "matchConfidence": 82
        },
        {
          "to": 58,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 18,
          "name": "Rising Action",
          "beatId": "019dd95a-07a7-7579-bd65-1d44db232db5",
          "matchId": "019dd95a-0543-7581-99b3-5836e9006609",
          "beatType": {
            "name": "Rising Action",
            "slug": "mountain-rising-action",
            "status": "active",
            "canonId": "019dd9b8-1992-742b-be9c-85d0ebee0591",
            "version": 1,
            "description": null
          },
          "evidence": "category-by-category gatekeeper sweep: retail, media, content",
          "position": 2,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Development",
            "slug": "development",
            "status": "active",
            "canonId": "019dd9b8-0332-7008-b3aa-11b0840a57b1",
            "version": 1,
            "description": "The middle stretch in arcs that have one. Often where length problems creep in."
          },
          "alignedBlockIds": null,
          "matchConfidence": 60
        }
      ],
      "loops": [
        {
          "to": 39,
          "from": 26,
          "loop": {
            "name": "03_aha_moment",
            "slug": "03-aha-moment",
            "status": "active",
            "bestFor": "Data-heavy sections, research findings, analytical arguments",
            "canonId": "019dd956-66f4-7668-ab25-cec9c996c0bc",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Problem/Question -> What the Data Shows -> The Insight",
            "description": "Establish a tension, present data, then deliver the insight that changes everything",
            "familyLabel": null
          },
          "matchId": "019dd95a-08f8-7619-ac2e-7e423a6ea565",
          "evidence": "Builds from 'how to reach customers' to Ads>Prime, Ads>AWS, retail media =10% share",
          "position": 4,
          "objective": "Reveal retail itself as the new advertising gatekeeper",
          "confidence": 80,
          "extraction": {
            "at": "2026-04-29 13:07:29.779839+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 33,
      "type": "analysis",
      "title": "The chart uses a dotted line for historical 'Other' revenue (predominantly ads) and a solid red line for the transition to explicit 'Ads' reporting.",
      "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": "balanced",
        "densityScore": 44,
        "componentCount": 7,
        "textChars": 213,
        "nDataPoints": 2,
        "notes": "The chart uses a dotted line for historical 'Other' revenue (predominantly ads) and a solid red line for the transition to explicit 'Ads' reporting.",
        "elementsJson": [
          "headline_text",
          "subtitle_text",
          "line_chart",
          "footnote"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:35:37.467+00",
          "seconds": 2.662,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5e88-73ef-bd5d-853951586965/33",
        "deck": "/decks/019dd923-5e88-73ef-bd5d-853951586965",
        "deckAnchor": "/decks/019dd923-5e88-73ef-bd5d-853951586965#slide-33",
        "deckJson": "/decks/019dd923-5e88-73ef-bd5d-853951586965.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "Amazon's ad business overtook Amazon Prime revenue in 2022",
          "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-25 12:08:56+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a10a-873aa409ba70",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.6,
            "w": 0.75,
            "x": 0.205,
            "y": 0.25
          },
          "kind": "chart",
          "text": "Amazon revenue, TTM ($bn)",
          "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": "Line chart",
              "slug": "line",
              "status": "active",
              "canonId": "019de52c-ff62-778f-8f6c-a952ceae8677",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "line",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:37.467+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "4d623ef4-e5c4-4dd3-8080-b4d4f6036a07",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.1,
            "w": 0.15,
            "x": 0.03,
            "y": 0.35
          },
          "kind": "legend",
          "text": "'Other, predominantly ads'\nAds\nPrime",
          "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 17:35:37.467+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "8ac89397-83cf-47ef-8823-47724c90faec",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "TTM Revenue",
          "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-25 12:08:56+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a10a-889b2ad04663",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.1,
            "x": 0.205,
            "y": 0.91
          },
          "kind": "source-note",
          "text": "Source: Amazon",
          "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 17:35:37.467+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "2a040411-aaaf-4c0b-a6e6-d20f4d8b53a1",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.5,
            "x": 0.205,
            "y": 0.12
          },
          "kind": "subtitle",
          "text": "Amazon's ad business overtook Amazon Prime revenue in 2022",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Subtitle",
              "slug": "subtitle",
              "status": "active",
              "canonId": "82d821ee-2793-42e7-8f16-c6131385a3ce",
              "version": 1,
              "description": "Header-zone supporting text near the title (= ex body.description with bbox)."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:37.467+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "a5555d88-4c23-4f06-9bcd-9d712310d149",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.25,
            "x": 0.205,
            "y": 0.05
          },
          "kind": "title",
          "text": "Ads > Prime",
          "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 17:35:37.467+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "0829e570-1251-4e05-ad44-fb934626c26c",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "2x2 matrix",
            "slug": "matrix-2x2",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd9e1-50ab-72d1-8afb-3ab0a38e32a8",
            "version": 1,
            "bodyDocId": null,
            "description": "BCG matrix, importance/urgency, any axes-and-quadrants frame.",
            "familyLabel": null,
            "categoryName": null,
            "categorySlug": null
          },
          "agent": null,
          "layer": "slide",
          "agents": null,
          "matchId": "f00b4e57-c8fc-41b9-a580-a3c17a08b0b5",
          "evidence": "Ads / Prime",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.5,
          "extraction": {
            "at": "2026-07-16 21:59:13.461947+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 33,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": "common",
          "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": "019dd95a-1b83-7130-933d-8a6c62e657db",
          "evidence": "Title 'Ads > Prime' is itself the so-what",
          "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-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 33,
          "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": "Unexpected Pattern",
            "slug": "unexpected-pattern",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-bc0f-71af-8d32-3c1a2da38c40",
            "version": 1,
            "bodyDocId": null,
            "description": "Breaking a pattern to create surprise and attention",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Storyteller",
          "layer": "slide",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019dd95a-1b83-7130-933d-8cbc8bc405af",
          "evidence": "Surprises that ads exceed Prime revenue",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 75,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 33,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 69,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 18,
          "name": "The Implications (So What)",
          "beatId": "019dd95a-07a7-7579-bd65-11bd74463cfe",
          "matchId": "019dd95a-0543-7581-99b3-5568450d33ea",
          "beatType": {
            "name": "The Implications (So What)",
            "slug": "triple-take-the-implications-so-what",
            "status": "active",
            "canonId": "019dd9b8-09c7-75cd-8c7b-ae0e23cca2b8",
            "version": 1,
            "description": null
          },
          "evidence": "'The New Gatekeepers' divider p18; retail media, unbundling, brand reset",
          "position": 2,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Reflection",
            "slug": "reflection",
            "status": "active",
            "canonId": "019dd9b8-0510-73fd-8d00-1c7e45f7bc98",
            "version": 1,
            "description": "The \"so what\" beat. Used by analytical arcs (Triple-take, Onion) and learning arcs (Voyage-return, Tragedy)."
          },
          "alignedBlockIds": null,
          "matchConfidence": 82
        },
        {
          "to": 58,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 18,
          "name": "Rising Action",
          "beatId": "019dd95a-07a7-7579-bd65-1d44db232db5",
          "matchId": "019dd95a-0543-7581-99b3-5836e9006609",
          "beatType": {
            "name": "Rising Action",
            "slug": "mountain-rising-action",
            "status": "active",
            "canonId": "019dd9b8-1992-742b-be9c-85d0ebee0591",
            "version": 1,
            "description": null
          },
          "evidence": "category-by-category gatekeeper sweep: retail, media, content",
          "position": 2,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Development",
            "slug": "development",
            "status": "active",
            "canonId": "019dd9b8-0332-7008-b3aa-11b0840a57b1",
            "version": 1,
            "description": "The middle stretch in arcs that have one. Often where length problems creep in."
          },
          "alignedBlockIds": null,
          "matchConfidence": 60
        }
      ],
      "loops": [
        {
          "to": 39,
          "from": 26,
          "loop": {
            "name": "03_aha_moment",
            "slug": "03-aha-moment",
            "status": "active",
            "bestFor": "Data-heavy sections, research findings, analytical arguments",
            "canonId": "019dd956-66f4-7668-ab25-cec9c996c0bc",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Problem/Question -> What the Data Shows -> The Insight",
            "description": "Establish a tension, present data, then deliver the insight that changes everything",
            "familyLabel": null
          },
          "matchId": "019dd95a-08f8-7619-ac2e-7e423a6ea565",
          "evidence": "Builds from 'how to reach customers' to Ads>Prime, Ads>AWS, retail media =10% share",
          "position": 4,
          "objective": "Reveal retail itself as the new advertising gatekeeper",
          "confidence": 80,
          "extraction": {
            "at": "2026-04-29 13:07:29.779839+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 34,
      "type": "analysis",
      "title": "The chart illustrates the structural shift in advertising spend from traditional media to digital platforms.",
      "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": 34,
        "componentCount": 6,
        "textChars": 170,
        "nDataPoints": 2,
        "notes": "The chart illustrates the structural shift in advertising spend from traditional media to digital platforms.",
        "elementsJson": [
          "headline_text",
          "line_chart"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:35:37.633+00",
          "seconds": 2.624,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5e88-73ef-bd5d-853951586965/34",
        "deck": "/decks/019dd923-5e88-73ef-bd5d-853951586965",
        "deckAnchor": "/decks/019dd923-5e88-73ef-bd5d-853951586965#slide-34",
        "deckJson": "/decks/019dd923-5e88-73ef-bd5d-853951586965.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.5,
            "w": 0.6,
            "x": 0.205,
            "y": 0.27
          },
          "kind": "chart",
          "text": "Global advertising revenue ($bn, 2022 dollars)",
          "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": "Line chart",
              "slug": "line",
              "status": "active",
              "canonId": "019de52c-ff62-778f-8f6c-a952ceae8677",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "line",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:37.633+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "b581cd3f-ff5c-42b0-80ca-66bafbe83ad1",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.04,
            "w": 0.08,
            "x": 0.025,
            "y": 0.35
          },
          "kind": "legend",
          "text": "Newspapers\nAmazon",
          "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 17:35:37.633+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "09a37edb-9d3a-4a6f-838d-6dee625623ba",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Global advertising revenue",
          "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-25 12:08:56+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a10a-28edc16d736e",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.15,
            "x": 0.205,
            "y": 0.91
          },
          "kind": "source-note",
          "text": "Source: Amazon, Zenith, BLS",
          "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 17:35:37.633+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "2448c2ab-a2c1-40a6-b624-3ef77e8292eb",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.28,
            "x": 0.205,
            "y": 0.13
          },
          "kind": "title",
          "text": "New ad models overtake old ones",
          "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 17:35:37.633+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "3587e95c-7f7a-42cf-8799-630cc9f5c5f0",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.04,
            "w": 0.36,
            "x": 0.205,
            "y": 0.05
          },
          "kind": "title",
          "text": "Old and new gatekeepers",
          "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 17:35:37.633+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "a7fcdad5-6950-4379-8786-ae0f47731f3e",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "Before-After-Bridge",
            "slug": "before-after-bridge",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-8604-7188-883f-42370288ad05",
            "version": 1,
            "bodyDocId": null,
            "description": "Narrative structure: Paint the before, show the after, explain the bridge",
            "familyLabel": null,
            "categoryName": "Block",
            "categorySlug": "block"
          },
          "agent": "Storyteller",
          "layer": "slide",
          "agents": [
            "Storyteller"
          ],
          "matchId": "826804bd-fb3d-4636-b62a-beb9a2a065d9",
          "evidence": "New ad models overtake old ones",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.5,
          "extraction": {
            "at": "2026-07-16 21:59:13.531925+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 34,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 69,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 18,
          "name": "The Implications (So What)",
          "beatId": "019dd95a-07a7-7579-bd65-11bd74463cfe",
          "matchId": "019dd95a-0543-7581-99b3-5568450d33ea",
          "beatType": {
            "name": "The Implications (So What)",
            "slug": "triple-take-the-implications-so-what",
            "status": "active",
            "canonId": "019dd9b8-09c7-75cd-8c7b-ae0e23cca2b8",
            "version": 1,
            "description": null
          },
          "evidence": "'The New Gatekeepers' divider p18; retail media, unbundling, brand reset",
          "position": 2,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Reflection",
            "slug": "reflection",
            "status": "active",
            "canonId": "019dd9b8-0510-73fd-8d00-1c7e45f7bc98",
            "version": 1,
            "description": "The \"so what\" beat. Used by analytical arcs (Triple-take, Onion) and learning arcs (Voyage-return, Tragedy)."
          },
          "alignedBlockIds": null,
          "matchConfidence": 82
        },
        {
          "to": 58,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 18,
          "name": "Rising Action",
          "beatId": "019dd95a-07a7-7579-bd65-1d44db232db5",
          "matchId": "019dd95a-0543-7581-99b3-5836e9006609",
          "beatType": {
            "name": "Rising Action",
            "slug": "mountain-rising-action",
            "status": "active",
            "canonId": "019dd9b8-1992-742b-be9c-85d0ebee0591",
            "version": 1,
            "description": null
          },
          "evidence": "category-by-category gatekeeper sweep: retail, media, content",
          "position": 2,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Development",
            "slug": "development",
            "status": "active",
            "canonId": "019dd9b8-0332-7008-b3aa-11b0840a57b1",
            "version": 1,
            "description": "The middle stretch in arcs that have one. Often where length problems creep in."
          },
          "alignedBlockIds": null,
          "matchConfidence": 60
        }
      ],
      "loops": [
        {
          "to": 39,
          "from": 26,
          "loop": {
            "name": "03_aha_moment",
            "slug": "03-aha-moment",
            "status": "active",
            "bestFor": "Data-heavy sections, research findings, analytical arguments",
            "canonId": "019dd956-66f4-7668-ab25-cec9c996c0bc",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Problem/Question -> What the Data Shows -> The Insight",
            "description": "Establish a tension, present data, then deliver the insight that changes everything",
            "familyLabel": null
          },
          "matchId": "019dd95a-08f8-7619-ac2e-7e423a6ea565",
          "evidence": "Builds from 'how to reach customers' to Ads>Prime, Ads>AWS, retail media =10% share",
          "position": 4,
          "objective": "Reveal retail itself as the new advertising gatekeeper",
          "confidence": 80,
          "extraction": {
            "at": "2026-04-29 13:07:29.779839+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 35,
      "type": "setup",
      "title": "The chart highlights the high profitability and low capital intensity of the Ads business compared to AWS and the overall Group.",
      "function": "compare_options",
      "rawType": "comparison_table",
      "block": null,
      "metadata": {
        "slideType": "comparison_table",
        "slideTypeCanon": {
          "name": "Comparison table",
          "slug": "comparison_table",
          "status": "active",
          "canonId": "019de52d-0a06-73f8-8813-fe022fab1de2",
          "version": 1,
          "description": null
        },
        "function": "compare_options",
        "functionCanon": {
          "name": "Compare options",
          "slug": "compare_options",
          "status": "active",
          "canonId": "019de52d-167f-7038-aebc-70a9d2e0e33b",
          "version": 1,
          "description": null
        },
        "density": "dense",
        "densityScore": 59,
        "componentCount": 7,
        "textChars": 489,
        "nDataPoints": 9,
        "notes": "The chart highlights the high profitability and low capital intensity of the Ads business compared to AWS and the overall Group.",
        "elementsJson": [
          "headline_text",
          "subtitle_text",
          "bar_chart_grouped",
          "footnote"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:35:38.412+00",
          "seconds": 3.317,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5e88-73ef-bd5d-853951586965/35",
        "deck": "/decks/019dd923-5e88-73ef-bd5d-853951586965",
        "deckAnchor": "/decks/019dd923-5e88-73ef-bd5d-853951586965#slide-35",
        "deckJson": "/decks/019dd923-5e88-73ef-bd5d-853951586965.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "When they work, ads have much higher margins than infrastructure (let alone retail)",
          "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-25 12:08:57+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a10b-2e3e9c678a2f",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.55,
            "w": 0.7,
            "x": 0.205,
            "y": 0.25
          },
          "kind": "chart",
          "text": "Amazon segments, 2022 ($bn)",
          "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": "Grouped bar chart",
              "slug": "bar-grouped",
              "status": "active",
              "canonId": "019de52c-ff3b-751e-a8ff-f21ff11097b1",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bar-grouped",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:38.412+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "af716303-ec33-4102-936e-a509a18c92ff",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.08,
            "w": 0.6,
            "x": 0.205,
            "y": 0.9
          },
          "kind": "disclaimer",
          "text": "Source: Amazon, Benedict Evans. * Amazon reports Group & AWS; assume 60% operating margin for ads, matching Google ads minus TAC. ** Amazon reports approx. 50% of capex going to AWS; assume incremental capex to serve ads is minimal",
          "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 17:35:38.412+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "2f005240-3112-4d9a-9b21-0afe4fd9b5e7",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.1,
            "w": 0.15,
            "x": 0.03,
            "y": 0.35
          },
          "kind": "legend",
          "text": "Net sales, Operating income *, Capex **",
          "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 17:35:38.412+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "b615d703-ac4a-4ef7-af69-e0c0268678ea",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Operating margin",
          "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-25 12:08:57+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a10b-31dfec12e440",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.58,
            "x": 0.205,
            "y": 0.12
          },
          "kind": "paragraph",
          "text": "When they work, ads have much higher margins than infrastructure (let alone retail)",
          "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 17:35:38.412+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "9fc69b94-cc13-48d7-81b9-2145dd42d885",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.04,
            "w": 0.17,
            "x": 0.205,
            "y": 0.05
          },
          "kind": "title",
          "text": "Ads > AWS?",
          "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 17:35:38.412+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "71fc6a3c-f8c3-409f-af91-72c08a62cf75",
          "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": "019dd95a-1b83-7130-933d-92a17db4d2a0",
          "evidence": "Title 'Ads > AWS?' with margin callout",
          "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-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 35,
          "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": "Comparison frame",
            "slug": "comparison-frame",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd9e1-484b-7399-a4fc-d14644b99f93",
            "version": 1,
            "bodyDocId": null,
            "description": "Two or more states/subjects placed side by side to expose a gap.",
            "familyLabel": null,
            "categoryName": null,
            "categorySlug": null
          },
          "agent": null,
          "layer": "slide",
          "agents": null,
          "matchId": "a9586dba-b4fe-40a4-a793-ed0d480d02c7",
          "evidence": "When they work, ads have much higher margins than infrastructure (let alone retail)",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 21:59:13.600093+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 35,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": "common",
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Unexpected Pattern",
            "slug": "unexpected-pattern",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-bc0f-71af-8d32-3c1a2da38c40",
            "version": 1,
            "bodyDocId": null,
            "description": "Breaking a pattern to create surprise and attention",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Storyteller",
          "layer": "slide",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019dd95a-1b83-7130-933d-94a611d9eb25",
          "evidence": "Inverts conventional view of AWS being Amazon's profit engine",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 78,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 35,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 69,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 18,
          "name": "The Implications (So What)",
          "beatId": "019dd95a-07a7-7579-bd65-11bd74463cfe",
          "matchId": "019dd95a-0543-7581-99b3-5568450d33ea",
          "beatType": {
            "name": "The Implications (So What)",
            "slug": "triple-take-the-implications-so-what",
            "status": "active",
            "canonId": "019dd9b8-09c7-75cd-8c7b-ae0e23cca2b8",
            "version": 1,
            "description": null
          },
          "evidence": "'The New Gatekeepers' divider p18; retail media, unbundling, brand reset",
          "position": 2,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Reflection",
            "slug": "reflection",
            "status": "active",
            "canonId": "019dd9b8-0510-73fd-8d00-1c7e45f7bc98",
            "version": 1,
            "description": "The \"so what\" beat. Used by analytical arcs (Triple-take, Onion) and learning arcs (Voyage-return, Tragedy)."
          },
          "alignedBlockIds": null,
          "matchConfidence": 82
        },
        {
          "to": 58,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 18,
          "name": "Rising Action",
          "beatId": "019dd95a-07a7-7579-bd65-1d44db232db5",
          "matchId": "019dd95a-0543-7581-99b3-5836e9006609",
          "beatType": {
            "name": "Rising Action",
            "slug": "mountain-rising-action",
            "status": "active",
            "canonId": "019dd9b8-1992-742b-be9c-85d0ebee0591",
            "version": 1,
            "description": null
          },
          "evidence": "category-by-category gatekeeper sweep: retail, media, content",
          "position": 2,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Development",
            "slug": "development",
            "status": "active",
            "canonId": "019dd9b8-0332-7008-b3aa-11b0840a57b1",
            "version": 1,
            "description": "The middle stretch in arcs that have one. Often where length problems creep in."
          },
          "alignedBlockIds": null,
          "matchConfidence": 60
        }
      ],
      "loops": [
        {
          "to": 39,
          "from": 26,
          "loop": {
            "name": "03_aha_moment",
            "slug": "03-aha-moment",
            "status": "active",
            "bestFor": "Data-heavy sections, research findings, analytical arguments",
            "canonId": "019dd956-66f4-7668-ab25-cec9c996c0bc",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Problem/Question -> What the Data Shows -> The Insight",
            "description": "Establish a tension, present data, then deliver the insight that changes everything",
            "familyLabel": null
          },
          "matchId": "019dd95a-08f8-7619-ac2e-7e423a6ea565",
          "evidence": "Builds from 'how to reach customers' to Ads>Prime, Ads>AWS, retail media =10% share",
          "position": 4,
          "objective": "Reveal retail itself as the new advertising gatekeeper",
          "confidence": 80,
          "extraction": {
            "at": "2026-04-29 13:07:29.779839+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 36,
      "type": "tension",
      "function": "illustrate_case",
      "rawType": "ceo_quote",
      "block": null,
      "metadata": {
        "slideType": "ceo_quote",
        "slideTypeCanon": {
          "name": "CEO quote",
          "slug": "ceo_quote",
          "status": "active",
          "canonId": "019de52d-09b6-71c8-93a5-f90a9772a8fa",
          "version": 1,
          "description": null
        },
        "function": "illustrate_case",
        "functionCanon": {
          "name": "Illustrate case",
          "slug": "illustrate_case",
          "status": "active",
          "canonId": "019de52d-13b4-772c-bb73-1873612a7463",
          "version": 1,
          "description": null
        },
        "density": "balanced",
        "densityScore": 28,
        "componentCount": 4,
        "textChars": 362,
        "nDataPoints": 1,
        "notes": null,
        "elementsJson": [
          "quote_block"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:35:37.589+00",
          "seconds": 2.361,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5e88-73ef-bd5d-853951586965/36",
        "deck": "/decks/019dd923-5e88-73ef-bd5d-853951586965",
        "deckAnchor": "/decks/019dd923-5e88-73ef-bd5d-853951586965#slide-36",
        "deckJson": "/decks/019dd923-5e88-73ef-bd5d-853951586965.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "metric",
          "text": "growth: 30%",
          "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-25 12:08:57+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a10a-f01302cf73ae",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.044,
            "w": 0.445,
            "x": 0.203,
            "y": 0.638
          },
          "kind": "paragraph",
          "text": "Doug McMillon, Walmart CEO",
          "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 17:35:37.589+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "00416646-1bf2-421f-a568-d839db4bd999",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.333,
            "w": 0.594,
            "x": 0.203,
            "y": 0.298
          },
          "kind": "quote",
          "text": "“I can't remember a business with the margin structure of the advertising business here at Walmart (and having 30% growth for the quarter was nice)”",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Quote",
              "slug": "quote",
              "status": "active",
              "canonId": "019de52c-f8fb-751e-8bc6-d58e2d59562a",
              "version": 1,
              "description": "Pull quote or testimonial."
            },
            "tool": null,
            "subkind": {
              "name": "Pull quote",
              "slug": "pull-quote",
              "status": "active",
              "canonId": "019de52c-fbf9-76fe-97e1-a0b7540445c9",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "pull-quote",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:37.589+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "1cdbab54-1dd9-409f-b498-b554c104ef32",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "quote",
          "text": "“I can't remember a business with the margin structure of the advertising business here at Walmart (and having 30% growth for the quarter was nice)” — Doug McMillon, Walmart CEO",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Quote",
              "slug": "quote",
              "status": "active",
              "canonId": "019de52c-f8fb-751e-8bc6-d58e2d59562a",
              "version": 1,
              "description": "Pull quote or testimonial."
            },
            "tool": {
              "name": "Authority citation",
              "slug": "authority-citation",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-49ae-7557-89ad-3fca70469b45",
              "version": 1,
              "bodyDocId": null,
              "description": "Quoting an authority figure, study, or precedent to lend weight.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-25 12:08:57+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a10a-ef0d0c4ecefa",
          "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": "019dd95a-1b83-7130-933d-9fe95e4173e1",
          "evidence": "Direct executive quote used as proof",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 80,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 36,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "CEO quote contradiction",
            "slug": "ceo-quote-contradiction",
            "status": "active",
            "bestFor": "When management credibility is the lever",
            "canonId": "019dd9e1-52e9-717f-8454-93e627563ed6",
            "version": 1,
            "bodyDocId": "019dd9a1-8296-720d-8f51-da76937f9415",
            "description": "You reproduce management's own words — verbatim, with source and date — and\nthen place them next to the outcome that contradicts them. The CEO built\nthe rope; you put it around their own neck.",
            "familyLabel": null,
            "categoryName": null,
            "categorySlug": null
          },
          "agent": null,
          "layer": "slide",
          "agents": null,
          "matchId": "984675b2-3898-4ca0-9bc3-f74ae780ec06",
          "evidence": "\"I can't remember a business with the margin structure of the advertising business here at Walmart (and having 30% growth for the quarter was nice)\" — Doug McMillon, Walmart CEO",
          "pageRefs": null,
          "priority": null,
          "whenToUse": "When management credibility is the lever",
          "confidence": 0.8,
          "extraction": {
            "at": "2026-07-16 21:59:13.669073+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 36,
          "whyItWorks": "- **Maximum credibility**: no adjective you could write is as damning as the\n  target's own prior statement.\n- **No rebuttal path**: management can't argue they didn't say it.\n- **It forces accountability onto a person**, not an institution — even if\n  you aren't explicitly naming a villain elsewhere.\n- **Reporters amplify it**. A CEO-quote-contradiction slide is quotable,\n  which means it lands in WSJ/FT/Bloomberg coverage.",
          "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": "019dd95a-1b83-7130-933d-99c54ab8307c",
          "evidence": "Verbatim quote from Walmart CFO about ad-business margins",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 88,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 36,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 69,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 18,
          "name": "The Implications (So What)",
          "beatId": "019dd95a-07a7-7579-bd65-11bd74463cfe",
          "matchId": "019dd95a-0543-7581-99b3-5568450d33ea",
          "beatType": {
            "name": "The Implications (So What)",
            "slug": "triple-take-the-implications-so-what",
            "status": "active",
            "canonId": "019dd9b8-09c7-75cd-8c7b-ae0e23cca2b8",
            "version": 1,
            "description": null
          },
          "evidence": "'The New Gatekeepers' divider p18; retail media, unbundling, brand reset",
          "position": 2,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Reflection",
            "slug": "reflection",
            "status": "active",
            "canonId": "019dd9b8-0510-73fd-8d00-1c7e45f7bc98",
            "version": 1,
            "description": "The \"so what\" beat. Used by analytical arcs (Triple-take, Onion) and learning arcs (Voyage-return, Tragedy)."
          },
          "alignedBlockIds": null,
          "matchConfidence": 82
        },
        {
          "to": 58,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 18,
          "name": "Rising Action",
          "beatId": "019dd95a-07a7-7579-bd65-1d44db232db5",
          "matchId": "019dd95a-0543-7581-99b3-5836e9006609",
          "beatType": {
            "name": "Rising Action",
            "slug": "mountain-rising-action",
            "status": "active",
            "canonId": "019dd9b8-1992-742b-be9c-85d0ebee0591",
            "version": 1,
            "description": null
          },
          "evidence": "category-by-category gatekeeper sweep: retail, media, content",
          "position": 2,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Development",
            "slug": "development",
            "status": "active",
            "canonId": "019dd9b8-0332-7008-b3aa-11b0840a57b1",
            "version": 1,
            "description": "The middle stretch in arcs that have one. Often where length problems creep in."
          },
          "alignedBlockIds": null,
          "matchConfidence": 60
        }
      ],
      "loops": [
        {
          "to": 39,
          "from": 26,
          "loop": {
            "name": "03_aha_moment",
            "slug": "03-aha-moment",
            "status": "active",
            "bestFor": "Data-heavy sections, research findings, analytical arguments",
            "canonId": "019dd956-66f4-7668-ab25-cec9c996c0bc",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Problem/Question -> What the Data Shows -> The Insight",
            "description": "Establish a tension, present data, then deliver the insight that changes everything",
            "familyLabel": null
          },
          "matchId": "019dd95a-08f8-7619-ac2e-7e423a6ea565",
          "evidence": "Builds from 'how to reach customers' to Ads>Prime, Ads>AWS, retail media =10% share",
          "position": 4,
          "objective": "Reveal retail itself as the new advertising gatekeeper",
          "confidence": 80,
          "extraction": {
            "at": "2026-04-29 13:07:29.779839+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 37,
      "type": "analysis",
      "title": "The slide uses a series of circles to present company-specific revenue data followed by a summary of the underlying business model drivers.",
      "function": "quantify_impact",
      "rawType": "market_landscape",
      "block": null,
      "metadata": {
        "slideType": "market_landscape",
        "slideTypeCanon": {
          "name": "Market landscape",
          "slug": "market_landscape",
          "status": "active",
          "canonId": "019de52d-0b6d-75db-a946-9ac362e3afc2",
          "version": 1,
          "description": null
        },
        "function": "quantify_impact",
        "functionCanon": {
          "name": "Quantify impact",
          "slug": "quantify_impact",
          "status": "active",
          "canonId": "019de52d-1630-720d-b57d-fa7f76bebd8d",
          "version": 1,
          "description": null
        },
        "density": "dense",
        "densityScore": 58,
        "componentCount": 9,
        "textChars": 250,
        "nDataPoints": 3,
        "notes": "The slide uses a series of circles to present company-specific revenue data followed by a summary of the underlying business model drivers.",
        "elementsJson": [
          "headline_text",
          "icon_grid"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:35:38.228+00",
          "seconds": 2.98,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5e88-73ef-bd5d-853951586965/37",
        "deck": "/decks/019dd923-5e88-73ef-bd5d-853951586965",
        "deckAnchor": "/decks/019dd923-5e88-73ef-bd5d-853951586965#slide-37",
        "deckJson": "/decks/019dd923-5e88-73ef-bd5d-853951586965.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.25,
            "w": 0.15,
            "x": 0.805,
            "y": 0.404
          },
          "kind": "callout",
          "text": "Inventory 1P Targeting Margins!",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": null,
            "subkind": {
              "name": "Primary callout",
              "slug": "primary",
              "status": "active",
              "canonId": "019de52c-fbd1-70eb-a9ce-8997f8674c1d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:38.228+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "9ca63300-4e13-4c5d-b694-8948930a0755",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "callout",
          "text": "Inventory, 1P Targeting, Margins!",
          "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-25 12:08:57+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a10b-6e78955bad8f",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.25,
            "w": 0.15,
            "x": 0.425,
            "y": 0.404
          },
          "kind": "metric",
          "text": "Uber $500m run rate",
          "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": null,
            "subkind": {
              "name": "Big number",
              "slug": "big-number",
              "status": "active",
              "canonId": "019de52c-fc70-70c8-b965-0584548a9204",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "big-number",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:38.228+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "556db4ed-4ada-4e41-ba0c-5996ed83b0fe",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.25,
            "w": 0.15,
            "x": 0.647,
            "y": 0.404
          },
          "kind": "metric",
          "text": "Amazon $38bn in 2022",
          "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": null,
            "subkind": {
              "name": "Big number",
              "slug": "big-number",
              "status": "active",
              "canonId": "019de52c-fc70-70c8-b965-0584548a9204",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "big-number",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:38.228+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "6c3d5fbb-cd68-4851-ae44-6117ae3ddf05",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.25,
            "w": 0.15,
            "x": 0.203,
            "y": 0.404
          },
          "kind": "metric",
          "text": "Walmart $2.7bn in 2022",
          "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": null,
            "subkind": {
              "name": "Big number",
              "slug": "big-number",
              "status": "active",
              "canonId": "019de52c-fc70-70c8-b965-0584548a9204",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "big-number",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:38.228+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "6fd910fc-4df4-4a40-af4e-f59df7b28782",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Advertising Revenue: $38bn",
          "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-25 12:08:57+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a10b-721bde79d81b",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.1,
            "x": 0.205,
            "y": 0.91
          },
          "kind": "source-note",
          "text": "Source: Companies",
          "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 17:35:38.228+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "a93fa034-a855-4d1f-8ecf-cf16a5223983",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.53,
            "x": 0.205,
            "y": 0.13
          },
          "kind": "subtitle",
          "text": "First party data, inventory, and very attractive margins",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Subtitle",
              "slug": "subtitle",
              "status": "active",
              "canonId": "82d821ee-2793-42e7-8f16-c6131385a3ce",
              "version": 1,
              "description": "Header-zone supporting text near the title (= ex body.description with bbox)."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:38.228+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "2d7f0207-5307-4b61-9d0e-4f974f1319df",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.055,
            "w": 0.415,
            "x": 0.205,
            "y": 0.055
          },
          "kind": "title",
          "text": "New channel, new gold rush",
          "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 17:35:38.228+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "396485b3-0803-412a-ae0f-bf25be64d481",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "Tricolon",
            "slug": "tricolon",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-a13d-7356-9038-da27abe565f8",
            "version": 1,
            "bodyDocId": null,
            "description": "Three parallel phrases of increasing length or intensity",
            "familyLabel": null,
            "categoryName": "Loop",
            "categorySlug": "loop"
          },
          "agent": "Storyteller",
          "layer": "loop",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019dd95a-1b83-7130-933d-a75468a824c1",
          "evidence": "Callout 'Inventory, 1P Targeting, Margins!' is a triplet",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 65,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 37,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Audience Definition",
            "slug": "audience-definition",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-7f2a-775d-aeee-ff099bcb7756",
            "version": 1,
            "bodyDocId": null,
            "description": "Six key questions: Who are they? What do they know? What do they believe? What do they care about? What do they fear? What decisions can they make?",
            "familyLabel": null,
            "categoryName": "Block",
            "categorySlug": "block"
          },
          "agent": "Storyteller",
          "layer": "slide",
          "agents": [
            "Storyteller"
          ],
          "matchId": "a9317371-7fab-4570-83bb-79aad3467372",
          "evidence": "Inventory, 1P Targeting, Margins!",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": null,
          "confidence": 0.5,
          "extraction": {
            "at": "2026-07-16 21:59:13.737468+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 37,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Metaphor & Analogy",
            "slug": "metaphor-analogy",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-adea-7729-bca1-70810d6238a9",
            "version": 1,
            "bodyDocId": null,
            "description": "Making abstract concepts concrete through familiar comparisons",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Storyteller",
          "layer": "slide",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019dd95a-1b83-7130-933d-a3c5eeb54e6c",
          "evidence": "'New channel, new gold rush' uses gold-rush metaphor",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": null,
          "confidence": 88,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 37,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 69,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 18,
          "name": "The Implications (So What)",
          "beatId": "019dd95a-07a7-7579-bd65-11bd74463cfe",
          "matchId": "019dd95a-0543-7581-99b3-5568450d33ea",
          "beatType": {
            "name": "The Implications (So What)",
            "slug": "triple-take-the-implications-so-what",
            "status": "active",
            "canonId": "019dd9b8-09c7-75cd-8c7b-ae0e23cca2b8",
            "version": 1,
            "description": null
          },
          "evidence": "'The New Gatekeepers' divider p18; retail media, unbundling, brand reset",
          "position": 2,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Reflection",
            "slug": "reflection",
            "status": "active",
            "canonId": "019dd9b8-0510-73fd-8d00-1c7e45f7bc98",
            "version": 1,
            "description": "The \"so what\" beat. Used by analytical arcs (Triple-take, Onion) and learning arcs (Voyage-return, Tragedy)."
          },
          "alignedBlockIds": null,
          "matchConfidence": 82
        },
        {
          "to": 58,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 18,
          "name": "Rising Action",
          "beatId": "019dd95a-07a7-7579-bd65-1d44db232db5",
          "matchId": "019dd95a-0543-7581-99b3-5836e9006609",
          "beatType": {
            "name": "Rising Action",
            "slug": "mountain-rising-action",
            "status": "active",
            "canonId": "019dd9b8-1992-742b-be9c-85d0ebee0591",
            "version": 1,
            "description": null
          },
          "evidence": "category-by-category gatekeeper sweep: retail, media, content",
          "position": 2,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Development",
            "slug": "development",
            "status": "active",
            "canonId": "019dd9b8-0332-7008-b3aa-11b0840a57b1",
            "version": 1,
            "description": "The middle stretch in arcs that have one. Often where length problems creep in."
          },
          "alignedBlockIds": null,
          "matchConfidence": 60
        }
      ],
      "loops": [
        {
          "to": 39,
          "from": 26,
          "loop": {
            "name": "03_aha_moment",
            "slug": "03-aha-moment",
            "status": "active",
            "bestFor": "Data-heavy sections, research findings, analytical arguments",
            "canonId": "019dd956-66f4-7668-ab25-cec9c996c0bc",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Problem/Question -> What the Data Shows -> The Insight",
            "description": "Establish a tension, present data, then deliver the insight that changes everything",
            "familyLabel": null
          },
          "matchId": "019dd95a-08f8-7619-ac2e-7e423a6ea565",
          "evidence": "Builds from 'how to reach customers' to Ads>Prime, Ads>AWS, retail media =10% share",
          "position": 4,
          "objective": "Reveal retail itself as the new advertising gatekeeper",
          "confidence": 80,
          "extraction": {
            "at": "2026-04-29 13:07:29.779839+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 38,
      "type": "analysis",
      "title": "The chart highlights the emergence and growth of 'Retail' media as a distinct category starting around 2020.",
      "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": 49,
        "componentCount": 7,
        "textChars": 230,
        "nDataPoints": 52,
        "notes": "The chart highlights the emergence and growth of 'Retail' media as a distinct category starting around 2020.",
        "elementsJson": [
          "headline_text",
          "bar_chart_stacked",
          "footnote"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:35:38.306+00",
          "seconds": 3.006,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5e88-73ef-bd5d-853951586965/38",
        "deck": "/decks/019dd923-5e88-73ef-bd5d-853951586965",
        "deckAnchor": "/decks/019dd923-5e88-73ef-bd5d-853951586965#slide-38",
        "deckJson": "/decks/019dd923-5e88-73ef-bd5d-853951586965.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "Retail media may have taken 10% share in 2022",
          "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-25 12:08:56+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a109-f2f8d5e9091b",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.5,
            "w": 0.6,
            "x": 0.205,
            "y": 0.27
          },
          "kind": "chart",
          "text": "Share of US advertising spending",
          "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": "Stacked bar chart",
              "slug": "bar-stacked",
              "status": "active",
              "canonId": "019de52c-feec-74bf-9028-15b74f84f0a7",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bar-stacked",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:38.306+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "0ef9ae19-15df-4fe5-a05d-a78b0449ba2d",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.12,
            "w": 0.08,
            "x": 0.03,
            "y": 0.35
          },
          "kind": "legend",
          "text": "Other digital, Retail, Social, Search",
          "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 17:35:38.306+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "24dfd8c5-3e71-4a31-ab46-a5a2c94a099f",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Share of US advertising spending: 10%",
          "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-25 12:08:56+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a109-f7c2693ccbe8",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.15,
            "x": 0.205,
            "y": 0.91
          },
          "kind": "source-note",
          "text": "Source: Zenith, GroupM",
          "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 17:35:38.306+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "4252fa16-ccdd-4019-89b9-dea042dc9da4",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.4,
            "x": 0.205,
            "y": 0.13
          },
          "kind": "title",
          "text": "Retail media may have taken 10% share in 2022",
          "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 17:35:38.306+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "1a781cbe-de97-4235-94ea-1c7f899babf8",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.04,
            "w": 0.18,
            "x": 0.205,
            "y": 0.05
          },
          "kind": "title",
          "text": "Retail media",
          "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 17:35:38.306+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "d600ad78-c6a5-4651-a65d-aa4f88ec5a85",
          "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": "019dd95a-1b83-7130-933d-ab970e3be521",
          "evidence": "Title repeats subhead: '10% share in 2022'",
          "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-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 38,
          "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": "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": "d8578fd8-ebbc-4f1e-9337-00613d57bb17",
          "evidence": "Share of US advertising spending",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.5,
          "extraction": {
            "at": "2026-07-16 21:59:13.876167+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 38,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "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": "019dd95a-1b83-7130-933d-ac249de3af16",
          "evidence": "Retail segment isolated in red against grey/black stack",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 88,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 38,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Von Restorff Effect",
            "slug": "von-restorff-effect",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-beab-73d8-9f62-30d0332e926e",
            "version": 1,
            "bodyDocId": null,
            "description": "Items that stand out are noticed and remembered - make key points visually distinct",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "019dd95a-1b83-7130-933d-b05bcc8efd63",
          "evidence": "Single red retail block stands out in stacked bars",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 82,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 38,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 69,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 18,
          "name": "The Implications (So What)",
          "beatId": "019dd95a-07a7-7579-bd65-11bd74463cfe",
          "matchId": "019dd95a-0543-7581-99b3-5568450d33ea",
          "beatType": {
            "name": "The Implications (So What)",
            "slug": "triple-take-the-implications-so-what",
            "status": "active",
            "canonId": "019dd9b8-09c7-75cd-8c7b-ae0e23cca2b8",
            "version": 1,
            "description": null
          },
          "evidence": "'The New Gatekeepers' divider p18; retail media, unbundling, brand reset",
          "position": 2,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Reflection",
            "slug": "reflection",
            "status": "active",
            "canonId": "019dd9b8-0510-73fd-8d00-1c7e45f7bc98",
            "version": 1,
            "description": "The \"so what\" beat. Used by analytical arcs (Triple-take, Onion) and learning arcs (Voyage-return, Tragedy)."
          },
          "alignedBlockIds": null,
          "matchConfidence": 82
        },
        {
          "to": 58,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 18,
          "name": "Rising Action",
          "beatId": "019dd95a-07a7-7579-bd65-1d44db232db5",
          "matchId": "019dd95a-0543-7581-99b3-5836e9006609",
          "beatType": {
            "name": "Rising Action",
            "slug": "mountain-rising-action",
            "status": "active",
            "canonId": "019dd9b8-1992-742b-be9c-85d0ebee0591",
            "version": 1,
            "description": null
          },
          "evidence": "category-by-category gatekeeper sweep: retail, media, content",
          "position": 2,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Development",
            "slug": "development",
            "status": "active",
            "canonId": "019dd9b8-0332-7008-b3aa-11b0840a57b1",
            "version": 1,
            "description": "The middle stretch in arcs that have one. Often where length problems creep in."
          },
          "alignedBlockIds": null,
          "matchConfidence": 60
        }
      ],
      "loops": [
        {
          "to": 39,
          "from": 26,
          "loop": {
            "name": "03_aha_moment",
            "slug": "03-aha-moment",
            "status": "active",
            "bestFor": "Data-heavy sections, research findings, analytical arguments",
            "canonId": "019dd956-66f4-7668-ab25-cec9c996c0bc",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Problem/Question -> What the Data Shows -> The Insight",
            "description": "Establish a tension, present data, then deliver the insight that changes everything",
            "familyLabel": null
          },
          "matchId": "019dd95a-08f8-7619-ac2e-7e423a6ea565",
          "evidence": "Builds from 'how to reach customers' to Ads>Prime, Ads>AWS, retail media =10% share",
          "position": 4,
          "objective": "Reveal retail itself as the new advertising gatekeeper",
          "confidence": 80,
          "extraction": {
            "at": "2026-04-29 13:07:29.779839+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 39,
      "type": "setup",
      "title": "The slide uses a quote to illustrate the dependency of retailers on promotional money from manufacturers.",
      "function": "establish_context",
      "rawType": "key_messages",
      "block": null,
      "metadata": {
        "slideType": "key_messages",
        "slideTypeCanon": {
          "name": "Key messages",
          "slug": "key_messages",
          "status": "active",
          "canonId": "019de52d-0712-703f-89f5-bda6688faf3f",
          "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": "overcrowded",
        "densityScore": 75,
        "componentCount": 8,
        "textChars": 890,
        "nDataPoints": 2,
        "notes": "The slide uses a quote to illustrate the dependency of retailers on promotional money from manufacturers.",
        "elementsJson": [
          "headline_text",
          "paragraph",
          "callout_box",
          "other"
        ],
        "confidence": 0.95,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:35:43.574+00",
          "seconds": 8.063,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5e88-73ef-bd5d-853951586965/39",
        "deck": "/decks/019dd923-5e88-73ef-bd5d-853951586965",
        "deckAnchor": "/decks/019dd923-5e88-73ef-bd5d-853951586965#slide-39",
        "deckJson": "/decks/019dd923-5e88-73ef-bd5d-853951586965.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "Retailers are hooked on the heroin of this promotional money, and even the few who say they need to wean themselves from these payments know it is a difficult and arduous process.",
          "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-25 12:08:58+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a10b-827d8e0d87a8",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.2,
            "w": 0.2,
            "x": 0.76,
            "y": 0.36
          },
          "kind": "metric",
          "text": "Amazon ads: 7.5% of 2022 retail revenue",
          "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": null,
            "subkind": {
              "name": "Big number",
              "slug": "big-number",
              "status": "active",
              "canonId": "019de52c-fc70-70c8-b965-0584548a9204",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "big-number",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:43.574+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "15803f5c-c9d7-40e9-b122-1e361672ea42",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Retail revenue: 7.5%",
          "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-25 12:08:58+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a10b-8b786293a2ab",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.59,
            "x": 0.205,
            "y": 0.13
          },
          "kind": "paragraph",
          "text": "There are lots of different terms to describe the ancient practice of 'brands paying retailers'",
          "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 17:35:43.574+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "2b977afd-bf81-46c2-aad7-9e82b80899e7",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.25,
            "w": 0.46,
            "x": 0.22,
            "y": 0.328
          },
          "kind": "quote",
          "text": "One estimate is that trade dollars comprise about 7.5 percent of U.S. retailers' revenues—about two times retailers' pre-tax income. According to one source, “Retailers are hooked on the heroin of this promotional money...\"",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Quote",
              "slug": "quote",
              "status": "active",
              "canonId": "019de52c-f8fb-751e-8bc6-d58e2d59562a",
              "version": 1,
              "description": "Pull quote or testimonial."
            },
            "tool": null,
            "subkind": {
              "name": "Pull quote",
              "slug": "pull-quote",
              "status": "active",
              "canonId": "019de52c-fbf9-76fe-97e1-a0b7540445c9",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "pull-quote",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:43.574+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "70e737bf-8361-42c5-8fd4-7f5d5d2fbf7c",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "quote",
          "text": "Retailers are hooked on the heroin of this promotional money, and even the few who say they need to wean themselves from these payments know it is a difficult and arduous process. -- Competing in Tough Times, Barry Berman (2010)",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Quote",
              "slug": "quote",
              "status": "active",
              "canonId": "019de52c-f8fb-751e-8bc6-d58e2d59562a",
              "version": 1,
              "description": "Pull quote or testimonial."
            },
            "tool": {
              "name": "Authority citation",
              "slug": "authority-citation",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-49ae-7557-89ad-3fca70469b45",
              "version": 1,
              "bodyDocId": null,
              "description": "Quoting an authority figure, study, or precedent to lend weight.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-25 12:08:58+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a10b-86e309dcd7c5",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.3,
            "x": 0.205,
            "y": 0.91
          },
          "kind": "source-note",
          "text": "Source: Competing in Tough Times, Barry Berman (2010), Amazon",
          "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 17:35:43.574+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "b4c0714d-e73b-4690-98d3-6ac6477a37b9",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.59,
            "x": 0.205,
            "y": 0.05
          },
          "kind": "title",
          "text": "Advertising? Marketing? Price discrimination?",
          "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 17:35:43.574+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "be1dae8c-7ca2-41b3-ae23-a80fd1a1228e",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "Call-and-Response",
            "slug": "call-and-response",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-a254-7484-a9b7-721eb21444a5",
            "version": 1,
            "bodyDocId": null,
            "description": "Engaging audience by creating pattern they complete mentally",
            "familyLabel": null,
            "categoryName": "Loop",
            "categorySlug": "loop"
          },
          "agent": "Storyteller",
          "layer": "slide",
          "agents": [
            "Storyteller"
          ],
          "matchId": "d8bb4f1f-70ec-46c3-8dda-d5efedd91ab6",
          "evidence": "Retailers are hooked on the heroin of this promotional money, and even the few who say they need to wean themselves from these payments know it is a difficult and arduous process.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.5,
          "extraction": {
            "at": "2026-07-16 21:59:13.945454+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 39,
          "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": "019dd95a-1b83-7130-933d-bb25acde28ab",
          "evidence": "Quoted source supplies the vivid framing",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 80,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 39,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Metaphor & Analogy",
            "slug": "metaphor-analogy",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-adea-7729-bca1-70810d6238a9",
            "version": 1,
            "bodyDocId": null,
            "description": "Making abstract concepts concrete through familiar comparisons",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Storyteller",
          "layer": "slide",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019dd95a-1b83-7130-933d-b663769e111d",
          "evidence": "Quote uses 'heroin of promotional money' metaphor",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": null,
          "confidence": 90,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 39,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 69,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 18,
          "name": "The Implications (So What)",
          "beatId": "019dd95a-07a7-7579-bd65-11bd74463cfe",
          "matchId": "019dd95a-0543-7581-99b3-5568450d33ea",
          "beatType": {
            "name": "The Implications (So What)",
            "slug": "triple-take-the-implications-so-what",
            "status": "active",
            "canonId": "019dd9b8-09c7-75cd-8c7b-ae0e23cca2b8",
            "version": 1,
            "description": null
          },
          "evidence": "'The New Gatekeepers' divider p18; retail media, unbundling, brand reset",
          "position": 2,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Reflection",
            "slug": "reflection",
            "status": "active",
            "canonId": "019dd9b8-0510-73fd-8d00-1c7e45f7bc98",
            "version": 1,
            "description": "The \"so what\" beat. Used by analytical arcs (Triple-take, Onion) and learning arcs (Voyage-return, Tragedy)."
          },
          "alignedBlockIds": null,
          "matchConfidence": 82
        },
        {
          "to": 58,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 18,
          "name": "Rising Action",
          "beatId": "019dd95a-07a7-7579-bd65-1d44db232db5",
          "matchId": "019dd95a-0543-7581-99b3-5836e9006609",
          "beatType": {
            "name": "Rising Action",
            "slug": "mountain-rising-action",
            "status": "active",
            "canonId": "019dd9b8-1992-742b-be9c-85d0ebee0591",
            "version": 1,
            "description": null
          },
          "evidence": "category-by-category gatekeeper sweep: retail, media, content",
          "position": 2,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Development",
            "slug": "development",
            "status": "active",
            "canonId": "019dd9b8-0332-7008-b3aa-11b0840a57b1",
            "version": 1,
            "description": "The middle stretch in arcs that have one. Often where length problems creep in."
          },
          "alignedBlockIds": null,
          "matchConfidence": 60
        }
      ],
      "loops": [
        {
          "to": 39,
          "from": 26,
          "loop": {
            "name": "03_aha_moment",
            "slug": "03-aha-moment",
            "status": "active",
            "bestFor": "Data-heavy sections, research findings, analytical arguments",
            "canonId": "019dd956-66f4-7668-ab25-cec9c996c0bc",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Problem/Question -> What the Data Shows -> The Insight",
            "description": "Establish a tension, present data, then deliver the insight that changes everything",
            "familyLabel": null
          },
          "matchId": "019dd95a-08f8-7619-ac2e-7e423a6ea565",
          "evidence": "Builds from 'how to reach customers' to Ads>Prime, Ads>AWS, retail media =10% share",
          "position": 4,
          "objective": "Reveal retail itself as the new advertising gatekeeper",
          "confidence": 80,
          "extraction": {
            "at": "2026-04-29 13:07:29.779839+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 40,
      "type": "analysis",
      "title": "The chart illustrates the trend of Chinese manufacturers bypassing traditional retail channels to sell directly to consumers on Amazon.",
      "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": 29,
        "componentCount": 5,
        "textChars": 244,
        "nDataPoints": 1,
        "notes": "The chart illustrates the trend of Chinese manufacturers bypassing traditional retail channels to sell directly to consumers on Amazon.",
        "elementsJson": [
          "headline_text",
          "subtitle_text",
          "line_chart",
          "footnote"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:35:38.231+00",
          "seconds": 2.406,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5e88-73ef-bd5d-853951586965/40",
        "deck": "/decks/019dd923-5e88-73ef-bd5d-853951586965",
        "deckAnchor": "/decks/019dd923-5e88-73ef-bd5d-853951586965#slide-40",
        "deckJson": "/decks/019dd923-5e88-73ef-bd5d-853951586965.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.55,
            "w": 0.64,
            "x": 0.18,
            "y": 0.25
          },
          "kind": "chart",
          "text": "Share of Amazon Marketplace Top Sellers based in China",
          "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": "Line chart",
              "slug": "line",
              "status": "active",
              "canonId": "019de52c-ff62-778f-8f6c-a952ceae8677",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "line",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:38.231+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "bb36873d-2408-4b13-b49f-6b082453a6e2",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Share of Amazon Marketplace Top Sellers: 37%",
          "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-25 12:08:56+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a10a-0e9c8c4ba453",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.15,
            "x": 0.205,
            "y": 0.91
          },
          "kind": "source-note",
          "text": "Source: MarketplacePulse",
          "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 17:35:38.231+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "0b8e43bc-19ec-442f-8411-652b298604cd",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.59,
            "x": 0.205,
            "y": 0.12
          },
          "kind": "subtitle",
          "text": "Chinese manufacturers bypass US retailers and brands and go direct to the consumer",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Subtitle",
              "slug": "subtitle",
              "status": "active",
              "canonId": "82d821ee-2793-42e7-8f16-c6131385a3ce",
              "version": 1,
              "description": "Header-zone supporting text near the title (= ex body.description with bbox)."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:38.231+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "2d2b970e-8bc5-44d6-bbd6-4923166b55d5",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.04,
            "w": 0.59,
            "x": 0.205,
            "y": 0.05
          },
          "kind": "title",
          "text": "Chinese suppliers going direct on Amazon",
          "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 17:35:38.231+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "42af019e-07d3-4726-b40a-efb8c6c11118",
          "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": "019dd95a-1b83-7130-933d-be4d6e859b55",
          "evidence": "Title states data point: 'Chinese suppliers going direct on Amazon'",
          "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": 80,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 40,
          "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."
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 69,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 18,
          "name": "The Implications (So What)",
          "beatId": "019dd95a-07a7-7579-bd65-11bd74463cfe",
          "matchId": "019dd95a-0543-7581-99b3-5568450d33ea",
          "beatType": {
            "name": "The Implications (So What)",
            "slug": "triple-take-the-implications-so-what",
            "status": "active",
            "canonId": "019dd9b8-09c7-75cd-8c7b-ae0e23cca2b8",
            "version": 1,
            "description": null
          },
          "evidence": "'The New Gatekeepers' divider p18; retail media, unbundling, brand reset",
          "position": 2,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Reflection",
            "slug": "reflection",
            "status": "active",
            "canonId": "019dd9b8-0510-73fd-8d00-1c7e45f7bc98",
            "version": 1,
            "description": "The \"so what\" beat. Used by analytical arcs (Triple-take, Onion) and learning arcs (Voyage-return, Tragedy)."
          },
          "alignedBlockIds": null,
          "matchConfidence": 82
        },
        {
          "to": 58,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 18,
          "name": "Rising Action",
          "beatId": "019dd95a-07a7-7579-bd65-1d44db232db5",
          "matchId": "019dd95a-0543-7581-99b3-5836e9006609",
          "beatType": {
            "name": "Rising Action",
            "slug": "mountain-rising-action",
            "status": "active",
            "canonId": "019dd9b8-1992-742b-be9c-85d0ebee0591",
            "version": 1,
            "description": null
          },
          "evidence": "category-by-category gatekeeper sweep: retail, media, content",
          "position": 2,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Development",
            "slug": "development",
            "status": "active",
            "canonId": "019dd9b8-0332-7008-b3aa-11b0840a57b1",
            "version": 1,
            "description": "The middle stretch in arcs that have one. Often where length problems creep in."
          },
          "alignedBlockIds": null,
          "matchConfidence": 60
        }
      ],
      "loops": [
        {
          "to": 44,
          "from": 40,
          "loop": {
            "name": "09_precedent",
            "slug": "09-precedent",
            "status": "active",
            "bestFor": "Risk mitigation, strategy validation, building confidence in new approaches",
            "canonId": "019dd956-695f-7615-8f82-39d919918314",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Precedent Case -> What Happened -> The Parallel -> Applied Learning",
            "description": "Use historical or external examples to validate your approach",
            "familyLabel": null
          },
          "matchId": "019dd95a-08f8-7619-ac2e-83470125308a",
          "evidence": "p41 Anker $2bn case, p43-44 Shein 'new bundle and new channel build new global business'",
          "position": 5,
          "objective": "Use Anker/Shein as proof that new channels create new winners",
          "confidence": 75,
          "extraction": {
            "at": "2026-04-29 13:07:29.779839+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 41,
      "type": "evidence",
      "title": "The slide highlights Anker's success as a brand built on the Amazon marketplace.",
      "function": "illustrate_case",
      "rawType": "case_study",
      "block": null,
      "metadata": {
        "slideType": "case_study",
        "slideTypeCanon": {
          "name": "Case study",
          "slug": "case_study",
          "status": "active",
          "canonId": "019de52d-0b95-7344-8090-926f3b8e92c8",
          "version": 1,
          "description": null
        },
        "function": "illustrate_case",
        "functionCanon": {
          "name": "Illustrate case",
          "slug": "illustrate_case",
          "status": "active",
          "canonId": "019de52d-13b4-772c-bb73-1873612a7463",
          "version": 1,
          "description": null
        },
        "density": "dense",
        "densityScore": 50,
        "componentCount": 7,
        "textChars": 281,
        "nDataPoints": 14,
        "notes": "The slide highlights Anker's success as a brand built on the Amazon marketplace.",
        "elementsJson": [
          "headline_text",
          "subtitle_text",
          "bar_chart_grouped"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:35:39.124+00",
          "seconds": 3.291,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5e88-73ef-bd5d-853951586965/41",
        "deck": "/decks/019dd923-5e88-73ef-bd5d-853951586965",
        "deckAnchor": "/decks/019dd923-5e88-73ef-bd5d-853951586965#slide-41",
        "deckJson": "/decks/019dd923-5e88-73ef-bd5d-853951586965.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "Anker, based in Shenzhen, has built a $2bn phone accessory business on Amazon Marketplace",
          "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-25 12:08:57+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a10a-d7c96a6b6ed4",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.6,
            "w": 0.75,
            "x": 0.205,
            "y": 0.25
          },
          "kind": "chart",
          "text": "Anker Innovations financials ($bn)",
          "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": "Grouped bar chart",
              "slug": "bar-grouped",
              "status": "active",
              "canonId": "019de52c-ff3b-751e-a8ff-f21ff11097b1",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bar-grouped",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:39.124+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "7666e630-ab84-4472-b30f-9b5aeddbd7dd",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.05,
            "x": 0.03,
            "y": 0.35
          },
          "kind": "legend",
          "text": "Revenue\nNet income",
          "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 17:35:39.124+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "1fce7e28-66b9-47e2-86d3-c4a1107227ea",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Revenue: $2bn",
          "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-25 12:08:57+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a10a-d8940e7a2d63",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.1,
            "x": 0.205,
            "y": 0.91
          },
          "kind": "source-note",
          "text": "Source: Anker",
          "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 17:35:39.124+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "826fd409-d36e-49f0-95c7-bc237d97bb75",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.65,
            "x": 0.205,
            "y": 0.12
          },
          "kind": "subtitle",
          "text": "Anker, based in Shenzhen, has built a $2bn phone accessory business on Amazon Marketplace",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Subtitle",
              "slug": "subtitle",
              "status": "active",
              "canonId": "82d821ee-2793-42e7-8f16-c6131385a3ce",
              "version": 1,
              "description": "Header-zone supporting text near the title (= ex body.description with bbox)."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:39.124+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "39cd171d-68a3-4321-b9b8-6085ae4c2b71",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.41,
            "x": 0.205,
            "y": 0.05
          },
          "kind": "title",
          "text": "Building brands on Amazon",
          "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 17:35:39.124+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "ce96e773-f939-471c-84c5-e5edae5a98b4",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "Concrete Language",
            "slug": "concrete-language",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-bcd4-7398-9723-6aa72346170b",
            "version": 1,
            "bodyDocId": null,
            "description": "Using specific sensory details instead of abstract terms",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Storyteller",
          "layer": "slide",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019dd95a-1b83-7130-933d-c0638af8b3d8",
          "evidence": "Names Anker, Shenzhen, $2bn — specific case anchor",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 90,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 41,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Sinatra Test",
            "slug": "sinatra-test",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-be4a-775f-8038-d4e7e58dfc5a",
            "version": 1,
            "bodyDocId": null,
            "description": "If you can make it there, you can make it anywhere - using flagship example",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Storyteller",
          "layer": "slide",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019dd95a-1b83-7130-933d-c7d41540b547",
          "evidence": "Anker as flagship example: if Anker can do it on Amazon, brand-building there is real",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 75,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 41,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 69,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 18,
          "name": "The Implications (So What)",
          "beatId": "019dd95a-07a7-7579-bd65-11bd74463cfe",
          "matchId": "019dd95a-0543-7581-99b3-5568450d33ea",
          "beatType": {
            "name": "The Implications (So What)",
            "slug": "triple-take-the-implications-so-what",
            "status": "active",
            "canonId": "019dd9b8-09c7-75cd-8c7b-ae0e23cca2b8",
            "version": 1,
            "description": null
          },
          "evidence": "'The New Gatekeepers' divider p18; retail media, unbundling, brand reset",
          "position": 2,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Reflection",
            "slug": "reflection",
            "status": "active",
            "canonId": "019dd9b8-0510-73fd-8d00-1c7e45f7bc98",
            "version": 1,
            "description": "The \"so what\" beat. Used by analytical arcs (Triple-take, Onion) and learning arcs (Voyage-return, Tragedy)."
          },
          "alignedBlockIds": null,
          "matchConfidence": 82
        },
        {
          "to": 58,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 18,
          "name": "Rising Action",
          "beatId": "019dd95a-07a7-7579-bd65-1d44db232db5",
          "matchId": "019dd95a-0543-7581-99b3-5836e9006609",
          "beatType": {
            "name": "Rising Action",
            "slug": "mountain-rising-action",
            "status": "active",
            "canonId": "019dd9b8-1992-742b-be9c-85d0ebee0591",
            "version": 1,
            "description": null
          },
          "evidence": "category-by-category gatekeeper sweep: retail, media, content",
          "position": 2,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Development",
            "slug": "development",
            "status": "active",
            "canonId": "019dd9b8-0332-7008-b3aa-11b0840a57b1",
            "version": 1,
            "description": "The middle stretch in arcs that have one. Often where length problems creep in."
          },
          "alignedBlockIds": null,
          "matchConfidence": 60
        }
      ],
      "loops": [
        {
          "to": 44,
          "from": 40,
          "loop": {
            "name": "09_precedent",
            "slug": "09-precedent",
            "status": "active",
            "bestFor": "Risk mitigation, strategy validation, building confidence in new approaches",
            "canonId": "019dd956-695f-7615-8f82-39d919918314",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Precedent Case -> What Happened -> The Parallel -> Applied Learning",
            "description": "Use historical or external examples to validate your approach",
            "familyLabel": null
          },
          "matchId": "019dd95a-08f8-7619-ac2e-83470125308a",
          "evidence": "p41 Anker $2bn case, p43-44 Shein 'new bundle and new channel build new global business'",
          "position": 5,
          "objective": "Use Anker/Shein as proof that new channels create new winners",
          "confidence": 75,
          "extraction": {
            "at": "2026-04-29 13:07:29.779839+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 42,
      "type": "setup",
      "title": "The chart illustrates the growth of Shopify relative to Amazon Marketplace.",
      "function": "compare_peers",
      "rawType": "comparison_table",
      "block": null,
      "metadata": {
        "slideType": "comparison_table",
        "slideTypeCanon": {
          "name": "Comparison table",
          "slug": "comparison_table",
          "status": "active",
          "canonId": "019de52d-0a06-73f8-8813-fe022fab1de2",
          "version": 1,
          "description": null
        },
        "function": "compare_peers",
        "functionCanon": {
          "name": "Compare peers",
          "slug": "compare_peers",
          "status": "active",
          "canonId": "019de52d-1453-72ba-a367-9ba3d34c1630",
          "version": 1,
          "description": null
        },
        "density": "dense",
        "densityScore": 52,
        "componentCount": 7,
        "textChars": 310,
        "nDataPoints": 16,
        "notes": "The chart illustrates the growth of Shopify relative to Amazon Marketplace.",
        "elementsJson": [
          "headline_text",
          "subtitle_text",
          "bar_chart_grouped"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:35:38.792+00",
          "seconds": 2.758,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5e88-73ef-bd5d-853951586965/42",
        "deck": "/decks/019dd923-5e88-73ef-bd5d-853951586965",
        "deckAnchor": "/decks/019dd923-5e88-73ef-bd5d-853951586965#slide-42",
        "deckJson": "/decks/019dd923-5e88-73ef-bd5d-853951586965.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "Shopify powered $200bn of sales in 2022 - 45% the size of Amazon Marketplace",
          "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-25 12:08:56+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a10a-6b325381b0ab",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.55,
            "w": 0.73,
            "x": 0.205,
            "y": 0.25
          },
          "kind": "chart",
          "text": "Retail GMV ($bn) comparison between Amazon Marketplace and Shopify",
          "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": "Grouped bar chart",
              "slug": "bar-grouped",
              "status": "active",
              "canonId": "019de52c-ff3b-751e-a8ff-f21ff11097b1",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bar-grouped",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:38.792+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "0c0ae6af-a38e-4281-afa3-27f440cd7b13",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.12,
            "x": 0.03,
            "y": 0.35
          },
          "kind": "legend",
          "text": "Amazon Marketplace; Shopify",
          "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 17:35:38.792+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "c8ad4307-1a6c-4631-9bd9-f2036b98d693",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Retail GMV: $200bn",
          "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-25 12:08:56+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a10a-6de6f891cf87",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.58,
            "x": 0.205,
            "y": 0.12
          },
          "kind": "paragraph",
          "text": "Shopify powered $200bn of sales in 2022 - 45% the size of Amazon Marketplace",
          "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 17:35:38.792+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "f87f22c1-db15-4b3e-a659-99fb5973ba50",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.2,
            "x": 0.205,
            "y": 0.91
          },
          "kind": "source-note",
          "text": "Source: Goldman Sachs, Shopify",
          "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 17:35:38.792+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "105214fd-db19-447c-acd4-8b908154984f",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.045,
            "w": 0.305,
            "x": 0.205,
            "y": 0.05
          },
          "kind": "title",
          "text": "Unbundling Amazon",
          "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 17:35:38.792+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "48c2a91b-6d5d-405d-91ca-07c9d8086a31",
          "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": "019dd95a-1b83-7130-933d-c87b023415f3",
          "evidence": "Title 'Unbundling Amazon' + Shopify $200bn anchor",
          "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": 85,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 42,
          "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": "Concrete Language",
            "slug": "concrete-language",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-bcd4-7398-9723-6aa72346170b",
            "version": 1,
            "bodyDocId": null,
            "description": "Using specific sensory details instead of abstract terms",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Storyteller",
          "layer": "slide",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019dd95a-1b83-7130-933d-ccb0f7efd750",
          "evidence": "$200bn = 45% of Amazon Marketplace, very specific",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 80,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 42,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 69,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 18,
          "name": "The Implications (So What)",
          "beatId": "019dd95a-07a7-7579-bd65-11bd74463cfe",
          "matchId": "019dd95a-0543-7581-99b3-5568450d33ea",
          "beatType": {
            "name": "The Implications (So What)",
            "slug": "triple-take-the-implications-so-what",
            "status": "active",
            "canonId": "019dd9b8-09c7-75cd-8c7b-ae0e23cca2b8",
            "version": 1,
            "description": null
          },
          "evidence": "'The New Gatekeepers' divider p18; retail media, unbundling, brand reset",
          "position": 2,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Reflection",
            "slug": "reflection",
            "status": "active",
            "canonId": "019dd9b8-0510-73fd-8d00-1c7e45f7bc98",
            "version": 1,
            "description": "The \"so what\" beat. Used by analytical arcs (Triple-take, Onion) and learning arcs (Voyage-return, Tragedy)."
          },
          "alignedBlockIds": null,
          "matchConfidence": 82
        },
        {
          "to": 58,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 18,
          "name": "Rising Action",
          "beatId": "019dd95a-07a7-7579-bd65-1d44db232db5",
          "matchId": "019dd95a-0543-7581-99b3-5836e9006609",
          "beatType": {
            "name": "Rising Action",
            "slug": "mountain-rising-action",
            "status": "active",
            "canonId": "019dd9b8-1992-742b-be9c-85d0ebee0591",
            "version": 1,
            "description": null
          },
          "evidence": "category-by-category gatekeeper sweep: retail, media, content",
          "position": 2,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Development",
            "slug": "development",
            "status": "active",
            "canonId": "019dd9b8-0332-7008-b3aa-11b0840a57b1",
            "version": 1,
            "description": "The middle stretch in arcs that have one. Often where length problems creep in."
          },
          "alignedBlockIds": null,
          "matchConfidence": 60
        }
      ],
      "loops": [
        {
          "to": 44,
          "from": 40,
          "loop": {
            "name": "09_precedent",
            "slug": "09-precedent",
            "status": "active",
            "bestFor": "Risk mitigation, strategy validation, building confidence in new approaches",
            "canonId": "019dd956-695f-7615-8f82-39d919918314",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Precedent Case -> What Happened -> The Parallel -> Applied Learning",
            "description": "Use historical or external examples to validate your approach",
            "familyLabel": null
          },
          "matchId": "019dd95a-08f8-7619-ac2e-83470125308a",
          "evidence": "p41 Anker $2bn case, p43-44 Shein 'new bundle and new channel build new global business'",
          "position": 5,
          "objective": "Use Anker/Shein as proof that new channels create new winners",
          "confidence": 75,
          "extraction": {
            "at": "2026-04-29 13:07:29.779839+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 43,
      "type": "analysis",
      "title": "The chart illustrates the disruption of traditional fast fashion incumbents by a digital-native competitor.",
      "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": 42,
        "componentCount": 7,
        "textChars": 268,
        "nDataPoints": 0,
        "notes": "The chart illustrates the disruption of traditional fast fashion incumbents by a digital-native competitor.",
        "elementsJson": [
          "line_chart"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:35:38.502+00",
          "seconds": 2.448,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5e88-73ef-bd5d-853951586965/43",
        "deck": "/decks/019dd923-5e88-73ef-bd5d-853951586965",
        "deckAnchor": "/decks/019dd923-5e88-73ef-bd5d-853951586965#slide-43",
        "deckJson": "/decks/019dd923-5e88-73ef-bd5d-853951586965.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "A Chinese smartphone-only fast fashion brand overtakes the market leaders?",
          "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-25 12:09:00+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a10d-031ee2cc13f8",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.5,
            "w": 0.7,
            "x": 0.205,
            "y": 0.25
          },
          "kind": "chart",
          "text": "Worldwide relative search interest",
          "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": "Line chart",
              "slug": "line",
              "status": "active",
              "canonId": "019de52c-ff62-778f-8f6c-a952ceae8677",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "line",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:38.502+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "8fcecb25-44f7-43f8-abaa-16babcc581df",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.1,
            "w": 0.1,
            "x": 0.05,
            "y": 0.35
          },
          "kind": "legend",
          "text": "Zara, H&M, Shein",
          "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 17:35:38.502+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "76b971df-2dea-44ce-b2a1-e5bb077a6705",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Relative search interest",
          "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-25 12:09:00+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a10d-05636b60a153",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.15,
            "x": 0.205,
            "y": 0.9
          },
          "kind": "source-note",
          "text": "Source: Google Trends",
          "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 17:35:38.502+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "b922b8bc-79cc-4077-902d-0216e6888d73",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.6,
            "x": 0.205,
            "y": 0.12
          },
          "kind": "title",
          "text": "A Chinese smartphone-only fast fashion brand overtakes the market leaders?",
          "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 17:35:38.502+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "058f114d-a498-4e41-bfba-a45cb3ee48d2",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.35,
            "x": 0.205,
            "y": 0.05
          },
          "kind": "title",
          "text": "New channels, new winners",
          "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 17:35:38.502+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "6e322ce2-ffa6-46f1-ae34-e38f55829199",
          "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": "019dd95a-1b83-7130-933d-d3682eb24a09",
          "evidence": "Question subhead about Chinese smartphone-only brand overtaking leaders",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 70,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 43,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Audience Definition",
            "slug": "audience-definition",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-7f2a-775d-aeee-ff099bcb7756",
            "version": 1,
            "bodyDocId": null,
            "description": "Six key questions: Who are they? What do they know? What do they believe? What do they care about? What do they fear? What decisions can they make?",
            "familyLabel": null,
            "categoryName": "Block",
            "categorySlug": "block"
          },
          "agent": "Storyteller",
          "layer": "slide",
          "agents": [
            "Storyteller"
          ],
          "matchId": "10877577-5568-4382-90ee-add77b3f71ab",
          "evidence": "The slide is about understanding the audience for a new Chinese smartphone-only fast fashion brand.",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": null,
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 21:59:20.71826+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 43,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 69,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 18,
          "name": "The Implications (So What)",
          "beatId": "019dd95a-07a7-7579-bd65-11bd74463cfe",
          "matchId": "019dd95a-0543-7581-99b3-5568450d33ea",
          "beatType": {
            "name": "The Implications (So What)",
            "slug": "triple-take-the-implications-so-what",
            "status": "active",
            "canonId": "019dd9b8-09c7-75cd-8c7b-ae0e23cca2b8",
            "version": 1,
            "description": null
          },
          "evidence": "'The New Gatekeepers' divider p18; retail media, unbundling, brand reset",
          "position": 2,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Reflection",
            "slug": "reflection",
            "status": "active",
            "canonId": "019dd9b8-0510-73fd-8d00-1c7e45f7bc98",
            "version": 1,
            "description": "The \"so what\" beat. Used by analytical arcs (Triple-take, Onion) and learning arcs (Voyage-return, Tragedy)."
          },
          "alignedBlockIds": null,
          "matchConfidence": 82
        },
        {
          "to": 58,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 18,
          "name": "Rising Action",
          "beatId": "019dd95a-07a7-7579-bd65-1d44db232db5",
          "matchId": "019dd95a-0543-7581-99b3-5836e9006609",
          "beatType": {
            "name": "Rising Action",
            "slug": "mountain-rising-action",
            "status": "active",
            "canonId": "019dd9b8-1992-742b-be9c-85d0ebee0591",
            "version": 1,
            "description": null
          },
          "evidence": "category-by-category gatekeeper sweep: retail, media, content",
          "position": 2,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Development",
            "slug": "development",
            "status": "active",
            "canonId": "019dd9b8-0332-7008-b3aa-11b0840a57b1",
            "version": 1,
            "description": "The middle stretch in arcs that have one. Often where length problems creep in."
          },
          "alignedBlockIds": null,
          "matchConfidence": 60
        }
      ],
      "loops": [
        {
          "to": 44,
          "from": 40,
          "loop": {
            "name": "09_precedent",
            "slug": "09-precedent",
            "status": "active",
            "bestFor": "Risk mitigation, strategy validation, building confidence in new approaches",
            "canonId": "019dd956-695f-7615-8f82-39d919918314",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Precedent Case -> What Happened -> The Parallel -> Applied Learning",
            "description": "Use historical or external examples to validate your approach",
            "familyLabel": null
          },
          "matchId": "019dd95a-08f8-7619-ac2e-83470125308a",
          "evidence": "p41 Anker $2bn case, p43-44 Shein 'new bundle and new channel build new global business'",
          "position": 5,
          "objective": "Use Anker/Shein as proof that new channels create new winners",
          "confidence": 75,
          "extraction": {
            "at": "2026-04-29 13:07:29.779839+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 44,
      "type": "analysis",
      "title": "The chart highlights Shein's rapid revenue growth starting from 2018, contrasting with the more stable or fluctuating growth of traditional fast fashion retaile",
      "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": "dense",
        "densityScore": 50,
        "componentCount": 7,
        "textChars": 255,
        "nDataPoints": 30,
        "notes": "The chart highlights Shein's rapid revenue growth starting from 2018, contrasting with the more stable or fluctuating growth of traditional fast fashion retailers.",
        "elementsJson": [
          "headline_text",
          "subtitle_text",
          "line_chart"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:35:41.824+00",
          "seconds": 5.37,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5e88-73ef-bd5d-853951586965/44",
        "deck": "/decks/019dd923-5e88-73ef-bd5d-853951586965",
        "deckAnchor": "/decks/019dd923-5e88-73ef-bd5d-853951586965#slide-44",
        "deckJson": "/decks/019dd923-5e88-73ef-bd5d-853951586965.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "A new bundle and a new channel build a new global fast fashion business",
          "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-25 12:08:59+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a10c-5a421d06e004",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.6,
            "w": 0.75,
            "x": 0.205,
            "y": 0.25
          },
          "kind": "chart",
          "text": "Global retail revenue ($bn)",
          "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": "Line chart",
              "slug": "line",
              "status": "active",
              "canonId": "019de52c-ff62-778f-8f6c-a952ceae8677",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "line",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:41.824+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "bcbe1819-b937-4dc6-acde-9c5d060f644f",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.1,
            "w": 0.1,
            "x": 0.02,
            "y": 0.34
          },
          "kind": "legend",
          "text": "Inditex (Zara), H&M, Shein",
          "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 17:35:41.824+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "5392b221-172c-487e-b657-98a51ec65c39",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Global retail revenue",
          "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-25 12:08:59+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a10c-5d892d657578",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.15,
            "x": 0.205,
            "y": 0.9
          },
          "kind": "source-note",
          "text": "Source: WSJ, Companies",
          "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 17:35:41.824+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "20f0df01-05d1-4da6-b263-00ebf00e1c16",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.6,
            "x": 0.205,
            "y": 0.12
          },
          "kind": "title",
          "text": "A new bundle and a new channel build a new global fast fashion business",
          "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 17:35:41.824+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "3af68e20-7f3f-44d1-850d-d870aa2bfa00",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.25,
            "x": 0.205,
            "y": 0.05
          },
          "kind": "title",
          "text": "Shein goes direct",
          "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 17:35:41.824+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "3cbe4f1d-6956-4ea3-9c18-36ff3c3a7b14",
          "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": "019dd95a-1b83-7130-933d-d58e707589b2",
          "evidence": "Subhead 'new bundle and new channel build new global business'",
          "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": 85,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 44,
          "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": "Audience Definition",
            "slug": "audience-definition",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-7f2a-775d-aeee-ff099bcb7756",
            "version": 1,
            "bodyDocId": null,
            "description": "Six key questions: Who are they? What do they know? What do they believe? What do they care about? What do they fear? What decisions can they make?",
            "familyLabel": null,
            "categoryName": "Block",
            "categorySlug": "block"
          },
          "agent": "Storyteller",
          "layer": "slide",
          "agents": [
            "Storyteller"
          ],
          "matchId": "ace9e024-7924-4bf9-8541-fbf9def69c04",
          "evidence": "The slide provides data on global retail revenue for Inditex (Zara), H&M, and Shein, indicating a focus on the audience for these brands.",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": null,
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 21:59:20.792063+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 44,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Sinatra Test",
            "slug": "sinatra-test",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-be4a-775f-8038-d4e7e58dfc5a",
            "version": 1,
            "bodyDocId": null,
            "description": "If you can make it there, you can make it anywhere - using flagship example",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Storyteller",
          "layer": "slide",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019dd95a-1b83-7130-933d-d98407f32bae",
          "evidence": "Shein as proof case for the thesis",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 70,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 44,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 69,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 18,
          "name": "The Implications (So What)",
          "beatId": "019dd95a-07a7-7579-bd65-11bd74463cfe",
          "matchId": "019dd95a-0543-7581-99b3-5568450d33ea",
          "beatType": {
            "name": "The Implications (So What)",
            "slug": "triple-take-the-implications-so-what",
            "status": "active",
            "canonId": "019dd9b8-09c7-75cd-8c7b-ae0e23cca2b8",
            "version": 1,
            "description": null
          },
          "evidence": "'The New Gatekeepers' divider p18; retail media, unbundling, brand reset",
          "position": 2,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Reflection",
            "slug": "reflection",
            "status": "active",
            "canonId": "019dd9b8-0510-73fd-8d00-1c7e45f7bc98",
            "version": 1,
            "description": "The \"so what\" beat. Used by analytical arcs (Triple-take, Onion) and learning arcs (Voyage-return, Tragedy)."
          },
          "alignedBlockIds": null,
          "matchConfidence": 82
        },
        {
          "to": 58,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 18,
          "name": "Rising Action",
          "beatId": "019dd95a-07a7-7579-bd65-1d44db232db5",
          "matchId": "019dd95a-0543-7581-99b3-5836e9006609",
          "beatType": {
            "name": "Rising Action",
            "slug": "mountain-rising-action",
            "status": "active",
            "canonId": "019dd9b8-1992-742b-be9c-85d0ebee0591",
            "version": 1,
            "description": null
          },
          "evidence": "category-by-category gatekeeper sweep: retail, media, content",
          "position": 2,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Development",
            "slug": "development",
            "status": "active",
            "canonId": "019dd9b8-0332-7008-b3aa-11b0840a57b1",
            "version": 1,
            "description": "The middle stretch in arcs that have one. Often where length problems creep in."
          },
          "alignedBlockIds": null,
          "matchConfidence": 60
        }
      ],
      "loops": [
        {
          "to": 44,
          "from": 40,
          "loop": {
            "name": "09_precedent",
            "slug": "09-precedent",
            "status": "active",
            "bestFor": "Risk mitigation, strategy validation, building confidence in new approaches",
            "canonId": "019dd956-695f-7615-8f82-39d919918314",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Precedent Case -> What Happened -> The Parallel -> Applied Learning",
            "description": "Use historical or external examples to validate your approach",
            "familyLabel": null
          },
          "matchId": "019dd95a-08f8-7619-ac2e-83470125308a",
          "evidence": "p41 Anker $2bn case, p43-44 Shein 'new bundle and new channel build new global business'",
          "position": 5,
          "objective": "Use Anker/Shein as proof that new channels create new winners",
          "confidence": 75,
          "extraction": {
            "at": "2026-04-29 13:07:29.779839+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 45,
      "type": "setup",
      "title": "The slide uses a process-like flow to show the evolution from traditional fast fashion (Zara) to internet-native fast fashion (Shein).",
      "function": "compare_options",
      "rawType": "comparison_table",
      "block": null,
      "metadata": {
        "slideType": "comparison_table",
        "slideTypeCanon": {
          "name": "Comparison table",
          "slug": "comparison_table",
          "status": "active",
          "canonId": "019de52d-0a06-73f8-8813-fe022fab1de2",
          "version": 1,
          "description": null
        },
        "function": "compare_options",
        "functionCanon": {
          "name": "Compare options",
          "slug": "compare_options",
          "status": "active",
          "canonId": "019de52d-167f-7038-aebc-70a9d2e0e33b",
          "version": 1,
          "description": null
        },
        "density": "balanced",
        "densityScore": 31,
        "componentCount": 5,
        "textChars": 274,
        "nDataPoints": 4,
        "notes": "The slide uses a process-like flow to show the evolution from traditional fast fashion (Zara) to internet-native fast fashion (Shein).",
        "elementsJson": [
          "headline_text",
          "subtitle_text",
          "process_diagram"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:35:39.011+00",
          "seconds": 2.48,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5e88-73ef-bd5d-853951586965/45",
        "deck": "/decks/019dd923-5e88-73ef-bd5d-853951586965",
        "deckAnchor": "/decks/019dd923-5e88-73ef-bd5d-853951586965#slide-45",
        "deckJson": "/decks/019dd923-5e88-73ef-bd5d-853951586965.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "New channels + new tech = new SKUs",
          "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-25 12:08:59+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a10c-75661f494273",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.45,
            "w": 0.79,
            "x": 0.205,
            "y": 0.35
          },
          "kind": "diagram",
          "text": "Zara (20-25k new products/year, 2k stores) -> Shein (5-10k new products/day, No stores) -> Short-run, on-demand production and a huge ad budget",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Diagram",
              "slug": "diagram",
              "status": "active",
              "canonId": "019de52c-f9f0-734a-81de-15382ff28c65",
              "version": 1,
              "description": "Schematic or relational diagram."
            },
            "tool": null,
            "subkind": {
              "name": "Process flow",
              "slug": "process",
              "status": "active",
              "canonId": "019de52d-039c-718f-ad3a-efe9c4b3c838",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "process",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:39.011+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "b08f7065-8d44-4e43-8bd4-0496cac99fcf",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "new products: 5-10k",
          "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-25 12:08:59+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a10c-79c50a7ecee3",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.35,
            "x": 0.205,
            "y": 0.13
          },
          "kind": "title",
          "text": "New channels + new tech = new SKUs",
          "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 17:35:39.011+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "3b3175a1-2926-4da8-95ea-d7fa42aca029",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.59,
            "x": 0.205,
            "y": 0.05
          },
          "kind": "title",
          "text": "What does internet-native fast fashion mean?",
          "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 17:35:39.011+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "26508698-5e6e-46e6-9366-8d7ad31e8b56",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "Anaphora",
            "slug": "anaphora",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-9fee-74aa-a920-078aa44132c0",
            "version": 1,
            "bodyDocId": null,
            "description": "Repeating words at the beginning of successive clauses for rhythm",
            "familyLabel": null,
            "categoryName": "Loop",
            "categorySlug": "loop"
          },
          "agent": "Storyteller",
          "layer": "loop",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019dd95a-1b83-7130-933d-e3744ecc60cd",
          "evidence": "Same subhead repeated p45-47",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 80,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 45,
          "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": "019dd95a-1b83-7130-933d-dc2a6b91758e",
          "evidence": "Subhead 'New channels + new tech = new SKUs' is the formula",
          "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": 88,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 45,
          "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": "Comparison frame",
            "slug": "comparison-frame",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd9e1-484b-7399-a4fc-d14644b99f93",
            "version": 1,
            "bodyDocId": null,
            "description": "Two or more states/subjects placed side by side to expose a gap.",
            "familyLabel": null,
            "categoryName": null,
            "categorySlug": null
          },
          "agent": null,
          "layer": "slide",
          "agents": null,
          "matchId": "ca992600-852b-4e0b-a219-b43839935beb",
          "evidence": "The slide compares Zara and Shein using a table, highlighting differences in their product offerings and business models.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.8,
          "extraction": {
            "at": "2026-07-16 21:59:20.861205+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 45,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": "common",
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 69,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 18,
          "name": "The Implications (So What)",
          "beatId": "019dd95a-07a7-7579-bd65-11bd74463cfe",
          "matchId": "019dd95a-0543-7581-99b3-5568450d33ea",
          "beatType": {
            "name": "The Implications (So What)",
            "slug": "triple-take-the-implications-so-what",
            "status": "active",
            "canonId": "019dd9b8-09c7-75cd-8c7b-ae0e23cca2b8",
            "version": 1,
            "description": null
          },
          "evidence": "'The New Gatekeepers' divider p18; retail media, unbundling, brand reset",
          "position": 2,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Reflection",
            "slug": "reflection",
            "status": "active",
            "canonId": "019dd9b8-0510-73fd-8d00-1c7e45f7bc98",
            "version": 1,
            "description": "The \"so what\" beat. Used by analytical arcs (Triple-take, Onion) and learning arcs (Voyage-return, Tragedy)."
          },
          "alignedBlockIds": null,
          "matchConfidence": 82
        },
        {
          "to": 58,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 18,
          "name": "Rising Action",
          "beatId": "019dd95a-07a7-7579-bd65-1d44db232db5",
          "matchId": "019dd95a-0543-7581-99b3-5836e9006609",
          "beatType": {
            "name": "Rising Action",
            "slug": "mountain-rising-action",
            "status": "active",
            "canonId": "019dd9b8-1992-742b-be9c-85d0ebee0591",
            "version": 1,
            "description": null
          },
          "evidence": "category-by-category gatekeeper sweep: retail, media, content",
          "position": 2,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Development",
            "slug": "development",
            "status": "active",
            "canonId": "019dd9b8-0332-7008-b3aa-11b0840a57b1",
            "version": 1,
            "description": "The middle stretch in arcs that have one. Often where length problems creep in."
          },
          "alignedBlockIds": null,
          "matchConfidence": 60
        }
      ],
      "loops": [
        {
          "to": 50,
          "from": 45,
          "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": "019dd95a-08f8-7619-ac2e-86e8448e4a9e",
          "evidence": "Same title repeated p45-47; UPCs, cable, streaming all unlocked slots",
          "position": 6,
          "objective": "Show 'new channels + new tech = new SKUs' pattern across retail/cable/streaming",
          "confidence": 80,
          "extraction": {
            "at": "2026-04-29 13:07:29.779839+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 46,
      "type": "analysis",
      "title": "The chart illustrates the impact of technology (UPCs, barcodes, computers) on retail inventory management.",
      "function": "establish_context",
      "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": "establish_context",
        "functionCanon": {
          "name": "Establish context",
          "slug": "establish_context",
          "status": "active",
          "canonId": "019de52d-1314-74e6-9074-d213dc0bdcdf",
          "version": 1,
          "description": null
        },
        "density": "balanced",
        "densityScore": 39,
        "componentCount": 6,
        "textChars": 282,
        "nDataPoints": 1,
        "notes": "The chart illustrates the impact of technology (UPCs, barcodes, computers) on retail inventory management.",
        "elementsJson": [
          "headline_text",
          "paragraph",
          "line_chart"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:35:41.877+00",
          "seconds": 5.223,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5e88-73ef-bd5d-853951586965/46",
        "deck": "/decks/019dd923-5e88-73ef-bd5d-853951586965",
        "deckAnchor": "/decks/019dd923-5e88-73ef-bd5d-853951586965#slide-46",
        "deckJson": "/decks/019dd923-5e88-73ef-bd5d-853951586965.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "In the 1970s and 80s, UPCs, barcodes and computers let retailers manage vastly more SKUs",
          "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-25 12:08:58+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a10b-be4e0763972d",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.55,
            "w": 0.7,
            "x": 0.15,
            "y": 0.25
          },
          "kind": "chart",
          "text": "Average SKUs per supermarket, USA",
          "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": "Line chart",
              "slug": "line",
              "status": "active",
              "canonId": "019de52c-ff62-778f-8f6c-a952ceae8677",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "line",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:41.877+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "077acc09-82da-44a0-8279-20a53d1e1002",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Average SKUs per supermarket",
          "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-25 12:08:58+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a10b-c1af9c5fdfd4",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.65,
            "x": 0.205,
            "y": 0.12
          },
          "kind": "paragraph",
          "text": "In the 1970s and 80s, UPCs, barcodes and computers let retailers manage vastly more SKUs",
          "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 17:35:41.877+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "114e6ff8-d2b4-47f1-ae09-d79335e03e91",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.05,
            "x": 0.205,
            "y": 0.91
          },
          "kind": "source-note",
          "text": "Source: FMI",
          "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 17:35:41.877+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "c5186510-f3cf-49a4-b97d-1a887039feb9",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.59,
            "x": 0.205,
            "y": 0.05
          },
          "kind": "title",
          "text": "New channels + new tech = new SKUs",
          "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 17:35:41.877+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "a664f274-cbb0-4851-b1c5-b645111e5963",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "Anaphora",
            "slug": "anaphora",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-9fee-74aa-a920-078aa44132c0",
            "version": 1,
            "bodyDocId": null,
            "description": "Repeating words at the beginning of successive clauses for rhythm",
            "familyLabel": null,
            "categoryName": "Loop",
            "categorySlug": "loop"
          },
          "agent": "Storyteller",
          "layer": "loop",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019dd95a-1b83-7130-933d-e49981927f62",
          "evidence": "Repeats 'New channels + new tech = new SKUs' subhead",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 78,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 46,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Analytical method",
            "slug": "analytical-method",
            "status": "active",
            "bestFor": null,
            "canonId": "b42c4911-7946-49b5-951c-5f3d23f4e2bd",
            "version": 1,
            "bodyDocId": null,
            "description": "Diagnostic / structuring methods (5-whys, fishbone, issue tree, hypothesis-driven).",
            "familyLabel": null,
            "categoryName": null,
            "categorySlug": null
          },
          "agent": null,
          "layer": "slide",
          "agents": null,
          "matchId": "9ff48e9b-f1c1-4e79-ad30-718c8eb842c2",
          "evidence": "The slide uses historical data on SKUs per supermarket to illustrate the impact of new technology on product offerings.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.6,
          "extraction": {
            "at": "2026-07-16 21:59:20.929764+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 46,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": "common",
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 69,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 18,
          "name": "The Implications (So What)",
          "beatId": "019dd95a-07a7-7579-bd65-11bd74463cfe",
          "matchId": "019dd95a-0543-7581-99b3-5568450d33ea",
          "beatType": {
            "name": "The Implications (So What)",
            "slug": "triple-take-the-implications-so-what",
            "status": "active",
            "canonId": "019dd9b8-09c7-75cd-8c7b-ae0e23cca2b8",
            "version": 1,
            "description": null
          },
          "evidence": "'The New Gatekeepers' divider p18; retail media, unbundling, brand reset",
          "position": 2,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Reflection",
            "slug": "reflection",
            "status": "active",
            "canonId": "019dd9b8-0510-73fd-8d00-1c7e45f7bc98",
            "version": 1,
            "description": "The \"so what\" beat. Used by analytical arcs (Triple-take, Onion) and learning arcs (Voyage-return, Tragedy)."
          },
          "alignedBlockIds": null,
          "matchConfidence": 82
        },
        {
          "to": 58,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 18,
          "name": "Rising Action",
          "beatId": "019dd95a-07a7-7579-bd65-1d44db232db5",
          "matchId": "019dd95a-0543-7581-99b3-5836e9006609",
          "beatType": {
            "name": "Rising Action",
            "slug": "mountain-rising-action",
            "status": "active",
            "canonId": "019dd9b8-1992-742b-be9c-85d0ebee0591",
            "version": 1,
            "description": null
          },
          "evidence": "category-by-category gatekeeper sweep: retail, media, content",
          "position": 2,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Development",
            "slug": "development",
            "status": "active",
            "canonId": "019dd9b8-0332-7008-b3aa-11b0840a57b1",
            "version": 1,
            "description": "The middle stretch in arcs that have one. Often where length problems creep in."
          },
          "alignedBlockIds": null,
          "matchConfidence": 60
        }
      ],
      "loops": [
        {
          "to": 50,
          "from": 45,
          "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": "019dd95a-08f8-7619-ac2e-86e8448e4a9e",
          "evidence": "Same title repeated p45-47; UPCs, cable, streaming all unlocked slots",
          "position": 6,
          "objective": "Show 'new channels + new tech = new SKUs' pattern across retail/cable/streaming",
          "confidence": 80,
          "extraction": {
            "at": "2026-04-29 13:07:29.779839+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 47,
      "type": "analysis",
      "title": "The chart illustrates the shift from broadcast/cable dominance to the proliferation of streaming content.",
      "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": "dense",
        "densityScore": 52,
        "componentCount": 7,
        "textChars": 285,
        "nDataPoints": 92,
        "notes": "The chart illustrates the shift from broadcast/cable dominance to the proliferation of streaming content.",
        "elementsJson": [
          "headline_text",
          "subtitle_text",
          "bar_chart_stacked"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:35:39.271+00",
          "seconds": 2.605,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5e88-73ef-bd5d-853951586965/47",
        "deck": "/decks/019dd923-5e88-73ef-bd5d-853951586965",
        "deckAnchor": "/decks/019dd923-5e88-73ef-bd5d-853951586965#slide-47",
        "deckJson": "/decks/019dd923-5e88-73ef-bd5d-853951586965.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "Cable unlocked channel slots, and then streaming unlocked time slots",
          "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-25 12:08:58+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a10b-d86c2b84b22a",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.6,
            "w": 0.9,
            "x": 0.05,
            "y": 0.25
          },
          "kind": "chart",
          "text": "New US original TV series",
          "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": "Stacked bar chart",
              "slug": "bar-stacked",
              "status": "active",
              "canonId": "019de52c-feec-74bf-9028-15b74f84f0a7",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bar-stacked",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:39.271+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "129641ab-8d72-4ca7-be92-f976c4ddfd8c",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.1,
            "x": 0.05,
            "y": 0.35
          },
          "kind": "legend",
          "text": "Other streaming\nNetflix\nCable\nBroadcast",
          "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 17:35:39.271+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "b7ee0cf1-a7e8-4129-909e-b44cbf90fa4f",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Number of original TV series: 2,000",
          "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-25 12:08:58+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a10b-ddc059b45fb3",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.1,
            "x": 0.205,
            "y": 0.91
          },
          "kind": "source-note",
          "text": "Source: Luminate",
          "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 17:35:39.271+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "d38ab9e1-ca24-416e-a1f3-fed9f0ef0554",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.04,
            "w": 0.59,
            "x": 0.205,
            "y": 0.05
          },
          "kind": "title",
          "text": "New channels + new tech = new SKUs",
          "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 17:35:39.271+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "5103e505-2c57-44f1-bc44-1adb15a68b09",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.6,
            "x": 0.205,
            "y": 0.13
          },
          "kind": "title",
          "text": "Cable unlocked channel slots, and then streaming unlocked time slots",
          "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": "Subtitle",
              "slug": "subtitle",
              "status": "active",
              "canonId": "019de52c-fb09-739d-900c-815b0d9ac526",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "subtitle",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:39.271+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "eb98f90f-7d37-46cb-b618-1aa924d95e15",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "Anaphora",
            "slug": "anaphora",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-9fee-74aa-a920-078aa44132c0",
            "version": 1,
            "bodyDocId": null,
            "description": "Repeating words at the beginning of successive clauses for rhythm",
            "familyLabel": null,
            "categoryName": "Loop",
            "categorySlug": "loop"
          },
          "agent": "Storyteller",
          "layer": "loop",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019dd95a-1b83-7130-933d-ea290768bc39",
          "evidence": "Third repetition of the 'new channels + new tech' formula",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 78,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 47,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Analytical method",
            "slug": "analytical-method",
            "status": "active",
            "bestFor": null,
            "canonId": "b42c4911-7946-49b5-951c-5f3d23f4e2bd",
            "version": 1,
            "bodyDocId": null,
            "description": "Diagnostic / structuring methods (5-whys, fishbone, issue tree, hypothesis-driven).",
            "familyLabel": null,
            "categoryName": null,
            "categorySlug": null
          },
          "agent": null,
          "layer": "slide",
          "agents": null,
          "matchId": "935cf7d7-7e85-4cff-bee0-649731d7cfce",
          "evidence": "The slide uses a chart to show the growth of new TV series, illustrating the impact of new channels and technology.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.6,
          "extraction": {
            "at": "2026-07-16 21:59:20.996921+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 47,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": "common",
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 69,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 18,
          "name": "The Implications (So What)",
          "beatId": "019dd95a-07a7-7579-bd65-11bd74463cfe",
          "matchId": "019dd95a-0543-7581-99b3-5568450d33ea",
          "beatType": {
            "name": "The Implications (So What)",
            "slug": "triple-take-the-implications-so-what",
            "status": "active",
            "canonId": "019dd9b8-09c7-75cd-8c7b-ae0e23cca2b8",
            "version": 1,
            "description": null
          },
          "evidence": "'The New Gatekeepers' divider p18; retail media, unbundling, brand reset",
          "position": 2,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Reflection",
            "slug": "reflection",
            "status": "active",
            "canonId": "019dd9b8-0510-73fd-8d00-1c7e45f7bc98",
            "version": 1,
            "description": "The \"so what\" beat. Used by analytical arcs (Triple-take, Onion) and learning arcs (Voyage-return, Tragedy)."
          },
          "alignedBlockIds": null,
          "matchConfidence": 82
        },
        {
          "to": 58,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 18,
          "name": "Rising Action",
          "beatId": "019dd95a-07a7-7579-bd65-1d44db232db5",
          "matchId": "019dd95a-0543-7581-99b3-5836e9006609",
          "beatType": {
            "name": "Rising Action",
            "slug": "mountain-rising-action",
            "status": "active",
            "canonId": "019dd9b8-1992-742b-be9c-85d0ebee0591",
            "version": 1,
            "description": null
          },
          "evidence": "category-by-category gatekeeper sweep: retail, media, content",
          "position": 2,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Development",
            "slug": "development",
            "status": "active",
            "canonId": "019dd9b8-0332-7008-b3aa-11b0840a57b1",
            "version": 1,
            "description": "The middle stretch in arcs that have one. Often where length problems creep in."
          },
          "alignedBlockIds": null,
          "matchConfidence": 60
        }
      ],
      "loops": [
        {
          "to": 50,
          "from": 45,
          "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": "019dd95a-08f8-7619-ac2e-86e8448e4a9e",
          "evidence": "Same title repeated p45-47; UPCs, cable, streaming all unlocked slots",
          "position": 6,
          "objective": "Show 'new channels + new tech = new SKUs' pattern across retail/cable/streaming",
          "confidence": 80,
          "extraction": {
            "at": "2026-04-29 13:07:29.779839+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 48,
      "type": "analysis",
      "title": "The chart shows a long-term downward trend in the reach of the most popular TV shows.",
      "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": 41,
        "componentCount": 6,
        "textChars": 207,
        "nDataPoints": 70,
        "notes": "The chart shows a long-term downward trend in the reach of the most popular TV shows.",
        "elementsJson": [
          "headline_text",
          "line_chart"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:35:42.489+00",
          "seconds": 5.788,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5e88-73ef-bd5d-853951586965/48",
        "deck": "/decks/019dd923-5e88-73ef-bd5d-853951586965",
        "deckAnchor": "/decks/019dd923-5e88-73ef-bd5d-853951586965#slide-48",
        "deckJson": "/decks/019dd923-5e88-73ef-bd5d-853951586965.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.48,
            "w": 0.77,
            "x": 0.19,
            "y": 0.34
          },
          "kind": "chart",
          "text": "Line chart showing declining Nielsen ratings over time",
          "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": "Line chart",
              "slug": "line",
              "status": "active",
              "canonId": "019de52c-ff62-778f-8f6c-a952ceae8677",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "line",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:42.489+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "e6084f4b-ae67-454c-91de-5d7533bbed28",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Nielsen rating",
          "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-25 12:08:59+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a10c-124be376e992",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.45,
            "x": 0.205,
            "y": 0.27
          },
          "kind": "paragraph",
          "text": "Nielsen rating for top-rated US TV show by year (% of TV households viewing)",
          "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 17:35:42.489+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "9ecbf92e-1721-4507-9e5e-0b9ee88cc6cb",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.08,
            "x": 0.205,
            "y": 0.91
          },
          "kind": "source-note",
          "text": "Source: Nielsen",
          "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 17:35:42.489+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "010cb6bb-cd54-4583-87ae-a87d7222b3ad",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.04,
            "w": 0.21,
            "x": 0.205,
            "y": 0.05
          },
          "kind": "title",
          "text": "Fragmentation",
          "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 17:35:42.489+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "fd07ab9e-832e-4b39-89cd-1fdea418bee9",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.26,
            "x": 0.205,
            "y": 0.13
          },
          "kind": "title",
          "text": "(So how do you know what to watch?)",
          "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": "Subtitle",
              "slug": "subtitle",
              "status": "active",
              "canonId": "019de52c-fb09-739d-900c-815b0d9ac526",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "subtitle",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:42.489+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "680615d2-ca5b-4d61-956c-4d8ae6423ee1",
          "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": "019dd95a-1b83-7130-933d-ee8517934e8b",
          "evidence": "Title 'Fragmentation' names the pattern",
          "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": 70,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 48,
          "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."
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 69,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 18,
          "name": "The Implications (So What)",
          "beatId": "019dd95a-07a7-7579-bd65-11bd74463cfe",
          "matchId": "019dd95a-0543-7581-99b3-5568450d33ea",
          "beatType": {
            "name": "The Implications (So What)",
            "slug": "triple-take-the-implications-so-what",
            "status": "active",
            "canonId": "019dd9b8-09c7-75cd-8c7b-ae0e23cca2b8",
            "version": 1,
            "description": null
          },
          "evidence": "'The New Gatekeepers' divider p18; retail media, unbundling, brand reset",
          "position": 2,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Reflection",
            "slug": "reflection",
            "status": "active",
            "canonId": "019dd9b8-0510-73fd-8d00-1c7e45f7bc98",
            "version": 1,
            "description": "The \"so what\" beat. Used by analytical arcs (Triple-take, Onion) and learning arcs (Voyage-return, Tragedy)."
          },
          "alignedBlockIds": null,
          "matchConfidence": 82
        },
        {
          "to": 58,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 18,
          "name": "Rising Action",
          "beatId": "019dd95a-07a7-7579-bd65-1d44db232db5",
          "matchId": "019dd95a-0543-7581-99b3-5836e9006609",
          "beatType": {
            "name": "Rising Action",
            "slug": "mountain-rising-action",
            "status": "active",
            "canonId": "019dd9b8-1992-742b-be9c-85d0ebee0591",
            "version": 1,
            "description": null
          },
          "evidence": "category-by-category gatekeeper sweep: retail, media, content",
          "position": 2,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Development",
            "slug": "development",
            "status": "active",
            "canonId": "019dd9b8-0332-7008-b3aa-11b0840a57b1",
            "version": 1,
            "description": "The middle stretch in arcs that have one. Often where length problems creep in."
          },
          "alignedBlockIds": null,
          "matchConfidence": 60
        }
      ],
      "loops": [
        {
          "to": 50,
          "from": 45,
          "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": "019dd95a-08f8-7619-ac2e-86e8448e4a9e",
          "evidence": "Same title repeated p45-47; UPCs, cable, streaming all unlocked slots",
          "position": 6,
          "objective": "Show 'new channels + new tech = new SKUs' pattern across retail/cable/streaming",
          "confidence": 80,
          "extraction": {
            "at": "2026-04-29 13:07:29.779839+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 49,
      "type": "analysis",
      "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": 46,
        "componentCount": 7,
        "textChars": 257,
        "nDataPoints": 3,
        "notes": null,
        "elementsJson": [
          "headline_text",
          "subtitle_text",
          "line_chart"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:35:39.536+00",
          "seconds": 2.749,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5e88-73ef-bd5d-853951586965/49",
        "deck": "/decks/019dd923-5e88-73ef-bd5d-853951586965",
        "deckAnchor": "/decks/019dd923-5e88-73ef-bd5d-853951586965#slide-49",
        "deckJson": "/decks/019dd923-5e88-73ef-bd5d-853951586965.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "US pay TV penetration is down a third from the peak.",
          "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-25 12:08:59+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a10c-3e674a3b9dda",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.55,
            "w": 0.75,
            "x": 0.204,
            "y": 0.26
          },
          "kind": "chart",
          "text": "US TV household penetration",
          "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": "Line chart",
              "slug": "line",
              "status": "active",
              "canonId": "019de52c-ff62-778f-8f6c-a952ceae8677",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "line",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:39.536+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "b390dddf-b1cb-4bf6-b25a-845007858524",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.4,
            "x": 0.204,
            "y": 0.91
          },
          "kind": "disclaimer",
          "text": "Source: Companies, FCC, US Census, Netflix, Benedict Evans",
          "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 17:35:39.536+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "8eac9816-eabe-4723-ba27-25bef28eecaf",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.12,
            "w": 0.13,
            "x": 0.03,
            "y": 0.34
          },
          "kind": "legend",
          "text": "TV\nPay TV\nNetflix streaming",
          "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 17:35:39.536+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "25752970-cc97-4436-9641-830ff5feba86",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "US TV household penetration",
          "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-25 12:08:59+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a10c-411ec33e4beb",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.025,
            "w": 0.565,
            "x": 0.204,
            "y": 0.125
          },
          "kind": "title",
          "text": "US pay TV penetration is down a third from the peak",
          "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 17:35:39.536+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "0d25518d-3563-48b4-aaf6-cc36f735a4db",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.045,
            "w": 0.235,
            "x": 0.204,
            "y": 0.055
          },
          "kind": "title",
          "text": "TV unbundles...",
          "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 17:35:39.536+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "f7e09bb9-489c-4e26-8644-ce0461aa1d09",
          "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": "019dd95a-1b83-7130-933d-f00ae95b4f34",
          "evidence": "Subhead 'US pay TV penetration is down a third from the peak'",
          "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": 88,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 49,
          "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": "Data Story Arc",
            "slug": "data-story-arc",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-9c30-728e-b974-d3fb123dcf5a",
            "version": 1,
            "bodyDocId": null,
            "description": "Context → Conflict → Insight → Implication structure for data narratives",
            "familyLabel": null,
            "categoryName": "Loop",
            "categorySlug": "loop"
          },
          "agent": "Storyteller",
          "layer": "slide",
          "agents": [
            "Storyteller"
          ],
          "matchId": "dec58d1c-a5f1-463a-a045-176967b27fb6",
          "evidence": "The slide tells a story about the decline of US pay TV penetration using a line chart.",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": null,
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 21:59:21.182957+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 49,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 69,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 18,
          "name": "The Implications (So What)",
          "beatId": "019dd95a-07a7-7579-bd65-11bd74463cfe",
          "matchId": "019dd95a-0543-7581-99b3-5568450d33ea",
          "beatType": {
            "name": "The Implications (So What)",
            "slug": "triple-take-the-implications-so-what",
            "status": "active",
            "canonId": "019dd9b8-09c7-75cd-8c7b-ae0e23cca2b8",
            "version": 1,
            "description": null
          },
          "evidence": "'The New Gatekeepers' divider p18; retail media, unbundling, brand reset",
          "position": 2,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Reflection",
            "slug": "reflection",
            "status": "active",
            "canonId": "019dd9b8-0510-73fd-8d00-1c7e45f7bc98",
            "version": 1,
            "description": "The \"so what\" beat. Used by analytical arcs (Triple-take, Onion) and learning arcs (Voyage-return, Tragedy)."
          },
          "alignedBlockIds": null,
          "matchConfidence": 82
        },
        {
          "to": 58,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 18,
          "name": "Rising Action",
          "beatId": "019dd95a-07a7-7579-bd65-1d44db232db5",
          "matchId": "019dd95a-0543-7581-99b3-5836e9006609",
          "beatType": {
            "name": "Rising Action",
            "slug": "mountain-rising-action",
            "status": "active",
            "canonId": "019dd9b8-1992-742b-be9c-85d0ebee0591",
            "version": 1,
            "description": null
          },
          "evidence": "category-by-category gatekeeper sweep: retail, media, content",
          "position": 2,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Development",
            "slug": "development",
            "status": "active",
            "canonId": "019dd9b8-0332-7008-b3aa-11b0840a57b1",
            "version": 1,
            "description": "The middle stretch in arcs that have one. Often where length problems creep in."
          },
          "alignedBlockIds": null,
          "matchConfidence": 60
        }
      ],
      "loops": [
        {
          "to": 50,
          "from": 45,
          "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": "019dd95a-08f8-7619-ac2e-86e8448e4a9e",
          "evidence": "Same title repeated p45-47; UPCs, cable, streaming all unlocked slots",
          "position": 6,
          "objective": "Show 'new channels + new tech = new SKUs' pattern across retail/cable/streaming",
          "confidence": 80,
          "extraction": {
            "at": "2026-04-29 13:07:29.779839+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 50,
      "type": "analysis",
      "title": "The chart illustrates a long-term trend of growth followed by a sharp recent decline in traditional TV consumption.",
      "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": 47,
        "componentCount": 7,
        "textChars": 270,
        "nDataPoints": 2,
        "notes": "The chart illustrates a long-term trend of growth followed by a sharp recent decline in traditional TV consumption.",
        "elementsJson": [
          "headline_text",
          "subtitle_text",
          "line_chart",
          "footnote"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:35:40.502+00",
          "seconds": 3.207,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5e88-73ef-bd5d-853951586965/50",
        "deck": "/decks/019dd923-5e88-73ef-bd5d-853951586965",
        "deckAnchor": "/decks/019dd923-5e88-73ef-bd5d-853951586965#slide-50",
        "deckJson": "/decks/019dd923-5e88-73ef-bd5d-853951586965.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "US linear TV viewing is down by a third since 2015",
          "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-25 12:09:00+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a10d-2d436463c791",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.5,
            "w": 0.6,
            "x": 0.205,
            "y": 0.27
          },
          "kind": "chart",
          "text": "US TV Live+DVR hours per day",
          "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": "Line chart",
              "slug": "line",
              "status": "active",
              "canonId": "019de52c-ff62-778f-8f6c-a952ceae8677",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "line",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:40.502+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "682ce973-ab67-4e69-905a-c769e2592189",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.1,
            "x": 0.02,
            "y": 0.34
          },
          "kind": "legend",
          "text": "Households; Individuals *",
          "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 17:35:40.502+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "46f78b47-bb72-4e8c-9f83-71976e70d55d",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "TV viewing hours per day: 33%",
          "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-25 12:09:00+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a10d-30a92e25a99e",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.4,
            "x": 0.205,
            "y": 0.9
          },
          "kind": "paragraph",
          "text": "Source: Nielsen; *Multiple definition and methodology changes",
          "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": null,
            "framework": null
          },
          "subkind": "source-note",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:40.502+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "3233065c-ae89-4f92-8cfa-85621714640c",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.4,
            "x": 0.205,
            "y": 0.13
          },
          "kind": "title",
          "text": "US linear TV viewing is down by a third since 2015",
          "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 17:35:40.502+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "9fc255a3-1e59-4985-aad8-e197e9e1deb4",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.38,
            "x": 0.205,
            "y": 0.05
          },
          "kind": "title",
          "text": "Gradually, then suddenly...",
          "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 17:35:40.502+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "6bb7eeed-c277-418c-8d32-075c485f6ec1",
          "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": "019dd95a-1b83-7130-933d-fbfd4cdbcc43",
          "evidence": "Literary callback gives gravitas",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 60,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 50,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Data Story Arc",
            "slug": "data-story-arc",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-9c30-728e-b974-d3fb123dcf5a",
            "version": 1,
            "bodyDocId": null,
            "description": "Context → Conflict → Insight → Implication structure for data narratives",
            "familyLabel": null,
            "categoryName": "Loop",
            "categorySlug": "loop"
          },
          "agent": "Storyteller",
          "layer": "slide",
          "agents": [
            "Storyteller"
          ],
          "matchId": "00a6a38d-a203-45b5-88cd-d1e716a07005",
          "evidence": "The slide tells a story about the decline of US linear TV viewing using a line chart.",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": null,
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 21:59:21.251019+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 50,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Metaphor & Analogy",
            "slug": "metaphor-analogy",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-adea-7729-bca1-70810d6238a9",
            "version": 1,
            "bodyDocId": null,
            "description": "Making abstract concepts concrete through familiar comparisons",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Storyteller",
          "layer": "slide",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019dd95a-1b83-7130-933d-f7637ea72d7e",
          "evidence": "Title 'Gradually, then suddenly...' borrows Hemingway's bankruptcy line",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": null,
          "confidence": 85,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 50,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 69,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 18,
          "name": "The Implications (So What)",
          "beatId": "019dd95a-07a7-7579-bd65-11bd74463cfe",
          "matchId": "019dd95a-0543-7581-99b3-5568450d33ea",
          "beatType": {
            "name": "The Implications (So What)",
            "slug": "triple-take-the-implications-so-what",
            "status": "active",
            "canonId": "019dd9b8-09c7-75cd-8c7b-ae0e23cca2b8",
            "version": 1,
            "description": null
          },
          "evidence": "'The New Gatekeepers' divider p18; retail media, unbundling, brand reset",
          "position": 2,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Reflection",
            "slug": "reflection",
            "status": "active",
            "canonId": "019dd9b8-0510-73fd-8d00-1c7e45f7bc98",
            "version": 1,
            "description": "The \"so what\" beat. Used by analytical arcs (Triple-take, Onion) and learning arcs (Voyage-return, Tragedy)."
          },
          "alignedBlockIds": null,
          "matchConfidence": 82
        },
        {
          "to": 58,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 18,
          "name": "Rising Action",
          "beatId": "019dd95a-07a7-7579-bd65-1d44db232db5",
          "matchId": "019dd95a-0543-7581-99b3-5836e9006609",
          "beatType": {
            "name": "Rising Action",
            "slug": "mountain-rising-action",
            "status": "active",
            "canonId": "019dd9b8-1992-742b-be9c-85d0ebee0591",
            "version": 1,
            "description": null
          },
          "evidence": "category-by-category gatekeeper sweep: retail, media, content",
          "position": 2,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Development",
            "slug": "development",
            "status": "active",
            "canonId": "019dd9b8-0332-7008-b3aa-11b0840a57b1",
            "version": 1,
            "description": "The middle stretch in arcs that have one. Often where length problems creep in."
          },
          "alignedBlockIds": null,
          "matchConfidence": 60
        }
      ],
      "loops": [
        {
          "to": 50,
          "from": 45,
          "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": "019dd95a-08f8-7619-ac2e-86e8448e4a9e",
          "evidence": "Same title repeated p45-47; UPCs, cable, streaming all unlocked slots",
          "position": 6,
          "objective": "Show 'new channels + new tech = new SKUs' pattern across retail/cable/streaming",
          "confidence": 80,
          "extraction": {
            "at": "2026-04-29 13:07:29.779839+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 51,
      "type": "analysis",
      "title": "The chart illustrates the disruption of the physical rental market by digital streaming services.",
      "function": "illustrate_case",
      "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": "illustrate_case",
        "functionCanon": {
          "name": "Illustrate case",
          "slug": "illustrate_case",
          "status": "active",
          "canonId": "019de52d-13b4-772c-bb73-1873612a7463",
          "version": 1,
          "description": null
        },
        "density": "balanced",
        "densityScore": 46,
        "componentCount": 7,
        "textChars": 254,
        "nDataPoints": 3,
        "notes": "The chart illustrates the disruption of the physical rental market by digital streaming services.",
        "elementsJson": [
          "headline_text",
          "subtitle_text",
          "line_chart"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:35:40.158+00",
          "seconds": 2.741,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5e88-73ef-bd5d-853951586965/51",
        "deck": "/decks/019dd923-5e88-73ef-bd5d-853951586965",
        "deckAnchor": "/decks/019dd923-5e88-73ef-bd5d-853951586965#slide-51",
        "deckJson": "/decks/019dd923-5e88-73ef-bd5d-853951586965.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "Blockbuster's peak market cap: $5bn",
          "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-25 12:08:58+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a10b-a067e5efa72a",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.5,
            "w": 0.6,
            "x": 0.205,
            "y": 0.26
          },
          "kind": "chart",
          "text": "US home video revenue ($bn, 2022 dollars)",
          "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": "Line chart",
              "slug": "line",
              "status": "active",
              "canonId": "019de52c-ff62-778f-8f6c-a952ceae8677",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "line",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:40.158+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "4013da99-809b-4e30-a6dc-0a29a78437a7",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.1,
            "w": 0.15,
            "x": 0.03,
            "y": 0.35
          },
          "kind": "legend",
          "text": "Tape & disc rental; Netflix total; Netflix streaming",
          "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 17:35:40.158+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "d3ea740f-d8fe-4bfe-b202-88d5dc9843f5",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "US home video revenue: $5bn",
          "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-25 12:08:58+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a10b-a4c407f39b68",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.25,
            "x": 0.205,
            "y": 0.91
          },
          "kind": "source-note",
          "text": "Source: Eberstadt, US Census, BLS, Netflix",
          "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 17:35:40.158+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "1c9900c2-e285-45b8-b5b3-fa070935a50d",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.25,
            "x": 0.205,
            "y": 0.12
          },
          "kind": "subtitle",
          "text": "Blockbuster's peak market cap: $5bn",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Subtitle",
              "slug": "subtitle",
              "status": "active",
              "canonId": "82d821ee-2793-42e7-8f16-c6131385a3ce",
              "version": 1,
              "description": "Header-zone supporting text near the title (= ex body.description with bbox)."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:40.158+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "9155a123-072d-43d5-8e7b-1d5a3971b7f3",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.04,
            "w": 0.33,
            "x": 0.205,
            "y": 0.05
          },
          "kind": "title",
          "text": "Streaming > schlepping",
          "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 17:35:40.158+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "204f211a-993f-4de6-97c8-7fbe6e496af8",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "Chiasmus",
            "slug": "chiasmus",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-9f90-77d2-92d7-9a9780d23677",
            "version": 1,
            "bodyDocId": null,
            "description": "Reversing structure in successive phrases for emphasis (A-B then B-A)",
            "familyLabel": null,
            "categoryName": "Loop",
            "categorySlug": "loop"
          },
          "agent": "Storyteller",
          "layer": "loop",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019dd95a-1b83-7130-933d-fd820b7297aa",
          "evidence": "Title 'Streaming > schlepping' is a witty contrast pairing",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 78,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 51,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Before-After-Bridge",
            "slug": "before-after-bridge",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-8604-7188-883f-42370288ad05",
            "version": 1,
            "bodyDocId": null,
            "description": "Narrative structure: Paint the before, show the after, explain the bridge",
            "familyLabel": null,
            "categoryName": "Block",
            "categorySlug": "block"
          },
          "agent": "Storyteller",
          "layer": "slide",
          "agents": [
            "Storyteller"
          ],
          "matchId": "fd8aaf7e-ff57-4041-81db-257ca10021fa",
          "evidence": "The slide compares the revenue of Netflix streaming and tape & disc rental, showing a before-and-after effect.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 21:59:21.319805+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 51,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Concrete Language",
            "slug": "concrete-language",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-bcd4-7398-9723-6aa72346170b",
            "version": 1,
            "bodyDocId": null,
            "description": "Using specific sensory details instead of abstract terms",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Storyteller",
          "layer": "slide",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019dd95a-1b83-7130-933e-011369af4e89",
          "evidence": "Blockbuster $5bn peak market cap as anchor",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 75,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 51,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 69,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 18,
          "name": "The Implications (So What)",
          "beatId": "019dd95a-07a7-7579-bd65-11bd74463cfe",
          "matchId": "019dd95a-0543-7581-99b3-5568450d33ea",
          "beatType": {
            "name": "The Implications (So What)",
            "slug": "triple-take-the-implications-so-what",
            "status": "active",
            "canonId": "019dd9b8-09c7-75cd-8c7b-ae0e23cca2b8",
            "version": 1,
            "description": null
          },
          "evidence": "'The New Gatekeepers' divider p18; retail media, unbundling, brand reset",
          "position": 2,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Reflection",
            "slug": "reflection",
            "status": "active",
            "canonId": "019dd9b8-0510-73fd-8d00-1c7e45f7bc98",
            "version": 1,
            "description": "The \"so what\" beat. Used by analytical arcs (Triple-take, Onion) and learning arcs (Voyage-return, Tragedy)."
          },
          "alignedBlockIds": null,
          "matchConfidence": 82
        },
        {
          "to": 58,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 18,
          "name": "Rising Action",
          "beatId": "019dd95a-07a7-7579-bd65-1d44db232db5",
          "matchId": "019dd95a-0543-7581-99b3-5836e9006609",
          "beatType": {
            "name": "Rising Action",
            "slug": "mountain-rising-action",
            "status": "active",
            "canonId": "019dd9b8-1992-742b-be9c-85d0ebee0591",
            "version": 1,
            "description": null
          },
          "evidence": "category-by-category gatekeeper sweep: retail, media, content",
          "position": 2,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Development",
            "slug": "development",
            "status": "active",
            "canonId": "019dd9b8-0332-7008-b3aa-11b0840a57b1",
            "version": 1,
            "description": "The middle stretch in arcs that have one. Often where length problems creep in."
          },
          "alignedBlockIds": null,
          "matchConfidence": 60
        }
      ],
      "loops": [
        {
          "to": 58,
          "from": 51,
          "loop": {
            "name": "21_before_after",
            "slug": "21-before-after",
            "status": "active",
            "bestFor": "Product demos, process improvements, ROI justification",
            "canonId": "019dd956-6e68-73fd-a295-fe90145c2da8",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Old Way (Pain) -> The Moment of Change -> The New Way (Glory) -> The Measurable Delta",
            "description": "Show the dramatic contrast between the old way and the new way through side-by-side comparison",
            "familyLabel": null
          },
          "matchId": "019dd95a-08f8-7619-ac2e-8b9d55219f3a",
          "evidence": "Blockbuster $5bn cap p51, Netflix vs YouTube p57, MrBeast vs top-10 Netflix p58",
          "position": 7,
          "objective": "Show legacy media's decline and streaming/creator-economy displacement",
          "confidence": 72,
          "extraction": {
            "at": "2026-04-29 13:07:29.779839+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 52,
      "type": "analysis",
      "title": "The chart highlights the convergence of spending between traditional media giants (grey) and tech platforms (red).",
      "function": "quantify_impact",
      "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": "quantify_impact",
        "functionCanon": {
          "name": "Quantify impact",
          "slug": "quantify_impact",
          "status": "active",
          "canonId": "019de52d-1630-720d-b57d-fa7f76bebd8d",
          "version": 1,
          "description": null
        },
        "density": "balanced",
        "densityScore": 39,
        "componentCount": 6,
        "textChars": 188,
        "nDataPoints": 28,
        "notes": "The chart highlights the convergence of spending between traditional media giants (grey) and tech platforms (red).",
        "elementsJson": [
          "headline_text",
          "subtitle_text",
          "bar_chart_grouped",
          "footnote"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:35:40.416+00",
          "seconds": 2.931,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5e88-73ef-bd5d-853951586965/52",
        "deck": "/decks/019dd923-5e88-73ef-bd5d-853951586965",
        "deckAnchor": "/decks/019dd923-5e88-73ef-bd5d-853951586965#slide-52",
        "deckJson": "/decks/019dd923-5e88-73ef-bd5d-853951586965.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "New entrants matching legacy content producers",
          "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-25 12:08:59+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a10b-f46b78bf8609",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.55,
            "w": 0.73,
            "x": 0.206,
            "y": 0.27
          },
          "kind": "chart",
          "text": "Content spending, 2019-2022e ($bn)",
          "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": "Grouped bar chart",
              "slug": "bar-grouped",
              "status": "active",
              "canonId": "019de52c-ff3b-751e-a8ff-f21ff11097b1",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bar-grouped",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:40.416+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "a1b95e73-8cc5-4bf3-a84a-bab9e3f6d251",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Content spending: $32bn",
          "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-25 12:08:59+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a10b-fa19a99de3b8",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.08,
            "x": 0.206,
            "y": 0.91
          },
          "kind": "source-note",
          "text": "Source: Variety",
          "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 17:35:40.416+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "5f757d6c-e7b5-4523-99f6-b68c12247f11",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.045,
            "w": 0.365,
            "x": 0.206,
            "y": 0.05
          },
          "kind": "title",
          "text": "Land grabs are expensive",
          "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 17:35:40.416+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "3ff1bcf9-2fdf-41bf-ba5b-b4fd4b0ed8d2",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.025,
            "w": 0.535,
            "x": 0.206,
            "y": 0.13
          },
          "kind": "title",
          "text": "New entrants matching legacy content producers",
          "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": "Subtitle",
              "slug": "subtitle",
              "status": "active",
              "canonId": "019de52c-fb09-739d-900c-815b0d9ac526",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "subtitle",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:40.416+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "53f55410-1ac4-46c9-92b4-7984cdb51478",
          "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": "019dd95a-1b83-7130-933e-04ebd40e0c5f",
          "evidence": "Title 'Land grabs are expensive' frames the cost insight",
          "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": 80,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 52,
          "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": "Metaphor & Analogy",
            "slug": "metaphor-analogy",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-adea-7729-bca1-70810d6238a9",
            "version": 1,
            "bodyDocId": null,
            "description": "Making abstract concepts concrete through familiar comparisons",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Storyteller",
          "layer": "slide",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019dd95a-1b83-7130-933e-0a80d02f0f38",
          "evidence": "'Land grab' metaphor for content investment",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": null,
          "confidence": 70,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 52,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 69,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 18,
          "name": "The Implications (So What)",
          "beatId": "019dd95a-07a7-7579-bd65-11bd74463cfe",
          "matchId": "019dd95a-0543-7581-99b3-5568450d33ea",
          "beatType": {
            "name": "The Implications (So What)",
            "slug": "triple-take-the-implications-so-what",
            "status": "active",
            "canonId": "019dd9b8-09c7-75cd-8c7b-ae0e23cca2b8",
            "version": 1,
            "description": null
          },
          "evidence": "'The New Gatekeepers' divider p18; retail media, unbundling, brand reset",
          "position": 2,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Reflection",
            "slug": "reflection",
            "status": "active",
            "canonId": "019dd9b8-0510-73fd-8d00-1c7e45f7bc98",
            "version": 1,
            "description": "The \"so what\" beat. Used by analytical arcs (Triple-take, Onion) and learning arcs (Voyage-return, Tragedy)."
          },
          "alignedBlockIds": null,
          "matchConfidence": 82
        },
        {
          "to": 58,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 18,
          "name": "Rising Action",
          "beatId": "019dd95a-07a7-7579-bd65-1d44db232db5",
          "matchId": "019dd95a-0543-7581-99b3-5836e9006609",
          "beatType": {
            "name": "Rising Action",
            "slug": "mountain-rising-action",
            "status": "active",
            "canonId": "019dd9b8-1992-742b-be9c-85d0ebee0591",
            "version": 1,
            "description": null
          },
          "evidence": "category-by-category gatekeeper sweep: retail, media, content",
          "position": 2,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Development",
            "slug": "development",
            "status": "active",
            "canonId": "019dd9b8-0332-7008-b3aa-11b0840a57b1",
            "version": 1,
            "description": "The middle stretch in arcs that have one. Often where length problems creep in."
          },
          "alignedBlockIds": null,
          "matchConfidence": 60
        }
      ],
      "loops": [
        {
          "to": 58,
          "from": 51,
          "loop": {
            "name": "21_before_after",
            "slug": "21-before-after",
            "status": "active",
            "bestFor": "Product demos, process improvements, ROI justification",
            "canonId": "019dd956-6e68-73fd-a295-fe90145c2da8",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Old Way (Pain) -> The Moment of Change -> The New Way (Glory) -> The Measurable Delta",
            "description": "Show the dramatic contrast between the old way and the new way through side-by-side comparison",
            "familyLabel": null
          },
          "matchId": "019dd95a-08f8-7619-ac2e-8b9d55219f3a",
          "evidence": "Blockbuster $5bn cap p51, Netflix vs YouTube p57, MrBeast vs top-10 Netflix p58",
          "position": 7,
          "objective": "Show legacy media's decline and streaming/creator-economy displacement",
          "confidence": 72,
          "extraction": {
            "at": "2026-04-29 13:07:29.779839+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 53,
      "type": "analysis",
      "title": "The chart highlights the rapid growth of Disney's streaming services relative to Netflix's established trajectory.",
      "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": 38,
        "componentCount": 6,
        "textChars": 258,
        "nDataPoints": 3,
        "notes": "The chart highlights the rapid growth of Disney's streaming services relative to Netflix's established trajectory.",
        "elementsJson": [
          "headline_text",
          "subtitle_text",
          "line_chart",
          "footnote"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:35:40.162+00",
          "seconds": 2.409,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5e88-73ef-bd5d-853951586965/53",
        "deck": "/decks/019dd923-5e88-73ef-bd5d-853951586965",
        "deckAnchor": "/decks/019dd923-5e88-73ef-bd5d-853951586965#slide-53",
        "deckJson": "/decks/019dd923-5e88-73ef-bd5d-853951586965.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.55,
            "w": 0.75,
            "x": 0.205,
            "y": 0.25
          },
          "kind": "chart",
          "text": "Streaming subscribers (m)",
          "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": "Line chart",
              "slug": "line",
              "status": "active",
              "canonId": "019de52c-ff62-778f-8f6c-a952ceae8677",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "line",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:40.162+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "17de2bb8-721b-4162-b3f6-a3f360f069b9",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.1,
            "w": 0.1,
            "x": 0.02,
            "y": 0.35
          },
          "kind": "legend",
          "text": "Netflix, Disney, Core Disney+",
          "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 17:35:40.162+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "fceca915-13ab-4ff4-97a2-a9b6617cfe92",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Streaming subscribers (m)",
          "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-25 12:09:01+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a10e-29558532b8f4",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.59,
            "x": 0.205,
            "y": 0.12
          },
          "kind": "paragraph",
          "text": "Remember when people said legacy media companies could never learn software?",
          "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 17:35:40.162+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "16b90116-45a5-4fa3-b0d6-8c53fe7f3327",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.4,
            "x": 0.205,
            "y": 0.9
          },
          "kind": "source-note",
          "text": "Source: Netflix, Disney. 'Core' excludes Hotstar, ESPN and Hulu",
          "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 17:35:40.162+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "da58d021-a9d1-4d96-b64c-54efb0545616",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.04,
            "w": 0.59,
            "x": 0.205,
            "y": 0.05
          },
          "kind": "title",
          "text": "Content is king - for content businesses",
          "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 17:35:40.162+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "f88ef25a-53a1-4944-aae3-2038112b482b",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 69,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 18,
          "name": "The Implications (So What)",
          "beatId": "019dd95a-07a7-7579-bd65-11bd74463cfe",
          "matchId": "019dd95a-0543-7581-99b3-5568450d33ea",
          "beatType": {
            "name": "The Implications (So What)",
            "slug": "triple-take-the-implications-so-what",
            "status": "active",
            "canonId": "019dd9b8-09c7-75cd-8c7b-ae0e23cca2b8",
            "version": 1,
            "description": null
          },
          "evidence": "'The New Gatekeepers' divider p18; retail media, unbundling, brand reset",
          "position": 2,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Reflection",
            "slug": "reflection",
            "status": "active",
            "canonId": "019dd9b8-0510-73fd-8d00-1c7e45f7bc98",
            "version": 1,
            "description": "The \"so what\" beat. Used by analytical arcs (Triple-take, Onion) and learning arcs (Voyage-return, Tragedy)."
          },
          "alignedBlockIds": null,
          "matchConfidence": 82
        },
        {
          "to": 58,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 18,
          "name": "Rising Action",
          "beatId": "019dd95a-07a7-7579-bd65-1d44db232db5",
          "matchId": "019dd95a-0543-7581-99b3-5836e9006609",
          "beatType": {
            "name": "Rising Action",
            "slug": "mountain-rising-action",
            "status": "active",
            "canonId": "019dd9b8-1992-742b-be9c-85d0ebee0591",
            "version": 1,
            "description": null
          },
          "evidence": "category-by-category gatekeeper sweep: retail, media, content",
          "position": 2,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Development",
            "slug": "development",
            "status": "active",
            "canonId": "019dd9b8-0332-7008-b3aa-11b0840a57b1",
            "version": 1,
            "description": "The middle stretch in arcs that have one. Often where length problems creep in."
          },
          "alignedBlockIds": null,
          "matchConfidence": 60
        }
      ],
      "loops": [
        {
          "to": 58,
          "from": 51,
          "loop": {
            "name": "21_before_after",
            "slug": "21-before-after",
            "status": "active",
            "bestFor": "Product demos, process improvements, ROI justification",
            "canonId": "019dd956-6e68-73fd-a295-fe90145c2da8",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Old Way (Pain) -> The Moment of Change -> The New Way (Glory) -> The Measurable Delta",
            "description": "Show the dramatic contrast between the old way and the new way through side-by-side comparison",
            "familyLabel": null
          },
          "matchId": "019dd95a-08f8-7619-ac2e-8b9d55219f3a",
          "evidence": "Blockbuster $5bn cap p51, Netflix vs YouTube p57, MrBeast vs top-10 Netflix p58",
          "position": 7,
          "objective": "Show legacy media's decline and streaming/creator-economy displacement",
          "confidence": 72,
          "extraction": {
            "at": "2026-04-29 13:07:29.779839+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 54,
      "type": "analysis",
      "title": "The chart uses a diverging bar structure to show the contrast between a profitable incumbent/disruptor (Netflix) and the heavy investment losses of a legacy pla",
      "function": "quantify_impact",
      "rawType": "financial_analysis",
      "block": null,
      "metadata": {
        "slideType": "financial_analysis",
        "slideTypeCanon": {
          "name": "Financial analysis",
          "slug": "financial_analysis",
          "status": "active",
          "canonId": "019de52d-0b45-709c-bfcc-0cf83dd00f13",
          "version": 1,
          "description": null
        },
        "function": "quantify_impact",
        "functionCanon": {
          "name": "Quantify impact",
          "slug": "quantify_impact",
          "status": "active",
          "canonId": "019de52d-1630-720d-b57d-fa7f76bebd8d",
          "version": 1,
          "description": null
        },
        "density": "dense",
        "densityScore": 54,
        "componentCount": 7,
        "textChars": 323,
        "nDataPoints": 48,
        "notes": "The chart uses a diverging bar structure to show the contrast between a profitable incumbent/disruptor (Netflix) and the heavy investment losses of a legacy player (Disney) entering the D2C space.",
        "elementsJson": [
          "headline_text",
          "subtitle_text",
          "bar_chart_grouped"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:35:44.3+00",
          "seconds": 6.493,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5e88-73ef-bd5d-853951586965/54",
        "deck": "/decks/019dd923-5e88-73ef-bd5d-853951586965",
        "deckAnchor": "/decks/019dd923-5e88-73ef-bd5d-853951586965#slide-54",
        "deckJson": "/decks/019dd923-5e88-73ef-bd5d-853951586965.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "Moving away from a mature business model and creating a new one is very expensive",
          "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-25 12:08:59+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a10c-91297d7e5bf4",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.55,
            "w": 0.6,
            "x": 0.205,
            "y": 0.25
          },
          "kind": "chart",
          "text": "Operating income ($bn) for Netflix and Disney D2C video",
          "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": "Grouped bar chart",
              "slug": "bar-grouped",
              "status": "active",
              "canonId": "019de52c-ff3b-751e-a8ff-f21ff11097b1",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bar-grouped",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:44.3+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "541fa053-8088-4b8d-9c5c-7b162587ff9f",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.15,
            "x": 0.205,
            "y": 0.91
          },
          "kind": "disclaimer",
          "text": "Source: Netflix, Disney",
          "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 17:35:44.3+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "a8d32613-839e-4395-9725-e90a9a6a76e3",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.1,
            "x": 0.03,
            "y": 0.35
          },
          "kind": "legend",
          "text": "Netflix; Disney D2C video",
          "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 17:35:44.3+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "63bd3cb8-157e-413a-94a4-bc54a26a9803",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Operating income",
          "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-25 12:08:59+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a10c-9565e69f5550",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.6,
            "x": 0.205,
            "y": 0.11
          },
          "kind": "title",
          "text": "Moving away from a mature business model and creating a new one is very expensive",
          "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 17:35:44.3+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "9cf69488-a49f-4407-b141-3dde327b1860",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.04,
            "w": 0.59,
            "x": 0.205,
            "y": 0.05
          },
          "kind": "title",
          "text": "The 'innovator's dilemma' costs real money",
          "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 17:35:44.3+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "38649631-5974-4322-9970-507f7969a423",
          "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": "019dd95a-1b83-7130-933e-134c5801114e",
          "evidence": "Borrows Christensen's named theory as backing",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 70,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 54,
          "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": "019dd95a-1b83-7130-933e-0ce6d20f13de",
          "evidence": "Cites Christensen's 'innovator's dilemma' theory",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 78,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 54,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [
        {
          "matchId": "f67c3b50-8fcf-4be9-9748-cae444be0b8b",
          "evidence": "Title explicitly references the Innovator's Dilemma framework.",
          "framework": null,
          "confidence": 1,
          "extraction": {
            "at": "2026-05-02 17:35:44.3+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 54,
          "frameworkName": "innovators-dilemma"
        },
        {
          "matchId": "019dd95a-1d21-7467-a468-8d7d48afc46f",
          "evidence": "Title quotes 'innovator's dilemma' and applies it to legacy media spend",
          "framework": null,
          "confidence": 85,
          "extraction": {
            "at": "2026-04-29 13:07:34.940444+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 54,
          "frameworkName": "Innovator's Dilemma"
        }
      ],
      "arcBeats": [
        {
          "to": 69,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 18,
          "name": "The Implications (So What)",
          "beatId": "019dd95a-07a7-7579-bd65-11bd74463cfe",
          "matchId": "019dd95a-0543-7581-99b3-5568450d33ea",
          "beatType": {
            "name": "The Implications (So What)",
            "slug": "triple-take-the-implications-so-what",
            "status": "active",
            "canonId": "019dd9b8-09c7-75cd-8c7b-ae0e23cca2b8",
            "version": 1,
            "description": null
          },
          "evidence": "'The New Gatekeepers' divider p18; retail media, unbundling, brand reset",
          "position": 2,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Reflection",
            "slug": "reflection",
            "status": "active",
            "canonId": "019dd9b8-0510-73fd-8d00-1c7e45f7bc98",
            "version": 1,
            "description": "The \"so what\" beat. Used by analytical arcs (Triple-take, Onion) and learning arcs (Voyage-return, Tragedy)."
          },
          "alignedBlockIds": null,
          "matchConfidence": 82
        },
        {
          "to": 58,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 18,
          "name": "Rising Action",
          "beatId": "019dd95a-07a7-7579-bd65-1d44db232db5",
          "matchId": "019dd95a-0543-7581-99b3-5836e9006609",
          "beatType": {
            "name": "Rising Action",
            "slug": "mountain-rising-action",
            "status": "active",
            "canonId": "019dd9b8-1992-742b-be9c-85d0ebee0591",
            "version": 1,
            "description": null
          },
          "evidence": "category-by-category gatekeeper sweep: retail, media, content",
          "position": 2,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Development",
            "slug": "development",
            "status": "active",
            "canonId": "019dd9b8-0332-7008-b3aa-11b0840a57b1",
            "version": 1,
            "description": "The middle stretch in arcs that have one. Often where length problems creep in."
          },
          "alignedBlockIds": null,
          "matchConfidence": 60
        }
      ],
      "loops": [
        {
          "to": 58,
          "from": 51,
          "loop": {
            "name": "21_before_after",
            "slug": "21-before-after",
            "status": "active",
            "bestFor": "Product demos, process improvements, ROI justification",
            "canonId": "019dd956-6e68-73fd-a295-fe90145c2da8",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Old Way (Pain) -> The Moment of Change -> The New Way (Glory) -> The Measurable Delta",
            "description": "Show the dramatic contrast between the old way and the new way through side-by-side comparison",
            "familyLabel": null
          },
          "matchId": "019dd95a-08f8-7619-ac2e-8b9d55219f3a",
          "evidence": "Blockbuster $5bn cap p51, Netflix vs YouTube p57, MrBeast vs top-10 Netflix p58",
          "position": 7,
          "objective": "Show legacy media's decline and streaming/creator-economy displacement",
          "confidence": 72,
          "extraction": {
            "at": "2026-04-29 13:07:29.779839+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 55,
      "type": "analysis",
      "title": "The chart uses color to distinguish between legacy media companies (grey) and new entrants (red).",
      "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": "balanced",
        "densityScore": 41,
        "componentCount": 6,
        "textChars": 227,
        "nDataPoints": 28,
        "notes": "The chart uses color to distinguish between legacy media companies (grey) and new entrants (red).",
        "elementsJson": [
          "bar_chart_grouped"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:35:42.95+00",
          "seconds": 5.124,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5e88-73ef-bd5d-853951586965/55",
        "deck": "/decks/019dd923-5e88-73ef-bd5d-853951586965",
        "deckAnchor": "/decks/019dd923-5e88-73ef-bd5d-853951586965#slide-55",
        "deckJson": "/decks/019dd923-5e88-73ef-bd5d-853951586965.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "New entrants matching legacy content producers - all new entrants",
          "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-25 12:08:59+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a10c-267c85c0959c",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.55,
            "w": 0.73,
            "x": 0.206,
            "y": 0.27
          },
          "kind": "chart",
          "text": "Content spending, 2019-2022e ($bn)",
          "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": "Grouped bar chart",
              "slug": "bar-grouped",
              "status": "active",
              "canonId": "019de52c-ff3b-751e-a8ff-f21ff11097b1",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bar-grouped",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:42.95+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "e9af75a6-8776-4e8e-b93f-abe16ed329e1",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Content spending ($bn)",
          "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-25 12:08:59+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a10c-29db8985c0e0",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.08,
            "x": 0.206,
            "y": 0.91
          },
          "kind": "source-note",
          "text": "Source: Variety",
          "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 17:35:42.95+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "277adc38-1af7-4a27-9629-951942c12c18",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.04,
            "w": 0.41,
            "x": 0.206,
            "y": 0.05
          },
          "kind": "title",
          "text": "Something missing, though?",
          "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 17:35:42.95+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "37e04595-4658-4109-8456-18763218d6c0",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.55,
            "x": 0.206,
            "y": 0.13
          },
          "kind": "title",
          "text": "New entrants matching legacy content producers - all new entrants",
          "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": "Subtitle",
              "slug": "subtitle",
              "status": "active",
              "canonId": "019de52c-fb09-739d-900c-815b0d9ac526",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "subtitle",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:42.95+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "a49d43c9-afee-48ff-aab8-2842f928cce9",
          "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": "019dd95a-1b83-7130-933e-16d3cbe84c31",
          "evidence": "Title 'Something missing, though?' opens an information gap",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 80,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 55,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Information Gap Theory",
            "slug": "information-gap-theory",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-a856-765e-88bc-f703bdfec762",
            "version": 1,
            "bodyDocId": null,
            "description": "Curiosity arises from gap between what we know and want to know",
            "familyLabel": null,
            "categoryName": "Loop",
            "categorySlug": "loop"
          },
          "agent": "Storyteller",
          "layer": "loop",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019dd95a-1b83-7130-933e-19c138caad6a",
          "evidence": "Explicitly teases withheld info",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 75,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 55,
          "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": "65f87ecc-7af6-47ad-b62a-cd95d3aec2e9",
          "evidence": "chart/bar-grouped: Content spending, 2019-2022e ($bn)",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": null,
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 21:59:15.089234+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 55,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 69,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 18,
          "name": "The Implications (So What)",
          "beatId": "019dd95a-07a7-7579-bd65-11bd74463cfe",
          "matchId": "019dd95a-0543-7581-99b3-5568450d33ea",
          "beatType": {
            "name": "The Implications (So What)",
            "slug": "triple-take-the-implications-so-what",
            "status": "active",
            "canonId": "019dd9b8-09c7-75cd-8c7b-ae0e23cca2b8",
            "version": 1,
            "description": null
          },
          "evidence": "'The New Gatekeepers' divider p18; retail media, unbundling, brand reset",
          "position": 2,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Reflection",
            "slug": "reflection",
            "status": "active",
            "canonId": "019dd9b8-0510-73fd-8d00-1c7e45f7bc98",
            "version": 1,
            "description": "The \"so what\" beat. Used by analytical arcs (Triple-take, Onion) and learning arcs (Voyage-return, Tragedy)."
          },
          "alignedBlockIds": null,
          "matchConfidence": 82
        },
        {
          "to": 58,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 18,
          "name": "Rising Action",
          "beatId": "019dd95a-07a7-7579-bd65-1d44db232db5",
          "matchId": "019dd95a-0543-7581-99b3-5836e9006609",
          "beatType": {
            "name": "Rising Action",
            "slug": "mountain-rising-action",
            "status": "active",
            "canonId": "019dd9b8-1992-742b-be9c-85d0ebee0591",
            "version": 1,
            "description": null
          },
          "evidence": "category-by-category gatekeeper sweep: retail, media, content",
          "position": 2,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Development",
            "slug": "development",
            "status": "active",
            "canonId": "019dd9b8-0332-7008-b3aa-11b0840a57b1",
            "version": 1,
            "description": "The middle stretch in arcs that have one. Often where length problems creep in."
          },
          "alignedBlockIds": null,
          "matchConfidence": 60
        }
      ],
      "loops": [
        {
          "to": 58,
          "from": 51,
          "loop": {
            "name": "21_before_after",
            "slug": "21-before-after",
            "status": "active",
            "bestFor": "Product demos, process improvements, ROI justification",
            "canonId": "019dd956-6e68-73fd-a295-fe90145c2da8",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Old Way (Pain) -> The Moment of Change -> The New Way (Glory) -> The Measurable Delta",
            "description": "Show the dramatic contrast between the old way and the new way through side-by-side comparison",
            "familyLabel": null
          },
          "matchId": "019dd95a-08f8-7619-ac2e-8b9d55219f3a",
          "evidence": "Blockbuster $5bn cap p51, Netflix vs YouTube p57, MrBeast vs top-10 Netflix p58",
          "position": 7,
          "objective": "Show legacy media's decline and streaming/creator-economy displacement",
          "confidence": 72,
          "extraction": {
            "at": "2026-04-29 13:07:29.779839+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 56,
      "type": "analysis",
      "title": "The chart highlights YouTube's growing content spend relative to traditional media giants.",
      "function": "quantify_impact",
      "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": "quantify_impact",
        "functionCanon": {
          "name": "Quantify impact",
          "slug": "quantify_impact",
          "status": "active",
          "canonId": "019de52d-1630-720d-b57d-fa7f76bebd8d",
          "version": 1,
          "description": null
        },
        "density": "balanced",
        "densityScore": 42,
        "componentCount": 6,
        "textChars": 271,
        "nDataPoints": 28,
        "notes": "The chart highlights YouTube's growing content spend relative to traditional media giants.",
        "elementsJson": [
          "headline_text",
          "subtitle_text",
          "bar_chart_grouped",
          "footnote"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:35:40.238+00",
          "seconds": 2.395,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5e88-73ef-bd5d-853951586965/56",
        "deck": "/decks/019dd923-5e88-73ef-bd5d-853951586965",
        "deckAnchor": "/decks/019dd923-5e88-73ef-bd5d-853951586965#slide-56",
        "deckJson": "/decks/019dd923-5e88-73ef-bd5d-853951586965.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "YouTube creator payouts are almost certainly comparable to TV production budgets",
          "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-25 12:09:01+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a10d-a6c3e3c12294",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.55,
            "w": 0.73,
            "x": 0.206,
            "y": 0.27
          },
          "kind": "chart",
          "text": "Content spending, 2019-2022e ($bn)",
          "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": "Grouped bar chart",
              "slug": "bar-grouped",
              "status": "active",
              "canonId": "019de52c-ff3b-751e-a8ff-f21ff11097b1",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bar-grouped",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:40.238+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "e634ae9a-8a0c-42b5-a03e-fb608e2ac492",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Content spending",
          "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-25 12:09:01+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a10d-aab4e16a00d8",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.25,
            "x": 0.206,
            "y": 0.91
          },
          "kind": "source-note",
          "text": "Source: Variety, Alphabet, Benedict Evans",
          "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 17:35:40.238+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "aa3ef601-003d-4d7f-a320-fb93ddba99e7",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.045,
            "w": 0.315,
            "x": 0.206,
            "y": 0.055
          },
          "kind": "title",
          "text": "What is 'TV' anyway?",
          "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 17:35:40.238+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "643595c8-2577-4bec-800f-e065e8835413",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.025,
            "w": 0.65,
            "x": 0.206,
            "y": 0.132
          },
          "kind": "title",
          "text": "YouTube creator payouts are almost certainly comparable to TV production budgets",
          "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": "Subtitle",
              "slug": "subtitle",
              "status": "active",
              "canonId": "019de52c-fb09-739d-900c-815b0d9ac526",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "subtitle",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:40.238+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "bae98af9-f42a-4bd0-be61-b20f7c3f96c8",
          "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": "019dd95a-1b83-7130-933e-1c8079e50b22",
          "evidence": "Title is the full insight about YouTube creator payouts vs TV",
          "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": 85,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 56,
          "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": "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": "6c521410-15d3-4c11-b99e-554612b054c7",
          "evidence": "chart/bar-grouped: Content spending, 2019-2022e ($bn)",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": null,
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 21:59:15.170263+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 56,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 69,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 18,
          "name": "The Implications (So What)",
          "beatId": "019dd95a-07a7-7579-bd65-11bd74463cfe",
          "matchId": "019dd95a-0543-7581-99b3-5568450d33ea",
          "beatType": {
            "name": "The Implications (So What)",
            "slug": "triple-take-the-implications-so-what",
            "status": "active",
            "canonId": "019dd9b8-09c7-75cd-8c7b-ae0e23cca2b8",
            "version": 1,
            "description": null
          },
          "evidence": "'The New Gatekeepers' divider p18; retail media, unbundling, brand reset",
          "position": 2,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Reflection",
            "slug": "reflection",
            "status": "active",
            "canonId": "019dd9b8-0510-73fd-8d00-1c7e45f7bc98",
            "version": 1,
            "description": "The \"so what\" beat. Used by analytical arcs (Triple-take, Onion) and learning arcs (Voyage-return, Tragedy)."
          },
          "alignedBlockIds": null,
          "matchConfidence": 82
        },
        {
          "to": 58,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 18,
          "name": "Rising Action",
          "beatId": "019dd95a-07a7-7579-bd65-1d44db232db5",
          "matchId": "019dd95a-0543-7581-99b3-5836e9006609",
          "beatType": {
            "name": "Rising Action",
            "slug": "mountain-rising-action",
            "status": "active",
            "canonId": "019dd9b8-1992-742b-be9c-85d0ebee0591",
            "version": 1,
            "description": null
          },
          "evidence": "category-by-category gatekeeper sweep: retail, media, content",
          "position": 2,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Development",
            "slug": "development",
            "status": "active",
            "canonId": "019dd9b8-0332-7008-b3aa-11b0840a57b1",
            "version": 1,
            "description": "The middle stretch in arcs that have one. Often where length problems creep in."
          },
          "alignedBlockIds": null,
          "matchConfidence": 60
        }
      ],
      "loops": [
        {
          "to": 58,
          "from": 51,
          "loop": {
            "name": "21_before_after",
            "slug": "21-before-after",
            "status": "active",
            "bestFor": "Product demos, process improvements, ROI justification",
            "canonId": "019dd956-6e68-73fd-a295-fe90145c2da8",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Old Way (Pain) -> The Moment of Change -> The New Way (Glory) -> The Measurable Delta",
            "description": "Show the dramatic contrast between the old way and the new way through side-by-side comparison",
            "familyLabel": null
          },
          "matchId": "019dd95a-08f8-7619-ac2e-8b9d55219f3a",
          "evidence": "Blockbuster $5bn cap p51, Netflix vs YouTube p57, MrBeast vs top-10 Netflix p58",
          "position": 7,
          "objective": "Show legacy media's decline and streaming/creator-economy displacement",
          "confidence": 72,
          "extraction": {
            "at": "2026-04-29 13:07:29.779839+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 57,
      "type": "analysis",
      "title": "The chart shows the convergence and crossover of Netflix and YouTube viewing shares.",
      "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": 34,
        "componentCount": 6,
        "textChars": 171,
        "nDataPoints": 2,
        "notes": "The chart shows the convergence and crossover of Netflix and YouTube viewing shares.",
        "elementsJson": [
          "headline_text",
          "subtitle_text",
          "line_chart"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:35:41.016+00",
          "seconds": 3.026,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5e88-73ef-bd5d-853951586965/57",
        "deck": "/decks/019dd923-5e88-73ef-bd5d-853951586965",
        "deckAnchor": "/decks/019dd923-5e88-73ef-bd5d-853951586965#slide-57",
        "deckJson": "/decks/019dd923-5e88-73ef-bd5d-853951586965.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.55,
            "w": 0.924,
            "x": 0.038,
            "y": 0.27
          },
          "kind": "chart",
          "text": "Share of US TV viewing",
          "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": "Line chart",
              "slug": "line",
              "status": "active",
              "canonId": "019de52c-ff62-778f-8f6c-a952ceae8677",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "line",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:41.016+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "295cb694-00e1-4026-8cc1-fc6ef99de93e",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.04,
            "w": 0.06,
            "x": 0.038,
            "y": 0.345
          },
          "kind": "legend",
          "text": "Netflix\nYouTube",
          "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 17:35:41.016+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "7cd652e6-2cbc-464c-acb0-5c0a3f6eb88f",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Share of US TV viewing",
          "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-25 12:08:59+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a10c-c6d50c2292f2",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.025,
            "w": 0.58,
            "x": 0.205,
            "y": 0.13
          },
          "kind": "paragraph",
          "text": "Nielsen estimates that YouTube and Netflix have equivalent viewing in the USA",
          "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 17:35:41.016+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "60a9688c-908e-4dc9-8724-b6d86f9bd162",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.08,
            "x": 0.205,
            "y": 0.91
          },
          "kind": "source-note",
          "text": "Source: Nielsen",
          "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 17:35:41.016+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "d285aaa7-e57a-4e72-a856-88c7fb41d11b",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.045,
            "w": 0.315,
            "x": 0.205,
            "y": 0.055
          },
          "kind": "title",
          "text": "What is 'TV' anyway?",
          "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 17:35:41.016+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "5744a9dc-fbea-4368-90c3-4712a0cfa0d6",
          "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": "019dd95a-1b83-7130-933e-213ce07315b7",
          "evidence": "Title 'Nielsen estimates YouTube and Netflix have equivalent viewing'",
          "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": 80,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 57,
          "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": "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": "019dd95a-1b83-7130-933e-25ed5e84a90d",
          "evidence": "Cites Nielsen as authoritative source",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 72,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 57,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Legend / context",
            "slug": "legend-context",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd9e1-4e9e-7082-8f2e-c1e169365858",
            "version": 1,
            "bodyDocId": null,
            "description": "Footnote, definition, source attribution.",
            "familyLabel": null,
            "categoryName": null,
            "categorySlug": null
          },
          "agent": null,
          "layer": "slide",
          "agents": null,
          "matchId": "e1e82ad7-b77d-44e0-9e35-743bff245853",
          "evidence": "legend: Netflix YouTube",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.8,
          "extraction": {
            "at": "2026-07-16 21:59:15.25084+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 57,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": "common",
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 69,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 18,
          "name": "The Implications (So What)",
          "beatId": "019dd95a-07a7-7579-bd65-11bd74463cfe",
          "matchId": "019dd95a-0543-7581-99b3-5568450d33ea",
          "beatType": {
            "name": "The Implications (So What)",
            "slug": "triple-take-the-implications-so-what",
            "status": "active",
            "canonId": "019dd9b8-09c7-75cd-8c7b-ae0e23cca2b8",
            "version": 1,
            "description": null
          },
          "evidence": "'The New Gatekeepers' divider p18; retail media, unbundling, brand reset",
          "position": 2,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Reflection",
            "slug": "reflection",
            "status": "active",
            "canonId": "019dd9b8-0510-73fd-8d00-1c7e45f7bc98",
            "version": 1,
            "description": "The \"so what\" beat. Used by analytical arcs (Triple-take, Onion) and learning arcs (Voyage-return, Tragedy)."
          },
          "alignedBlockIds": null,
          "matchConfidence": 82
        },
        {
          "to": 58,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 18,
          "name": "Rising Action",
          "beatId": "019dd95a-07a7-7579-bd65-1d44db232db5",
          "matchId": "019dd95a-0543-7581-99b3-5836e9006609",
          "beatType": {
            "name": "Rising Action",
            "slug": "mountain-rising-action",
            "status": "active",
            "canonId": "019dd9b8-1992-742b-be9c-85d0ebee0591",
            "version": 1,
            "description": null
          },
          "evidence": "category-by-category gatekeeper sweep: retail, media, content",
          "position": 2,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Development",
            "slug": "development",
            "status": "active",
            "canonId": "019dd9b8-0332-7008-b3aa-11b0840a57b1",
            "version": 1,
            "description": "The middle stretch in arcs that have one. Often where length problems creep in."
          },
          "alignedBlockIds": null,
          "matchConfidence": 60
        }
      ],
      "loops": [
        {
          "to": 58,
          "from": 51,
          "loop": {
            "name": "21_before_after",
            "slug": "21-before-after",
            "status": "active",
            "bestFor": "Product demos, process improvements, ROI justification",
            "canonId": "019dd956-6e68-73fd-a295-fe90145c2da8",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Old Way (Pain) -> The Moment of Change -> The New Way (Glory) -> The Measurable Delta",
            "description": "Show the dramatic contrast between the old way and the new way through side-by-side comparison",
            "familyLabel": null
          },
          "matchId": "019dd95a-08f8-7619-ac2e-8b9d55219f3a",
          "evidence": "Blockbuster $5bn cap p51, Netflix vs YouTube p57, MrBeast vs top-10 Netflix p58",
          "position": 7,
          "objective": "Show legacy media's decline and streaming/creator-economy displacement",
          "confidence": 72,
          "extraction": {
            "at": "2026-04-29 13:07:29.779839+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 58,
      "type": "setup",
      "title": "The chart highlights how YouTube creator content competes with traditional streaming platform metrics.",
      "function": "compare_peers",
      "rawType": "comparison_table",
      "block": null,
      "metadata": {
        "slideType": "comparison_table",
        "slideTypeCanon": {
          "name": "Comparison table",
          "slug": "comparison_table",
          "status": "active",
          "canonId": "019de52d-0a06-73f8-8813-fe022fab1de2",
          "version": 1,
          "description": null
        },
        "function": "compare_peers",
        "functionCanon": {
          "name": "Compare peers",
          "slug": "compare_peers",
          "status": "active",
          "canonId": "019de52d-1453-72ba-a367-9ba3d34c1630",
          "version": 1,
          "description": null
        },
        "density": "dense",
        "densityScore": 60,
        "componentCount": 7,
        "textChars": 493,
        "nDataPoints": 18,
        "notes": "The chart highlights how YouTube creator content competes with traditional streaming platform metrics.",
        "elementsJson": [
          "headline_text",
          "subtitle_text",
          "bar_chart_vertical",
          "footnote"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:35:41.055+00",
          "seconds": 3.051,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5e88-73ef-bd5d-853951586965/58",
        "deck": "/decks/019dd923-5e88-73ef-bd5d-853951586965",
        "deckAnchor": "/decks/019dd923-5e88-73ef-bd5d-853951586965#slide-58",
        "deckJson": "/decks/019dd923-5e88-73ef-bd5d-853951586965.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "MrBeast probably has comparable total viewing time to a top 10 Netflix show",
          "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-25 12:09:01+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a10e-4f175f167555",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.55,
            "w": 0.721,
            "x": 0.206,
            "y": 0.27
          },
          "kind": "chart",
          "text": "Global 7-day hours of viewing, January 2023 (m)",
          "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 17:35:41.055+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "52a4f7be-27c0-435c-9bd3-09c3a29dff62",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.721,
            "x": 0.206,
            "y": 0.905
          },
          "kind": "disclaimer",
          "text": "Source: Netflix, YouTube, Benedict Evans. Netflix reports hours for show seasons but not for entire shows. YouTube reports views for MrBeast: presume 75%, 50% and 25% completion for average video length",
          "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 17:35:41.055+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "6f3af722-d6f3-44da-bc92-10186abd4c5e",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.04,
            "w": 0.17,
            "x": 0.028,
            "y": 0.345
          },
          "kind": "legend",
          "text": "MrBeast YouTube; Top 15 Netflix TV seasons",
          "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 17:35:41.055+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "e5864b50-00f7-4c97-9515-f89abb381228",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Global 7-day hours of viewing: 50m",
          "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-25 12:09:01+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a10e-50ba72f986c1",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.025,
            "w": 0.721,
            "x": 0.206,
            "y": 0.125
          },
          "kind": "title",
          "text": "MrBeast probably has comparable total viewing time to a top 10 Netflix show",
          "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 17:35:41.055+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "2aa347d9-5271-4e55-be0f-20c089bf5786",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.045,
            "w": 0.285,
            "x": 0.206,
            "y": 0.056
          },
          "kind": "title",
          "text": "What is a TV show?",
          "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 17:35:41.055+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "98ceb06d-d8cb-48cd-87cf-187a835a41a3",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "2x2 matrix",
            "slug": "matrix-2x2",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd9e1-50ab-72d1-8afb-3ab0a38e32a8",
            "version": 1,
            "bodyDocId": null,
            "description": "BCG matrix, importance/urgency, any axes-and-quadrants frame.",
            "familyLabel": null,
            "categoryName": null,
            "categorySlug": null
          },
          "agent": null,
          "layer": "slide",
          "agents": null,
          "matchId": "0a0f2905-1aec-4faf-b8ed-7ccdf15b1439",
          "evidence": "table/comparison: ... ",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.5,
          "extraction": {
            "at": "2026-07-16 21:59:15.457472+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 58,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": "common",
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Comparison frame",
            "slug": "comparison-frame",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd9e1-484b-7399-a4fc-d14644b99f93",
            "version": 1,
            "bodyDocId": null,
            "description": "Two or more states/subjects placed side by side to expose a gap.",
            "familyLabel": null,
            "categoryName": null,
            "categorySlug": null
          },
          "agent": null,
          "layer": "slide",
          "agents": null,
          "matchId": "5cf4857f-d8b7-4a70-b385-9dcc714a05fc",
          "evidence": "chart/bar-vertical: Global 7-day hours of viewing, January 2023 (m)",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 21:59:15.418183+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 58,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": "common",
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Concrete Language",
            "slug": "concrete-language",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-bcd4-7398-9723-6aa72346170b",
            "version": 1,
            "bodyDocId": null,
            "description": "Using specific sensory details instead of abstract terms",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Storyteller",
          "layer": "slide",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019dd95a-1b83-7130-933e-2f7bbdebb3a4",
          "evidence": "Specific 'top 10 Netflix show' comparison",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 78,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 58,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Sinatra Test",
            "slug": "sinatra-test",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-be4a-775f-8038-d4e7e58dfc5a",
            "version": 1,
            "bodyDocId": null,
            "description": "If you can make it there, you can make it anywhere - using flagship example",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Storyteller",
          "layer": "slide",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019dd95a-1b83-7130-933e-2932ef5fac8e",
          "evidence": "MrBeast as the flagship creator-vs-Netflix proof case",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 80,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 58,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 69,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 18,
          "name": "The Implications (So What)",
          "beatId": "019dd95a-07a7-7579-bd65-11bd74463cfe",
          "matchId": "019dd95a-0543-7581-99b3-5568450d33ea",
          "beatType": {
            "name": "The Implications (So What)",
            "slug": "triple-take-the-implications-so-what",
            "status": "active",
            "canonId": "019dd9b8-09c7-75cd-8c7b-ae0e23cca2b8",
            "version": 1,
            "description": null
          },
          "evidence": "'The New Gatekeepers' divider p18; retail media, unbundling, brand reset",
          "position": 2,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Reflection",
            "slug": "reflection",
            "status": "active",
            "canonId": "019dd9b8-0510-73fd-8d00-1c7e45f7bc98",
            "version": 1,
            "description": "The \"so what\" beat. Used by analytical arcs (Triple-take, Onion) and learning arcs (Voyage-return, Tragedy)."
          },
          "alignedBlockIds": null,
          "matchConfidence": 82
        },
        {
          "to": 58,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 18,
          "name": "Rising Action",
          "beatId": "019dd95a-07a7-7579-bd65-1d44db232db5",
          "matchId": "019dd95a-0543-7581-99b3-5836e9006609",
          "beatType": {
            "name": "Rising Action",
            "slug": "mountain-rising-action",
            "status": "active",
            "canonId": "019dd9b8-1992-742b-be9c-85d0ebee0591",
            "version": 1,
            "description": null
          },
          "evidence": "category-by-category gatekeeper sweep: retail, media, content",
          "position": 2,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Development",
            "slug": "development",
            "status": "active",
            "canonId": "019dd9b8-0332-7008-b3aa-11b0840a57b1",
            "version": 1,
            "description": "The middle stretch in arcs that have one. Often where length problems creep in."
          },
          "alignedBlockIds": null,
          "matchConfidence": 60
        }
      ],
      "loops": [
        {
          "to": 58,
          "from": 51,
          "loop": {
            "name": "21_before_after",
            "slug": "21-before-after",
            "status": "active",
            "bestFor": "Product demos, process improvements, ROI justification",
            "canonId": "019dd956-6e68-73fd-a295-fe90145c2da8",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Old Way (Pain) -> The Moment of Change -> The New Way (Glory) -> The Measurable Delta",
            "description": "Show the dramatic contrast between the old way and the new way through side-by-side comparison",
            "familyLabel": null
          },
          "matchId": "019dd95a-08f8-7619-ac2e-8b9d55219f3a",
          "evidence": "Blockbuster $5bn cap p51, Netflix vs YouTube p57, MrBeast vs top-10 Netflix p58",
          "position": 7,
          "objective": "Show legacy media's decline and streaming/creator-economy displacement",
          "confidence": 72,
          "extraction": {
            "at": "2026-04-29 13:07:29.779839+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 59,
      "type": "analysis",
      "title": "The chart illustrates the convergence of social and video platforms, questioning traditional industry definitions.",
      "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": 40,
        "componentCount": 6,
        "textChars": 205,
        "nDataPoints": 50,
        "notes": "The chart illustrates the convergence of social and video platforms, questioning traditional industry definitions.",
        "elementsJson": [
          "headline_text",
          "subtitle_text",
          "line_chart"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:35:41.51+00",
          "seconds": 3.114,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5e88-73ef-bd5d-853951586965/59",
        "deck": "/decks/019dd923-5e88-73ef-bd5d-853951586965",
        "deckAnchor": "/decks/019dd923-5e88-73ef-bd5d-853951586965#slide-59",
        "deckJson": "/decks/019dd923-5e88-73ef-bd5d-853951586965.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.55,
            "w": 0.75,
            "x": 0.205,
            "y": 0.275
          },
          "kind": "chart",
          "text": "US teenagers' favourite social network",
          "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": "Line chart",
              "slug": "line",
              "status": "active",
              "canonId": "019de52c-ff62-778f-8f6c-a952ceae8677",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "line",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:41.51+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "9b35224e-674c-4725-99c7-0afc029ccc4e",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.1,
            "x": 0.02,
            "y": 0.35
          },
          "kind": "legend",
          "text": "Instagram, Snap, Tiktok, Facebook, Twitter",
          "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 17:35:41.51+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "4ebf07bf-64ad-4b51-81cd-b468e2080868",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "US teenagers' favourite social network",
          "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-25 12:08:59+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a10c-d9e1852fd80c",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.1,
            "x": 0.205,
            "y": 0.91
          },
          "kind": "source-note",
          "text": "Source: Piper Sandler",
          "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 17:35:41.51+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "5e6ba680-c608-4caa-8ace-c3b1239066a2",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.49,
            "x": 0.205,
            "y": 0.12
          },
          "kind": "title",
          "text": "Is TikTok 'social' or 'video'? Does it matter?",
          "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 17:35:41.51+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "93874027-01b0-4dbc-a237-81dd7b3c5dad",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.04,
            "w": 0.31,
            "x": 0.205,
            "y": 0.05
          },
          "kind": "title",
          "text": "What is 'TV' anyway?",
          "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 17:35:41.51+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "9ff0c745-9b5d-4a38-ae21-7b8cbf06cc35",
          "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": "019dd95a-1b83-7130-933e-31e5535d3186",
          "evidence": "Question title 'What is TV anyway?' opens reframing",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 75,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 59,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Legend / context",
            "slug": "legend-context",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd9e1-4e9e-7082-8f2e-c1e169365858",
            "version": 1,
            "bodyDocId": null,
            "description": "Footnote, definition, source attribution.",
            "familyLabel": null,
            "categoryName": null,
            "categorySlug": null
          },
          "agent": null,
          "layer": "slide",
          "agents": null,
          "matchId": "d3eec667-747d-4856-aecc-6566f198cb7e",
          "evidence": "legend: Instagram, Snap, Tiktok, Facebook, Twitter",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.8,
          "extraction": {
            "at": "2026-07-16 21:59:15.535483+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 59,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": "common",
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 69,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 18,
          "name": "The Implications (So What)",
          "beatId": "019dd95a-07a7-7579-bd65-11bd74463cfe",
          "matchId": "019dd95a-0543-7581-99b3-5568450d33ea",
          "beatType": {
            "name": "The Implications (So What)",
            "slug": "triple-take-the-implications-so-what",
            "status": "active",
            "canonId": "019dd9b8-09c7-75cd-8c7b-ae0e23cca2b8",
            "version": 1,
            "description": null
          },
          "evidence": "'The New Gatekeepers' divider p18; retail media, unbundling, brand reset",
          "position": 2,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Reflection",
            "slug": "reflection",
            "status": "active",
            "canonId": "019dd9b8-0510-73fd-8d00-1c7e45f7bc98",
            "version": 1,
            "description": "The \"so what\" beat. Used by analytical arcs (Triple-take, Onion) and learning arcs (Voyage-return, Tragedy)."
          },
          "alignedBlockIds": null,
          "matchConfidence": 82
        },
        {
          "to": 69,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 59,
          "name": "Climax",
          "beatId": "019dd95a-07a7-7579-bd65-217ee690948d",
          "matchId": "019dd95a-0543-7581-99b3-5836e9006609",
          "beatType": {
            "name": "Climax",
            "slug": "mountain-climax",
            "status": "active",
            "canonId": "019dd9b8-1a2a-762e-b86f-73c710f9aa68",
            "version": 1,
            "description": null
          },
          "evidence": "'A market reset' + 'blank canvas for new businesses' p67",
          "position": 3,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Turn",
            "slug": "turn",
            "status": "active",
            "canonId": "019dd9b8-0396-702b-ac2f-9901f8dd8b54",
            "version": 1,
            "description": "The pivot — solution proposed, catalyst introduced, decision made. Common (15/20 arcs) but not universal: Triple-take, AIDA, PAS, Voyage-return and Pixar substitute it with a strong reflection or development beat."
          },
          "alignedBlockIds": null,
          "matchConfidence": 60
        }
      ],
      "loops": [
        {
          "to": 69,
          "from": 59,
          "loop": {
            "name": "03_aha_moment",
            "slug": "03-aha-moment",
            "status": "active",
            "bestFor": "Data-heavy sections, research findings, analytical arguments",
            "canonId": "019dd956-66f4-7668-ab25-cec9c996c0bc",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Problem/Question -> What the Data Shows -> The Insight",
            "description": "Establish a tension, present data, then deliver the insight that changes everything",
            "familyLabel": null
          },
          "matchId": "019dd95a-08f8-7619-ac2e-8fd26fbad1b9",
          "evidence": "p64 'big brand bundle' -> p65 'unbundled' -> p67 'market reset, blank canvas'",
          "position": 8,
          "objective": "Land thesis: software unbundles every layer of the brand bundle",
          "confidence": 80,
          "extraction": {
            "at": "2026-04-29 13:07:29.779839+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 60,
      "type": "evidence",
      "function": "illustrate_case",
      "rawType": "quote_slide",
      "block": null,
      "metadata": {
        "slideType": "quote_slide",
        "slideTypeCanon": {
          "name": "Quote slide",
          "slug": "quote_slide",
          "status": "active",
          "canonId": "019de52d-098e-7555-a9fd-4f0af7e80bc2",
          "version": 1,
          "description": null
        },
        "function": "illustrate_case",
        "functionCanon": {
          "name": "Illustrate case",
          "slug": "illustrate_case",
          "status": "active",
          "canonId": "019de52d-13b4-772c-bb73-1873612a7463",
          "version": 1,
          "description": null
        },
        "density": "sparse",
        "densityScore": 8,
        "componentCount": 3,
        "textChars": 103,
        "nDataPoints": 0,
        "notes": null,
        "elementsJson": [
          "quote_block"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:35:40.753+00",
          "seconds": 2.258,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5e88-73ef-bd5d-853951586965/60",
        "deck": "/decks/019dd923-5e88-73ef-bd5d-853951586965",
        "deckAnchor": "/decks/019dd923-5e88-73ef-bd5d-853951586965#slide-60",
        "deckJson": "/decks/019dd923-5e88-73ef-bd5d-853951586965.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.053,
            "w": 0.337,
            "x": 0.205,
            "y": 0.438
          },
          "kind": "paragraph",
          "text": "Marc Andreessen, 2011",
          "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 17:35:40.753+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "22d2270e-2950-4f42-aa1f-80044a812414",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.053,
            "w": 0.431,
            "x": 0.205,
            "y": 0.303
          },
          "kind": "quote",
          "text": "Software is eating the world",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Quote",
              "slug": "quote",
              "status": "active",
              "canonId": "019de52c-f8fb-751e-8bc6-d58e2d59562a",
              "version": 1,
              "description": "Pull quote or testimonial."
            },
            "tool": null,
            "subkind": {
              "name": "Pull quote",
              "slug": "pull-quote",
              "status": "active",
              "canonId": "019de52c-fbf9-76fe-97e1-a0b7540445c9",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "pull-quote",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:40.753+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "acd9b133-63a5-4141-88f5-5be934dd7362",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "quote",
          "text": "“Software is eating the world” — Marc Andreessen, 2011",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Quote",
              "slug": "quote",
              "status": "active",
              "canonId": "019de52c-f8fb-751e-8bc6-d58e2d59562a",
              "version": 1,
              "description": "Pull quote or testimonial."
            },
            "tool": {
              "name": "Authority citation",
              "slug": "authority-citation",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-49ae-7557-89ad-3fca70469b45",
              "version": 1,
              "bodyDocId": null,
              "description": "Quoting an authority figure, study, or precedent to lend weight.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-25 12:09:00+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a10c-f069a6b690a6",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "Callback",
            "slug": "callback",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-a3a9-708f-b4a3-d3da2181c576",
            "version": 1,
            "bodyDocId": null,
            "description": "Referencing earlier content for payoff and cohesion",
            "familyLabel": null,
            "categoryName": "Loop",
            "categorySlug": "loop"
          },
          "agent": "Storyteller",
          "layer": "loop",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019dd95a-1b83-7130-933e-38414963b679",
          "evidence": "Echoes 'Software eats advertising' titles from p21-22",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 80,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 60,
          "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": "019dd95a-1b83-7130-933e-37ed64fd1374",
          "evidence": "Quote 'Software is eating the world' (Andreessen)",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 88,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 60,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 69,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 18,
          "name": "The Implications (So What)",
          "beatId": "019dd95a-07a7-7579-bd65-11bd74463cfe",
          "matchId": "019dd95a-0543-7581-99b3-5568450d33ea",
          "beatType": {
            "name": "The Implications (So What)",
            "slug": "triple-take-the-implications-so-what",
            "status": "active",
            "canonId": "019dd9b8-09c7-75cd-8c7b-ae0e23cca2b8",
            "version": 1,
            "description": null
          },
          "evidence": "'The New Gatekeepers' divider p18; retail media, unbundling, brand reset",
          "position": 2,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Reflection",
            "slug": "reflection",
            "status": "active",
            "canonId": "019dd9b8-0510-73fd-8d00-1c7e45f7bc98",
            "version": 1,
            "description": "The \"so what\" beat. Used by analytical arcs (Triple-take, Onion) and learning arcs (Voyage-return, Tragedy)."
          },
          "alignedBlockIds": null,
          "matchConfidence": 82
        },
        {
          "to": 69,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 59,
          "name": "Climax",
          "beatId": "019dd95a-07a7-7579-bd65-217ee690948d",
          "matchId": "019dd95a-0543-7581-99b3-5836e9006609",
          "beatType": {
            "name": "Climax",
            "slug": "mountain-climax",
            "status": "active",
            "canonId": "019dd9b8-1a2a-762e-b86f-73c710f9aa68",
            "version": 1,
            "description": null
          },
          "evidence": "'A market reset' + 'blank canvas for new businesses' p67",
          "position": 3,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Turn",
            "slug": "turn",
            "status": "active",
            "canonId": "019dd9b8-0396-702b-ac2f-9901f8dd8b54",
            "version": 1,
            "description": "The pivot — solution proposed, catalyst introduced, decision made. Common (15/20 arcs) but not universal: Triple-take, AIDA, PAS, Voyage-return and Pixar substitute it with a strong reflection or development beat."
          },
          "alignedBlockIds": null,
          "matchConfidence": 60
        }
      ],
      "loops": [
        {
          "to": 69,
          "from": 59,
          "loop": {
            "name": "03_aha_moment",
            "slug": "03-aha-moment",
            "status": "active",
            "bestFor": "Data-heavy sections, research findings, analytical arguments",
            "canonId": "019dd956-66f4-7668-ab25-cec9c996c0bc",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Problem/Question -> What the Data Shows -> The Insight",
            "description": "Establish a tension, present data, then deliver the insight that changes everything",
            "familyLabel": null
          },
          "matchId": "019dd95a-08f8-7619-ac2e-8fd26fbad1b9",
          "evidence": "p64 'big brand bundle' -> p65 'unbundled' -> p67 'market reset, blank canvas'",
          "position": 8,
          "objective": "Land thesis: software unbundles every layer of the brand bundle",
          "confidence": 80,
          "extraction": {
            "at": "2026-04-29 13:07:29.779839+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 61,
      "type": "setup",
      "title": "The slide uses a process flow diagram to illustrate the spectrum of software's impact on industries.",
      "function": "present_framework",
      "rawType": "transition",
      "block": null,
      "metadata": {
        "slideType": "transition",
        "slideTypeCanon": {
          "name": "Transition",
          "slug": "transition",
          "status": "active",
          "canonId": "019de52d-0693-7766-9f05-887f41f8e41e",
          "version": 1,
          "description": null
        },
        "function": "present_framework",
        "functionCanon": {
          "name": "Present framework",
          "slug": "present_framework",
          "status": "active",
          "canonId": "019de52d-1403-7667-9100-d2ac6709f750",
          "version": 1,
          "description": null
        },
        "density": "sparse",
        "densityScore": 14,
        "componentCount": 3,
        "textChars": 256,
        "nDataPoints": 0,
        "notes": "The slide uses a process flow diagram to illustrate the spectrum of software's impact on industries.",
        "elementsJson": [
          "headline_text",
          "subtitle_text",
          "process_diagram"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:35:41.01+00",
          "seconds": 2.365,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5e88-73ef-bd5d-853951586965/61",
        "deck": "/decks/019dd923-5e88-73ef-bd5d-853951586965",
        "deckAnchor": "/decks/019dd923-5e88-73ef-bd5d-853951586965#slide-61",
        "deckJson": "/decks/019dd923-5e88-73ef-bd5d-853951586965.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.417,
            "w": 0.792,
            "x": 0.204,
            "y": 0.35
          },
          "kind": "diagram",
          "text": "Information arbitrage (Tickets, reviews, listings) -> Software changes the product (Uber, Airbnb... Tesla?) -> Software is just a new channel (Netflix, Shein)",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Diagram",
              "slug": "diagram",
              "status": "active",
              "canonId": "019de52c-f9f0-734a-81de-15382ff28c65",
              "version": 1,
              "description": "Schematic or relational diagram."
            },
            "tool": null,
            "subkind": {
              "name": "Process flow",
              "slug": "process",
              "status": "active",
              "canonId": "019de52d-039c-718f-ad3a-efe9c4b3c838",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "process",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:41.01+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "bf7bdbef-e503-4651-be96-968fb794e5d1",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.028,
            "w": 0.685,
            "x": 0.204,
            "y": 0.132
          },
          "kind": "subtitle",
          "text": "Where does software eat the world, and where does it just get absorbed?",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Subtitle",
              "slug": "subtitle",
              "status": "active",
              "canonId": "82d821ee-2793-42e7-8f16-c6131385a3ce",
              "version": 1,
              "description": "Header-zone supporting text near the title (= ex body.description with bbox)."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:41.01+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "238503b4-52e5-4831-8df2-23a86bc43600",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.056,
            "w": 0.423,
            "x": 0.204,
            "y": 0.056
          },
          "kind": "title",
          "text": "But where does that happen?",
          "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 17:35:41.01+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "64ab05b0-9560-40cf-a47e-1b0b2363ac5e",
          "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": "019dd95a-1b83-7130-933e-3c5277418223",
          "evidence": "Question 'But where does that happen?' opens framework",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 70,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 61,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [
        {
          "matchId": "c5722640-225f-4179-9c68-0280d3228897",
          "evidence": "The slide uses a three-step horizontal flow to categorize software impact.",
          "framework": null,
          "confidence": 0.8,
          "extraction": {
            "at": "2026-05-02 17:35:41.01+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 61,
          "frameworkName": "process"
        }
      ],
      "arcBeats": [
        {
          "to": 69,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 18,
          "name": "The Implications (So What)",
          "beatId": "019dd95a-07a7-7579-bd65-11bd74463cfe",
          "matchId": "019dd95a-0543-7581-99b3-5568450d33ea",
          "beatType": {
            "name": "The Implications (So What)",
            "slug": "triple-take-the-implications-so-what",
            "status": "active",
            "canonId": "019dd9b8-09c7-75cd-8c7b-ae0e23cca2b8",
            "version": 1,
            "description": null
          },
          "evidence": "'The New Gatekeepers' divider p18; retail media, unbundling, brand reset",
          "position": 2,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Reflection",
            "slug": "reflection",
            "status": "active",
            "canonId": "019dd9b8-0510-73fd-8d00-1c7e45f7bc98",
            "version": 1,
            "description": "The \"so what\" beat. Used by analytical arcs (Triple-take, Onion) and learning arcs (Voyage-return, Tragedy)."
          },
          "alignedBlockIds": null,
          "matchConfidence": 82
        },
        {
          "to": 69,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 59,
          "name": "Climax",
          "beatId": "019dd95a-07a7-7579-bd65-217ee690948d",
          "matchId": "019dd95a-0543-7581-99b3-5836e9006609",
          "beatType": {
            "name": "Climax",
            "slug": "mountain-climax",
            "status": "active",
            "canonId": "019dd9b8-1a2a-762e-b86f-73c710f9aa68",
            "version": 1,
            "description": null
          },
          "evidence": "'A market reset' + 'blank canvas for new businesses' p67",
          "position": 3,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Turn",
            "slug": "turn",
            "status": "active",
            "canonId": "019dd9b8-0396-702b-ac2f-9901f8dd8b54",
            "version": 1,
            "description": "The pivot — solution proposed, catalyst introduced, decision made. Common (15/20 arcs) but not universal: Triple-take, AIDA, PAS, Voyage-return and Pixar substitute it with a strong reflection or development beat."
          },
          "alignedBlockIds": null,
          "matchConfidence": 60
        }
      ],
      "loops": [
        {
          "to": 69,
          "from": 59,
          "loop": {
            "name": "03_aha_moment",
            "slug": "03-aha-moment",
            "status": "active",
            "bestFor": "Data-heavy sections, research findings, analytical arguments",
            "canonId": "019dd956-66f4-7668-ab25-cec9c996c0bc",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Problem/Question -> What the Data Shows -> The Insight",
            "description": "Establish a tension, present data, then deliver the insight that changes everything",
            "familyLabel": null
          },
          "matchId": "019dd95a-08f8-7619-ac2e-8fd26fbad1b9",
          "evidence": "p64 'big brand bundle' -> p65 'unbundled' -> p67 'market reset, blank canvas'",
          "position": 8,
          "objective": "Land thesis: software unbundles every layer of the brand bundle",
          "confidence": 80,
          "extraction": {
            "at": "2026-04-29 13:07:29.779839+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 62,
      "type": "setup",
      "function": "summarize",
      "rawType": "quote_slide",
      "block": null,
      "metadata": {
        "slideType": "quote_slide",
        "slideTypeCanon": {
          "name": "Quote slide",
          "slug": "quote_slide",
          "status": "active",
          "canonId": "019de52d-098e-7555-a9fd-4f0af7e80bc2",
          "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": 11,
        "componentCount": 3,
        "textChars": 171,
        "nDataPoints": 0,
        "notes": null,
        "elementsJson": [
          "quote_block"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:35:41.558+00",
          "seconds": 2.892,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5e88-73ef-bd5d-853951586965/62",
        "deck": "/decks/019dd923-5e88-73ef-bd5d-853951586965",
        "deckAnchor": "/decks/019dd923-5e88-73ef-bd5d-853951586965#slide-62",
        "deckJson": "/decks/019dd923-5e88-73ef-bd5d-853951586965.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.05,
            "w": 0.21,
            "x": 0.203,
            "y": 0.505
          },
          "kind": "paragraph",
          "text": "Jim Barksdale",
          "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 17:35:41.558+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "fd59cbb8-86c0-422c-93d4-80af3c593b62",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.175,
            "w": 0.594,
            "x": 0.203,
            "y": 0.303
          },
          "kind": "quote",
          "text": "“There are two ways to make money. You can bundle, or you can unbundle”",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Quote",
              "slug": "quote",
              "status": "active",
              "canonId": "019de52c-f8fb-751e-8bc6-d58e2d59562a",
              "version": 1,
              "description": "Pull quote or testimonial."
            },
            "tool": null,
            "subkind": {
              "name": "Pull quote",
              "slug": "pull-quote",
              "status": "active",
              "canonId": "019de52c-fbf9-76fe-97e1-a0b7540445c9",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "pull-quote",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:41.558+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "b1920b56-2500-4a4b-bf56-061916b3f1b2",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "quote",
          "text": "“There are two ways to make money. You can bundle, or you can unbundle” — Jim Barksdale",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Quote",
              "slug": "quote",
              "status": "active",
              "canonId": "019de52c-f8fb-751e-8bc6-d58e2d59562a",
              "version": 1,
              "description": "Pull quote or testimonial."
            },
            "tool": {
              "name": "Authority citation",
              "slug": "authority-citation",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-49ae-7557-89ad-3fca70469b45",
              "version": 1,
              "bodyDocId": null,
              "description": "Quoting an authority figure, study, or precedent to lend weight.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-25 12:09:00+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a10d-481d866e5e7d",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "Chiasmus",
            "slug": "chiasmus",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-9f90-77d2-92d7-9a9780d23677",
            "version": 1,
            "bodyDocId": null,
            "description": "Reversing structure in successive phrases for emphasis (A-B then B-A)",
            "familyLabel": null,
            "categoryName": "Loop",
            "categorySlug": "loop"
          },
          "agent": "Storyteller",
          "layer": "loop",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019dd95a-1b83-7130-933e-443d30af4242",
          "evidence": "Bundle/unbundle is itself a chiasmic line",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 75,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 62,
          "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": "019dd95a-1b83-7130-933e-43fd44f6b445",
          "evidence": "Pulled quote 'bundle or unbundle' (Jim Barksdale)",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 85,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 62,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 69,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 18,
          "name": "The Implications (So What)",
          "beatId": "019dd95a-07a7-7579-bd65-11bd74463cfe",
          "matchId": "019dd95a-0543-7581-99b3-5568450d33ea",
          "beatType": {
            "name": "The Implications (So What)",
            "slug": "triple-take-the-implications-so-what",
            "status": "active",
            "canonId": "019dd9b8-09c7-75cd-8c7b-ae0e23cca2b8",
            "version": 1,
            "description": null
          },
          "evidence": "'The New Gatekeepers' divider p18; retail media, unbundling, brand reset",
          "position": 2,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Reflection",
            "slug": "reflection",
            "status": "active",
            "canonId": "019dd9b8-0510-73fd-8d00-1c7e45f7bc98",
            "version": 1,
            "description": "The \"so what\" beat. Used by analytical arcs (Triple-take, Onion) and learning arcs (Voyage-return, Tragedy)."
          },
          "alignedBlockIds": null,
          "matchConfidence": 82
        },
        {
          "to": 69,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 59,
          "name": "Climax",
          "beatId": "019dd95a-07a7-7579-bd65-217ee690948d",
          "matchId": "019dd95a-0543-7581-99b3-5836e9006609",
          "beatType": {
            "name": "Climax",
            "slug": "mountain-climax",
            "status": "active",
            "canonId": "019dd9b8-1a2a-762e-b86f-73c710f9aa68",
            "version": 1,
            "description": null
          },
          "evidence": "'A market reset' + 'blank canvas for new businesses' p67",
          "position": 3,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Turn",
            "slug": "turn",
            "status": "active",
            "canonId": "019dd9b8-0396-702b-ac2f-9901f8dd8b54",
            "version": 1,
            "description": "The pivot — solution proposed, catalyst introduced, decision made. Common (15/20 arcs) but not universal: Triple-take, AIDA, PAS, Voyage-return and Pixar substitute it with a strong reflection or development beat."
          },
          "alignedBlockIds": null,
          "matchConfidence": 60
        }
      ],
      "loops": [
        {
          "to": 69,
          "from": 59,
          "loop": {
            "name": "03_aha_moment",
            "slug": "03-aha-moment",
            "status": "active",
            "bestFor": "Data-heavy sections, research findings, analytical arguments",
            "canonId": "019dd956-66f4-7668-ab25-cec9c996c0bc",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Problem/Question -> What the Data Shows -> The Insight",
            "description": "Establish a tension, present data, then deliver the insight that changes everything",
            "familyLabel": null
          },
          "matchId": "019dd95a-08f8-7619-ac2e-8fd26fbad1b9",
          "evidence": "p64 'big brand bundle' -> p65 'unbundled' -> p67 'market reset, blank canvas'",
          "position": 8,
          "objective": "Land thesis: software unbundles every layer of the brand bundle",
          "confidence": 80,
          "extraction": {
            "at": "2026-04-29 13:07:29.779839+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 63,
      "type": "analysis",
      "title": "The chart illustrates the shift in Nike's sales mix towards D2C over time.",
      "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": 50,
        "componentCount": 7,
        "textChars": 260,
        "nDataPoints": 26,
        "notes": "The chart illustrates the shift in Nike's sales mix towards D2C over time.",
        "elementsJson": [
          "headline_text",
          "subtitle_text",
          "bar_chart_stacked"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:35:45.81+00",
          "seconds": 7.031,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5e88-73ef-bd5d-853951586965/63",
        "deck": "/decks/019dd923-5e88-73ef-bd5d-853951586965",
        "deckAnchor": "/decks/019dd923-5e88-73ef-bd5d-853951586965#slide-63",
        "deckJson": "/decks/019dd923-5e88-73ef-bd5d-853951586965.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "Nike's own channel is now 40% of sales and all of the growth",
          "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-25 12:09:01+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a10d-c786612fdfad",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.6,
            "w": 0.7,
            "x": 0.205,
            "y": 0.25
          },
          "kind": "chart",
          "text": "Nike revenue ($bn) 2010-2022",
          "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": "Stacked bar chart",
              "slug": "bar-stacked",
              "status": "active",
              "canonId": "019de52c-feec-74bf-9028-15b74f84f0a7",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bar-stacked",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:45.81+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "0c128c52-9405-43d4-ab59-cf1a5220ad61",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.1,
            "x": 0.03,
            "y": 0.35
          },
          "kind": "legend",
          "text": "D2C (Red), Wholesale (Grey)",
          "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 17:35:45.81+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "e4b73a44-d34d-4282-b891-3334359a7242",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Revenue: 40%",
          "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-25 12:09:01+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a10d-c9fe0637e87c",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.4,
            "x": 0.205,
            "y": 0.91
          },
          "kind": "source-note",
          "text": "Source: Nike. * Nike brand only. NB: May year end",
          "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 17:35:45.81+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "60734a29-cc78-43ee-9cbd-bceb3307c61a",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.6,
            "x": 0.205,
            "y": 0.12
          },
          "kind": "title",
          "text": "Nike's own channel is now 40% of sales and all of the growth",
          "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 17:35:45.81+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "2bebfdf2-df68-45b5-89ba-9cbc9cf3fbc8",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.35,
            "x": 0.205,
            "y": 0.05
          },
          "kind": "title",
          "text": "What's the right bundle?",
          "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 17:35:45.81+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "5ec3e7b8-d0a6-4d7f-aa9f-d40a1a8ceec3",
          "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": "019dd95a-1b83-7130-933e-484fe249a92b",
          "evidence": "Title is the insight: 'Nike's own channel is now 40% of sales and all of the growth'",
          "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-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 63,
          "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": "Concrete Language",
            "slug": "concrete-language",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-bcd4-7398-9723-6aa72346170b",
            "version": 1,
            "bodyDocId": null,
            "description": "Using specific sensory details instead of abstract terms",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Storyteller",
          "layer": "slide",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019dd95a-1b83-7130-933e-4f819ee7a5d0",
          "evidence": "Names Nike, gives precise 40% figure",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 80,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 63,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Data Story Arc",
            "slug": "data-story-arc",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-9c30-728e-b974-d3fb123dcf5a",
            "version": 1,
            "bodyDocId": null,
            "description": "Context → Conflict → Insight → Implication structure for data narratives",
            "familyLabel": null,
            "categoryName": "Loop",
            "categorySlug": "loop"
          },
          "agent": "Storyteller",
          "layer": "slide",
          "agents": [
            "Storyteller"
          ],
          "matchId": "658b2bf1-7246-4348-9ee8-b113250f0d7d",
          "evidence": "chart/bar-stacked: Nike revenue ($bn) 2010-2022",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": null,
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 21:59:15.733978+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 63,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 69,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 18,
          "name": "The Implications (So What)",
          "beatId": "019dd95a-07a7-7579-bd65-11bd74463cfe",
          "matchId": "019dd95a-0543-7581-99b3-5568450d33ea",
          "beatType": {
            "name": "The Implications (So What)",
            "slug": "triple-take-the-implications-so-what",
            "status": "active",
            "canonId": "019dd9b8-09c7-75cd-8c7b-ae0e23cca2b8",
            "version": 1,
            "description": null
          },
          "evidence": "'The New Gatekeepers' divider p18; retail media, unbundling, brand reset",
          "position": 2,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Reflection",
            "slug": "reflection",
            "status": "active",
            "canonId": "019dd9b8-0510-73fd-8d00-1c7e45f7bc98",
            "version": 1,
            "description": "The \"so what\" beat. Used by analytical arcs (Triple-take, Onion) and learning arcs (Voyage-return, Tragedy)."
          },
          "alignedBlockIds": null,
          "matchConfidence": 82
        },
        {
          "to": 69,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 59,
          "name": "Climax",
          "beatId": "019dd95a-07a7-7579-bd65-217ee690948d",
          "matchId": "019dd95a-0543-7581-99b3-5836e9006609",
          "beatType": {
            "name": "Climax",
            "slug": "mountain-climax",
            "status": "active",
            "canonId": "019dd9b8-1a2a-762e-b86f-73c710f9aa68",
            "version": 1,
            "description": null
          },
          "evidence": "'A market reset' + 'blank canvas for new businesses' p67",
          "position": 3,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Turn",
            "slug": "turn",
            "status": "active",
            "canonId": "019dd9b8-0396-702b-ac2f-9901f8dd8b54",
            "version": 1,
            "description": "The pivot — solution proposed, catalyst introduced, decision made. Common (15/20 arcs) but not universal: Triple-take, AIDA, PAS, Voyage-return and Pixar substitute it with a strong reflection or development beat."
          },
          "alignedBlockIds": null,
          "matchConfidence": 60
        }
      ],
      "loops": [
        {
          "to": 69,
          "from": 59,
          "loop": {
            "name": "03_aha_moment",
            "slug": "03-aha-moment",
            "status": "active",
            "bestFor": "Data-heavy sections, research findings, analytical arguments",
            "canonId": "019dd956-66f4-7668-ab25-cec9c996c0bc",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Problem/Question -> What the Data Shows -> The Insight",
            "description": "Establish a tension, present data, then deliver the insight that changes everything",
            "familyLabel": null
          },
          "matchId": "019dd95a-08f8-7619-ac2e-8fd26fbad1b9",
          "evidence": "p64 'big brand bundle' -> p65 'unbundled' -> p67 'market reset, blank canvas'",
          "position": 8,
          "objective": "Land thesis: software unbundles every layer of the brand bundle",
          "confidence": 80,
          "extraction": {
            "at": "2026-04-29 13:07:29.779839+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 64,
      "type": "setup",
      "title": "The slide uses a linear process flow to represent business operations.",
      "function": "present_framework",
      "rawType": "transition",
      "block": null,
      "metadata": {
        "slideType": "transition",
        "slideTypeCanon": {
          "name": "Transition",
          "slug": "transition",
          "status": "active",
          "canonId": "019de52d-0693-7766-9f05-887f41f8e41e",
          "version": 1,
          "description": null
        },
        "function": "present_framework",
        "functionCanon": {
          "name": "Present framework",
          "slug": "present_framework",
          "status": "active",
          "canonId": "019de52d-1403-7667-9100-d2ac6709f750",
          "version": 1,
          "description": null
        },
        "density": "sparse",
        "densityScore": 8,
        "componentCount": 3,
        "textChars": 97,
        "nDataPoints": 0,
        "notes": "The slide uses a linear process flow to represent business operations.",
        "elementsJson": [
          "headline_text",
          "subtitle_text",
          "process_diagram"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:35:49.976+00",
          "seconds": 11.134,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5e88-73ef-bd5d-853951586965/64",
        "deck": "/decks/019dd923-5e88-73ef-bd5d-853951586965",
        "deckAnchor": "/decks/019dd923-5e88-73ef-bd5d-853951586965#slide-64",
        "deckJson": "/decks/019dd923-5e88-73ef-bd5d-853951586965.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.266,
            "w": 0.594,
            "x": 0.203,
            "y": 0.405
          },
          "kind": "diagram",
          "text": "Make it -> Ship it -> Promote it -> Sell it",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Diagram",
              "slug": "diagram",
              "status": "active",
              "canonId": "019de52c-f9f0-734a-81de-15382ff28c65",
              "version": 1,
              "description": "Schematic or relational diagram."
            },
            "tool": null,
            "subkind": {
              "name": "Process flow",
              "slug": "process",
              "status": "active",
              "canonId": "019de52d-039c-718f-ad3a-efe9c4b3c838",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "process",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:49.976+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "8b856e68-0005-4eb3-a3c3-f5e08994e277",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.048,
            "w": 0.318,
            "x": 0.203,
            "y": 0.056
          },
          "kind": "title",
          "text": "The big brand bundle",
          "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 17:35:49.976+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "d5c2f2a4-7668-492d-803f-c623b724b51d",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.026,
            "w": 0.333,
            "x": 0.203,
            "y": 0.133
          },
          "kind": "title",
          "text": "Scale, efficiency and optimisation",
          "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": "Subtitle",
              "slug": "subtitle",
              "status": "active",
              "canonId": "019de52c-fb09-739d-900c-815b0d9ac526",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "subtitle",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:49.976+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "94e0c1a0-abb5-45bb-80da-6e736e10a0c1",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "Before-After-Bridge",
            "slug": "before-after-bridge",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-8604-7188-883f-42370288ad05",
            "version": 1,
            "bodyDocId": null,
            "description": "Narrative structure: Paint the before, show the after, explain the bridge",
            "familyLabel": null,
            "categoryName": "Block",
            "categorySlug": "block"
          },
          "agent": "Storyteller",
          "layer": "block",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019dd95a-1b83-7130-933e-5281891f4a55",
          "evidence": "Sets up 'before' state of brand bundle to be unbundled next slide",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 80,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 64,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Anaphora",
            "slug": "anaphora",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-9fee-74aa-a920-078aa44132c0",
            "version": 1,
            "bodyDocId": null,
            "description": "Repeating words at the beginning of successive clauses for rhythm",
            "familyLabel": null,
            "categoryName": "Loop",
            "categorySlug": "loop"
          },
          "agent": "Storyteller",
          "layer": "loop",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019dd95a-1b83-7130-933e-5677a1da12b2",
          "evidence": "Title 'big brand bundle' carried into p65",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 75,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 64,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [
        {
          "matchId": "9753cce6-6502-4201-a41c-4a4590322368",
          "evidence": "Linear process flow representing business activities",
          "framework": null,
          "confidence": 0.9,
          "extraction": {
            "at": "2026-05-02 17:35:49.976+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 64,
          "frameworkName": "value-chain"
        }
      ],
      "arcBeats": [
        {
          "to": 69,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 18,
          "name": "The Implications (So What)",
          "beatId": "019dd95a-07a7-7579-bd65-11bd74463cfe",
          "matchId": "019dd95a-0543-7581-99b3-5568450d33ea",
          "beatType": {
            "name": "The Implications (So What)",
            "slug": "triple-take-the-implications-so-what",
            "status": "active",
            "canonId": "019dd9b8-09c7-75cd-8c7b-ae0e23cca2b8",
            "version": 1,
            "description": null
          },
          "evidence": "'The New Gatekeepers' divider p18; retail media, unbundling, brand reset",
          "position": 2,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Reflection",
            "slug": "reflection",
            "status": "active",
            "canonId": "019dd9b8-0510-73fd-8d00-1c7e45f7bc98",
            "version": 1,
            "description": "The \"so what\" beat. Used by analytical arcs (Triple-take, Onion) and learning arcs (Voyage-return, Tragedy)."
          },
          "alignedBlockIds": null,
          "matchConfidence": 82
        },
        {
          "to": 69,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 59,
          "name": "Climax",
          "beatId": "019dd95a-07a7-7579-bd65-217ee690948d",
          "matchId": "019dd95a-0543-7581-99b3-5836e9006609",
          "beatType": {
            "name": "Climax",
            "slug": "mountain-climax",
            "status": "active",
            "canonId": "019dd9b8-1a2a-762e-b86f-73c710f9aa68",
            "version": 1,
            "description": null
          },
          "evidence": "'A market reset' + 'blank canvas for new businesses' p67",
          "position": 3,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Turn",
            "slug": "turn",
            "status": "active",
            "canonId": "019dd9b8-0396-702b-ac2f-9901f8dd8b54",
            "version": 1,
            "description": "The pivot — solution proposed, catalyst introduced, decision made. Common (15/20 arcs) but not universal: Triple-take, AIDA, PAS, Voyage-return and Pixar substitute it with a strong reflection or development beat."
          },
          "alignedBlockIds": null,
          "matchConfidence": 60
        }
      ],
      "loops": [
        {
          "to": 69,
          "from": 59,
          "loop": {
            "name": "03_aha_moment",
            "slug": "03-aha-moment",
            "status": "active",
            "bestFor": "Data-heavy sections, research findings, analytical arguments",
            "canonId": "019dd956-66f4-7668-ab25-cec9c996c0bc",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Problem/Question -> What the Data Shows -> The Insight",
            "description": "Establish a tension, present data, then deliver the insight that changes everything",
            "familyLabel": null
          },
          "matchId": "019dd95a-08f8-7619-ac2e-8fd26fbad1b9",
          "evidence": "p64 'big brand bundle' -> p65 'unbundled' -> p67 'market reset, blank canvas'",
          "position": 8,
          "objective": "Land thesis: software unbundles every layer of the brand bundle",
          "confidence": 80,
          "extraction": {
            "at": "2026-04-29 13:07:29.779839+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 65,
      "type": "setup",
      "title": "The slide uses a hub-and-spoke style process flow to show the transition from centralized production/logistics to fragmented, targeted segments.",
      "function": "present_framework",
      "rawType": "transition",
      "block": null,
      "metadata": {
        "slideType": "transition",
        "slideTypeCanon": {
          "name": "Transition",
          "slug": "transition",
          "status": "active",
          "canonId": "019de52d-0693-7766-9f05-887f41f8e41e",
          "version": 1,
          "description": null
        },
        "function": "present_framework",
        "functionCanon": {
          "name": "Present framework",
          "slug": "present_framework",
          "status": "active",
          "canonId": "019de52d-1403-7667-9100-d2ac6709f750",
          "version": 1,
          "description": null
        },
        "density": "sparse",
        "densityScore": 19,
        "componentCount": 4,
        "textChars": 261,
        "nDataPoints": 0,
        "notes": "The slide uses a hub-and-spoke style process flow to show the transition from centralized production/logistics to fragmented, targeted segments.",
        "elementsJson": [
          "headline_text",
          "subtitle_text",
          "process_diagram"
        ],
        "confidence": 0.95,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:35:42.814+00",
          "seconds": 3.695,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5e88-73ef-bd5d-853951586965/65",
        "deck": "/decks/019dd923-5e88-73ef-bd5d-853951586965",
        "deckAnchor": "/decks/019dd923-5e88-73ef-bd5d-853951586965#slide-65",
        "deckJson": "/decks/019dd923-5e88-73ef-bd5d-853951586965.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "Now all the advantages of scale are in question",
          "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-25 12:09:01+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a10d-589313f440be",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.4,
            "w": 0.7,
            "x": 0.15,
            "y": 0.3
          },
          "kind": "diagram",
          "text": "Outsourced production, short runs -> New channels, new logistics -> Social, video, streaming -> New segments, smaller demos, targeting",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Diagram",
              "slug": "diagram",
              "status": "active",
              "canonId": "019de52c-f9f0-734a-81de-15382ff28c65",
              "version": 1,
              "description": "Schematic or relational diagram."
            },
            "tool": null,
            "subkind": {
              "name": "Process flow",
              "slug": "process",
              "status": "active",
              "canonId": "019de52d-039c-718f-ad3a-efe9c4b3c838",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "process",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:42.814+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "45e7f573-94f4-4856-b18a-70c238e62d43",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.055,
            "w": 0.495,
            "x": 0.203,
            "y": 0.055
          },
          "kind": "title",
          "text": "The big brand bundle... unbundled",
          "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 17:35:42.814+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "c2dbffab-8c3e-4628-9bc5-6eca3ec355c1",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.025,
            "w": 0.415,
            "x": 0.203,
            "y": 0.133
          },
          "kind": "title",
          "text": "Now all the advantages of scale are in question",
          "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": "Subtitle",
              "slug": "subtitle",
              "status": "active",
              "canonId": "019de52c-fb09-739d-900c-815b0d9ac526",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "subtitle",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:42.814+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "e1e2c917-7eed-45cb-8cf9-3fb9a881a4af",
          "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": "019dd95a-1b83-7130-933e-5dca2f0aa2af",
          "evidence": "Bundle (p64) vs unbundled (p65) explicit pair",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": null,
          "confidence": 80,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 65,
          "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": "019dd95a-1b83-7130-933e-59e55dd9f1a5",
          "evidence": "Title '...unbundled' completes the before/after; subhead 'all advantages of scale in question'",
          "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": 88,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 65,
          "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."
        }
      ],
      "frameworks": [
        {
          "matchId": "9c279487-06b6-446e-b4b8-b947557f0434",
          "evidence": "Sequential flow of four stages connected by arrows.",
          "framework": null,
          "confidence": 0.8,
          "extraction": {
            "at": "2026-05-02 17:35:42.814+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 65,
          "frameworkName": "process"
        }
      ],
      "arcBeats": [
        {
          "to": 69,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 18,
          "name": "The Implications (So What)",
          "beatId": "019dd95a-07a7-7579-bd65-11bd74463cfe",
          "matchId": "019dd95a-0543-7581-99b3-5568450d33ea",
          "beatType": {
            "name": "The Implications (So What)",
            "slug": "triple-take-the-implications-so-what",
            "status": "active",
            "canonId": "019dd9b8-09c7-75cd-8c7b-ae0e23cca2b8",
            "version": 1,
            "description": null
          },
          "evidence": "'The New Gatekeepers' divider p18; retail media, unbundling, brand reset",
          "position": 2,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Reflection",
            "slug": "reflection",
            "status": "active",
            "canonId": "019dd9b8-0510-73fd-8d00-1c7e45f7bc98",
            "version": 1,
            "description": "The \"so what\" beat. Used by analytical arcs (Triple-take, Onion) and learning arcs (Voyage-return, Tragedy)."
          },
          "alignedBlockIds": null,
          "matchConfidence": 82
        },
        {
          "to": 69,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 59,
          "name": "Climax",
          "beatId": "019dd95a-07a7-7579-bd65-217ee690948d",
          "matchId": "019dd95a-0543-7581-99b3-5836e9006609",
          "beatType": {
            "name": "Climax",
            "slug": "mountain-climax",
            "status": "active",
            "canonId": "019dd9b8-1a2a-762e-b86f-73c710f9aa68",
            "version": 1,
            "description": null
          },
          "evidence": "'A market reset' + 'blank canvas for new businesses' p67",
          "position": 3,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Turn",
            "slug": "turn",
            "status": "active",
            "canonId": "019dd9b8-0396-702b-ac2f-9901f8dd8b54",
            "version": 1,
            "description": "The pivot — solution proposed, catalyst introduced, decision made. Common (15/20 arcs) but not universal: Triple-take, AIDA, PAS, Voyage-return and Pixar substitute it with a strong reflection or development beat."
          },
          "alignedBlockIds": null,
          "matchConfidence": 60
        }
      ],
      "loops": [
        {
          "to": 69,
          "from": 59,
          "loop": {
            "name": "03_aha_moment",
            "slug": "03-aha-moment",
            "status": "active",
            "bestFor": "Data-heavy sections, research findings, analytical arguments",
            "canonId": "019dd956-66f4-7668-ab25-cec9c996c0bc",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Problem/Question -> What the Data Shows -> The Insight",
            "description": "Establish a tension, present data, then deliver the insight that changes everything",
            "familyLabel": null
          },
          "matchId": "019dd95a-08f8-7619-ac2e-8fd26fbad1b9",
          "evidence": "p64 'big brand bundle' -> p65 'unbundled' -> p67 'market reset, blank canvas'",
          "position": 8,
          "objective": "Land thesis: software unbundles every layer of the brand bundle",
          "confidence": 80,
          "extraction": {
            "at": "2026-04-29 13:07:29.779839+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 66,
      "type": "setup",
      "title": "The slide uses a simple comparison structure to highlight the shift from scarcity to abundance.",
      "function": "compare_options",
      "rawType": "comparison_table",
      "block": null,
      "metadata": {
        "slideType": "comparison_table",
        "slideTypeCanon": {
          "name": "Comparison table",
          "slug": "comparison_table",
          "status": "active",
          "canonId": "019de52d-0a06-73f8-8813-fe022fab1de2",
          "version": 1,
          "description": null
        },
        "function": "compare_options",
        "functionCanon": {
          "name": "Compare options",
          "slug": "compare_options",
          "status": "active",
          "canonId": "019de52d-167f-7038-aebc-70a9d2e0e33b",
          "version": 1,
          "description": null
        },
        "density": "balanced",
        "densityScore": 31,
        "componentCount": 4,
        "textChars": 390,
        "nDataPoints": 6,
        "notes": "The slide uses a simple comparison structure to highlight the shift from scarcity to abundance.",
        "elementsJson": [
          "headline_text",
          "subtitle_text",
          "comparison_table",
          "footnote"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:35:42.735+00",
          "seconds": 3.61,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5e88-73ef-bd5d-853951586965/66",
        "deck": "/decks/019dd923-5e88-73ef-bd5d-853951586965",
        "deckAnchor": "/decks/019dd923-5e88-73ef-bd5d-853951586965#slide-66",
        "deckJson": "/decks/019dd923-5e88-73ef-bd5d-853951586965.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.02,
            "w": 0.4,
            "x": 0.205,
            "y": 0.91
          },
          "kind": "source-note",
          "text": "Source: Sears Roebuck, NRF, Amazon, Variety, Alphabet, FCC, MarketplacePulse",
          "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 17:35:42.735+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "a029772e-bde1-4339-b8bb-abaeb2630539",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.5,
            "w": 0.6,
            "x": 0.205,
            "y": 0.25
          },
          "kind": "table",
          "text": "Sears stocked 200k items vs Amazon lists at least 300m items and has 2m seller accounts; 2,000 new TV series made in the US in 2022 vs 3.7m daily uploads to YouTube; In 1994 98% of US city newspapers were local monopolies vs Well... the internet",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Table",
              "slug": "table",
              "status": "active",
              "canonId": "019de52c-f9c8-7148-8119-eaac9594cd28",
              "version": 1,
              "description": "Tabular data layout."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": "comparison",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:42.735+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "c4d6aeee-6473-4e83-ac1d-2763a4fe501a",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.365,
            "x": 0.205,
            "y": 0.05
          },
          "kind": "title",
          "text": "Old and new gatekeepers",
          "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 17:35:42.735+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "559c05b2-ec7a-4f52-9d98-ffeca2212941",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.33,
            "x": 0.205,
            "y": 0.12
          },
          "kind": "title",
          "text": "What kind of gatekeeping are we talking about?",
          "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": "Subtitle",
              "slug": "subtitle",
              "status": "active",
              "canonId": "019de52c-fb09-739d-900c-815b0d9ac526",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "subtitle",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:42.735+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "e4388e73-74ea-4676-996e-1b97946b770e",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "The Rule of Three",
            "slug": "the-rule-of-three",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-8962-75cf-b4f8-9394501a6f33",
            "version": 1,
            "bodyDocId": null,
            "description": "Ideas presented in threes are more memorable and satisfying",
            "familyLabel": null,
            "categoryName": "Block",
            "categorySlug": "block"
          },
          "agent": "Storyteller",
          "layer": "block",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019dd95a-1b83-7130-933e-6c236790aa09",
          "evidence": "Three parallel comparisons on a single slide",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 88,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 66,
          "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": "019dd95a-1b83-7130-933e-640b8e6cd4a3",
          "evidence": "Each row is an old gatekeeper -> new gatekeeper pairing with arrow",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": null,
          "confidence": 90,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 66,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Parallel Structure",
            "slug": "parallel-structure",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-9f34-762a-93b7-1d8e84bbd153",
            "version": 1,
            "bodyDocId": null,
            "description": "Using similar grammatical structure for related ideas",
            "familyLabel": null,
            "categoryName": "Loop",
            "categorySlug": "loop"
          },
          "agent": "Architect",
          "layer": "loop",
          "agents": [
            "Architect"
          ],
          "matchId": "019dd95a-1b83-7130-933e-6af7237420e3",
          "evidence": "Identical row layout for the three comparisons",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 85,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 66,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Tricolon",
            "slug": "tricolon",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-a13d-7356-9038-da27abe565f8",
            "version": 1,
            "bodyDocId": null,
            "description": "Three parallel phrases of increasing length or intensity",
            "familyLabel": null,
            "categoryName": "Loop",
            "categorySlug": "loop"
          },
          "agent": "Storyteller",
          "layer": "loop",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019dd95a-1b83-7130-933e-622e01ff0b14",
          "evidence": "Three before/after pairs: Sears->Amazon, TV->YouTube, newspapers->internet",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 92,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 66,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Comparison frame",
            "slug": "comparison-frame",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd9e1-484b-7399-a4fc-d14644b99f93",
            "version": 1,
            "bodyDocId": null,
            "description": "Two or more states/subjects placed side by side to expose a gap.",
            "familyLabel": null,
            "categoryName": null,
            "categorySlug": null
          },
          "agent": null,
          "layer": "slide",
          "agents": null,
          "matchId": "3dd53661-0334-4122-a346-307412ca37b5",
          "evidence": "table/comparison: Sears stocked 200k items vs Amazon lists at least 300m items and has 2m seller accounts; 2,000 new TV series made in the US in 2022 vs 3.7m daily uploads to YouTube; In 1994 98% of US city newspapers we",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 21:59:15.98455+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 66,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": "common",
          "narrativePurpose": null
        }
      ],
      "frameworks": [
        {
          "matchId": "526ccb04-df9c-4f15-915b-bc3458a2c5ee",
          "evidence": "The slide explicitly compares 'old' vs 'new' gatekeepers across three distinct categories.",
          "framework": null,
          "confidence": 0.9,
          "extraction": {
            "at": "2026-05-02 17:35:42.735+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 66,
          "frameworkName": "comparison-frame"
        }
      ],
      "arcBeats": [
        {
          "to": 69,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 18,
          "name": "The Implications (So What)",
          "beatId": "019dd95a-07a7-7579-bd65-11bd74463cfe",
          "matchId": "019dd95a-0543-7581-99b3-5568450d33ea",
          "beatType": {
            "name": "The Implications (So What)",
            "slug": "triple-take-the-implications-so-what",
            "status": "active",
            "canonId": "019dd9b8-09c7-75cd-8c7b-ae0e23cca2b8",
            "version": 1,
            "description": null
          },
          "evidence": "'The New Gatekeepers' divider p18; retail media, unbundling, brand reset",
          "position": 2,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Reflection",
            "slug": "reflection",
            "status": "active",
            "canonId": "019dd9b8-0510-73fd-8d00-1c7e45f7bc98",
            "version": 1,
            "description": "The \"so what\" beat. Used by analytical arcs (Triple-take, Onion) and learning arcs (Voyage-return, Tragedy)."
          },
          "alignedBlockIds": null,
          "matchConfidence": 82
        },
        {
          "to": 69,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 59,
          "name": "Climax",
          "beatId": "019dd95a-07a7-7579-bd65-217ee690948d",
          "matchId": "019dd95a-0543-7581-99b3-5836e9006609",
          "beatType": {
            "name": "Climax",
            "slug": "mountain-climax",
            "status": "active",
            "canonId": "019dd9b8-1a2a-762e-b86f-73c710f9aa68",
            "version": 1,
            "description": null
          },
          "evidence": "'A market reset' + 'blank canvas for new businesses' p67",
          "position": 3,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Turn",
            "slug": "turn",
            "status": "active",
            "canonId": "019dd9b8-0396-702b-ac2f-9901f8dd8b54",
            "version": 1,
            "description": "The pivot — solution proposed, catalyst introduced, decision made. Common (15/20 arcs) but not universal: Triple-take, AIDA, PAS, Voyage-return and Pixar substitute it with a strong reflection or development beat."
          },
          "alignedBlockIds": null,
          "matchConfidence": 60
        }
      ],
      "loops": [
        {
          "to": 69,
          "from": 59,
          "loop": {
            "name": "03_aha_moment",
            "slug": "03-aha-moment",
            "status": "active",
            "bestFor": "Data-heavy sections, research findings, analytical arguments",
            "canonId": "019dd956-66f4-7668-ab25-cec9c996c0bc",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Problem/Question -> What the Data Shows -> The Insight",
            "description": "Establish a tension, present data, then deliver the insight that changes everything",
            "familyLabel": null
          },
          "matchId": "019dd95a-08f8-7619-ac2e-8fd26fbad1b9",
          "evidence": "p64 'big brand bundle' -> p65 'unbundled' -> p67 'market reset, blank canvas'",
          "position": 8,
          "objective": "Land thesis: software unbundles every layer of the brand bundle",
          "confidence": 80,
          "extraction": {
            "at": "2026-04-29 13:07:29.779839+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 67,
      "type": "tension",
      "title": "The slide uses a simple flow diagram to show the synthesis of two market conditions into a new business opportunity.",
      "function": "frame_problem",
      "rawType": "thesis_headline",
      "block": null,
      "metadata": {
        "slideType": "thesis_headline",
        "slideTypeCanon": {
          "name": "Thesis headline",
          "slug": "thesis_headline",
          "status": "active",
          "canonId": "019de52d-073a-70cb-b9f6-772a597bb5af",
          "version": 1,
          "description": null
        },
        "function": "frame_problem",
        "functionCanon": {
          "name": "Frame problem",
          "slug": "frame_problem",
          "status": "active",
          "canonId": "019de52d-13db-753e-ad70-e9b2d0dab398",
          "version": 1,
          "description": null
        },
        "density": "sparse",
        "densityScore": 18,
        "componentCount": 4,
        "textChars": 244,
        "nDataPoints": 0,
        "notes": "The slide uses a simple flow diagram to show the synthesis of two market conditions into a new business opportunity.",
        "elementsJson": [
          "headline_text",
          "paragraph",
          "other"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:35:43.053+00",
          "seconds": 3.776,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5e88-73ef-bd5d-853951586965/67",
        "deck": "/decks/019dd923-5e88-73ef-bd5d-853951586965",
        "deckAnchor": "/decks/019dd923-5e88-73ef-bd5d-853951586965#slide-67",
        "deckJson": "/decks/019dd923-5e88-73ef-bd5d-853951586965.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "A new kind of problem Blank canvas for new businesses",
          "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-25 12:09:01+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a10d-e1c15dd676b4",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.3,
            "w": 0.59,
            "x": 0.205,
            "y": 0.35
          },
          "kind": "diagram",
          "text": "Infinite product -> A new kind of problem / Blank canvas for new businesses <- Infinite media",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Diagram",
              "slug": "diagram",
              "status": "active",
              "canonId": "019de52c-f9f0-734a-81de-15382ff28c65",
              "version": 1,
              "description": "Schematic or relational diagram."
            },
            "tool": null,
            "subkind": {
              "name": "Process flow",
              "slug": "process",
              "status": "active",
              "canonId": "019de52d-039c-718f-ad3a-efe9c4b3c838",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "process",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:43.053+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "31a0b826-4b24-423d-ba90-dd5de4e48c07",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.59,
            "x": 0.205,
            "y": 0.125
          },
          "kind": "subtitle",
          "text": "If all the old filters and gatekeepers go away, what opportunities does that create?",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Subtitle",
              "slug": "subtitle",
              "status": "active",
              "canonId": "82d821ee-2793-42e7-8f16-c6131385a3ce",
              "version": 1,
              "description": "Header-zone supporting text near the title (= ex body.description with bbox)."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:43.053+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "f852e22d-a149-4b9c-af35-3b724a170fbb",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.045,
            "w": 0.215,
            "x": 0.205,
            "y": 0.055
          },
          "kind": "title",
          "text": "A market reset",
          "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 17:35:43.053+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "fe204147-541c-4089-abbb-9ff984246ff2",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "Payoff",
            "slug": "payoff",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-a464-704b-b1a1-e1d483709f00",
            "version": 1,
            "bodyDocId": null,
            "description": "Delivering on earlier setup for satisfying resolution",
            "familyLabel": null,
            "categoryName": "Loop",
            "categorySlug": "loop"
          },
          "agent": "Storyteller",
          "layer": "loop",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019dd95a-1b83-7130-933e-8127ef5537a6",
          "evidence": "Lands the section thesis: 'blank canvas for new businesses'",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 75,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 67,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "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": "019dd95a-1b83-7130-933e-7488d5df7dc4",
          "evidence": "Single red node vs grey nodes draws eye",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 88,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 67,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Focal Point",
            "slug": "focal-point",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-b9d2-7535-ad41-3b1a87fa7a93",
            "version": 1,
            "bodyDocId": null,
            "description": "Creating single point of visual emphasis",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "019dd95a-1b83-7130-933e-7b0b4438d275",
          "evidence": "Two grey arrows funnel attention to red center",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 85,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 67,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Thesis archetype",
            "slug": "thesis-archetype",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd9e1-4b0b-7428-9b26-f171d1e753fb",
            "version": 1,
            "bodyDocId": null,
            "description": "A canonical investment / activist thesis shape (breakup, fraud, governance).",
            "familyLabel": null,
            "categoryName": null,
            "categorySlug": null
          },
          "agent": null,
          "layer": "slide",
          "agents": null,
          "matchId": "351bea9f-008a-4aff-8370-45edbf3553dc",
          "evidence": "A market reset",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 21:59:15.057496+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 67,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": "optional",
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Visual Hierarchy",
            "slug": "visual-hierarchy",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-b2ca-706b-937f-e52441086fd7",
            "version": 1,
            "bodyDocId": null,
            "description": "Order of perception through Size > Color > Position > Weight > Space",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "019dd95a-1b83-7130-933e-7246bd8362e1",
          "evidence": "Red center circle 'A new kind of problem' anchors as focal point",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 88,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 67,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Von Restorff Effect",
            "slug": "von-restorff-effect",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-beab-73d8-9f62-30d0332e926e",
            "version": 1,
            "bodyDocId": null,
            "description": "Items that stand out are noticed and remembered - make key points visually distinct",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "019dd95a-1b83-7130-933e-7ec41d33d617",
          "evidence": "Red center pops against grey context",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 80,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 67,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 69,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 18,
          "name": "The Implications (So What)",
          "beatId": "019dd95a-07a7-7579-bd65-11bd74463cfe",
          "matchId": "019dd95a-0543-7581-99b3-5568450d33ea",
          "beatType": {
            "name": "The Implications (So What)",
            "slug": "triple-take-the-implications-so-what",
            "status": "active",
            "canonId": "019dd9b8-09c7-75cd-8c7b-ae0e23cca2b8",
            "version": 1,
            "description": null
          },
          "evidence": "'The New Gatekeepers' divider p18; retail media, unbundling, brand reset",
          "position": 2,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Reflection",
            "slug": "reflection",
            "status": "active",
            "canonId": "019dd9b8-0510-73fd-8d00-1c7e45f7bc98",
            "version": 1,
            "description": "The \"so what\" beat. Used by analytical arcs (Triple-take, Onion) and learning arcs (Voyage-return, Tragedy)."
          },
          "alignedBlockIds": null,
          "matchConfidence": 82
        },
        {
          "to": 69,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 59,
          "name": "Climax",
          "beatId": "019dd95a-07a7-7579-bd65-217ee690948d",
          "matchId": "019dd95a-0543-7581-99b3-5836e9006609",
          "beatType": {
            "name": "Climax",
            "slug": "mountain-climax",
            "status": "active",
            "canonId": "019dd9b8-1a2a-762e-b86f-73c710f9aa68",
            "version": 1,
            "description": null
          },
          "evidence": "'A market reset' + 'blank canvas for new businesses' p67",
          "position": 3,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Turn",
            "slug": "turn",
            "status": "active",
            "canonId": "019dd9b8-0396-702b-ac2f-9901f8dd8b54",
            "version": 1,
            "description": "The pivot — solution proposed, catalyst introduced, decision made. Common (15/20 arcs) but not universal: Triple-take, AIDA, PAS, Voyage-return and Pixar substitute it with a strong reflection or development beat."
          },
          "alignedBlockIds": null,
          "matchConfidence": 60
        }
      ],
      "loops": [
        {
          "to": 69,
          "from": 59,
          "loop": {
            "name": "03_aha_moment",
            "slug": "03-aha-moment",
            "status": "active",
            "bestFor": "Data-heavy sections, research findings, analytical arguments",
            "canonId": "019dd956-66f4-7668-ab25-cec9c996c0bc",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Problem/Question -> What the Data Shows -> The Insight",
            "description": "Establish a tension, present data, then deliver the insight that changes everything",
            "familyLabel": null
          },
          "matchId": "019dd95a-08f8-7619-ac2e-8fd26fbad1b9",
          "evidence": "p64 'big brand bundle' -> p65 'unbundled' -> p67 'market reset, blank canvas'",
          "position": 8,
          "objective": "Land thesis: software unbundles every layer of the brand bundle",
          "confidence": 80,
          "extraction": {
            "at": "2026-04-29 13:07:29.779839+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 68,
      "type": "setup",
      "function": "summarize",
      "rawType": "quote_slide",
      "block": null,
      "metadata": {
        "slideType": "quote_slide",
        "slideTypeCanon": {
          "name": "Quote slide",
          "slug": "quote_slide",
          "status": "active",
          "canonId": "019de52d-098e-7555-a9fd-4f0af7e80bc2",
          "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": 12,
        "componentCount": 3,
        "textChars": 193,
        "nDataPoints": 0,
        "notes": null,
        "elementsJson": [
          "quote_block"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:35:41.485+00",
          "seconds": 2.201,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5e88-73ef-bd5d-853951586965/68",
        "deck": "/decks/019dd923-5e88-73ef-bd5d-853951586965",
        "deckAnchor": "/decks/019dd923-5e88-73ef-bd5d-853951586965#slide-68",
        "deckJson": "/decks/019dd923-5e88-73ef-bd5d-853951586965.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.044,
            "w": 0.238,
            "x": 0.204,
            "y": 0.572
          },
          "kind": "paragraph",
          "text": "Jeff Bezos, 2009",
          "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 17:35:41.485+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "cb83635c-e9a9-4b1d-8299-bbe6c07d2008",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.188,
            "w": 0.592,
            "x": 0.204,
            "y": 0.305
          },
          "kind": "quote",
          "text": "“Advertising is the price you pay for having an unremarkable product or service”",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Quote",
              "slug": "quote",
              "status": "active",
              "canonId": "019de52c-f8fb-751e-8bc6-d58e2d59562a",
              "version": 1,
              "description": "Pull quote or testimonial."
            },
            "tool": null,
            "subkind": {
              "name": "Pull quote",
              "slug": "pull-quote",
              "status": "active",
              "canonId": "019de52c-fbf9-76fe-97e1-a0b7540445c9",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "pull-quote",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:41.485+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "75510363-f41a-4d02-84dd-7dfdb936dac7",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "quote",
          "text": "Advertising is the price you pay for having an unremarkable product or service — Jeff Bezos, 2009",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Quote",
              "slug": "quote",
              "status": "active",
              "canonId": "019de52c-f8fb-751e-8bc6-d58e2d59562a",
              "version": 1,
              "description": "Pull quote or testimonial."
            },
            "tool": {
              "name": "Authority citation",
              "slug": "authority-citation",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-49ae-7557-89ad-3fca70469b45",
              "version": 1,
              "bodyDocId": null,
              "description": "Quoting an authority figure, study, or precedent to lend weight.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-25 12:09:01+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a10d-97e5174d38a3",
          "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": "019dd95a-1b83-7130-933e-85ee01519b11",
          "evidence": "Quote 'advertising is the price of an unremarkable product' (Bezos)",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 88,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 68,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Metaphor & Analogy",
            "slug": "metaphor-analogy",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-adea-7729-bca1-70810d6238a9",
            "version": 1,
            "bodyDocId": null,
            "description": "Making abstract concepts concrete through familiar comparisons",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Storyteller",
          "layer": "slide",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019dd95a-1b83-7130-933e-882f5acc315d",
          "evidence": "Memorable metaphorical framing of advertising",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": null,
          "confidence": 70,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 68,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 69,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 18,
          "name": "The Implications (So What)",
          "beatId": "019dd95a-07a7-7579-bd65-11bd74463cfe",
          "matchId": "019dd95a-0543-7581-99b3-5568450d33ea",
          "beatType": {
            "name": "The Implications (So What)",
            "slug": "triple-take-the-implications-so-what",
            "status": "active",
            "canonId": "019dd9b8-09c7-75cd-8c7b-ae0e23cca2b8",
            "version": 1,
            "description": null
          },
          "evidence": "'The New Gatekeepers' divider p18; retail media, unbundling, brand reset",
          "position": 2,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Reflection",
            "slug": "reflection",
            "status": "active",
            "canonId": "019dd9b8-0510-73fd-8d00-1c7e45f7bc98",
            "version": 1,
            "description": "The \"so what\" beat. Used by analytical arcs (Triple-take, Onion) and learning arcs (Voyage-return, Tragedy)."
          },
          "alignedBlockIds": null,
          "matchConfidence": 82
        },
        {
          "to": 69,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 59,
          "name": "Climax",
          "beatId": "019dd95a-07a7-7579-bd65-217ee690948d",
          "matchId": "019dd95a-0543-7581-99b3-5836e9006609",
          "beatType": {
            "name": "Climax",
            "slug": "mountain-climax",
            "status": "active",
            "canonId": "019dd9b8-1a2a-762e-b86f-73c710f9aa68",
            "version": 1,
            "description": null
          },
          "evidence": "'A market reset' + 'blank canvas for new businesses' p67",
          "position": 3,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Turn",
            "slug": "turn",
            "status": "active",
            "canonId": "019dd9b8-0396-702b-ac2f-9901f8dd8b54",
            "version": 1,
            "description": "The pivot — solution proposed, catalyst introduced, decision made. Common (15/20 arcs) but not universal: Triple-take, AIDA, PAS, Voyage-return and Pixar substitute it with a strong reflection or development beat."
          },
          "alignedBlockIds": null,
          "matchConfidence": 60
        }
      ],
      "loops": [
        {
          "to": 69,
          "from": 59,
          "loop": {
            "name": "03_aha_moment",
            "slug": "03-aha-moment",
            "status": "active",
            "bestFor": "Data-heavy sections, research findings, analytical arguments",
            "canonId": "019dd956-66f4-7668-ab25-cec9c996c0bc",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Problem/Question -> What the Data Shows -> The Insight",
            "description": "Establish a tension, present data, then deliver the insight that changes everything",
            "familyLabel": null
          },
          "matchId": "019dd95a-08f8-7619-ac2e-8fd26fbad1b9",
          "evidence": "p64 'big brand bundle' -> p65 'unbundled' -> p67 'market reset, blank canvas'",
          "position": 8,
          "objective": "Land thesis: software unbundles every layer of the brand bundle",
          "confidence": 80,
          "extraction": {
            "at": "2026-04-29 13:07:29.779839+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 69,
      "type": "analysis",
      "title": "The chart uses red bars for tech-focused companies (Amazon, Alibaba, Alphabet) and grey for others.",
      "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": 33,
        "componentCount": 5,
        "textChars": 231,
        "nDataPoints": 45,
        "notes": "The chart uses red bars for tech-focused companies (Amazon, Alibaba, Alphabet) and grey for others.",
        "elementsJson": [
          "headline_text",
          "quote_block",
          "bar_chart_grouped"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:35:41.847+00",
          "seconds": 2.366,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5e88-73ef-bd5d-853951586965/69",
        "deck": "/decks/019dd923-5e88-73ef-bd5d-853951586965",
        "deckAnchor": "/decks/019dd923-5e88-73ef-bd5d-853951586965#slide-69",
        "deckJson": "/decks/019dd923-5e88-73ef-bd5d-853951586965.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.55,
            "w": 0.6,
            "x": 0.205,
            "y": 0.26
          },
          "kind": "chart",
          "text": "10 largest global advertising budgets, 2017-2021 ($bn)",
          "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": "Grouped bar chart",
              "slug": "bar-grouped",
              "status": "active",
              "canonId": "019de52c-ff3b-751e-a8ff-f21ff11097b1",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bar-grouped",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:41.847+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "91abd347-3d9c-4ed8-af9e-9cccfa467015",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Advertising budget: $17bn",
          "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-25 12:09:01+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a10d-fe50e5a628c2",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.6,
            "x": 0.205,
            "y": 0.12
          },
          "kind": "quote",
          "text": "“Advertising is the price you pay for having an unremarkable product or service” - Jeff Bezos, 2009",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Quote",
              "slug": "quote",
              "status": "active",
              "canonId": "019de52c-f8fb-751e-8bc6-d58e2d59562a",
              "version": 1,
              "description": "Pull quote or testimonial."
            },
            "tool": null,
            "subkind": {
              "name": "Pull quote",
              "slug": "pull-quote",
              "status": "active",
              "canonId": "019de52c-fbf9-76fe-97e1-a0b7540445c9",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "pull-quote",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:41.847+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "ca8998a2-8f38-4995-b754-4e96200bb4e8",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.08,
            "x": 0.205,
            "y": 0.91
          },
          "kind": "source-note",
          "text": "Source: AdAge",
          "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 17:35:41.847+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "b13efec9-5195-4629-8d55-3357d50cbbd3",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.04,
            "w": 0.59,
            "x": 0.205,
            "y": 0.05
          },
          "kind": "title",
          "text": "Amazon is the world's largest advertiser",
          "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 17:35:41.847+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "73614886-05af-4544-b9ba-5bfac6ab7dd6",
          "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": "019dd95a-1b83-7130-933e-8c2f51484380",
          "evidence": "Title 'Amazon is the world's largest advertiser' delivers the punchline",
          "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": 85,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 69,
          "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": "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": "5719ab8e-f124-4ed5-9b8d-028532b96820",
          "evidence": "10 largest global advertising budgets, 2017-2021 ($bn)",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 21:59:15.162025+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 69,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Unexpected Pattern",
            "slug": "unexpected-pattern",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-bc0f-71af-8d32-3c1a2da38c40",
            "version": 1,
            "bodyDocId": null,
            "description": "Breaking a pattern to create surprise and attention",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Storyteller",
          "layer": "slide",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019dd95a-1b83-7130-933e-9092fcb7abae",
          "evidence": "Reframes Amazon as paying for, not just selling, ads",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 75,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 69,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 69,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 18,
          "name": "The Implications (So What)",
          "beatId": "019dd95a-07a7-7579-bd65-11bd74463cfe",
          "matchId": "019dd95a-0543-7581-99b3-5568450d33ea",
          "beatType": {
            "name": "The Implications (So What)",
            "slug": "triple-take-the-implications-so-what",
            "status": "active",
            "canonId": "019dd9b8-09c7-75cd-8c7b-ae0e23cca2b8",
            "version": 1,
            "description": null
          },
          "evidence": "'The New Gatekeepers' divider p18; retail media, unbundling, brand reset",
          "position": 2,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Reflection",
            "slug": "reflection",
            "status": "active",
            "canonId": "019dd9b8-0510-73fd-8d00-1c7e45f7bc98",
            "version": 1,
            "description": "The \"so what\" beat. Used by analytical arcs (Triple-take, Onion) and learning arcs (Voyage-return, Tragedy)."
          },
          "alignedBlockIds": null,
          "matchConfidence": 82
        },
        {
          "to": 69,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 59,
          "name": "Climax",
          "beatId": "019dd95a-07a7-7579-bd65-217ee690948d",
          "matchId": "019dd95a-0543-7581-99b3-5836e9006609",
          "beatType": {
            "name": "Climax",
            "slug": "mountain-climax",
            "status": "active",
            "canonId": "019dd9b8-1a2a-762e-b86f-73c710f9aa68",
            "version": 1,
            "description": null
          },
          "evidence": "'A market reset' + 'blank canvas for new businesses' p67",
          "position": 3,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Turn",
            "slug": "turn",
            "status": "active",
            "canonId": "019dd9b8-0396-702b-ac2f-9901f8dd8b54",
            "version": 1,
            "description": "The pivot — solution proposed, catalyst introduced, decision made. Common (15/20 arcs) but not universal: Triple-take, AIDA, PAS, Voyage-return and Pixar substitute it with a strong reflection or development beat."
          },
          "alignedBlockIds": null,
          "matchConfidence": 60
        }
      ],
      "loops": [
        {
          "to": 69,
          "from": 59,
          "loop": {
            "name": "03_aha_moment",
            "slug": "03-aha-moment",
            "status": "active",
            "bestFor": "Data-heavy sections, research findings, analytical arguments",
            "canonId": "019dd956-66f4-7668-ab25-cec9c996c0bc",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Problem/Question -> What the Data Shows -> The Insight",
            "description": "Establish a tension, present data, then deliver the insight that changes everything",
            "familyLabel": null
          },
          "matchId": "019dd95a-08f8-7619-ac2e-8fd26fbad1b9",
          "evidence": "p64 'big brand bundle' -> p65 'unbundled' -> p67 'market reset, blank canvas'",
          "position": 8,
          "objective": "Land thesis: software unbundles every layer of the brand bundle",
          "confidence": 80,
          "extraction": {
            "at": "2026-04-29 13:07:29.779839+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 70,
      "type": "setup",
      "function": "transition",
      "rawType": "section_divider",
      "block": null,
      "metadata": {
        "slideType": "section_divider",
        "slideTypeCanon": {
          "name": "Section divider",
          "slug": "section_divider",
          "status": "active",
          "canonId": "019de52d-066a-7402-9554-6ae504999041",
          "version": 1,
          "description": null
        },
        "function": "transition",
        "functionCanon": {
          "name": "Transition",
          "slug": "transition",
          "status": "active",
          "canonId": "019de52d-1365-7149-92aa-66df859e75fd",
          "version": 1,
          "description": null
        },
        "density": "sparse",
        "densityScore": 1,
        "componentCount": 1,
        "textChars": 21,
        "nDataPoints": 0,
        "notes": null,
        "elementsJson": [
          "headline_text"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:35:41.262+00",
          "seconds": 1.667,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5e88-73ef-bd5d-853951586965/70",
        "deck": "/decks/019dd923-5e88-73ef-bd5d-853951586965",
        "deckAnchor": "/decks/019dd923-5e88-73ef-bd5d-853951586965#slide-70",
        "deckJson": "/decks/019dd923-5e88-73ef-bd5d-853951586965.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.054,
            "w": 0.532,
            "x": 0.203,
            "y": 0.273
          },
          "kind": "title",
          "text": "Dreams for the Future",
          "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 17:35:41.262+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "769d5dd4-c5da-42d4-a4b6-3f6a7a9cabbb",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "Section divider",
            "slug": "section-divider",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd9e1-4c66-707d-8d1f-6e14547134c7",
            "version": 1,
            "bodyDocId": null,
            "description": "A transitional slide marking the start of a new section.",
            "familyLabel": null,
            "categoryName": null,
            "categorySlug": null
          },
          "agent": null,
          "layer": "slide",
          "agents": null,
          "matchId": "03b26dc3-ff25-4fb4-944a-ed9cc15fbbdd",
          "evidence": "Dreams for the Future",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.9,
          "extraction": {
            "at": "2026-07-16 21:59:15.230912+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 70,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": "common",
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 100,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 70,
          "name": "The Action (Now What)",
          "beatId": "019dd95a-07a7-7579-bd65-14aeb33da1bd",
          "matchId": "019dd95a-0543-7581-99b3-5568450d33ea",
          "beatType": {
            "name": "The Action (Now What)",
            "slug": "triple-take-the-action-now-what",
            "status": "active",
            "canonId": "019dd9b8-0a5e-735a-bf53-3a1ba629b7aa",
            "version": 1,
            "description": null
          },
          "evidence": "'Dreams for the Future' p70; metaverse, generative AI bets, JTBD questions",
          "position": 3,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Resolution",
            "slug": "resolution",
            "status": "active",
            "canonId": "019dd9b8-045d-703b-8dd7-e92aba3ba91b",
            "version": 1,
            "description": "How the deck ends. Required in 19/20 arcs. The exception (Sparkline) ends with new bliss which is functionally a resolution."
          },
          "alignedBlockIds": null,
          "matchConfidence": 82
        },
        {
          "to": 100,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 70,
          "name": "Resolution",
          "beatId": "019dd95a-07a7-7579-bd65-243a2d74e603",
          "matchId": "019dd95a-0543-7581-99b3-5836e9006609",
          "beatType": {
            "name": "Resolution",
            "slug": "mountain-resolution",
            "status": "active",
            "canonId": "019dd9b8-1ac2-777f-9a8f-ac543fee86f7",
            "version": 1,
            "description": null
          },
          "evidence": "future bets, generative AI, optimism close p100",
          "position": 4,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Resolution",
            "slug": "resolution",
            "status": "active",
            "canonId": "019dd9b8-045d-703b-8dd7-e92aba3ba91b",
            "version": 1,
            "description": "How the deck ends. Required in 19/20 arcs. The exception (Sparkline) ends with new bliss which is functionally a resolution."
          },
          "alignedBlockIds": null,
          "matchConfidence": 60
        }
      ],
      "loops": [],
      "locked": true
    },
    {
      "page": 71,
      "type": "setup",
      "title": "Uses a simple linear process flow with circular nodes.",
      "function": "present_framework",
      "rawType": "timeline",
      "block": null,
      "metadata": {
        "slideType": "timeline",
        "slideTypeCanon": {
          "name": "Timeline",
          "slug": "timeline",
          "status": "active",
          "canonId": "019de52d-0851-75eb-b758-ea2965e7739a",
          "version": 1,
          "description": null
        },
        "function": "present_framework",
        "functionCanon": {
          "name": "Present framework",
          "slug": "present_framework",
          "status": "active",
          "canonId": "019de52d-1403-7667-9100-d2ac6709f750",
          "version": 1,
          "description": null
        },
        "density": "sparse",
        "densityScore": 22,
        "componentCount": 4,
        "textChars": 317,
        "nDataPoints": 0,
        "notes": "Uses a simple linear process flow with circular nodes.",
        "elementsJson": [
          "headline_text",
          "quote_block",
          "process_diagram"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:35:54.23+00",
          "seconds": 14.588,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5e88-73ef-bd5d-853951586965/71",
        "deck": "/decks/019dd923-5e88-73ef-bd5d-853951586965",
        "deckAnchor": "/decks/019dd923-5e88-73ef-bd5d-853951586965#slide-71",
        "deckJson": "/decks/019dd923-5e88-73ef-bd5d-853951586965.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.4,
            "w": 0.75,
            "x": 0.204,
            "y": 0.35
          },
          "kind": "diagram",
          "text": "Past: Old economy disrupted by tech ideas from the 2000s; Present: Startups deploy ideas from the 2010s; Future: What's the next fundamental platform shift?",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Diagram",
              "slug": "diagram",
              "status": "active",
              "canonId": "019de52c-f9f0-734a-81de-15382ff28c65",
              "version": 1,
              "description": "Schematic or relational diagram."
            },
            "tool": null,
            "subkind": {
              "name": "Process flow",
              "slug": "process",
              "status": "active",
              "canonId": "019de52d-039c-718f-ad3a-efe9c4b3c838",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "process",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:54.23+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "fa53dd33-889d-4a1c-8ea5-a35987f85463",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.028,
            "w": 0.455,
            "x": 0.204,
            "y": 0.136
          },
          "kind": "quote",
          "text": "\"The future is here, but it's unevenly distributed\" - William Gibson",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Quote",
              "slug": "quote",
              "status": "active",
              "canonId": "019de52c-f8fb-751e-8bc6-d58e2d59562a",
              "version": 1,
              "description": "Pull quote or testimonial."
            },
            "tool": null,
            "subkind": {
              "name": "Pull quote",
              "slug": "pull-quote",
              "status": "active",
              "canonId": "019de52c-fbf9-76fe-97e1-a0b7540445c9",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "pull-quote",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:54.23+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "a96273bb-54a7-45f5-a060-6685b8be1070",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "quote",
          "text": "“The future is here, but it’s unevenly distributed” - William Gibson",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Quote",
              "slug": "quote",
              "status": "active",
              "canonId": "019de52c-f8fb-751e-8bc6-d58e2d59562a",
              "version": 1,
              "description": "Pull quote or testimonial."
            },
            "tool": {
              "name": "Authority citation",
              "slug": "authority-citation",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-49ae-7557-89ad-3fca70469b45",
              "version": 1,
              "bodyDocId": null,
              "description": "Quoting an authority figure, study, or precedent to lend weight.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-25 12:09:01+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a10e-6fff36b8ed12",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.056,
            "w": 0.357,
            "x": 0.204,
            "y": 0.056
          },
          "kind": "title",
          "text": "Three steps to the future",
          "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 17:35:54.23+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "fcf8c9cb-0cbe-4072-8277-fb402d88d8c7",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "The Rule of Three",
            "slug": "the-rule-of-three",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-8962-75cf-b4f8-9394501a6f33",
            "version": 1,
            "bodyDocId": null,
            "description": "Ideas presented in threes are more memorable and satisfying",
            "familyLabel": null,
            "categoryName": "Block",
            "categorySlug": "block"
          },
          "agent": "Storyteller",
          "layer": "block",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019dd95a-1b83-7130-933e-9581321f82f5",
          "evidence": "'Three steps to the future' explicit triadic framing",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 80,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 71,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Three Pillars",
            "slug": "three-pillars",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-81ef-7455-a365-b234d95a6bbb",
            "version": 1,
            "bodyDocId": null,
            "description": "Three major supporting arguments that are MECE and address key concerns",
            "familyLabel": null,
            "categoryName": "Block",
            "categorySlug": "block"
          },
          "agent": "Architect",
          "layer": "block",
          "agents": [
            "Architect"
          ],
          "matchId": "019dd95a-1b83-7130-933e-9899a8e98fe5",
          "evidence": "Diagram organises future into three pillars",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": null,
          "confidence": 70,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 71,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [
        {
          "matchId": "978589a2-4f1c-404f-b65e-76d22bc1cbcb",
          "evidence": "Linear progression of three stages (Past, Present, Future) connected by arrows.",
          "framework": null,
          "confidence": 1,
          "extraction": {
            "at": "2026-05-02 17:35:54.23+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 71,
          "frameworkName": "timeline"
        }
      ],
      "arcBeats": [
        {
          "to": 100,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 70,
          "name": "The Action (Now What)",
          "beatId": "019dd95a-07a7-7579-bd65-14aeb33da1bd",
          "matchId": "019dd95a-0543-7581-99b3-5568450d33ea",
          "beatType": {
            "name": "The Action (Now What)",
            "slug": "triple-take-the-action-now-what",
            "status": "active",
            "canonId": "019dd9b8-0a5e-735a-bf53-3a1ba629b7aa",
            "version": 1,
            "description": null
          },
          "evidence": "'Dreams for the Future' p70; metaverse, generative AI bets, JTBD questions",
          "position": 3,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Resolution",
            "slug": "resolution",
            "status": "active",
            "canonId": "019dd9b8-045d-703b-8dd7-e92aba3ba91b",
            "version": 1,
            "description": "How the deck ends. Required in 19/20 arcs. The exception (Sparkline) ends with new bliss which is functionally a resolution."
          },
          "alignedBlockIds": null,
          "matchConfidence": 82
        },
        {
          "to": 100,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 70,
          "name": "Resolution",
          "beatId": "019dd95a-07a7-7579-bd65-243a2d74e603",
          "matchId": "019dd95a-0543-7581-99b3-5836e9006609",
          "beatType": {
            "name": "Resolution",
            "slug": "mountain-resolution",
            "status": "active",
            "canonId": "019dd9b8-1ac2-777f-9a8f-ac543fee86f7",
            "version": 1,
            "description": null
          },
          "evidence": "future bets, generative AI, optimism close p100",
          "position": 4,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Resolution",
            "slug": "resolution",
            "status": "active",
            "canonId": "019dd9b8-045d-703b-8dd7-e92aba3ba91b",
            "version": 1,
            "description": "How the deck ends. Required in 19/20 arcs. The exception (Sparkline) ends with new bliss which is functionally a resolution."
          },
          "alignedBlockIds": null,
          "matchConfidence": 60
        }
      ],
      "loops": [
        {
          "to": 77,
          "from": 71,
          "loop": {
            "name": "36_maturity_curve",
            "slug": "36-maturity-curve",
            "status": "active",
            "bestFor": "Digital transformation, capability building, benchmarking",
            "canonId": "019dd956-748d-7329-ad3a-5c550b66e275",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "Current Maturity Level -> The Gap to Next Level -> Required Capabilities -> The Roadmap",
            "description": "Show where you are on a progression and what it takes to reach the next level",
            "familyLabel": null
          },
          "matchId": "019dd95a-08f8-7619-ac2e-912ed90fbd12",
          "evidence": "p71 'Three steps to the future', p73 '2022 vs 2023 hype cycle turns', p77 'future can take a long time'",
          "position": 9,
          "objective": "Position crypto/metaverse against the hype-cycle curve",
          "confidence": 65,
          "extraction": {
            "at": "2026-04-29 13:07:29.779839+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 72,
      "type": "analysis",
      "title": "The chart compares 'Today' (actual) vs 'Expected in 3 years' (forecast) for each time period.",
      "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": 40,
        "componentCount": 6,
        "textChars": 207,
        "nDataPoints": 28,
        "notes": "The chart compares 'Today' (actual) vs 'Expected in 3 years' (forecast) for each time period.",
        "elementsJson": [
          "headline_text",
          "subtitle_text",
          "bar_chart_grouped"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:35:42.568+00",
          "seconds": 2.641,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5e88-73ef-bd5d-853951586965/72",
        "deck": "/decks/019dd923-5e88-73ef-bd5d-853951586965",
        "deckAnchor": "/decks/019dd923-5e88-73ef-bd5d-853951586965#slide-72",
        "deckJson": "/decks/019dd923-5e88-73ef-bd5d-853951586965.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.55,
            "w": 0.75,
            "x": 0.206,
            "y": 0.27
          },
          "kind": "chart",
          "text": "Enterprise workloads in public cloud",
          "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": "Grouped bar chart",
              "slug": "bar-grouped",
              "status": "active",
              "canonId": "019de52c-ff3b-751e-a8ff-f21ff11097b1",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bar-grouped",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:42.568+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "177f348e-81f8-4a07-abd2-8391b37a037a",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.12,
            "x": 0.025,
            "y": 0.345
          },
          "kind": "legend",
          "text": "Today\nExpected in 3 years",
          "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 17:35:42.568+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "e4965f36-3225-4563-9015-26d4e5a79be2",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Enterprise workloads in public cloud",
          "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-25 12:09:02+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a10e-838ad4db6b94",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.025,
            "w": 0.28,
            "x": 0.206,
            "y": 0.125
          },
          "kind": "paragraph",
          "text": "Startups deploy ideas from the 2010s",
          "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 17:35:42.568+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "9bddad99-9a8e-4d2b-b0ed-2b0472186410",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.2,
            "x": 0.206,
            "y": 0.91
          },
          "kind": "source-note",
          "text": "Source: Goldman Sachs CIO Survey",
          "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 17:35:42.568+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "7dd4e7a3-81ae-449b-a027-fc95bb11f171",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.045,
            "w": 0.59,
            "x": 0.206,
            "y": 0.045
          },
          "kind": "title",
          "text": "(And there’s plenty more deployment to do)",
          "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 17:35:42.568+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "52b35ec6-6a2d-4088-af28-a3a702eeb96f",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 100,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 70,
          "name": "The Action (Now What)",
          "beatId": "019dd95a-07a7-7579-bd65-14aeb33da1bd",
          "matchId": "019dd95a-0543-7581-99b3-5568450d33ea",
          "beatType": {
            "name": "The Action (Now What)",
            "slug": "triple-take-the-action-now-what",
            "status": "active",
            "canonId": "019dd9b8-0a5e-735a-bf53-3a1ba629b7aa",
            "version": 1,
            "description": null
          },
          "evidence": "'Dreams for the Future' p70; metaverse, generative AI bets, JTBD questions",
          "position": 3,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Resolution",
            "slug": "resolution",
            "status": "active",
            "canonId": "019dd9b8-045d-703b-8dd7-e92aba3ba91b",
            "version": 1,
            "description": "How the deck ends. Required in 19/20 arcs. The exception (Sparkline) ends with new bliss which is functionally a resolution."
          },
          "alignedBlockIds": null,
          "matchConfidence": 82
        },
        {
          "to": 100,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 70,
          "name": "Resolution",
          "beatId": "019dd95a-07a7-7579-bd65-243a2d74e603",
          "matchId": "019dd95a-0543-7581-99b3-5836e9006609",
          "beatType": {
            "name": "Resolution",
            "slug": "mountain-resolution",
            "status": "active",
            "canonId": "019dd9b8-1ac2-777f-9a8f-ac543fee86f7",
            "version": 1,
            "description": null
          },
          "evidence": "future bets, generative AI, optimism close p100",
          "position": 4,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Resolution",
            "slug": "resolution",
            "status": "active",
            "canonId": "019dd9b8-045d-703b-8dd7-e92aba3ba91b",
            "version": 1,
            "description": "How the deck ends. Required in 19/20 arcs. The exception (Sparkline) ends with new bliss which is functionally a resolution."
          },
          "alignedBlockIds": null,
          "matchConfidence": 60
        }
      ],
      "loops": [
        {
          "to": 77,
          "from": 71,
          "loop": {
            "name": "36_maturity_curve",
            "slug": "36-maturity-curve",
            "status": "active",
            "bestFor": "Digital transformation, capability building, benchmarking",
            "canonId": "019dd956-748d-7329-ad3a-5c550b66e275",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "Current Maturity Level -> The Gap to Next Level -> Required Capabilities -> The Roadmap",
            "description": "Show where you are on a progression and what it takes to reach the next level",
            "familyLabel": null
          },
          "matchId": "019dd95a-08f8-7619-ac2e-912ed90fbd12",
          "evidence": "p71 'Three steps to the future', p73 '2022 vs 2023 hype cycle turns', p77 'future can take a long time'",
          "position": 9,
          "objective": "Position crypto/metaverse against the hype-cycle curve",
          "confidence": 65,
          "extraction": {
            "at": "2026-04-29 13:07:29.779839+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 73,
      "type": "setup",
      "title": "The slide uses a 'before-after' framing to illustrate the shift in market narrative.",
      "function": "compare_options",
      "rawType": "comparison_table",
      "block": null,
      "metadata": {
        "slideType": "comparison_table",
        "slideTypeCanon": {
          "name": "Comparison table",
          "slug": "comparison_table",
          "status": "active",
          "canonId": "019de52d-0a06-73f8-8813-fe022fab1de2",
          "version": 1,
          "description": null
        },
        "function": "compare_options",
        "functionCanon": {
          "name": "Compare options",
          "slug": "compare_options",
          "status": "active",
          "canonId": "019de52d-167f-7038-aebc-70a9d2e0e33b",
          "version": 1,
          "description": null
        },
        "density": "sparse",
        "densityScore": 24,
        "componentCount": 4,
        "textChars": 362,
        "nDataPoints": 0,
        "notes": "The slide uses a 'before-after' framing to illustrate the shift in market narrative.",
        "elementsJson": [
          "headline_text",
          "comparison_table"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:35:42.864+00",
          "seconds": 2.827,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5e88-73ef-bd5d-853951586965/73",
        "deck": "/decks/019dd923-5e88-73ef-bd5d-853951586965",
        "deckAnchor": "/decks/019dd923-5e88-73ef-bd5d-853951586965#slide-73",
        "deckJson": "/decks/019dd923-5e88-73ef-bd5d-853951586965.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "The hype cycle turns",
          "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-25 12:09:02+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a10e-97bb3b332193",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.65,
            "w": 0.75,
            "x": 0.204,
            "y": 0.208
          },
          "kind": "table",
          "text": "Metaverse is the new Internet and the new smartphone vs Will Apple get us out of the VR winter?; Crypto / Web3 is the next way to build software companies vs ... after we spend another 5 years building plumbing and infrastructure; AI is boring now vs AI will change everything about everything",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Table",
              "slug": "table",
              "status": "active",
              "canonId": "019de52c-f9c8-7148-8119-eaac9594cd28",
              "version": 1,
              "description": "Tabular data layout."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": "comparison",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:42.864+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "b72730bf-fb2b-4294-9d92-2079621aa7bb",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.056,
            "w": 0.439,
            "x": 0.204,
            "y": 0.056
          },
          "kind": "title",
          "text": "The future - 2022 versus 2023",
          "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 17:35:42.864+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "b10ba594-a373-49bd-81f7-7e9c725bb167",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.028,
            "w": 0.185,
            "x": 0.204,
            "y": 0.128
          },
          "kind": "title",
          "text": "The hype cycle turns",
          "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": "Subtitle",
              "slug": "subtitle",
              "status": "active",
              "canonId": "019de52c-fb09-739d-900c-815b0d9ac526",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "subtitle",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:42.864+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "f8313828-a6c9-4c82-9490-5ecffe98f822",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "Before-After-Bridge",
            "slug": "before-after-bridge",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-8604-7188-883f-42370288ad05",
            "version": 1,
            "bodyDocId": null,
            "description": "Narrative structure: Paint the before, show the after, explain the bridge",
            "familyLabel": null,
            "categoryName": "Block",
            "categorySlug": "block"
          },
          "agent": "Storyteller",
          "layer": "block",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019dd95a-1b83-7130-933e-9dd4194e5661",
          "evidence": "Comparison table 2022 vs 2023 — explicit before/after of hype",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 80,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 73,
          "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": "019dd95a-1b83-7130-933e-a1a722374f70",
          "evidence": "Two-column shift in narrative items",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": null,
          "confidence": 75,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 73,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Comparison frame",
            "slug": "comparison-frame",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd9e1-484b-7399-a4fc-d14644b99f93",
            "version": 1,
            "bodyDocId": null,
            "description": "Two or more states/subjects placed side by side to expose a gap.",
            "familyLabel": null,
            "categoryName": null,
            "categorySlug": null
          },
          "agent": null,
          "layer": "slide",
          "agents": null,
          "matchId": "d428e037-8e8b-4406-a1ef-58f06b521e06",
          "evidence": "Metaverse is the new Internet and the new smartphone vs Will Apple get us out of the VR winter?",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 21:59:15.447176+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 73,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": "common",
          "narrativePurpose": null
        }
      ],
      "frameworks": [
        {
          "matchId": "6a4019e4-cd04-482b-ba4c-a86ef3a0098e",
          "evidence": "The slide explicitly contrasts 2022 sentiment with 2023 sentiment.",
          "framework": null,
          "confidence": 0.9,
          "extraction": {
            "at": "2026-05-02 17:35:42.864+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 73,
          "frameworkName": "before-after-framing"
        }
      ],
      "arcBeats": [
        {
          "to": 100,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 70,
          "name": "The Action (Now What)",
          "beatId": "019dd95a-07a7-7579-bd65-14aeb33da1bd",
          "matchId": "019dd95a-0543-7581-99b3-5568450d33ea",
          "beatType": {
            "name": "The Action (Now What)",
            "slug": "triple-take-the-action-now-what",
            "status": "active",
            "canonId": "019dd9b8-0a5e-735a-bf53-3a1ba629b7aa",
            "version": 1,
            "description": null
          },
          "evidence": "'Dreams for the Future' p70; metaverse, generative AI bets, JTBD questions",
          "position": 3,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Resolution",
            "slug": "resolution",
            "status": "active",
            "canonId": "019dd9b8-045d-703b-8dd7-e92aba3ba91b",
            "version": 1,
            "description": "How the deck ends. Required in 19/20 arcs. The exception (Sparkline) ends with new bliss which is functionally a resolution."
          },
          "alignedBlockIds": null,
          "matchConfidence": 82
        },
        {
          "to": 100,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 70,
          "name": "Resolution",
          "beatId": "019dd95a-07a7-7579-bd65-243a2d74e603",
          "matchId": "019dd95a-0543-7581-99b3-5836e9006609",
          "beatType": {
            "name": "Resolution",
            "slug": "mountain-resolution",
            "status": "active",
            "canonId": "019dd9b8-1ac2-777f-9a8f-ac543fee86f7",
            "version": 1,
            "description": null
          },
          "evidence": "future bets, generative AI, optimism close p100",
          "position": 4,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Resolution",
            "slug": "resolution",
            "status": "active",
            "canonId": "019dd9b8-045d-703b-8dd7-e92aba3ba91b",
            "version": 1,
            "description": "How the deck ends. Required in 19/20 arcs. The exception (Sparkline) ends with new bliss which is functionally a resolution."
          },
          "alignedBlockIds": null,
          "matchConfidence": 60
        }
      ],
      "loops": [
        {
          "to": 77,
          "from": 71,
          "loop": {
            "name": "36_maturity_curve",
            "slug": "36-maturity-curve",
            "status": "active",
            "bestFor": "Digital transformation, capability building, benchmarking",
            "canonId": "019dd956-748d-7329-ad3a-5c550b66e275",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "Current Maturity Level -> The Gap to Next Level -> Required Capabilities -> The Roadmap",
            "description": "Show where you are on a progression and what it takes to reach the next level",
            "familyLabel": null
          },
          "matchId": "019dd95a-08f8-7619-ac2e-912ed90fbd12",
          "evidence": "p71 'Three steps to the future', p73 '2022 vs 2023 hype cycle turns', p77 'future can take a long time'",
          "position": 9,
          "objective": "Position crypto/metaverse against the hype-cycle curve",
          "confidence": 65,
          "extraction": {
            "at": "2026-04-29 13:07:29.779839+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 74,
      "type": "analysis",
      "title": "The chart illustrates the volatility of NFT markets and the potential disconnect between speculative trading volume and actual user engagement.",
      "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": "dense",
        "densityScore": 52,
        "componentCount": 7,
        "textChars": 379,
        "nDataPoints": 2,
        "notes": "The chart illustrates the volatility of NFT markets and the potential disconnect between speculative trading volume and actual user engagement.",
        "elementsJson": [
          "headline_text",
          "subtitle_text",
          "line_chart"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:35:43.295+00",
          "seconds": 2.81,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5e88-73ef-bd5d-853951586965/74",
        "deck": "/decks/019dd923-5e88-73ef-bd5d-853951586965",
        "deckAnchor": "/decks/019dd923-5e88-73ef-bd5d-853951586965#slide-74",
        "deckJson": "/decks/019dd923-5e88-73ef-bd5d-853951586965.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "Jump start the network effect by rewarding early-adopters - but are they users or speculators?",
          "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-25 12:09:02+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a10e-a9ec82a257ff",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.55,
            "w": 0.75,
            "x": 0.206,
            "y": 0.27
          },
          "kind": "chart",
          "text": "OpenSea NFT trading",
          "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": "Line chart",
              "slug": "line",
              "status": "active",
              "canonId": "019de52c-ff62-778f-8f6c-a952ceae8677",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "line",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:43.295+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "e46907f0-976c-49a1-b577-bf1a686dfd56",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.08,
            "w": 0.15,
            "x": 0.03,
            "y": 0.34
          },
          "kind": "legend",
          "text": "Value traded ($bn)\nMAU (000)* - RH scale",
          "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 17:35:43.295+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "4707e100-72cf-431d-96ce-80b635e871dc",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Value traded ($bn)",
          "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-25 12:09:02+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a10e-acf45bbae4c3",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.3,
            "x": 0.206,
            "y": 0.91
          },
          "kind": "source-note",
          "text": "Source: dune.xzy @rchen\n* Accounts trading at least once in the month",
          "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 17:35:43.295+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "42084a43-1540-4f1b-8039-50608de4b36c",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.65,
            "x": 0.206,
            "y": 0.12
          },
          "kind": "title",
          "text": "Jump start the network effect by rewarding early-adopters - but are they users or speculators?",
          "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 17:35:43.295+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "02f8e5c4-33f0-4c16-b97f-84a5622a7982",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.04,
            "w": 0.59,
            "x": 0.206,
            "y": 0.05
          },
          "kind": "title",
          "text": "‘Speculation as a feature’ can work both ways",
          "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 17:35:43.295+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "e051786e-e6d9-4ffb-8f48-feac69783771",
          "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": "6cc560d0-a621-4781-a021-c1c2b1cc91d0",
          "evidence": "Jump start the network effect by rewarding early-adopters - but are they users or speculators?",
          "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.8,
          "extraction": {
            "at": "2026-07-16 21:59:15.513819+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 74,
          "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."
        }
      ],
      "frameworks": [
        {
          "matchId": "0c6948d0-4f6d-42bd-8c18-2b1f652ccbfa",
          "evidence": "The slide discusses jump-starting network effects through early-adopter rewards.",
          "framework": null,
          "confidence": 0.8,
          "extraction": {
            "at": "2026-05-02 17:35:43.295+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 74,
          "frameworkName": "network-effects-flywheel"
        }
      ],
      "arcBeats": [
        {
          "to": 100,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 70,
          "name": "The Action (Now What)",
          "beatId": "019dd95a-07a7-7579-bd65-14aeb33da1bd",
          "matchId": "019dd95a-0543-7581-99b3-5568450d33ea",
          "beatType": {
            "name": "The Action (Now What)",
            "slug": "triple-take-the-action-now-what",
            "status": "active",
            "canonId": "019dd9b8-0a5e-735a-bf53-3a1ba629b7aa",
            "version": 1,
            "description": null
          },
          "evidence": "'Dreams for the Future' p70; metaverse, generative AI bets, JTBD questions",
          "position": 3,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Resolution",
            "slug": "resolution",
            "status": "active",
            "canonId": "019dd9b8-045d-703b-8dd7-e92aba3ba91b",
            "version": 1,
            "description": "How the deck ends. Required in 19/20 arcs. The exception (Sparkline) ends with new bliss which is functionally a resolution."
          },
          "alignedBlockIds": null,
          "matchConfidence": 82
        },
        {
          "to": 100,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 70,
          "name": "Resolution",
          "beatId": "019dd95a-07a7-7579-bd65-243a2d74e603",
          "matchId": "019dd95a-0543-7581-99b3-5836e9006609",
          "beatType": {
            "name": "Resolution",
            "slug": "mountain-resolution",
            "status": "active",
            "canonId": "019dd9b8-1ac2-777f-9a8f-ac543fee86f7",
            "version": 1,
            "description": null
          },
          "evidence": "future bets, generative AI, optimism close p100",
          "position": 4,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Resolution",
            "slug": "resolution",
            "status": "active",
            "canonId": "019dd9b8-045d-703b-8dd7-e92aba3ba91b",
            "version": 1,
            "description": "How the deck ends. Required in 19/20 arcs. The exception (Sparkline) ends with new bliss which is functionally a resolution."
          },
          "alignedBlockIds": null,
          "matchConfidence": 60
        }
      ],
      "loops": [
        {
          "to": 77,
          "from": 71,
          "loop": {
            "name": "36_maturity_curve",
            "slug": "36-maturity-curve",
            "status": "active",
            "bestFor": "Digital transformation, capability building, benchmarking",
            "canonId": "019dd956-748d-7329-ad3a-5c550b66e275",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "Current Maturity Level -> The Gap to Next Level -> Required Capabilities -> The Roadmap",
            "description": "Show where you are on a progression and what it takes to reach the next level",
            "familyLabel": null
          },
          "matchId": "019dd95a-08f8-7619-ac2e-912ed90fbd12",
          "evidence": "p71 'Three steps to the future', p73 '2022 vs 2023 hype cycle turns', p77 'future can take a long time'",
          "position": 9,
          "objective": "Position crypto/metaverse against the hype-cycle curve",
          "confidence": 65,
          "extraction": {
            "at": "2026-04-29 13:07:29.779839+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 75,
      "type": "setup",
      "title": "The chart highlights the massive scale of Meta's investment compared to Apple's historical R&D spend.",
      "function": "compare_peers",
      "rawType": "comparison_table",
      "block": null,
      "metadata": {
        "slideType": "comparison_table",
        "slideTypeCanon": {
          "name": "Comparison table",
          "slug": "comparison_table",
          "status": "active",
          "canonId": "019de52d-0a06-73f8-8813-fe022fab1de2",
          "version": 1,
          "description": null
        },
        "function": "compare_peers",
        "functionCanon": {
          "name": "Compare peers",
          "slug": "compare_peers",
          "status": "active",
          "canonId": "019de52d-1453-72ba-a367-9ba3d34c1630",
          "version": 1,
          "description": null
        },
        "density": "balanced",
        "densityScore": 43,
        "componentCount": 6,
        "textChars": 301,
        "nDataPoints": 16,
        "notes": "The chart highlights the massive scale of Meta's investment compared to Apple's historical R&D spend.",
        "elementsJson": [
          "headline_text",
          "subtitle_text",
          "bar_chart_vertical"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:35:45.578+00",
          "seconds": 5.032,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5e88-73ef-bd5d-853951586965/75",
        "deck": "/decks/019dd923-5e88-73ef-bd5d-853951586965",
        "deckAnchor": "/decks/019dd923-5e88-73ef-bd5d-853951586965#slide-75",
        "deckJson": "/decks/019dd923-5e88-73ef-bd5d-853951586965.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "Meta spent $14bn on ‘metaverse’ in the last 12 months and is years from a consumer launch",
          "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-25 12:09:03+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a10e-f0830906815c",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.55,
            "w": 0.75,
            "x": 0.206,
            "y": 0.27
          },
          "kind": "chart",
          "text": "Quarterly budgets ($bn, 2022 dollars)",
          "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": "Grouped bar chart",
              "slug": "bar-grouped",
              "status": "active",
              "canonId": "019de52c-ff3b-751e-a8ff-f21ff11097b1",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bar-grouped",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:45.578+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "4b953499-2d29-467e-8524-12bce81744d3",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Quarterly R&D/Operating Loss: $14bn",
          "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-25 12:09:03+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a10e-f4b325ce23d3",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.79,
            "x": 0.206,
            "y": 0.128
          },
          "kind": "paragraph",
          "text": "Meta spent $14bn on 'metaverse' in the last 12 months and is years from a consumer launch",
          "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 17:35:45.578+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "599eb141-3a37-480f-bcc4-66b9ecec22ee",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.15,
            "x": 0.206,
            "y": 0.905
          },
          "kind": "source-note",
          "text": "Source: Apple, Meta, BLS",
          "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 17:35:45.578+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "ff0e4356-52df-4abd-9ca5-1f59a3e1591c",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.06,
            "w": 0.59,
            "x": 0.206,
            "y": 0.048
          },
          "kind": "title",
          "text": "Wait, how much money, Mark?",
          "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 17:35:45.578+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "de5a5cef-6f83-4461-abf5-27d9e6bf272a",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "Concrete Language",
            "slug": "concrete-language",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-bcd4-7398-9723-6aa72346170b",
            "version": 1,
            "bodyDocId": null,
            "description": "Using specific sensory details instead of abstract terms",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Storyteller",
          "layer": "slide",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019dd95a-1b83-7130-933e-a71dfdbd3344",
          "evidence": "$14bn metaverse spend in 12 months, very specific",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 85,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 75,
          "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": "019dd95a-1b83-7130-933e-abc4e45bcad0",
          "evidence": "Quote 'Wait, how much money, Mark?' borrows skeptical voice",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 60,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 75,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 100,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 70,
          "name": "The Action (Now What)",
          "beatId": "019dd95a-07a7-7579-bd65-14aeb33da1bd",
          "matchId": "019dd95a-0543-7581-99b3-5568450d33ea",
          "beatType": {
            "name": "The Action (Now What)",
            "slug": "triple-take-the-action-now-what",
            "status": "active",
            "canonId": "019dd9b8-0a5e-735a-bf53-3a1ba629b7aa",
            "version": 1,
            "description": null
          },
          "evidence": "'Dreams for the Future' p70; metaverse, generative AI bets, JTBD questions",
          "position": 3,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Resolution",
            "slug": "resolution",
            "status": "active",
            "canonId": "019dd9b8-045d-703b-8dd7-e92aba3ba91b",
            "version": 1,
            "description": "How the deck ends. Required in 19/20 arcs. The exception (Sparkline) ends with new bliss which is functionally a resolution."
          },
          "alignedBlockIds": null,
          "matchConfidence": 82
        },
        {
          "to": 100,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 70,
          "name": "Resolution",
          "beatId": "019dd95a-07a7-7579-bd65-243a2d74e603",
          "matchId": "019dd95a-0543-7581-99b3-5836e9006609",
          "beatType": {
            "name": "Resolution",
            "slug": "mountain-resolution",
            "status": "active",
            "canonId": "019dd9b8-1ac2-777f-9a8f-ac543fee86f7",
            "version": 1,
            "description": null
          },
          "evidence": "future bets, generative AI, optimism close p100",
          "position": 4,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Resolution",
            "slug": "resolution",
            "status": "active",
            "canonId": "019dd9b8-045d-703b-8dd7-e92aba3ba91b",
            "version": 1,
            "description": "How the deck ends. Required in 19/20 arcs. The exception (Sparkline) ends with new bliss which is functionally a resolution."
          },
          "alignedBlockIds": null,
          "matchConfidence": 60
        }
      ],
      "loops": [
        {
          "to": 77,
          "from": 71,
          "loop": {
            "name": "36_maturity_curve",
            "slug": "36-maturity-curve",
            "status": "active",
            "bestFor": "Digital transformation, capability building, benchmarking",
            "canonId": "019dd956-748d-7329-ad3a-5c550b66e275",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "Current Maturity Level -> The Gap to Next Level -> Required Capabilities -> The Roadmap",
            "description": "Show where you are on a progression and what it takes to reach the next level",
            "familyLabel": null
          },
          "matchId": "019dd95a-08f8-7619-ac2e-912ed90fbd12",
          "evidence": "p71 'Three steps to the future', p73 '2022 vs 2023 hype cycle turns', p77 'future can take a long time'",
          "position": 9,
          "objective": "Position crypto/metaverse against the hype-cycle curve",
          "confidence": 65,
          "extraction": {
            "at": "2026-04-29 13:07:29.779839+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 76,
      "type": "tension",
      "function": "frame_problem",
      "rawType": "problem_statement",
      "block": null,
      "metadata": {
        "slideType": "problem_statement",
        "slideTypeCanon": {
          "name": "Problem statement",
          "slug": "problem_statement",
          "status": "active",
          "canonId": "019de52d-0879-768d-bba8-8da8a5a121d4",
          "version": 1,
          "description": null
        },
        "function": "frame_problem",
        "functionCanon": {
          "name": "Frame problem",
          "slug": "frame_problem",
          "status": "active",
          "canonId": "019de52d-13db-753e-ad70-e9b2d0dab398",
          "version": 1,
          "description": null
        },
        "density": "balanced",
        "densityScore": 28,
        "componentCount": 4,
        "textChars": 444,
        "nDataPoints": 0,
        "notes": null,
        "elementsJson": [
          "headline_text",
          "paragraph"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:35:43.514+00",
          "seconds": 2.958,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5e88-73ef-bd5d-853951586965/76",
        "deck": "/decks/019dd923-5e88-73ef-bd5d-853951586965",
        "deckAnchor": "/decks/019dd923-5e88-73ef-bd5d-853951586965#slide-76",
        "deckJson": "/decks/019dd923-5e88-73ef-bd5d-853951586965.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.2,
            "w": 0.3,
            "x": 0.64,
            "y": 0.38
          },
          "kind": "list",
          "text": "Is xR the next smartphone? The hardware will get better... But will we care, or is this just a subset of games consoles?",
          "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 17:35:43.514+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "0993f025-eb9c-48aa-aebc-800442d0441e",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.3,
            "w": 0.3,
            "x": 0.205,
            "y": 0.38
          },
          "kind": "list",
          "text": "Can blockchains be software? 'DeFi' - can you build financial applications with a blockchain? (This is what imploded in 2022) Can you build actual consumer-scale applications on a blockchain? Could it be ‘web 3’?",
          "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 17:35:43.514+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "16f5b81d-883a-4272-b089-6edc84f5311c",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.59,
            "x": 0.205,
            "y": 0.12
          },
          "kind": "paragraph",
          "text": "Nothing that’s happened in the last 12 months gives us answers either way",
          "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 17:35:43.514+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "8b85e35b-591f-4d2f-b23b-1d7d3326d998",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.59,
            "x": 0.205,
            "y": 0.05
          },
          "kind": "title",
          "text": "But what are the questions that matter?",
          "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 17:35:43.514+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "c2f12acb-ce29-4b7d-913a-a3013903bcef",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "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": "slide",
          "agents": [
            "Architect"
          ],
          "matchId": "a569fcb1-5a7e-46e7-8914-db3a8c4a900f",
          "evidence": "Can blockchains be software? 'DeFi' - can you build financial applications with a blockchain?",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 21:59:15.613291+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 76,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 100,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 70,
          "name": "The Action (Now What)",
          "beatId": "019dd95a-07a7-7579-bd65-14aeb33da1bd",
          "matchId": "019dd95a-0543-7581-99b3-5568450d33ea",
          "beatType": {
            "name": "The Action (Now What)",
            "slug": "triple-take-the-action-now-what",
            "status": "active",
            "canonId": "019dd9b8-0a5e-735a-bf53-3a1ba629b7aa",
            "version": 1,
            "description": null
          },
          "evidence": "'Dreams for the Future' p70; metaverse, generative AI bets, JTBD questions",
          "position": 3,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Resolution",
            "slug": "resolution",
            "status": "active",
            "canonId": "019dd9b8-045d-703b-8dd7-e92aba3ba91b",
            "version": 1,
            "description": "How the deck ends. Required in 19/20 arcs. The exception (Sparkline) ends with new bliss which is functionally a resolution."
          },
          "alignedBlockIds": null,
          "matchConfidence": 82
        },
        {
          "to": 100,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 70,
          "name": "Resolution",
          "beatId": "019dd95a-07a7-7579-bd65-243a2d74e603",
          "matchId": "019dd95a-0543-7581-99b3-5836e9006609",
          "beatType": {
            "name": "Resolution",
            "slug": "mountain-resolution",
            "status": "active",
            "canonId": "019dd9b8-1ac2-777f-9a8f-ac543fee86f7",
            "version": 1,
            "description": null
          },
          "evidence": "future bets, generative AI, optimism close p100",
          "position": 4,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Resolution",
            "slug": "resolution",
            "status": "active",
            "canonId": "019dd9b8-045d-703b-8dd7-e92aba3ba91b",
            "version": 1,
            "description": "How the deck ends. Required in 19/20 arcs. The exception (Sparkline) ends with new bliss which is functionally a resolution."
          },
          "alignedBlockIds": null,
          "matchConfidence": 60
        }
      ],
      "loops": [
        {
          "to": 77,
          "from": 71,
          "loop": {
            "name": "36_maturity_curve",
            "slug": "36-maturity-curve",
            "status": "active",
            "bestFor": "Digital transformation, capability building, benchmarking",
            "canonId": "019dd956-748d-7329-ad3a-5c550b66e275",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "Current Maturity Level -> The Gap to Next Level -> Required Capabilities -> The Roadmap",
            "description": "Show where you are on a progression and what it takes to reach the next level",
            "familyLabel": null
          },
          "matchId": "019dd95a-08f8-7619-ac2e-912ed90fbd12",
          "evidence": "p71 'Three steps to the future', p73 '2022 vs 2023 hype cycle turns', p77 'future can take a long time'",
          "position": 9,
          "objective": "Position crypto/metaverse against the hype-cycle curve",
          "confidence": 65,
          "extraction": {
            "at": "2026-04-29 13:07:29.779839+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 77,
      "type": "analysis",
      "title": "Illustrates market disruption and the slow adoption curve of new technologies.",
      "function": "summarize",
      "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": "summarize",
        "functionCanon": {
          "name": "Summarize",
          "slug": "summarize",
          "status": "active",
          "canonId": "019de52d-1541-704f-b86f-bf7b75056373",
          "version": 1,
          "description": null
        },
        "density": "dense",
        "densityScore": 51,
        "componentCount": 7,
        "textChars": 288,
        "nDataPoints": 24,
        "notes": "Illustrates market disruption and the slow adoption curve of new technologies.",
        "elementsJson": [
          "headline_text",
          "subtitle_text",
          "line_chart"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:35:43.106+00",
          "seconds": 2.533,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5e88-73ef-bd5d-853951586965/77",
        "deck": "/decks/019dd923-5e88-73ef-bd5d-853951586965",
        "deckAnchor": "/decks/019dd923-5e88-73ef-bd5d-853951586965#slide-77",
        "deckJson": "/decks/019dd923-5e88-73ef-bd5d-853951586965.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "And sometimes the early leaders disappear when it works",
          "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-25 12:09:03+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a10f-0cf6d08b1552",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.55,
            "w": 0.75,
            "x": 0.205,
            "y": 0.27
          },
          "kind": "chart",
          "text": "Smartphone unit sales (m)",
          "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": "Line chart",
              "slug": "line",
              "status": "active",
              "canonId": "019de52c-ff62-778f-8f6c-a952ceae8677",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "line",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:43.106+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "ee07e735-3f43-46ff-9f34-5db30b8f38cb",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.15,
            "x": 0.03,
            "y": 0.35
          },
          "kind": "legend",
          "text": "Proto-smartphones* \niPhone & Android",
          "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 17:35:43.106+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "39fb1ba1-babc-4e57-a098-19de96abdeaf",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Smartphone unit sales",
          "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-25 12:09:03+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a10f-12483fc72473",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.3,
            "x": 0.205,
            "y": 0.9
          },
          "kind": "source-note",
          "text": "Source: IDC, Companies\n* S60, Palm, RIM, Windows Phone",
          "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 17:35:43.106+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "311c0289-3490-4b58-a777-19c3327298d5",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.04,
            "w": 0.59,
            "x": 0.205,
            "y": 0.05
          },
          "kind": "title",
          "text": "Remember - the future can take a long time",
          "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 17:35:43.106+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "ecc50c89-30aa-406c-bc03-6e2060a60aac",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.59,
            "x": 0.205,
            "y": 0.13
          },
          "kind": "title",
          "text": "And sometimes the early leaders disappear when it works",
          "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": "Subtitle",
              "slug": "subtitle",
              "status": "active",
              "canonId": "019de52c-fb09-739d-900c-815b0d9ac526",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "subtitle",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:43.106+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "b71545e3-1342-4b04-82e6-bdfbc9b61581",
          "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": "019dd95a-1b83-7130-933e-aed491d59a20",
          "evidence": "Title 'the future can take a long time'; subhead about early leaders disappearing",
          "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": 78,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 77,
          "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."
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 100,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 70,
          "name": "The Action (Now What)",
          "beatId": "019dd95a-07a7-7579-bd65-14aeb33da1bd",
          "matchId": "019dd95a-0543-7581-99b3-5568450d33ea",
          "beatType": {
            "name": "The Action (Now What)",
            "slug": "triple-take-the-action-now-what",
            "status": "active",
            "canonId": "019dd9b8-0a5e-735a-bf53-3a1ba629b7aa",
            "version": 1,
            "description": null
          },
          "evidence": "'Dreams for the Future' p70; metaverse, generative AI bets, JTBD questions",
          "position": 3,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Resolution",
            "slug": "resolution",
            "status": "active",
            "canonId": "019dd9b8-045d-703b-8dd7-e92aba3ba91b",
            "version": 1,
            "description": "How the deck ends. Required in 19/20 arcs. The exception (Sparkline) ends with new bliss which is functionally a resolution."
          },
          "alignedBlockIds": null,
          "matchConfidence": 82
        },
        {
          "to": 100,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 70,
          "name": "Resolution",
          "beatId": "019dd95a-07a7-7579-bd65-243a2d74e603",
          "matchId": "019dd95a-0543-7581-99b3-5836e9006609",
          "beatType": {
            "name": "Resolution",
            "slug": "mountain-resolution",
            "status": "active",
            "canonId": "019dd9b8-1ac2-777f-9a8f-ac543fee86f7",
            "version": 1,
            "description": null
          },
          "evidence": "future bets, generative AI, optimism close p100",
          "position": 4,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Resolution",
            "slug": "resolution",
            "status": "active",
            "canonId": "019dd9b8-045d-703b-8dd7-e92aba3ba91b",
            "version": 1,
            "description": "How the deck ends. Required in 19/20 arcs. The exception (Sparkline) ends with new bliss which is functionally a resolution."
          },
          "alignedBlockIds": null,
          "matchConfidence": 60
        }
      ],
      "loops": [
        {
          "to": 77,
          "from": 71,
          "loop": {
            "name": "36_maturity_curve",
            "slug": "36-maturity-curve",
            "status": "active",
            "bestFor": "Digital transformation, capability building, benchmarking",
            "canonId": "019dd956-748d-7329-ad3a-5c550b66e275",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "Current Maturity Level -> The Gap to Next Level -> Required Capabilities -> The Roadmap",
            "description": "Show where you are on a progression and what it takes to reach the next level",
            "familyLabel": null
          },
          "matchId": "019dd95a-08f8-7619-ac2e-912ed90fbd12",
          "evidence": "p71 'Three steps to the future', p73 '2022 vs 2023 hype cycle turns', p77 'future can take a long time'",
          "position": 9,
          "objective": "Position crypto/metaverse against the hype-cycle curve",
          "confidence": 65,
          "extraction": {
            "at": "2026-04-29 13:07:29.779839+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 78,
      "type": "setup",
      "function": "transition",
      "rawType": "transition",
      "block": null,
      "metadata": {
        "slideType": "transition",
        "slideTypeCanon": {
          "name": "Transition",
          "slug": "transition",
          "status": "active",
          "canonId": "019de52d-0693-7766-9f05-887f41f8e41e",
          "version": 1,
          "description": null
        },
        "function": "transition",
        "functionCanon": {
          "name": "Transition",
          "slug": "transition",
          "status": "active",
          "canonId": "019de52d-1365-7149-92aa-66df859e75fd",
          "version": 1,
          "description": null
        },
        "density": "sparse",
        "densityScore": 0,
        "componentCount": 1,
        "textChars": 12,
        "nDataPoints": 0,
        "notes": null,
        "elementsJson": [
          "headline_text"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:35:42.553+00",
          "seconds": 1.823,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5e88-73ef-bd5d-853951586965/78",
        "deck": "/decks/019dd923-5e88-73ef-bd5d-853951586965",
        "deckAnchor": "/decks/019dd923-5e88-73ef-bd5d-853951586965#slide-78",
        "deckJson": "/decks/019dd923-5e88-73ef-bd5d-853951586965.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.055,
            "w": 0.215,
            "x": 0.204,
            "y": 0.304
          },
          "kind": "title",
          "text": "Meanwhile...",
          "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 17:35:42.553+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "2d5776ac-14d0-4b33-826d-f59730544996",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 100,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 70,
          "name": "The Action (Now What)",
          "beatId": "019dd95a-07a7-7579-bd65-14aeb33da1bd",
          "matchId": "019dd95a-0543-7581-99b3-5568450d33ea",
          "beatType": {
            "name": "The Action (Now What)",
            "slug": "triple-take-the-action-now-what",
            "status": "active",
            "canonId": "019dd9b8-0a5e-735a-bf53-3a1ba629b7aa",
            "version": 1,
            "description": null
          },
          "evidence": "'Dreams for the Future' p70; metaverse, generative AI bets, JTBD questions",
          "position": 3,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Resolution",
            "slug": "resolution",
            "status": "active",
            "canonId": "019dd9b8-045d-703b-8dd7-e92aba3ba91b",
            "version": 1,
            "description": "How the deck ends. Required in 19/20 arcs. The exception (Sparkline) ends with new bliss which is functionally a resolution."
          },
          "alignedBlockIds": null,
          "matchConfidence": 82
        },
        {
          "to": 100,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 70,
          "name": "Resolution",
          "beatId": "019dd95a-07a7-7579-bd65-243a2d74e603",
          "matchId": "019dd95a-0543-7581-99b3-5836e9006609",
          "beatType": {
            "name": "Resolution",
            "slug": "mountain-resolution",
            "status": "active",
            "canonId": "019dd9b8-1ac2-777f-9a8f-ac543fee86f7",
            "version": 1,
            "description": null
          },
          "evidence": "future bets, generative AI, optimism close p100",
          "position": 4,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Resolution",
            "slug": "resolution",
            "status": "active",
            "canonId": "019dd9b8-045d-703b-8dd7-e92aba3ba91b",
            "version": 1,
            "description": "How the deck ends. Required in 19/20 arcs. The exception (Sparkline) ends with new bliss which is functionally a resolution."
          },
          "alignedBlockIds": null,
          "matchConfidence": 60
        }
      ],
      "loops": [
        {
          "to": 91,
          "from": 78,
          "loop": {
            "name": "09_precedent",
            "slug": "09-precedent",
            "status": "active",
            "bestFor": "Risk mitigation, strategy validation, building confidence in new approaches",
            "canonId": "019dd956-695f-7615-8f82-39d919918314",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Precedent Case -> What Happened -> The Parallel -> Applied Learning",
            "description": "Use historical or external examples to validate your approach",
            "familyLabel": null
          },
          "matchId": "019dd95a-08f8-7619-ac2e-9463f9e3fcb7",
          "evidence": "p79 ImageNet 2013 'so what'; p81 'same moment with generative networks'; same callout repeated",
          "position": 10,
          "objective": "Argue generative AI is at the same 'cool demo / so what' moment as ImageNet 2013",
          "confidence": 85,
          "extraction": {
            "at": "2026-04-29 13:07:29.779839+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 79,
      "type": "appendix",
      "title": "The slide uses a rhetorical question to transition into a discussion about the utility of AI/computer vision.",
      "function": "establish_context",
      "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": "establish_context",
        "functionCanon": {
          "name": "Establish context",
          "slug": "establish_context",
          "status": "active",
          "canonId": "019de52d-1314-74e6-9074-d213dc0bdcdf",
          "version": 1,
          "description": null
        },
        "density": "sparse",
        "densityScore": 20,
        "componentCount": 5,
        "textChars": 137,
        "nDataPoints": 0,
        "notes": "The slide uses a rhetorical question to transition into a discussion about the utility of AI/computer vision.",
        "elementsJson": [
          "headline_text",
          "paragraph",
          "screenshot"
        ],
        "confidence": 0.9,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:35:45.623+00",
          "seconds": 4.754,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5e88-73ef-bd5d-853951586965/79",
        "deck": "/decks/019dd923-5e88-73ef-bd5d-853951586965",
        "deckAnchor": "/decks/019dd923-5e88-73ef-bd5d-853951586965#slide-79",
        "deckJson": "/decks/019dd923-5e88-73ef-bd5d-853951586965.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "That’s clever, but so what?",
          "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-25 12:09:02+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a10e-d0e4f1174cfc",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.658,
            "w": 0.457,
            "x": 0.521,
            "y": 0.222
          },
          "kind": "image",
          "text": "Four images showing object detection bounding boxes",
          "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": "Screenshot",
              "slug": "screenshot",
              "status": "active",
              "canonId": "019de52c-fd87-7509-8391-3d79fb339379",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "screenshot",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:45.623+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "e0aa8733-222d-4d71-97ba-00da07f2ed6c",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.04,
            "w": 0.26,
            "x": 0.045,
            "y": 0.38
          },
          "kind": "paragraph",
          "text": "“That’s clever, but so what?”",
          "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 17:35:45.623+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "0e66a75f-e98d-4b98-80a5-95c7713ff132",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.1,
            "x": 0.045,
            "y": 0.91
          },
          "kind": "source-note",
          "text": "Source: Imagenet",
          "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 17:35:45.623+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "212b8ca2-53d2-40cb-a06d-9229119f70be",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.06,
            "w": 0.26,
            "x": 0.045,
            "y": 0.25
          },
          "kind": "title",
          "text": "Imagenet, 2013",
          "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 17:35:45.623+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "9a7d06f7-8978-48d2-8a2c-297f028070ee",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "Foreshadowing",
            "slug": "foreshadowing",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-a406-7159-bb8c-aeef05df2563",
            "version": 1,
            "bodyDocId": null,
            "description": "Planting hints of what's to come for later payoff",
            "familyLabel": null,
            "categoryName": "Loop",
            "categorySlug": "loop"
          },
          "agent": "Storyteller",
          "layer": "loop",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019dd95a-1b83-7130-933e-b5472ba2fed0",
          "evidence": "Callout 'That's clever, but so what?' will be reused at p81",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 80,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 79,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Concrete Language",
            "slug": "concrete-language",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-bcd4-7398-9723-6aa72346170b",
            "version": 1,
            "bodyDocId": null,
            "description": "Using specific sensory details instead of abstract terms",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Storyteller",
          "layer": "slide",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019dd95a-1b83-7130-933e-b1452b4cc74f",
          "evidence": "Anchors with 'Imagenet, 2013'",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 80,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 79,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 100,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 70,
          "name": "The Action (Now What)",
          "beatId": "019dd95a-07a7-7579-bd65-14aeb33da1bd",
          "matchId": "019dd95a-0543-7581-99b3-5568450d33ea",
          "beatType": {
            "name": "The Action (Now What)",
            "slug": "triple-take-the-action-now-what",
            "status": "active",
            "canonId": "019dd9b8-0a5e-735a-bf53-3a1ba629b7aa",
            "version": 1,
            "description": null
          },
          "evidence": "'Dreams for the Future' p70; metaverse, generative AI bets, JTBD questions",
          "position": 3,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Resolution",
            "slug": "resolution",
            "status": "active",
            "canonId": "019dd9b8-045d-703b-8dd7-e92aba3ba91b",
            "version": 1,
            "description": "How the deck ends. Required in 19/20 arcs. The exception (Sparkline) ends with new bliss which is functionally a resolution."
          },
          "alignedBlockIds": null,
          "matchConfidence": 82
        },
        {
          "to": 100,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 70,
          "name": "Resolution",
          "beatId": "019dd95a-07a7-7579-bd65-243a2d74e603",
          "matchId": "019dd95a-0543-7581-99b3-5836e9006609",
          "beatType": {
            "name": "Resolution",
            "slug": "mountain-resolution",
            "status": "active",
            "canonId": "019dd9b8-1ac2-777f-9a8f-ac543fee86f7",
            "version": 1,
            "description": null
          },
          "evidence": "future bets, generative AI, optimism close p100",
          "position": 4,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Resolution",
            "slug": "resolution",
            "status": "active",
            "canonId": "019dd9b8-045d-703b-8dd7-e92aba3ba91b",
            "version": 1,
            "description": "How the deck ends. Required in 19/20 arcs. The exception (Sparkline) ends with new bliss which is functionally a resolution."
          },
          "alignedBlockIds": null,
          "matchConfidence": 60
        }
      ],
      "loops": [
        {
          "to": 91,
          "from": 78,
          "loop": {
            "name": "09_precedent",
            "slug": "09-precedent",
            "status": "active",
            "bestFor": "Risk mitigation, strategy validation, building confidence in new approaches",
            "canonId": "019dd956-695f-7615-8f82-39d919918314",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Precedent Case -> What Happened -> The Parallel -> Applied Learning",
            "description": "Use historical or external examples to validate your approach",
            "familyLabel": null
          },
          "matchId": "019dd95a-08f8-7619-ac2e-9463f9e3fcb7",
          "evidence": "p79 ImageNet 2013 'so what'; p81 'same moment with generative networks'; same callout repeated",
          "position": 10,
          "objective": "Argue generative AI is at the same 'cool demo / so what' moment as ImageNet 2013",
          "confidence": 85,
          "extraction": {
            "at": "2026-04-29 13:07:29.779839+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 80,
      "type": "setup",
      "title": "The slide uses a simple process flow diagram to illustrate the abstraction of machine learning capabilities.",
      "function": "transition",
      "rawType": "transition",
      "block": null,
      "metadata": {
        "slideType": "transition",
        "slideTypeCanon": {
          "name": "Transition",
          "slug": "transition",
          "status": "active",
          "canonId": "019de52d-0693-7766-9f05-887f41f8e41e",
          "version": 1,
          "description": null
        },
        "function": "transition",
        "functionCanon": {
          "name": "Transition",
          "slug": "transition",
          "status": "active",
          "canonId": "019de52d-1365-7149-92aa-66df859e75fd",
          "version": 1,
          "description": null
        },
        "density": "sparse",
        "densityScore": 22,
        "componentCount": 4,
        "textChars": 317,
        "nDataPoints": 0,
        "notes": "The slide uses a simple process flow diagram to illustrate the abstraction of machine learning capabilities.",
        "elementsJson": [
          "headline_text",
          "process_diagram"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:35:47.437+00",
          "seconds": 6.533,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5e88-73ef-bd5d-853951586965/80",
        "deck": "/decks/019dd923-5e88-73ef-bd5d-853951586965",
        "deckAnchor": "/decks/019dd923-5e88-73ef-bd5d-853951586965#slide-80",
        "deckJson": "/decks/019dd923-5e88-73ef-bd5d-853951586965.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "Anything we can turn into pattern-recognition",
          "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-25 12:09:03+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a10f-416cf1bf3f62",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.35,
            "w": 0.75,
            "x": 0.205,
            "y": 0.35
          },
          "kind": "diagram",
          "text": "Image recognition works now! -> Speech Translation Natural Language... -> Anything we can turn into pattern-recognition",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Diagram",
              "slug": "diagram",
              "status": "active",
              "canonId": "019de52c-f9f0-734a-81de-15382ff28c65",
              "version": 1,
              "description": "Schematic or relational diagram."
            },
            "tool": null,
            "subkind": {
              "name": "Process flow",
              "slug": "process",
              "status": "active",
              "canonId": "019de52d-039c-718f-ad3a-efe9c4b3c838",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "process",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:47.437+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "19fd8585-db82-4c3c-bb6b-675641b22ad6",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.75,
            "x": 0.205,
            "y": 0.12
          },
          "kind": "paragraph",
          "text": "How do you generalise from the cool demo? What’s the right level of abstraction to understand this?",
          "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 17:35:47.437+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "d1e0c982-a25a-4b04-b1de-07675eede185",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.75,
            "x": 0.205,
            "y": 0.05
          },
          "kind": "title",
          "text": "Machine learning spread from 'cool demo' to everything",
          "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 17:35:47.437+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "b0870974-36e3-4487-962f-3cbd7abe8dae",
          "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": "019dd95a-1b83-7130-933e-b88e0bf6a435",
          "evidence": "Title 'ML spread from cool demo to everything' delivers the precedent payoff",
          "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": 80,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 80,
          "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."
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 100,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 70,
          "name": "The Action (Now What)",
          "beatId": "019dd95a-07a7-7579-bd65-14aeb33da1bd",
          "matchId": "019dd95a-0543-7581-99b3-5568450d33ea",
          "beatType": {
            "name": "The Action (Now What)",
            "slug": "triple-take-the-action-now-what",
            "status": "active",
            "canonId": "019dd9b8-0a5e-735a-bf53-3a1ba629b7aa",
            "version": 1,
            "description": null
          },
          "evidence": "'Dreams for the Future' p70; metaverse, generative AI bets, JTBD questions",
          "position": 3,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Resolution",
            "slug": "resolution",
            "status": "active",
            "canonId": "019dd9b8-045d-703b-8dd7-e92aba3ba91b",
            "version": 1,
            "description": "How the deck ends. Required in 19/20 arcs. The exception (Sparkline) ends with new bliss which is functionally a resolution."
          },
          "alignedBlockIds": null,
          "matchConfidence": 82
        },
        {
          "to": 100,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 70,
          "name": "Resolution",
          "beatId": "019dd95a-07a7-7579-bd65-243a2d74e603",
          "matchId": "019dd95a-0543-7581-99b3-5836e9006609",
          "beatType": {
            "name": "Resolution",
            "slug": "mountain-resolution",
            "status": "active",
            "canonId": "019dd9b8-1ac2-777f-9a8f-ac543fee86f7",
            "version": 1,
            "description": null
          },
          "evidence": "future bets, generative AI, optimism close p100",
          "position": 4,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Resolution",
            "slug": "resolution",
            "status": "active",
            "canonId": "019dd9b8-045d-703b-8dd7-e92aba3ba91b",
            "version": 1,
            "description": "How the deck ends. Required in 19/20 arcs. The exception (Sparkline) ends with new bliss which is functionally a resolution."
          },
          "alignedBlockIds": null,
          "matchConfidence": 60
        }
      ],
      "loops": [
        {
          "to": 91,
          "from": 78,
          "loop": {
            "name": "09_precedent",
            "slug": "09-precedent",
            "status": "active",
            "bestFor": "Risk mitigation, strategy validation, building confidence in new approaches",
            "canonId": "019dd956-695f-7615-8f82-39d919918314",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Precedent Case -> What Happened -> The Parallel -> Applied Learning",
            "description": "Use historical or external examples to validate your approach",
            "familyLabel": null
          },
          "matchId": "019dd95a-08f8-7619-ac2e-9463f9e3fcb7",
          "evidence": "p79 ImageNet 2013 'so what'; p81 'same moment with generative networks'; same callout repeated",
          "position": 10,
          "objective": "Argue generative AI is at the same 'cool demo / so what' moment as ImageNet 2013",
          "confidence": 85,
          "extraction": {
            "at": "2026-04-29 13:07:29.779839+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 81,
      "type": "setup",
      "title": "The slide uses a rhetorical question 'That's clever, but so what?' to bridge the technical demonstration to a broader discussion.",
      "function": "transition",
      "rawType": "transition",
      "block": null,
      "metadata": {
        "slideType": "transition",
        "slideTypeCanon": {
          "name": "Transition",
          "slug": "transition",
          "status": "active",
          "canonId": "019de52d-0693-7766-9f05-887f41f8e41e",
          "version": 1,
          "description": null
        },
        "function": "transition",
        "functionCanon": {
          "name": "Transition",
          "slug": "transition",
          "status": "active",
          "canonId": "019de52d-1365-7149-92aa-66df859e75fd",
          "version": 1,
          "description": null
        },
        "density": "sparse",
        "densityScore": 20,
        "componentCount": 5,
        "textChars": 131,
        "nDataPoints": 0,
        "notes": "The slide uses a rhetorical question 'That's clever, but so what?' to bridge the technical demonstration to a broader discussion.",
        "elementsJson": [
          "headline_text",
          "paragraph",
          "icon_grid"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:35:44.038+00",
          "seconds": 3.061,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5e88-73ef-bd5d-853951586965/81",
        "deck": "/decks/019dd923-5e88-73ef-bd5d-853951586965",
        "deckAnchor": "/decks/019dd923-5e88-73ef-bd5d-853951586965#slide-81",
        "deckJson": "/decks/019dd923-5e88-73ef-bd5d-853951586965.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "That’s clever, but so what?",
          "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-25 12:09:03+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a10f-2b8873c17b2d",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.364,
            "w": 0.364,
            "x": 0.538,
            "y": 0.088
          },
          "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": "Icon grid",
              "slug": "icon-grid",
              "status": "active",
              "canonId": "019de52c-fdfe-749d-9990-1db465a3eed4",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "icon-grid",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:44.038+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "1211f103-b790-473c-9d57-f7ef6ce8f17b",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.25,
            "x": 0.07,
            "y": 0.45
          },
          "kind": "paragraph",
          "text": "“That’s clever, but so what?”",
          "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 17:35:44.038+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "a0f76796-186a-4550-a3ad-9b48433378b2",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.15,
            "x": 0.07,
            "y": 0.91
          },
          "kind": "source-note",
          "text": "Source: Goodfellow et al, 2014",
          "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 17:35:44.038+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "05d74922-6ee1-4005-b1da-0fcd96f3bdd0",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.4,
            "x": 0.07,
            "y": 0.25
          },
          "kind": "title",
          "text": "Now, the same moment with generative networks",
          "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 17:35:44.038+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "d06ab7b1-0056-4ebd-9143-79c64cec72d9",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "Argument from Analogy",
            "slug": "argument-from-analogy",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-9e3d-7762-a994-72a2f7104e7c",
            "version": 1,
            "bodyDocId": null,
            "description": "Drawing conclusions based on similarities between situations",
            "familyLabel": null,
            "categoryName": "Loop",
            "categorySlug": "loop"
          },
          "agent": "Architect",
          "layer": "loop",
          "agents": [
            "Architect"
          ],
          "matchId": "019dd95a-1b83-7130-933e-c3d6a569df6e",
          "evidence": "Title 'Now, the same moment with generative networks' draws ImageNet parallel",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 88,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 81,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Callback",
            "slug": "callback",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-a3a9-708f-b4a3-d3da2181c576",
            "version": 1,
            "bodyDocId": null,
            "description": "Referencing earlier content for payoff and cohesion",
            "familyLabel": null,
            "categoryName": "Loop",
            "categorySlug": "loop"
          },
          "agent": "Storyteller",
          "layer": "loop",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019dd95a-1b83-7130-933e-bf9be84e3a8b",
          "evidence": "Reuses identical 'That's clever, but so what?' line from p79",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 90,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 81,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 100,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 70,
          "name": "The Action (Now What)",
          "beatId": "019dd95a-07a7-7579-bd65-14aeb33da1bd",
          "matchId": "019dd95a-0543-7581-99b3-5568450d33ea",
          "beatType": {
            "name": "The Action (Now What)",
            "slug": "triple-take-the-action-now-what",
            "status": "active",
            "canonId": "019dd9b8-0a5e-735a-bf53-3a1ba629b7aa",
            "version": 1,
            "description": null
          },
          "evidence": "'Dreams for the Future' p70; metaverse, generative AI bets, JTBD questions",
          "position": 3,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Resolution",
            "slug": "resolution",
            "status": "active",
            "canonId": "019dd9b8-045d-703b-8dd7-e92aba3ba91b",
            "version": 1,
            "description": "How the deck ends. Required in 19/20 arcs. The exception (Sparkline) ends with new bliss which is functionally a resolution."
          },
          "alignedBlockIds": null,
          "matchConfidence": 82
        },
        {
          "to": 100,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 70,
          "name": "Resolution",
          "beatId": "019dd95a-07a7-7579-bd65-243a2d74e603",
          "matchId": "019dd95a-0543-7581-99b3-5836e9006609",
          "beatType": {
            "name": "Resolution",
            "slug": "mountain-resolution",
            "status": "active",
            "canonId": "019dd9b8-1ac2-777f-9a8f-ac543fee86f7",
            "version": 1,
            "description": null
          },
          "evidence": "future bets, generative AI, optimism close p100",
          "position": 4,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Resolution",
            "slug": "resolution",
            "status": "active",
            "canonId": "019dd9b8-045d-703b-8dd7-e92aba3ba91b",
            "version": 1,
            "description": "How the deck ends. Required in 19/20 arcs. The exception (Sparkline) ends with new bliss which is functionally a resolution."
          },
          "alignedBlockIds": null,
          "matchConfidence": 60
        }
      ],
      "loops": [
        {
          "to": 91,
          "from": 78,
          "loop": {
            "name": "09_precedent",
            "slug": "09-precedent",
            "status": "active",
            "bestFor": "Risk mitigation, strategy validation, building confidence in new approaches",
            "canonId": "019dd956-695f-7615-8f82-39d919918314",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Precedent Case -> What Happened -> The Parallel -> Applied Learning",
            "description": "Use historical or external examples to validate your approach",
            "familyLabel": null
          },
          "matchId": "019dd95a-08f8-7619-ac2e-9463f9e3fcb7",
          "evidence": "p79 ImageNet 2013 'so what'; p81 'same moment with generative networks'; same callout repeated",
          "position": 10,
          "objective": "Argue generative AI is at the same 'cool demo / so what' moment as ImageNet 2013",
          "confidence": 85,
          "extraction": {
            "at": "2026-04-29 13:07:29.779839+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 82,
      "type": "evidence",
      "title": "The slide demonstrates the capability of generative AI to create cinematic-quality imagery.",
      "function": "illustrate_case",
      "rawType": "client_example",
      "block": null,
      "metadata": {
        "slideType": "client_example",
        "slideTypeCanon": {
          "name": "Client example",
          "slug": "client_example",
          "status": "active",
          "canonId": "019de52d-0c87-77cb-9867-613ae22e95ac",
          "version": 1,
          "description": null
        },
        "function": "illustrate_case",
        "functionCanon": {
          "name": "Illustrate case",
          "slug": "illustrate_case",
          "status": "active",
          "canonId": "019de52d-13b4-772c-bb73-1873612a7463",
          "version": 1,
          "description": null
        },
        "density": "balanced",
        "densityScore": 36,
        "componentCount": 5,
        "textChars": 481,
        "nDataPoints": 0,
        "notes": "The slide demonstrates the capability of generative AI to create cinematic-quality imagery.",
        "elementsJson": [
          "headline_text",
          "paragraph",
          "photo"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:35:44.123+00",
          "seconds": 2.814,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5e88-73ef-bd5d-853951586965/82",
        "deck": "/decks/019dd923-5e88-73ef-bd5d-853951586965",
        "deckAnchor": "/decks/019dd923-5e88-73ef-bd5d-853951586965#slide-82",
        "deckJson": "/decks/019dd923-5e88-73ef-bd5d-853951586965.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "“film still, portrait of an old man, wrinkles, dignified look, grey silver hair, peculiar nose, wise, eternal wisdom and beauty, incredible lighting and camera work, depth of field, bokeh, screenshot from a hollywood movie”",
          "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-25 12:09:03+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a10f-50ceb63f0489",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.84,
            "w": 0.41,
            "x": 0.53,
            "y": 0.08
          },
          "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 17:35:44.123+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "ec2e375c-bd39-473b-95ec-0b0ad0e25245",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.2,
            "w": 0.38,
            "x": 0.07,
            "y": 0.34
          },
          "kind": "paragraph",
          "text": "“film still, portrait of an old man, wrinkles, dignified look, grey silver hair, peculiar nose, wise, eternal wisdom and beauty, incredible lighting and camera work, depth of field, bokeh, screenshot from a hollywood movie”",
          "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 17:35:44.123+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "0206abc9-50d1-4113-bbb9-bf728855da2e",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.15,
            "x": 0.07,
            "y": 0.91
          },
          "kind": "source-note",
          "text": "Source: Fabian Stelzer",
          "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 17:35:44.123+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "021a2f43-65c2-4eec-8c2b-3cd71f36a690",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.25,
            "x": 0.07,
            "y": 0.25
          },
          "kind": "title",
          "text": "The cool demo",
          "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 17:35:44.123+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "d73816f1-1c86-4501-90ef-84711fe7237b",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "Concrete Language",
            "slug": "concrete-language",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-bcd4-7398-9723-6aa72346170b",
            "version": 1,
            "bodyDocId": null,
            "description": "Using specific sensory details instead of abstract terms",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Storyteller",
          "layer": "slide",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019dd95a-1b83-7130-933e-cabf57bdd503",
          "evidence": "Callout shows the verbatim prompt",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 70,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 82,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Picture Superiority Effect",
            "slug": "picture-superiority-effect",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-c201-7014-bb58-3e85e3e11dfd",
            "version": 1,
            "bodyDocId": null,
            "description": "Pictures remembered 6x better than words - prioritize visuals over text",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "019dd95a-1b83-7130-933e-c671743e0990",
          "evidence": "AI-generated portrait shown in full as the demo",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 80,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 82,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 100,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 70,
          "name": "The Action (Now What)",
          "beatId": "019dd95a-07a7-7579-bd65-14aeb33da1bd",
          "matchId": "019dd95a-0543-7581-99b3-5568450d33ea",
          "beatType": {
            "name": "The Action (Now What)",
            "slug": "triple-take-the-action-now-what",
            "status": "active",
            "canonId": "019dd9b8-0a5e-735a-bf53-3a1ba629b7aa",
            "version": 1,
            "description": null
          },
          "evidence": "'Dreams for the Future' p70; metaverse, generative AI bets, JTBD questions",
          "position": 3,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Resolution",
            "slug": "resolution",
            "status": "active",
            "canonId": "019dd9b8-045d-703b-8dd7-e92aba3ba91b",
            "version": 1,
            "description": "How the deck ends. Required in 19/20 arcs. The exception (Sparkline) ends with new bliss which is functionally a resolution."
          },
          "alignedBlockIds": null,
          "matchConfidence": 82
        },
        {
          "to": 100,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 70,
          "name": "Resolution",
          "beatId": "019dd95a-07a7-7579-bd65-243a2d74e603",
          "matchId": "019dd95a-0543-7581-99b3-5836e9006609",
          "beatType": {
            "name": "Resolution",
            "slug": "mountain-resolution",
            "status": "active",
            "canonId": "019dd9b8-1ac2-777f-9a8f-ac543fee86f7",
            "version": 1,
            "description": null
          },
          "evidence": "future bets, generative AI, optimism close p100",
          "position": 4,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Resolution",
            "slug": "resolution",
            "status": "active",
            "canonId": "019dd9b8-045d-703b-8dd7-e92aba3ba91b",
            "version": 1,
            "description": "How the deck ends. Required in 19/20 arcs. The exception (Sparkline) ends with new bliss which is functionally a resolution."
          },
          "alignedBlockIds": null,
          "matchConfidence": 60
        }
      ],
      "loops": [
        {
          "to": 91,
          "from": 78,
          "loop": {
            "name": "09_precedent",
            "slug": "09-precedent",
            "status": "active",
            "bestFor": "Risk mitigation, strategy validation, building confidence in new approaches",
            "canonId": "019dd956-695f-7615-8f82-39d919918314",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Precedent Case -> What Happened -> The Parallel -> Applied Learning",
            "description": "Use historical or external examples to validate your approach",
            "familyLabel": null
          },
          "matchId": "019dd95a-08f8-7619-ac2e-9463f9e3fcb7",
          "evidence": "p79 ImageNet 2013 'so what'; p81 'same moment with generative networks'; same callout repeated",
          "position": 10,
          "objective": "Argue generative AI is at the same 'cool demo / so what' moment as ImageNet 2013",
          "confidence": 85,
          "extraction": {
            "at": "2026-04-29 13:07:29.779839+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 83,
      "type": "evidence",
      "title": "The slide uses a screenshot of a browser window to provide a concrete example of AI capabilities.",
      "function": "illustrate_case",
      "rawType": "client_example",
      "block": null,
      "metadata": {
        "slideType": "client_example",
        "slideTypeCanon": {
          "name": "Client example",
          "slug": "client_example",
          "status": "active",
          "canonId": "019de52d-0c87-77cb-9867-613ae22e95ac",
          "version": 1,
          "description": null
        },
        "function": "illustrate_case",
        "functionCanon": {
          "name": "Illustrate case",
          "slug": "illustrate_case",
          "status": "active",
          "canonId": "019de52d-13b4-772c-bb73-1873612a7463",
          "version": 1,
          "description": null
        },
        "density": "sparse",
        "densityScore": 21,
        "componentCount": 5,
        "textChars": 154,
        "nDataPoints": 0,
        "notes": "The slide uses a screenshot of a browser window to provide a concrete example of AI capabilities.",
        "elementsJson": [
          "headline_text",
          "subtitle_text",
          "screenshot"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:35:46.157+00",
          "seconds": 4.839,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5e88-73ef-bd5d-853951586965/83",
        "deck": "/decks/019dd923-5e88-73ef-bd5d-853951586965",
        "deckAnchor": "/decks/019dd923-5e88-73ef-bd5d-853951586965#slide-83",
        "deckJson": "/decks/019dd923-5e88-73ef-bd5d-853951586965.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "ChatGPT shows the potential...",
          "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-25 12:09:06+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a10f-b8fce5afc38b",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.87,
            "w": 0.41,
            "x": 0.54,
            "y": 0.04
          },
          "kind": "image",
          "text": "ChatGPT interface showing a generated country song",
          "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": "Screenshot",
              "slug": "screenshot",
              "status": "active",
              "canonId": "019de52c-fd87-7509-8391-3d79fb339379",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "screenshot",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:46.157+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "acff2c8f-5cf3-4d27-936e-953a16269f75",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.2,
            "x": 0.045,
            "y": 0.91
          },
          "kind": "source-note",
          "text": "Source: Benedict Evans / OpenAI",
          "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 17:35:46.157+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "567483e1-6b01-4f2a-b2be-2fedc08ccb26",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.25,
            "x": 0.045,
            "y": 0.34
          },
          "kind": "subtitle",
          "text": "ChatGPT shows the potential...",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Subtitle",
              "slug": "subtitle",
              "status": "active",
              "canonId": "82d821ee-2793-42e7-8f16-c6131385a3ce",
              "version": 1,
              "description": "Header-zone supporting text near the title (= ex body.description with bbox)."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:46.157+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "f78825f1-aa4b-43fe-8338-2c3582e7d0cb",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.25,
            "x": 0.045,
            "y": 0.25
          },
          "kind": "title",
          "text": "The cool demo",
          "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 17:35:46.157+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "4f0223fe-68dc-4b17-b05d-2a118b9dc96c",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "Concrete Language",
            "slug": "concrete-language",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-bcd4-7398-9723-6aa72346170b",
            "version": 1,
            "bodyDocId": null,
            "description": "Using specific sensory details instead of abstract terms",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Storyteller",
          "layer": "slide",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019dd95a-1b83-7130-933e-cea315f71bab",
          "evidence": "Names ChatGPT specifically as the demo",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 70,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 83,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 100,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 70,
          "name": "The Action (Now What)",
          "beatId": "019dd95a-07a7-7579-bd65-14aeb33da1bd",
          "matchId": "019dd95a-0543-7581-99b3-5568450d33ea",
          "beatType": {
            "name": "The Action (Now What)",
            "slug": "triple-take-the-action-now-what",
            "status": "active",
            "canonId": "019dd9b8-0a5e-735a-bf53-3a1ba629b7aa",
            "version": 1,
            "description": null
          },
          "evidence": "'Dreams for the Future' p70; metaverse, generative AI bets, JTBD questions",
          "position": 3,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Resolution",
            "slug": "resolution",
            "status": "active",
            "canonId": "019dd9b8-045d-703b-8dd7-e92aba3ba91b",
            "version": 1,
            "description": "How the deck ends. Required in 19/20 arcs. The exception (Sparkline) ends with new bliss which is functionally a resolution."
          },
          "alignedBlockIds": null,
          "matchConfidence": 82
        },
        {
          "to": 100,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 70,
          "name": "Resolution",
          "beatId": "019dd95a-07a7-7579-bd65-243a2d74e603",
          "matchId": "019dd95a-0543-7581-99b3-5836e9006609",
          "beatType": {
            "name": "Resolution",
            "slug": "mountain-resolution",
            "status": "active",
            "canonId": "019dd9b8-1ac2-777f-9a8f-ac543fee86f7",
            "version": 1,
            "description": null
          },
          "evidence": "future bets, generative AI, optimism close p100",
          "position": 4,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Resolution",
            "slug": "resolution",
            "status": "active",
            "canonId": "019dd9b8-045d-703b-8dd7-e92aba3ba91b",
            "version": 1,
            "description": "How the deck ends. Required in 19/20 arcs. The exception (Sparkline) ends with new bliss which is functionally a resolution."
          },
          "alignedBlockIds": null,
          "matchConfidence": 60
        }
      ],
      "loops": [
        {
          "to": 91,
          "from": 78,
          "loop": {
            "name": "09_precedent",
            "slug": "09-precedent",
            "status": "active",
            "bestFor": "Risk mitigation, strategy validation, building confidence in new approaches",
            "canonId": "019dd956-695f-7615-8f82-39d919918314",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Precedent Case -> What Happened -> The Parallel -> Applied Learning",
            "description": "Use historical or external examples to validate your approach",
            "familyLabel": null
          },
          "matchId": "019dd95a-08f8-7619-ac2e-9463f9e3fcb7",
          "evidence": "p79 ImageNet 2013 'so what'; p81 'same moment with generative networks'; same callout repeated",
          "position": 10,
          "objective": "Argue generative AI is at the same 'cool demo / so what' moment as ImageNet 2013",
          "confidence": 85,
          "extraction": {
            "at": "2026-04-29 13:07:29.779839+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 84,
      "type": "setup",
      "title": "The slide uses a simple process flow diagram to move from a specific concept to a broader inquiry.",
      "function": "transition",
      "rawType": "transition",
      "block": null,
      "metadata": {
        "slideType": "transition",
        "slideTypeCanon": {
          "name": "Transition",
          "slug": "transition",
          "status": "active",
          "canonId": "019de52d-0693-7766-9f05-887f41f8e41e",
          "version": 1,
          "description": null
        },
        "function": "transition",
        "functionCanon": {
          "name": "Transition",
          "slug": "transition",
          "status": "active",
          "canonId": "019de52d-1365-7149-92aa-66df859e75fd",
          "version": 1,
          "description": null
        },
        "density": "sparse",
        "densityScore": 14,
        "componentCount": 3,
        "textChars": 238,
        "nDataPoints": 0,
        "notes": "The slide uses a simple process flow diagram to move from a specific concept to a broader inquiry.",
        "elementsJson": [
          "headline_text",
          "subtitle_text",
          "process_diagram"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:35:45.981+00",
          "seconds": 4.548,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5e88-73ef-bd5d-853951586965/84",
        "deck": "/decks/019dd923-5e88-73ef-bd5d-853951586965",
        "deckAnchor": "/decks/019dd923-5e88-73ef-bd5d-853951586965#slide-84",
        "deckJson": "/decks/019dd923-5e88-73ef-bd5d-853951586965.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.3,
            "w": 0.59,
            "x": 0.205,
            "y": 0.35
          },
          "kind": "diagram",
          "text": "Create new text & images by applying existing patterns -> Where is automated text & image creation useful? -> How does this apply beyond text and images?",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Diagram",
              "slug": "diagram",
              "status": "active",
              "canonId": "019de52c-f9f0-734a-81de-15382ff28c65",
              "version": 1,
              "description": "Schematic or relational diagram."
            },
            "tool": null,
            "subkind": {
              "name": "Process flow",
              "slug": "process",
              "status": "active",
              "canonId": "019de52d-039c-718f-ad3a-efe9c4b3c838",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "process",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:45.981+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "a67ebbc2-dd4e-4da3-8df1-d3fcf7c408d9",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.41,
            "x": 0.205,
            "y": 0.05
          },
          "kind": "title",
          "text": "So how does this generalise?",
          "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 17:35:45.981+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "43697632-07bf-41bf-bd48-779a53606c02",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.41,
            "x": 0.205,
            "y": 0.12
          },
          "kind": "title",
          "text": "What's the right level of abstraction to understand this?",
          "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": "Subtitle",
              "slug": "subtitle",
              "status": "active",
              "canonId": "019de52c-fb09-739d-900c-815b0d9ac526",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "subtitle",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:45.981+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "c7c848fa-5430-4b40-b61a-98c81cd3ab04",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 100,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 70,
          "name": "The Action (Now What)",
          "beatId": "019dd95a-07a7-7579-bd65-14aeb33da1bd",
          "matchId": "019dd95a-0543-7581-99b3-5568450d33ea",
          "beatType": {
            "name": "The Action (Now What)",
            "slug": "triple-take-the-action-now-what",
            "status": "active",
            "canonId": "019dd9b8-0a5e-735a-bf53-3a1ba629b7aa",
            "version": 1,
            "description": null
          },
          "evidence": "'Dreams for the Future' p70; metaverse, generative AI bets, JTBD questions",
          "position": 3,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Resolution",
            "slug": "resolution",
            "status": "active",
            "canonId": "019dd9b8-045d-703b-8dd7-e92aba3ba91b",
            "version": 1,
            "description": "How the deck ends. Required in 19/20 arcs. The exception (Sparkline) ends with new bliss which is functionally a resolution."
          },
          "alignedBlockIds": null,
          "matchConfidence": 82
        },
        {
          "to": 100,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 70,
          "name": "Resolution",
          "beatId": "019dd95a-07a7-7579-bd65-243a2d74e603",
          "matchId": "019dd95a-0543-7581-99b3-5836e9006609",
          "beatType": {
            "name": "Resolution",
            "slug": "mountain-resolution",
            "status": "active",
            "canonId": "019dd9b8-1ac2-777f-9a8f-ac543fee86f7",
            "version": 1,
            "description": null
          },
          "evidence": "future bets, generative AI, optimism close p100",
          "position": 4,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Resolution",
            "slug": "resolution",
            "status": "active",
            "canonId": "019dd9b8-045d-703b-8dd7-e92aba3ba91b",
            "version": 1,
            "description": "How the deck ends. Required in 19/20 arcs. The exception (Sparkline) ends with new bliss which is functionally a resolution."
          },
          "alignedBlockIds": null,
          "matchConfidence": 60
        }
      ],
      "loops": [
        {
          "to": 91,
          "from": 78,
          "loop": {
            "name": "09_precedent",
            "slug": "09-precedent",
            "status": "active",
            "bestFor": "Risk mitigation, strategy validation, building confidence in new approaches",
            "canonId": "019dd956-695f-7615-8f82-39d919918314",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Precedent Case -> What Happened -> The Parallel -> Applied Learning",
            "description": "Use historical or external examples to validate your approach",
            "familyLabel": null
          },
          "matchId": "019dd95a-08f8-7619-ac2e-9463f9e3fcb7",
          "evidence": "p79 ImageNet 2013 'so what'; p81 'same moment with generative networks'; same callout repeated",
          "position": 10,
          "objective": "Argue generative AI is at the same 'cool demo / so what' moment as ImageNet 2013",
          "confidence": 85,
          "extraction": {
            "at": "2026-04-29 13:07:29.779839+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 85,
      "type": "tension",
      "title": "The slide uses a screenshot of a Perplexity AI search result to demonstrate the capability of generative search to answer complex queries, contrasting this with",
      "function": "frame_problem",
      "rawType": "problem_statement",
      "block": null,
      "metadata": {
        "slideType": "problem_statement",
        "slideTypeCanon": {
          "name": "Problem statement",
          "slug": "problem_statement",
          "status": "active",
          "canonId": "019de52d-0879-768d-bba8-8da8a5a121d4",
          "version": 1,
          "description": null
        },
        "function": "frame_problem",
        "functionCanon": {
          "name": "Frame problem",
          "slug": "frame_problem",
          "status": "active",
          "canonId": "019de52d-13db-753e-ad70-e9b2d0dab398",
          "version": 1,
          "description": null
        },
        "density": "balanced",
        "densityScore": 26,
        "componentCount": 5,
        "textChars": 282,
        "nDataPoints": 0,
        "notes": "The slide uses a screenshot of a Perplexity AI search result to demonstrate the capability of generative search to answer complex queries, contrasting this with traditional search.",
        "elementsJson": [
          "headline_text",
          "paragraph",
          "screenshot"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:35:43.932+00",
          "seconds": 2.493,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5e88-73ef-bd5d-853951586965/85",
        "deck": "/decks/019dd923-5e88-73ef-bd5d-853951586965",
        "deckAnchor": "/decks/019dd923-5e88-73ef-bd5d-853951586965#slide-85",
        "deckJson": "/decks/019dd923-5e88-73ef-bd5d-853951586965.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "How many more search queries could be served as answers? Where do the ads go? How are they sold?",
          "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-25 12:09:06+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a110-8fabf0f9dd4f",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.87,
            "w": 0.41,
            "x": 0.54,
            "y": 0.04
          },
          "kind": "image",
          "text": "Perplexity AI search result interface",
          "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": "Screenshot",
              "slug": "screenshot",
              "status": "active",
              "canonId": "019de52c-fd87-7509-8391-3d79fb339379",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "screenshot",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:43.932+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "b6812229-8d30-4f5a-8b02-b473b517d9ef",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.08,
            "w": 0.4,
            "x": 0.046,
            "y": 0.34
          },
          "kind": "paragraph",
          "text": "How many more search queries could be served as answers? Where do the ads go? How are they sold?",
          "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 17:35:43.932+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "de954324-17fc-4058-8b9b-c22659099062",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.2,
            "x": 0.046,
            "y": 0.91
          },
          "kind": "source-note",
          "text": "Source: Benedict Evans / Perplexity",
          "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 17:35:43.932+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "f2bb15f8-0043-4548-aff0-3b44dde52619",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.04,
            "w": 0.25,
            "x": 0.046,
            "y": 0.255
          },
          "kind": "title",
          "text": "Generative search?",
          "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 17:35:43.932+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "1607ea11-8a5c-4436-a6f2-42b98922c248",
          "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": "019dd95a-1b83-7130-933e-d2f769e7981f",
          "evidence": "Three open questions stacked: how many queries? where do ads go? how sold?",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 85,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 85,
          "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": "019dd95a-1b83-7130-933e-d5c98ee28a18",
          "evidence": "Frames the unresolved problem space",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 60,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 85,
          "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": "slide",
          "agents": [
            "Architect"
          ],
          "matchId": "910934d8-702d-49af-9d7d-dc1b8d42d440",
          "evidence": "How many more search queries could be served as answers? Where do the ads go? How are they sold?",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 21:59:17.820363+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 85,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 100,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 70,
          "name": "The Action (Now What)",
          "beatId": "019dd95a-07a7-7579-bd65-14aeb33da1bd",
          "matchId": "019dd95a-0543-7581-99b3-5568450d33ea",
          "beatType": {
            "name": "The Action (Now What)",
            "slug": "triple-take-the-action-now-what",
            "status": "active",
            "canonId": "019dd9b8-0a5e-735a-bf53-3a1ba629b7aa",
            "version": 1,
            "description": null
          },
          "evidence": "'Dreams for the Future' p70; metaverse, generative AI bets, JTBD questions",
          "position": 3,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Resolution",
            "slug": "resolution",
            "status": "active",
            "canonId": "019dd9b8-045d-703b-8dd7-e92aba3ba91b",
            "version": 1,
            "description": "How the deck ends. Required in 19/20 arcs. The exception (Sparkline) ends with new bliss which is functionally a resolution."
          },
          "alignedBlockIds": null,
          "matchConfidence": 82
        },
        {
          "to": 100,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 70,
          "name": "Resolution",
          "beatId": "019dd95a-07a7-7579-bd65-243a2d74e603",
          "matchId": "019dd95a-0543-7581-99b3-5836e9006609",
          "beatType": {
            "name": "Resolution",
            "slug": "mountain-resolution",
            "status": "active",
            "canonId": "019dd9b8-1ac2-777f-9a8f-ac543fee86f7",
            "version": 1,
            "description": null
          },
          "evidence": "future bets, generative AI, optimism close p100",
          "position": 4,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Resolution",
            "slug": "resolution",
            "status": "active",
            "canonId": "019dd9b8-045d-703b-8dd7-e92aba3ba91b",
            "version": 1,
            "description": "How the deck ends. Required in 19/20 arcs. The exception (Sparkline) ends with new bliss which is functionally a resolution."
          },
          "alignedBlockIds": null,
          "matchConfidence": 60
        }
      ],
      "loops": [
        {
          "to": 91,
          "from": 78,
          "loop": {
            "name": "09_precedent",
            "slug": "09-precedent",
            "status": "active",
            "bestFor": "Risk mitigation, strategy validation, building confidence in new approaches",
            "canonId": "019dd956-695f-7615-8f82-39d919918314",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Precedent Case -> What Happened -> The Parallel -> Applied Learning",
            "description": "Use historical or external examples to validate your approach",
            "familyLabel": null
          },
          "matchId": "019dd95a-08f8-7619-ac2e-9463f9e3fcb7",
          "evidence": "p79 ImageNet 2013 'so what'; p81 'same moment with generative networks'; same callout repeated",
          "position": 10,
          "objective": "Argue generative AI is at the same 'cool demo / so what' moment as ImageNet 2013",
          "confidence": 85,
          "extraction": {
            "at": "2026-04-29 13:07:29.779839+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 86,
      "type": "appendix",
      "title": "The slide uses an AI-generated image to make a point about the capabilities of generative AI in search.",
      "function": "illustrate_case",
      "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": "illustrate_case",
        "functionCanon": {
          "name": "Illustrate case",
          "slug": "illustrate_case",
          "status": "active",
          "canonId": "019de52d-13b4-772c-bb73-1873612a7463",
          "version": 1,
          "description": null
        },
        "density": "sparse",
        "densityScore": 24,
        "componentCount": 5,
        "textChars": 221,
        "nDataPoints": 0,
        "notes": "The slide uses an AI-generated image to make a point about the capabilities of generative AI in search.",
        "elementsJson": [
          "headline_text",
          "paragraph",
          "photo"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:35:48.767+00",
          "seconds": 7.106,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5e88-73ef-bd5d-853951586965/86",
        "deck": "/decks/019dd923-5e88-73ef-bd5d-853951586965",
        "deckAnchor": "/decks/019dd923-5e88-73ef-bd5d-853951586965#slide-86",
        "deckJson": "/decks/019dd923-5e88-73ef-bd5d-853951586965.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "“sundar pichai as a boxer at the beginning of a match, moody lighting, cinematic”",
          "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-25 12:09:06+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a10f-a6df07450442",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.84,
            "w": 0.4,
            "x": 0.53,
            "y": 0.08
          },
          "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 17:35:48.767+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "6a619f8d-4081-4f10-94b4-68b3825f7218",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.08,
            "w": 0.4,
            "x": 0.07,
            "y": 0.34
          },
          "kind": "paragraph",
          "text": "“sundar pichai as a boxer at the beginning of a match, moody lighting, cinematic”",
          "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 17:35:48.767+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "30018740-ea9d-4e94-ab3d-3cdc64505b01",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.25,
            "x": 0.07,
            "y": 0.91
          },
          "kind": "source-note",
          "text": "Source: Benedict Evans / Stable Diffusion",
          "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 17:35:48.767+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "ed57a4eb-f877-4d2d-a219-d6c1d129a90a",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.3,
            "x": 0.07,
            "y": 0.25
          },
          "kind": "title",
          "text": "Generative search?",
          "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 17:35:48.767+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "62e7cece-7eeb-474a-a5ba-1585f863025f",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "Picture Superiority Effect",
            "slug": "picture-superiority-effect",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-c201-7014-bb58-3e85e3e11dfd",
            "version": 1,
            "bodyDocId": null,
            "description": "Pictures remembered 6x better than words - prioritize visuals over text",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "019dd95a-1b83-7130-933e-dadfa93232de",
          "evidence": "Generated 'Sundar Pichai as boxer' image carries the slide",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 80,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 86,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 100,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 70,
          "name": "The Action (Now What)",
          "beatId": "019dd95a-07a7-7579-bd65-14aeb33da1bd",
          "matchId": "019dd95a-0543-7581-99b3-5568450d33ea",
          "beatType": {
            "name": "The Action (Now What)",
            "slug": "triple-take-the-action-now-what",
            "status": "active",
            "canonId": "019dd9b8-0a5e-735a-bf53-3a1ba629b7aa",
            "version": 1,
            "description": null
          },
          "evidence": "'Dreams for the Future' p70; metaverse, generative AI bets, JTBD questions",
          "position": 3,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Resolution",
            "slug": "resolution",
            "status": "active",
            "canonId": "019dd9b8-045d-703b-8dd7-e92aba3ba91b",
            "version": 1,
            "description": "How the deck ends. Required in 19/20 arcs. The exception (Sparkline) ends with new bliss which is functionally a resolution."
          },
          "alignedBlockIds": null,
          "matchConfidence": 82
        },
        {
          "to": 100,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 70,
          "name": "Resolution",
          "beatId": "019dd95a-07a7-7579-bd65-243a2d74e603",
          "matchId": "019dd95a-0543-7581-99b3-5836e9006609",
          "beatType": {
            "name": "Resolution",
            "slug": "mountain-resolution",
            "status": "active",
            "canonId": "019dd9b8-1ac2-777f-9a8f-ac543fee86f7",
            "version": 1,
            "description": null
          },
          "evidence": "future bets, generative AI, optimism close p100",
          "position": 4,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Resolution",
            "slug": "resolution",
            "status": "active",
            "canonId": "019dd9b8-045d-703b-8dd7-e92aba3ba91b",
            "version": 1,
            "description": "How the deck ends. Required in 19/20 arcs. The exception (Sparkline) ends with new bliss which is functionally a resolution."
          },
          "alignedBlockIds": null,
          "matchConfidence": 60
        }
      ],
      "loops": [
        {
          "to": 91,
          "from": 78,
          "loop": {
            "name": "09_precedent",
            "slug": "09-precedent",
            "status": "active",
            "bestFor": "Risk mitigation, strategy validation, building confidence in new approaches",
            "canonId": "019dd956-695f-7615-8f82-39d919918314",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Precedent Case -> What Happened -> The Parallel -> Applied Learning",
            "description": "Use historical or external examples to validate your approach",
            "familyLabel": null
          },
          "matchId": "019dd95a-08f8-7619-ac2e-9463f9e3fcb7",
          "evidence": "p79 ImageNet 2013 'so what'; p81 'same moment with generative networks'; same callout repeated",
          "position": 10,
          "objective": "Argue generative AI is at the same 'cool demo / so what' moment as ImageNet 2013",
          "confidence": 85,
          "extraction": {
            "at": "2026-04-29 13:07:29.779839+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 87,
      "type": "evidence",
      "title": "The slide showcases AI-generated UI mockups, likely created using Midjourney, to illustrate the potential of generative design in software interfaces.",
      "function": "illustrate_case",
      "rawType": "client_example",
      "block": null,
      "metadata": {
        "slideType": "client_example",
        "slideTypeCanon": {
          "name": "Client example",
          "slug": "client_example",
          "status": "active",
          "canonId": "019de52d-0c87-77cb-9867-613ae22e95ac",
          "version": 1,
          "description": null
        },
        "function": "illustrate_case",
        "functionCanon": {
          "name": "Illustrate case",
          "slug": "illustrate_case",
          "status": "active",
          "canonId": "019de52d-13b4-772c-bb73-1873612a7463",
          "version": 1,
          "description": null
        },
        "density": "sparse",
        "densityScore": 24,
        "componentCount": 5,
        "textChars": 224,
        "nDataPoints": 0,
        "notes": "The slide showcases AI-generated UI mockups, likely created using Midjourney, to illustrate the potential of generative design in software interfaces.",
        "elementsJson": [
          "headline_text",
          "subtitle_text",
          "screenshot"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:35:44.072+00",
          "seconds": 2.363,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5e88-73ef-bd5d-853951586965/87",
        "deck": "/decks/019dd923-5e88-73ef-bd5d-853951586965",
        "deckAnchor": "/decks/019dd923-5e88-73ef-bd5d-853951586965#slide-87",
        "deckJson": "/decks/019dd923-5e88-73ef-bd5d-853951586965.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "screenshots of a UI for a smartphone guide to sushi",
          "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-25 12:09:06+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a110-47fb39f47f4f",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.84,
            "w": 0.43,
            "x": 0.53,
            "y": 0.08
          },
          "kind": "image",
          "text": "Grid of four AI-generated smartphone UI designs for a sushi app.",
          "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": "Screenshot",
              "slug": "screenshot",
              "status": "active",
              "canonId": "019de52c-fd87-7509-8391-3d79fb339379",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "screenshot",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:44.072+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "f4b31de4-2275-4e77-9386-6ffe4c1d6510",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.4,
            "x": 0.07,
            "y": 0.34
          },
          "kind": "paragraph",
          "text": "“screenshots of a UI for a smartphone guide to sushi”",
          "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 17:35:44.072+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "c1c1517d-45de-40c0-a798-ce6789709f5f",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.2,
            "x": 0.04,
            "y": 0.91
          },
          "kind": "source-note",
          "text": "Source: Benedict Evans / Midjourney",
          "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 17:35:44.072+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "054e5af2-a50b-4506-8044-791c861f6511",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.35,
            "x": 0.07,
            "y": 0.25
          },
          "kind": "title",
          "text": "Generative UI design?",
          "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 17:35:44.072+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "b65262ba-4666-4a35-a760-9b9b5864eb38",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "Picture Superiority Effect",
            "slug": "picture-superiority-effect",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-c201-7014-bb58-3e85e3e11dfd",
            "version": 1,
            "bodyDocId": null,
            "description": "Pictures remembered 6x better than words - prioritize visuals over text",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "019dd95a-1b83-7130-933e-de15fc6861e1",
          "evidence": "Mock UI screenshots illustrate 'generative UI design'",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 78,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 87,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 100,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 70,
          "name": "The Action (Now What)",
          "beatId": "019dd95a-07a7-7579-bd65-14aeb33da1bd",
          "matchId": "019dd95a-0543-7581-99b3-5568450d33ea",
          "beatType": {
            "name": "The Action (Now What)",
            "slug": "triple-take-the-action-now-what",
            "status": "active",
            "canonId": "019dd9b8-0a5e-735a-bf53-3a1ba629b7aa",
            "version": 1,
            "description": null
          },
          "evidence": "'Dreams for the Future' p70; metaverse, generative AI bets, JTBD questions",
          "position": 3,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Resolution",
            "slug": "resolution",
            "status": "active",
            "canonId": "019dd9b8-045d-703b-8dd7-e92aba3ba91b",
            "version": 1,
            "description": "How the deck ends. Required in 19/20 arcs. The exception (Sparkline) ends with new bliss which is functionally a resolution."
          },
          "alignedBlockIds": null,
          "matchConfidence": 82
        },
        {
          "to": 100,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 70,
          "name": "Resolution",
          "beatId": "019dd95a-07a7-7579-bd65-243a2d74e603",
          "matchId": "019dd95a-0543-7581-99b3-5836e9006609",
          "beatType": {
            "name": "Resolution",
            "slug": "mountain-resolution",
            "status": "active",
            "canonId": "019dd9b8-1ac2-777f-9a8f-ac543fee86f7",
            "version": 1,
            "description": null
          },
          "evidence": "future bets, generative AI, optimism close p100",
          "position": 4,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Resolution",
            "slug": "resolution",
            "status": "active",
            "canonId": "019dd9b8-045d-703b-8dd7-e92aba3ba91b",
            "version": 1,
            "description": "How the deck ends. Required in 19/20 arcs. The exception (Sparkline) ends with new bliss which is functionally a resolution."
          },
          "alignedBlockIds": null,
          "matchConfidence": 60
        }
      ],
      "loops": [
        {
          "to": 91,
          "from": 78,
          "loop": {
            "name": "09_precedent",
            "slug": "09-precedent",
            "status": "active",
            "bestFor": "Risk mitigation, strategy validation, building confidence in new approaches",
            "canonId": "019dd956-695f-7615-8f82-39d919918314",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Precedent Case -> What Happened -> The Parallel -> Applied Learning",
            "description": "Use historical or external examples to validate your approach",
            "familyLabel": null
          },
          "matchId": "019dd95a-08f8-7619-ac2e-9463f9e3fcb7",
          "evidence": "p79 ImageNet 2013 'so what'; p81 'same moment with generative networks'; same callout repeated",
          "position": 10,
          "objective": "Argue generative AI is at the same 'cool demo / so what' moment as ImageNet 2013",
          "confidence": 85,
          "extraction": {
            "at": "2026-04-29 13:07:29.779839+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 88,
      "type": "evidence",
      "title": "The slide uses a visual puzzle to prompt discussion on the future of on-demand product creation.",
      "function": "illustrate_case",
      "rawType": "case_study",
      "block": null,
      "metadata": {
        "slideType": "case_study",
        "slideTypeCanon": {
          "name": "Case study",
          "slug": "case_study",
          "status": "active",
          "canonId": "019de52d-0b95-7344-8090-926f3b8e92c8",
          "version": 1,
          "description": null
        },
        "function": "illustrate_case",
        "functionCanon": {
          "name": "Illustrate case",
          "slug": "illustrate_case",
          "status": "active",
          "canonId": "019de52d-13b4-772c-bb73-1873612a7463",
          "version": 1,
          "description": null
        },
        "density": "balanced",
        "densityScore": 49,
        "componentCount": 7,
        "textChars": 425,
        "nDataPoints": 0,
        "notes": "The slide uses a visual puzzle to prompt discussion on the future of on-demand product creation.",
        "elementsJson": [
          "headline_text",
          "paragraph",
          "photo"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:35:44.871+00",
          "seconds": 2.993,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5e88-73ef-bd5d-853951586965/88",
        "deck": "/decks/019dd923-5e88-73ef-bd5d-853951586965",
        "deckAnchor": "/decks/019dd923-5e88-73ef-bd5d-853951586965#slide-88",
        "deckJson": "/decks/019dd923-5e88-73ef-bd5d-853951586965.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "So when can Shein create the products in response to searches in the app?",
          "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-25 12:09:06+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a10f-ed411096f67d",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.82,
            "w": 0.41,
            "x": 0.53,
            "y": 0.08
          },
          "kind": "image",
          "text": "Grid of four images of women wearing red dresses",
          "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 17:35:44.871+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "2cb5abaa-83c6-43e4-a18e-8b4fdc2357c8",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.08,
            "w": 0.45,
            "x": 0.07,
            "y": 0.33
          },
          "kind": "paragraph",
          "text": "“print puff sleeve a-line dress, red and white small print pattern, female model”",
          "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 17:35:44.871+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "2f43c7a1-8695-46a5-9670-4024172dfffa",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.08,
            "w": 0.45,
            "x": 0.07,
            "y": 0.44
          },
          "kind": "paragraph",
          "text": "Three of these images are created by Stable Diffusion - one is a Shein product shot",
          "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 17:35:44.871+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "406ba97e-cb04-423f-9047-317557383762",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.08,
            "w": 0.45,
            "x": 0.07,
            "y": 0.55
          },
          "kind": "paragraph",
          "text": "So when can Shein create the products in response to searches in the app?",
          "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 17:35:44.871+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "8ed0413e-c887-4ca5-8fe9-db1084c04b50",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.25,
            "x": 0.07,
            "y": 0.91
          },
          "kind": "source-note",
          "text": "Source: Shein, Benedict Evans / Stable Diffusion",
          "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 17:35:44.871+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "9b1ecf94-f92e-4561-997f-ff72c55c1cd7",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.06,
            "w": 0.35,
            "x": 0.07,
            "y": 0.24
          },
          "kind": "title",
          "text": "Generative product?",
          "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 17:35:44.871+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "066f3b11-fe16-49a7-a8b2-533317cfd2be",
          "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": "019dd95a-1b83-7130-933e-e57e09314ce2",
          "evidence": "Asks 'when can Shein create products in response to searches'",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 70,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 88,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Callback",
            "slug": "callback",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-a3a9-708f-b4a3-d3da2181c576",
            "version": 1,
            "bodyDocId": null,
            "description": "Referencing earlier content for payoff and cohesion",
            "familyLabel": null,
            "categoryName": "Loop",
            "categorySlug": "loop"
          },
          "agent": "Storyteller",
          "layer": "loop",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019dd95a-1b83-7130-933e-e035e11452c2",
          "evidence": "Re-invokes Shein from p43-44 in new generative-product context",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 80,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 88,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 100,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 70,
          "name": "The Action (Now What)",
          "beatId": "019dd95a-07a7-7579-bd65-14aeb33da1bd",
          "matchId": "019dd95a-0543-7581-99b3-5568450d33ea",
          "beatType": {
            "name": "The Action (Now What)",
            "slug": "triple-take-the-action-now-what",
            "status": "active",
            "canonId": "019dd9b8-0a5e-735a-bf53-3a1ba629b7aa",
            "version": 1,
            "description": null
          },
          "evidence": "'Dreams for the Future' p70; metaverse, generative AI bets, JTBD questions",
          "position": 3,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Resolution",
            "slug": "resolution",
            "status": "active",
            "canonId": "019dd9b8-045d-703b-8dd7-e92aba3ba91b",
            "version": 1,
            "description": "How the deck ends. Required in 19/20 arcs. The exception (Sparkline) ends with new bliss which is functionally a resolution."
          },
          "alignedBlockIds": null,
          "matchConfidence": 82
        },
        {
          "to": 100,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 70,
          "name": "Resolution",
          "beatId": "019dd95a-07a7-7579-bd65-243a2d74e603",
          "matchId": "019dd95a-0543-7581-99b3-5836e9006609",
          "beatType": {
            "name": "Resolution",
            "slug": "mountain-resolution",
            "status": "active",
            "canonId": "019dd9b8-1ac2-777f-9a8f-ac543fee86f7",
            "version": 1,
            "description": null
          },
          "evidence": "future bets, generative AI, optimism close p100",
          "position": 4,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Resolution",
            "slug": "resolution",
            "status": "active",
            "canonId": "019dd9b8-045d-703b-8dd7-e92aba3ba91b",
            "version": 1,
            "description": "How the deck ends. Required in 19/20 arcs. The exception (Sparkline) ends with new bliss which is functionally a resolution."
          },
          "alignedBlockIds": null,
          "matchConfidence": 60
        }
      ],
      "loops": [
        {
          "to": 91,
          "from": 78,
          "loop": {
            "name": "09_precedent",
            "slug": "09-precedent",
            "status": "active",
            "bestFor": "Risk mitigation, strategy validation, building confidence in new approaches",
            "canonId": "019dd956-695f-7615-8f82-39d919918314",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Precedent Case -> What Happened -> The Parallel -> Applied Learning",
            "description": "Use historical or external examples to validate your approach",
            "familyLabel": null
          },
          "matchId": "019dd95a-08f8-7619-ac2e-9463f9e3fcb7",
          "evidence": "p79 ImageNet 2013 'so what'; p81 'same moment with generative networks'; same callout repeated",
          "position": 10,
          "objective": "Argue generative AI is at the same 'cool demo / so what' moment as ImageNet 2013",
          "confidence": 85,
          "extraction": {
            "at": "2026-04-29 13:07:29.779839+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 89,
      "type": "setup",
      "title": "The slide uses a visual example to demonstrate the creative potential of generative AI models like Midjourney.",
      "function": "other",
      "rawType": "filler",
      "block": null,
      "metadata": {
        "slideType": "filler",
        "slideTypeCanon": {
          "name": "Filler",
          "slug": "filler",
          "status": "active",
          "canonId": "019de52d-0829-76f9-9abe-4c11ee7bf4ab",
          "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": 25,
        "componentCount": 5,
        "textChars": 258,
        "nDataPoints": 0,
        "notes": "The slide uses a visual example to demonstrate the creative potential of generative AI models like Midjourney.",
        "elementsJson": [
          "headline_text",
          "paragraph",
          "photo"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:35:44.746+00",
          "seconds": 2.611,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5e88-73ef-bd5d-853951586965/89",
        "deck": "/decks/019dd923-5e88-73ef-bd5d-853951586965",
        "deckAnchor": "/decks/019dd923-5e88-73ef-bd5d-853951586965#slide-89",
        "deckJson": "/decks/019dd923-5e88-73ef-bd5d-853951586965.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "burt reynolds as han solo at the controls of the millennium falcon",
          "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-25 12:09:07+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a110-c068fd6d2c8e",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.84,
            "w": 0.41,
            "x": 0.53,
            "y": 0.08
          },
          "kind": "image",
          "text": "Four AI-generated images of Burt Reynolds in a Star Wars cockpit setting.",
          "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": "Illustration",
              "slug": "illustration",
              "status": "active",
              "canonId": "019de52c-fe76-7772-a5ac-c0b7294d7615",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "illustration",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:44.746+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "1dcd0412-9499-4151-bb66-8b01aaa93b2e",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.08,
            "w": 0.4,
            "x": 0.07,
            "y": 0.34
          },
          "kind": "paragraph",
          "text": "“burt reynolds as han solo at the controls of the millennium falcon”",
          "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 17:35:44.746+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "b3a125f2-8788-46ba-8ced-f6319d58349f",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.2,
            "x": 0.07,
            "y": 0.91
          },
          "kind": "source-note",
          "text": "Source: Benedict Evans / Midjourney",
          "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 17:35:44.746+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "625d0cce-f648-4c88-a30f-47d24b91c2dc",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.3,
            "x": 0.07,
            "y": 0.25
          },
          "kind": "title",
          "text": "Re-cast a movie?",
          "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 17:35:44.746+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "4aca352e-a3d8-46d7-9049-5e6a7aa2c3f8",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "Picture Superiority Effect",
            "slug": "picture-superiority-effect",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-c201-7014-bb58-3e85e3e11dfd",
            "version": 1,
            "bodyDocId": null,
            "description": "Pictures remembered 6x better than words - prioritize visuals over text",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "019dd95a-1b83-7130-933e-e9ae146cf737",
          "evidence": "Generated 'Burt Reynolds as Han Solo' image as visual proof",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 80,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 89,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 100,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 70,
          "name": "The Action (Now What)",
          "beatId": "019dd95a-07a7-7579-bd65-14aeb33da1bd",
          "matchId": "019dd95a-0543-7581-99b3-5568450d33ea",
          "beatType": {
            "name": "The Action (Now What)",
            "slug": "triple-take-the-action-now-what",
            "status": "active",
            "canonId": "019dd9b8-0a5e-735a-bf53-3a1ba629b7aa",
            "version": 1,
            "description": null
          },
          "evidence": "'Dreams for the Future' p70; metaverse, generative AI bets, JTBD questions",
          "position": 3,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Resolution",
            "slug": "resolution",
            "status": "active",
            "canonId": "019dd9b8-045d-703b-8dd7-e92aba3ba91b",
            "version": 1,
            "description": "How the deck ends. Required in 19/20 arcs. The exception (Sparkline) ends with new bliss which is functionally a resolution."
          },
          "alignedBlockIds": null,
          "matchConfidence": 82
        },
        {
          "to": 100,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 70,
          "name": "Resolution",
          "beatId": "019dd95a-07a7-7579-bd65-243a2d74e603",
          "matchId": "019dd95a-0543-7581-99b3-5836e9006609",
          "beatType": {
            "name": "Resolution",
            "slug": "mountain-resolution",
            "status": "active",
            "canonId": "019dd9b8-1ac2-777f-9a8f-ac543fee86f7",
            "version": 1,
            "description": null
          },
          "evidence": "future bets, generative AI, optimism close p100",
          "position": 4,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Resolution",
            "slug": "resolution",
            "status": "active",
            "canonId": "019dd9b8-045d-703b-8dd7-e92aba3ba91b",
            "version": 1,
            "description": "How the deck ends. Required in 19/20 arcs. The exception (Sparkline) ends with new bliss which is functionally a resolution."
          },
          "alignedBlockIds": null,
          "matchConfidence": 60
        }
      ],
      "loops": [
        {
          "to": 91,
          "from": 78,
          "loop": {
            "name": "09_precedent",
            "slug": "09-precedent",
            "status": "active",
            "bestFor": "Risk mitigation, strategy validation, building confidence in new approaches",
            "canonId": "019dd956-695f-7615-8f82-39d919918314",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Precedent Case -> What Happened -> The Parallel -> Applied Learning",
            "description": "Use historical or external examples to validate your approach",
            "familyLabel": null
          },
          "matchId": "019dd95a-08f8-7619-ac2e-9463f9e3fcb7",
          "evidence": "p79 ImageNet 2013 'so what'; p81 'same moment with generative networks'; same callout repeated",
          "position": 10,
          "objective": "Argue generative AI is at the same 'cool demo / so what' moment as ImageNet 2013",
          "confidence": 85,
          "extraction": {
            "at": "2026-04-29 13:07:29.779839+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 90,
      "type": "analysis",
      "title": "The chart illustrates the increasing demand for computing capacity driven by ML and Generative ML.",
      "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": "dense",
        "densityScore": 52,
        "componentCount": 7,
        "textChars": 309,
        "nDataPoints": 21,
        "notes": "The chart illustrates the increasing demand for computing capacity driven by ML and Generative ML.",
        "elementsJson": [
          "headline_text",
          "subtitle_text",
          "bar_chart_stacked"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:35:44.976+00",
          "seconds": 2.827,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5e88-73ef-bd5d-853951586965/90",
        "deck": "/decks/019dd923-5e88-73ef-bd5d-853951586965",
        "deckAnchor": "/decks/019dd923-5e88-73ef-bd5d-853951586965#slide-90",
        "deckJson": "/decks/019dd923-5e88-73ef-bd5d-853951586965.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "ML and now Generative ML unlock step changes in demand for raw computing capacity",
          "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-25 12:09:07+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a110-ea349928ac13",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.55,
            "w": 0.72,
            "x": 0.206,
            "y": 0.26
          },
          "kind": "chart",
          "text": "'Hyper-scaler' cloud revenue ($bn)",
          "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": "Stacked bar chart",
              "slug": "bar-stacked",
              "status": "active",
              "canonId": "019de52c-feec-74bf-9028-15b74f84f0a7",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bar-stacked",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:44.976+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "629a79bf-e2ac-4945-aa18-afe499cdb338",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.12,
            "w": 0.06,
            "x": 0.028,
            "y": 0.348
          },
          "kind": "legend",
          "text": "GCP\nAzure (e)\nAWS",
          "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 17:35:44.976+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "3403b3b1-3893-4643-b710-d65ad19b8020",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Cloud revenue: $150bn+",
          "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-25 12:09:07+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a110-eff72327da7a",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.2,
            "x": 0.206,
            "y": 0.905
          },
          "kind": "source-note",
          "text": "Source: Companies, Goldman Sachs",
          "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 17:35:44.976+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "8c078ec9-156e-41c7-b567-b62747d8ab79",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.025,
            "w": 0.605,
            "x": 0.206,
            "y": 0.125
          },
          "kind": "subtitle",
          "text": "ML and now Generative ML unlock step changes in demand for raw computing capacity",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Subtitle",
              "slug": "subtitle",
              "status": "active",
              "canonId": "82d821ee-2793-42e7-8f16-c6131385a3ce",
              "version": 1,
              "description": "Header-zone supporting text near the title (= ex body.description with bbox)."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:44.976+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "bdd5f5ac-695d-49c0-92ce-d1b8376a2140",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.045,
            "w": 0.588,
            "x": 0.206,
            "y": 0.045
          },
          "kind": "title",
          "text": "(And how much Moore’s Law will this need?)",
          "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 17:35:44.976+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "e3a0dd6a-0375-43ab-a280-0a31c3cd020b",
          "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": "019dd95a-1b83-7130-933e-ef6c011968c8",
          "evidence": "Question title '(And how much Moore's Law will this need?)'",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 70,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 90,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "BCG Growth-Share Matrix",
            "slug": "bcg-growth-share-matrix",
            "status": "active",
            "bestFor": null,
            "canonId": "019de52d-1e65-748e-be86-47bed7c1258d",
            "version": 1,
            "bodyDocId": null,
            "description": null,
            "familyLabel": null,
            "categoryName": null,
            "categorySlug": null
          },
          "agent": null,
          "layer": "slide",
          "agents": null,
          "matchId": "9c604ffd-5ab8-48b5-bf8a-d24d29291f2e",
          "evidence": "ML and now Generative ML unlock step changes in demand for raw computing capacity",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 21:59:18.106823+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 90,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Concrete Language",
            "slug": "concrete-language",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-bcd4-7398-9723-6aa72346170b",
            "version": 1,
            "bodyDocId": null,
            "description": "Using specific sensory details instead of abstract terms",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Storyteller",
          "layer": "slide",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019dd95a-1b83-7130-933e-f26f9e1e9f29",
          "evidence": "$150bn+ compute anchor",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 70,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 90,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 100,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 70,
          "name": "The Action (Now What)",
          "beatId": "019dd95a-07a7-7579-bd65-14aeb33da1bd",
          "matchId": "019dd95a-0543-7581-99b3-5568450d33ea",
          "beatType": {
            "name": "The Action (Now What)",
            "slug": "triple-take-the-action-now-what",
            "status": "active",
            "canonId": "019dd9b8-0a5e-735a-bf53-3a1ba629b7aa",
            "version": 1,
            "description": null
          },
          "evidence": "'Dreams for the Future' p70; metaverse, generative AI bets, JTBD questions",
          "position": 3,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Resolution",
            "slug": "resolution",
            "status": "active",
            "canonId": "019dd9b8-045d-703b-8dd7-e92aba3ba91b",
            "version": 1,
            "description": "How the deck ends. Required in 19/20 arcs. The exception (Sparkline) ends with new bliss which is functionally a resolution."
          },
          "alignedBlockIds": null,
          "matchConfidence": 82
        },
        {
          "to": 100,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 70,
          "name": "Resolution",
          "beatId": "019dd95a-07a7-7579-bd65-243a2d74e603",
          "matchId": "019dd95a-0543-7581-99b3-5836e9006609",
          "beatType": {
            "name": "Resolution",
            "slug": "mountain-resolution",
            "status": "active",
            "canonId": "019dd9b8-1ac2-777f-9a8f-ac543fee86f7",
            "version": 1,
            "description": null
          },
          "evidence": "future bets, generative AI, optimism close p100",
          "position": 4,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Resolution",
            "slug": "resolution",
            "status": "active",
            "canonId": "019dd9b8-045d-703b-8dd7-e92aba3ba91b",
            "version": 1,
            "description": "How the deck ends. Required in 19/20 arcs. The exception (Sparkline) ends with new bliss which is functionally a resolution."
          },
          "alignedBlockIds": null,
          "matchConfidence": 60
        }
      ],
      "loops": [
        {
          "to": 91,
          "from": 78,
          "loop": {
            "name": "09_precedent",
            "slug": "09-precedent",
            "status": "active",
            "bestFor": "Risk mitigation, strategy validation, building confidence in new approaches",
            "canonId": "019dd956-695f-7615-8f82-39d919918314",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Precedent Case -> What Happened -> The Parallel -> Applied Learning",
            "description": "Use historical or external examples to validate your approach",
            "familyLabel": null
          },
          "matchId": "019dd95a-08f8-7619-ac2e-9463f9e3fcb7",
          "evidence": "p79 ImageNet 2013 'so what'; p81 'same moment with generative networks'; same callout repeated",
          "position": 10,
          "objective": "Argue generative AI is at the same 'cool demo / so what' moment as ImageNet 2013",
          "confidence": 85,
          "extraction": {
            "at": "2026-04-29 13:07:29.779839+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 91,
      "type": "setup",
      "title": "The slide uses a simple linear process diagram to contrast three distinct viewpoints.",
      "function": "summarize",
      "rawType": "key_messages",
      "block": null,
      "metadata": {
        "slideType": "key_messages",
        "slideTypeCanon": {
          "name": "Key messages",
          "slug": "key_messages",
          "status": "active",
          "canonId": "019de52d-0712-703f-89f5-bda6688faf3f",
          "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": 20,
        "componentCount": 4,
        "textChars": 284,
        "nDataPoints": 0,
        "notes": "The slide uses a simple linear process diagram to contrast three distinct viewpoints.",
        "elementsJson": [
          "headline_text",
          "process_diagram"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:35:44.89+00",
          "seconds": 2.728,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5e88-73ef-bd5d-853951586965/91",
        "deck": "/decks/019dd923-5e88-73ef-bd5d-853951586965",
        "deckAnchor": "/decks/019dd923-5e88-73ef-bd5d-853951586965#slide-91",
        "deckJson": "/decks/019dd923-5e88-73ef-bd5d-853951586965.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "Silicon Valley is still trying to work out what to think about this",
          "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-25 12:09:06+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a110-33855f294d63",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.45,
            "w": 0.75,
            "x": 0.208,
            "y": 0.35
          },
          "kind": "diagram",
          "text": "Three circles connected by arrows representing three views: second wave of ML, changes software creation, and path to AGI.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Diagram",
              "slug": "diagram",
              "status": "active",
              "canonId": "019de52c-f9f0-734a-81de-15382ff28c65",
              "version": 1,
              "description": "Schematic or relational diagram."
            },
            "tool": null,
            "subkind": {
              "name": "Process flow",
              "slug": "process",
              "status": "active",
              "canonId": "019de52d-039c-718f-ad3a-efe9c4b3c838",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "process",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:44.89+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "9ba23a65-72c5-48d9-aeff-28e378ae62f2",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.023,
            "w": 0.636,
            "x": 0.204,
            "y": 0.133
          },
          "kind": "subtitle",
          "text": "Silicon Valley is still trying to work out what to think about this",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Subtitle",
              "slug": "subtitle",
              "status": "active",
              "canonId": "82d821ee-2793-42e7-8f16-c6131385a3ce",
              "version": 1,
              "description": "Header-zone supporting text near the title (= ex body.description with bbox)."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:44.89+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "6110d549-1200-442b-a21f-7009a7638fa6",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.045,
            "w": 0.417,
            "x": 0.204,
            "y": 0.058
          },
          "kind": "title",
          "text": "Three views of generative AI",
          "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 17:35:44.89+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "dd08e722-7f3e-4d2a-a543-74cce2884251",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "The Rule of Three",
            "slug": "the-rule-of-three",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-8962-75cf-b4f8-9394501a6f33",
            "version": 1,
            "bodyDocId": null,
            "description": "Ideas presented in threes are more memorable and satisfying",
            "familyLabel": null,
            "categoryName": "Block",
            "categorySlug": "block"
          },
          "agent": "Storyteller",
          "layer": "block",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019dd95a-1b83-7130-933e-f85ad827995d",
          "evidence": "Triadic framing of viewpoints",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 90,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 91,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Three Pillars",
            "slug": "three-pillars",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-81ef-7455-a365-b234d95a6bbb",
            "version": 1,
            "bodyDocId": null,
            "description": "Three major supporting arguments that are MECE and address key concerns",
            "familyLabel": null,
            "categoryName": "Block",
            "categorySlug": "block"
          },
          "agent": "Architect",
          "layer": "block",
          "agents": [
            "Architect"
          ],
          "matchId": "019dd95a-1b83-7130-933e-f79a6df5d055",
          "evidence": "Title 'Three views of generative AI'; three labelled circles",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": null,
          "confidence": 92,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 91,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "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": "019dd95a-1b83-7130-933e-fde3589fc93b",
          "evidence": "Red AGI circle marks 'minority view' separately from grey two",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 85,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 91,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Jobs To Be Done (JTBD)",
            "slug": "jobs-to-be-done-jtbd",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-8191-7100-b7d3-80a94de6e28f",
            "version": 1,
            "bodyDocId": null,
            "description": "What 'job' is the audience hiring your presentation to do? Focus on outcomes, not features",
            "familyLabel": null,
            "categoryName": "Block",
            "categorySlug": "block"
          },
          "agent": "Storyteller",
          "layer": "slide",
          "agents": [
            "Storyteller"
          ],
          "matchId": "ad9e2189-3f35-4468-93f3-e88a84073c28",
          "evidence": "diagram/process: Three circles connected by arrows representing three views: second wave of ML, changes software creation, and path to AGI. framework: Jobs to Be Done",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.9,
          "extraction": {
            "at": "2026-07-16 21:59:21.274982+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 91,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Von Restorff Effect",
            "slug": "von-restorff-effect",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-beab-73d8-9f62-30d0332e926e",
            "version": 1,
            "bodyDocId": null,
            "description": "Items that stand out are noticed and remembered - make key points visually distinct",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "019dd95a-1b83-7130-933f-03478c1d7ddb",
          "evidence": "Single red circle stands out against two grey",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 80,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 91,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 100,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 70,
          "name": "The Action (Now What)",
          "beatId": "019dd95a-07a7-7579-bd65-14aeb33da1bd",
          "matchId": "019dd95a-0543-7581-99b3-5568450d33ea",
          "beatType": {
            "name": "The Action (Now What)",
            "slug": "triple-take-the-action-now-what",
            "status": "active",
            "canonId": "019dd9b8-0a5e-735a-bf53-3a1ba629b7aa",
            "version": 1,
            "description": null
          },
          "evidence": "'Dreams for the Future' p70; metaverse, generative AI bets, JTBD questions",
          "position": 3,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Resolution",
            "slug": "resolution",
            "status": "active",
            "canonId": "019dd9b8-045d-703b-8dd7-e92aba3ba91b",
            "version": 1,
            "description": "How the deck ends. Required in 19/20 arcs. The exception (Sparkline) ends with new bliss which is functionally a resolution."
          },
          "alignedBlockIds": null,
          "matchConfidence": 82
        },
        {
          "to": 100,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 70,
          "name": "Resolution",
          "beatId": "019dd95a-07a7-7579-bd65-243a2d74e603",
          "matchId": "019dd95a-0543-7581-99b3-5836e9006609",
          "beatType": {
            "name": "Resolution",
            "slug": "mountain-resolution",
            "status": "active",
            "canonId": "019dd9b8-1ac2-777f-9a8f-ac543fee86f7",
            "version": 1,
            "description": null
          },
          "evidence": "future bets, generative AI, optimism close p100",
          "position": 4,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Resolution",
            "slug": "resolution",
            "status": "active",
            "canonId": "019dd9b8-045d-703b-8dd7-e92aba3ba91b",
            "version": 1,
            "description": "How the deck ends. Required in 19/20 arcs. The exception (Sparkline) ends with new bliss which is functionally a resolution."
          },
          "alignedBlockIds": null,
          "matchConfidence": 60
        }
      ],
      "loops": [
        {
          "to": 91,
          "from": 78,
          "loop": {
            "name": "09_precedent",
            "slug": "09-precedent",
            "status": "active",
            "bestFor": "Risk mitigation, strategy validation, building confidence in new approaches",
            "canonId": "019dd956-695f-7615-8f82-39d919918314",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Precedent Case -> What Happened -> The Parallel -> Applied Learning",
            "description": "Use historical or external examples to validate your approach",
            "familyLabel": null
          },
          "matchId": "019dd95a-08f8-7619-ac2e-9463f9e3fcb7",
          "evidence": "p79 ImageNet 2013 'so what'; p81 'same moment with generative networks'; same callout repeated",
          "position": 10,
          "objective": "Argue generative AI is at the same 'cool demo / so what' moment as ImageNet 2013",
          "confidence": 85,
          "extraction": {
            "at": "2026-04-29 13:07:29.779839+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 92,
      "type": "setup",
      "function": "transition",
      "rawType": "section_divider",
      "block": null,
      "metadata": {
        "slideType": "section_divider",
        "slideTypeCanon": {
          "name": "Section divider",
          "slug": "section_divider",
          "status": "active",
          "canonId": "019de52d-066a-7402-9554-6ae504999041",
          "version": 1,
          "description": null
        },
        "function": "transition",
        "functionCanon": {
          "name": "Transition",
          "slug": "transition",
          "status": "active",
          "canonId": "019de52d-1365-7149-92aa-66df859e75fd",
          "version": 1,
          "description": null
        },
        "density": "sparse",
        "densityScore": 0,
        "componentCount": 1,
        "textChars": 10,
        "nDataPoints": 0,
        "notes": null,
        "elementsJson": [
          "headline_text"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:35:44.285+00",
          "seconds": 1.559,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5e88-73ef-bd5d-853951586965/92",
        "deck": "/decks/019dd923-5e88-73ef-bd5d-853951586965",
        "deckAnchor": "/decks/019dd923-5e88-73ef-bd5d-853951586965#slide-92",
        "deckJson": "/decks/019dd923-5e88-73ef-bd5d-853951586965.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.06,
            "w": 0.277,
            "x": 0.203,
            "y": 0.265
          },
          "kind": "title",
          "text": "Conclusion",
          "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 17:35:44.285+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "e6663c5f-432f-485e-8fff-cb48ff838ffc",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 100,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 70,
          "name": "The Action (Now What)",
          "beatId": "019dd95a-07a7-7579-bd65-14aeb33da1bd",
          "matchId": "019dd95a-0543-7581-99b3-5568450d33ea",
          "beatType": {
            "name": "The Action (Now What)",
            "slug": "triple-take-the-action-now-what",
            "status": "active",
            "canonId": "019dd9b8-0a5e-735a-bf53-3a1ba629b7aa",
            "version": 1,
            "description": null
          },
          "evidence": "'Dreams for the Future' p70; metaverse, generative AI bets, JTBD questions",
          "position": 3,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Resolution",
            "slug": "resolution",
            "status": "active",
            "canonId": "019dd9b8-045d-703b-8dd7-e92aba3ba91b",
            "version": 1,
            "description": "How the deck ends. Required in 19/20 arcs. The exception (Sparkline) ends with new bliss which is functionally a resolution."
          },
          "alignedBlockIds": null,
          "matchConfidence": 82
        },
        {
          "to": 100,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 70,
          "name": "Resolution",
          "beatId": "019dd95a-07a7-7579-bd65-243a2d74e603",
          "matchId": "019dd95a-0543-7581-99b3-5836e9006609",
          "beatType": {
            "name": "Resolution",
            "slug": "mountain-resolution",
            "status": "active",
            "canonId": "019dd9b8-1ac2-777f-9a8f-ac543fee86f7",
            "version": 1,
            "description": null
          },
          "evidence": "future bets, generative AI, optimism close p100",
          "position": 4,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Resolution",
            "slug": "resolution",
            "status": "active",
            "canonId": "019dd9b8-045d-703b-8dd7-e92aba3ba91b",
            "version": 1,
            "description": "How the deck ends. Required in 19/20 arcs. The exception (Sparkline) ends with new bliss which is functionally a resolution."
          },
          "alignedBlockIds": null,
          "matchConfidence": 60
        }
      ],
      "loops": [],
      "locked": true
    },
    {
      "page": 93,
      "type": "appendix",
      "title": "The slide uses a bubble chart to represent a non-exhaustive list of tech trends or issues.",
      "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": "sparse",
        "densityScore": 15,
        "componentCount": 3,
        "textChars": 272,
        "nDataPoints": 0,
        "notes": "The slide uses a bubble chart to represent a non-exhaustive list of tech trends or issues.",
        "elementsJson": [
          "bubble_chart"
        ],
        "confidence": 0.9,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:35:45.685+00",
          "seconds": 2.899,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5e88-73ef-bd5d-853951586965/93",
        "deck": "/decks/019dd923-5e88-73ef-bd5d-853951586965",
        "deckAnchor": "/decks/019dd923-5e88-73ef-bd5d-853951586965#slide-93",
        "deckJson": "/decks/019dd923-5e88-73ef-bd5d-853951586965.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.65,
            "w": 0.75,
            "x": 0.203,
            "y": 0.235
          },
          "kind": "chart",
          "text": "Bubble chart showing topics like China, Bio, Regulation, Payments, On-demand, The Cookie Apocalypse, Anti-trust, The end of Moore's Law, Supply chain decoupling, Privacy, Twitter, AVs, Cloud & SaaS",
          "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": "Bubble chart",
              "slug": "bubble",
              "status": "active",
              "canonId": "019de52d-00a4-756f-8978-8d5e48905dbc",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bubble",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:45.685+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "e5bef1e9-9390-45f1-8de5-85d1bb6ab926",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.025,
            "w": 0.385,
            "x": 0.203,
            "y": 0.125
          },
          "kind": "subtitle",
          "text": "How many different things are happening in tech?",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Subtitle",
              "slug": "subtitle",
              "status": "active",
              "canonId": "82d821ee-2793-42e7-8f16-c6131385a3ce",
              "version": 1,
              "description": "Header-zone supporting text near the title (= ex body.description with bbox)."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:45.685+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "dd967ded-db5f-4427-84f7-0ab3cddd6e7d",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.045,
            "w": 0.405,
            "x": 0.203,
            "y": 0.055
          },
          "kind": "title",
          "text": "The things I didn't mention",
          "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 17:35:45.685+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "65fbdc94-aab5-45ba-967b-68a9e5971ca3",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 100,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 70,
          "name": "The Action (Now What)",
          "beatId": "019dd95a-07a7-7579-bd65-14aeb33da1bd",
          "matchId": "019dd95a-0543-7581-99b3-5568450d33ea",
          "beatType": {
            "name": "The Action (Now What)",
            "slug": "triple-take-the-action-now-what",
            "status": "active",
            "canonId": "019dd9b8-0a5e-735a-bf53-3a1ba629b7aa",
            "version": 1,
            "description": null
          },
          "evidence": "'Dreams for the Future' p70; metaverse, generative AI bets, JTBD questions",
          "position": 3,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Resolution",
            "slug": "resolution",
            "status": "active",
            "canonId": "019dd9b8-045d-703b-8dd7-e92aba3ba91b",
            "version": 1,
            "description": "How the deck ends. Required in 19/20 arcs. The exception (Sparkline) ends with new bliss which is functionally a resolution."
          },
          "alignedBlockIds": null,
          "matchConfidence": 82
        },
        {
          "to": 100,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 70,
          "name": "Resolution",
          "beatId": "019dd95a-07a7-7579-bd65-243a2d74e603",
          "matchId": "019dd95a-0543-7581-99b3-5836e9006609",
          "beatType": {
            "name": "Resolution",
            "slug": "mountain-resolution",
            "status": "active",
            "canonId": "019dd9b8-1ac2-777f-9a8f-ac543fee86f7",
            "version": 1,
            "description": null
          },
          "evidence": "future bets, generative AI, optimism close p100",
          "position": 4,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Resolution",
            "slug": "resolution",
            "status": "active",
            "canonId": "019dd9b8-045d-703b-8dd7-e92aba3ba91b",
            "version": 1,
            "description": "How the deck ends. Required in 19/20 arcs. The exception (Sparkline) ends with new bliss which is functionally a resolution."
          },
          "alignedBlockIds": null,
          "matchConfidence": 60
        }
      ],
      "loops": [],
      "locked": true
    },
    {
      "page": 94,
      "type": "analysis",
      "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": 48,
        "componentCount": 7,
        "textChars": 272,
        "nDataPoints": 8,
        "notes": null,
        "elementsJson": [
          "headline_text",
          "subtitle_text",
          "bar_chart_100pct"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:35:47.814+00",
          "seconds": 4.944,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5e88-73ef-bd5d-853951586965/94",
        "deck": "/decks/019dd923-5e88-73ef-bd5d-853951586965",
        "deckAnchor": "/decks/019dd923-5e88-73ef-bd5d-853951586965#slide-94",
        "deckJson": "/decks/019dd923-5e88-73ef-bd5d-853951586965.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "India and China are now almost half of global mobile traffic",
          "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-25 12:09:06+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a110-7670327a6247",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.55,
            "w": 0.59,
            "x": 0.205,
            "y": 0.27
          },
          "kind": "chart",
          "text": "Mobile data traffic",
          "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": "Stacked bar chart (100%)",
              "slug": "bar-stacked-100pct",
              "status": "active",
              "canonId": "019de52c-ff14-71b8-8d88-860f8d7da84b",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bar-stacked-100pct",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:47.814+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "2b90eafe-5856-4962-8c06-af281a69bfc4",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.15,
            "x": 0.03,
            "y": 0.345
          },
          "kind": "legend",
          "text": "RoW, India, China, Europe, NA, SK & JP",
          "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 17:35:47.814+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "ca191533-fa37-4329-8c38-af48351f27b9",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Mobile data traffic: 50%",
          "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-25 12:09:06+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a110-7adf032283ef",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.25,
            "x": 0.205,
            "y": 0.91
          },
          "kind": "source-note",
          "text": "Source: Ericsson, CNNIC, Benedict Evans",
          "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 17:35:47.814+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "59ec62e4-50b6-45b6-a4e6-6d34171a06f6",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.045,
            "w": 0.485,
            "x": 0.205,
            "y": 0.055
          },
          "kind": "title",
          "text": "The end of the American internet",
          "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 17:35:47.814+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "2ec4197a-96ce-4fff-9050-f2af4a94b47c",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.025,
            "w": 0.51,
            "x": 0.205,
            "y": 0.13
          },
          "kind": "title",
          "text": "India and China are now almost half of global mobile traffic",
          "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": "Subtitle",
              "slug": "subtitle",
              "status": "active",
              "canonId": "019de52c-fb09-739d-900c-815b0d9ac526",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "subtitle",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:47.814+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "f7a7cc47-fec5-4744-b322-4063c2c75e2b",
          "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": "019dd95a-1b83-7130-933f-0484e761de2c",
          "evidence": "Title 'The end of the American internet'; subhead 50% of mobile traffic",
          "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": 85,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 94,
          "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": "Concrete Language",
            "slug": "concrete-language",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-bcd4-7398-9723-6aa72346170b",
            "version": 1,
            "bodyDocId": null,
            "description": "Using specific sensory details instead of abstract terms",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Storyteller",
          "layer": "slide",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019dd95a-1b83-7130-933f-0828c809f97f",
          "evidence": "Specific 50% figure for India+China share",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 75,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 94,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 100,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 70,
          "name": "The Action (Now What)",
          "beatId": "019dd95a-07a7-7579-bd65-14aeb33da1bd",
          "matchId": "019dd95a-0543-7581-99b3-5568450d33ea",
          "beatType": {
            "name": "The Action (Now What)",
            "slug": "triple-take-the-action-now-what",
            "status": "active",
            "canonId": "019dd9b8-0a5e-735a-bf53-3a1ba629b7aa",
            "version": 1,
            "description": null
          },
          "evidence": "'Dreams for the Future' p70; metaverse, generative AI bets, JTBD questions",
          "position": 3,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Resolution",
            "slug": "resolution",
            "status": "active",
            "canonId": "019dd9b8-045d-703b-8dd7-e92aba3ba91b",
            "version": 1,
            "description": "How the deck ends. Required in 19/20 arcs. The exception (Sparkline) ends with new bliss which is functionally a resolution."
          },
          "alignedBlockIds": null,
          "matchConfidence": 82
        },
        {
          "to": 100,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 70,
          "name": "Resolution",
          "beatId": "019dd95a-07a7-7579-bd65-243a2d74e603",
          "matchId": "019dd95a-0543-7581-99b3-5836e9006609",
          "beatType": {
            "name": "Resolution",
            "slug": "mountain-resolution",
            "status": "active",
            "canonId": "019dd9b8-1ac2-777f-9a8f-ac543fee86f7",
            "version": 1,
            "description": null
          },
          "evidence": "future bets, generative AI, optimism close p100",
          "position": 4,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Resolution",
            "slug": "resolution",
            "status": "active",
            "canonId": "019dd9b8-045d-703b-8dd7-e92aba3ba91b",
            "version": 1,
            "description": "How the deck ends. Required in 19/20 arcs. The exception (Sparkline) ends with new bliss which is functionally a resolution."
          },
          "alignedBlockIds": null,
          "matchConfidence": 60
        }
      ],
      "loops": [],
      "locked": true
    },
    {
      "page": 95,
      "type": "analysis",
      "title": "The chart illustrates the decline of traditional industrial giants like GM relative to the rise of modern tech companies.",
      "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": 35,
        "componentCount": 6,
        "textChars": 170,
        "nDataPoints": 5,
        "notes": "The chart illustrates the decline of traditional industrial giants like GM relative to the rise of modern tech companies.",
        "elementsJson": [
          "headline_text",
          "subtitle_text",
          "line_chart",
          "footnote"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:35:45.812+00",
          "seconds": 2.696,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5e88-73ef-bd5d-853951586965/95",
        "deck": "/decks/019dd923-5e88-73ef-bd5d-853951586965",
        "deckAnchor": "/decks/019dd923-5e88-73ef-bd5d-853951586965#slide-95",
        "deckJson": "/decks/019dd923-5e88-73ef-bd5d-853951586965.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.55,
            "w": 0.75,
            "x": 0.17,
            "y": 0.27
          },
          "kind": "chart",
          "text": "Share of Fortune 100 revenue",
          "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": "Line chart",
              "slug": "line",
              "status": "active",
              "canonId": "019de52c-ff62-778f-8f6c-a952ceae8677",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "line",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:45.812+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "4c7ee811-3f6c-4f04-9071-17b8ef921f5f",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.1,
            "x": 0.05,
            "y": 0.34
          },
          "kind": "legend",
          "text": "General Motors, IBM, Microsoft, Apple, Alphabet",
          "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 17:35:45.812+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "056bcea9-b52a-4302-9fcc-cbeb475ad513",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Share of Fortune 100 revenue",
          "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-25 12:09:06+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a110-58756d697067",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.08,
            "x": 0.205,
            "y": 0.91
          },
          "kind": "source-note",
          "text": "Source: Fortune",
          "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 17:35:45.812+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "e23993e2-22cb-4dc3-833f-b49e60b7ac81",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.04,
            "w": 0.31,
            "x": 0.205,
            "y": 0.05
          },
          "kind": "title",
          "text": "Old and new 'big tech'",
          "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 17:35:45.812+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "f0582698-6a50-4590-93c0-75fa7c2e3c50",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.25,
            "x": 0.205,
            "y": 0.12
          },
          "kind": "title",
          "text": "What does scale mean, exactly?",
          "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": "Subtitle",
              "slug": "subtitle",
              "status": "active",
              "canonId": "019de52c-fb09-739d-900c-815b0d9ac526",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "subtitle",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:45.812+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "c612b473-3e92-4174-9295-0fb2f0c66397",
          "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": "019dd95a-1b83-7130-933f-0fcfe0556916",
          "evidence": "Title 'Old and new big tech' frames a comparison",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": null,
          "confidence": 70,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 95,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 100,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 70,
          "name": "The Action (Now What)",
          "beatId": "019dd95a-07a7-7579-bd65-14aeb33da1bd",
          "matchId": "019dd95a-0543-7581-99b3-5568450d33ea",
          "beatType": {
            "name": "The Action (Now What)",
            "slug": "triple-take-the-action-now-what",
            "status": "active",
            "canonId": "019dd9b8-0a5e-735a-bf53-3a1ba629b7aa",
            "version": 1,
            "description": null
          },
          "evidence": "'Dreams for the Future' p70; metaverse, generative AI bets, JTBD questions",
          "position": 3,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Resolution",
            "slug": "resolution",
            "status": "active",
            "canonId": "019dd9b8-045d-703b-8dd7-e92aba3ba91b",
            "version": 1,
            "description": "How the deck ends. Required in 19/20 arcs. The exception (Sparkline) ends with new bliss which is functionally a resolution."
          },
          "alignedBlockIds": null,
          "matchConfidence": 82
        },
        {
          "to": 100,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 70,
          "name": "Resolution",
          "beatId": "019dd95a-07a7-7579-bd65-243a2d74e603",
          "matchId": "019dd95a-0543-7581-99b3-5836e9006609",
          "beatType": {
            "name": "Resolution",
            "slug": "mountain-resolution",
            "status": "active",
            "canonId": "019dd9b8-1ac2-777f-9a8f-ac543fee86f7",
            "version": 1,
            "description": null
          },
          "evidence": "future bets, generative AI, optimism close p100",
          "position": 4,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Resolution",
            "slug": "resolution",
            "status": "active",
            "canonId": "019dd9b8-045d-703b-8dd7-e92aba3ba91b",
            "version": 1,
            "description": "How the deck ends. Required in 19/20 arcs. The exception (Sparkline) ends with new bliss which is functionally a resolution."
          },
          "alignedBlockIds": null,
          "matchConfidence": 60
        }
      ],
      "loops": [],
      "locked": true
    },
    {
      "page": 96,
      "type": "analysis",
      "title": "The chart illustrates the shift from physical retail (car-commerce) to digital retail (e-commerce).",
      "function": "establish_context",
      "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": "establish_context",
        "functionCanon": {
          "name": "Establish context",
          "slug": "establish_context",
          "status": "active",
          "canonId": "019de52d-1314-74e6-9074-d213dc0bdcdf",
          "version": 1,
          "description": null
        },
        "density": "balanced",
        "densityScore": 30,
        "componentCount": 5,
        "textChars": 213,
        "nDataPoints": 8,
        "notes": "The chart illustrates the shift from physical retail (car-commerce) to digital retail (e-commerce).",
        "elementsJson": [
          "headline_text",
          "subtitle_text",
          "line_chart",
          "footnote"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:35:45.822+00",
          "seconds": 2.697,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5e88-73ef-bd5d-853951586965/96",
        "deck": "/decks/019dd923-5e88-73ef-bd5d-853951586965",
        "deckAnchor": "/decks/019dd923-5e88-73ef-bd5d-853951586965#slide-96",
        "deckJson": "/decks/019dd923-5e88-73ef-bd5d-853951586965.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.55,
            "w": 0.59,
            "x": 0.205,
            "y": 0.275
          },
          "kind": "chart",
          "text": "Average annual household automobile miles for shopping, USA",
          "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": "Line chart",
              "slug": "line",
              "status": "active",
              "canonId": "019de52c-ff62-778f-8f6c-a952ceae8677",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "line",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:45.822+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "b65c72a0-7c13-491b-a851-99a982f88c5b",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Average annual household automobile miles for shopping",
          "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-25 12:09:06+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a10f-8e906e6356ac",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.2,
            "x": 0.205,
            "y": 0.91
          },
          "kind": "source-note",
          "text": "Source: US Department of Transport",
          "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 17:35:45.822+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "eea84f79-5a1f-49fc-a9d7-a3b74d3fdca8",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.045,
            "w": 0.505,
            "x": 0.205,
            "y": 0.055
          },
          "kind": "title",
          "text": "From car-commerce to e-commerce",
          "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 17:35:45.822+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "28b70fe0-ebd4-4e15-88f6-65663effab17",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.025,
            "w": 0.335,
            "x": 0.205,
            "y": 0.125
          },
          "kind": "title",
          "text": "When new technologies change retail",
          "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": "Subtitle",
              "slug": "subtitle",
              "status": "active",
              "canonId": "019de52c-fb09-739d-900c-815b0d9ac526",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "subtitle",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:45.822+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "f7c0adef-00ba-4de4-9e46-575a7a7ec272",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "Metaphor & Analogy",
            "slug": "metaphor-analogy",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-adea-7729-bca1-70810d6238a9",
            "version": 1,
            "bodyDocId": null,
            "description": "Making abstract concepts concrete through familiar comparisons",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Storyteller",
          "layer": "slide",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019dd95a-1b83-7130-933f-12a5167edac9",
          "evidence": "Title coins 'car-commerce to e-commerce' as analogue shift",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": null,
          "confidence": 80,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 96,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 100,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 70,
          "name": "The Action (Now What)",
          "beatId": "019dd95a-07a7-7579-bd65-14aeb33da1bd",
          "matchId": "019dd95a-0543-7581-99b3-5568450d33ea",
          "beatType": {
            "name": "The Action (Now What)",
            "slug": "triple-take-the-action-now-what",
            "status": "active",
            "canonId": "019dd9b8-0a5e-735a-bf53-3a1ba629b7aa",
            "version": 1,
            "description": null
          },
          "evidence": "'Dreams for the Future' p70; metaverse, generative AI bets, JTBD questions",
          "position": 3,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Resolution",
            "slug": "resolution",
            "status": "active",
            "canonId": "019dd9b8-045d-703b-8dd7-e92aba3ba91b",
            "version": 1,
            "description": "How the deck ends. Required in 19/20 arcs. The exception (Sparkline) ends with new bliss which is functionally a resolution."
          },
          "alignedBlockIds": null,
          "matchConfidence": 82
        },
        {
          "to": 100,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 70,
          "name": "Resolution",
          "beatId": "019dd95a-07a7-7579-bd65-243a2d74e603",
          "matchId": "019dd95a-0543-7581-99b3-5836e9006609",
          "beatType": {
            "name": "Resolution",
            "slug": "mountain-resolution",
            "status": "active",
            "canonId": "019dd9b8-1ac2-777f-9a8f-ac543fee86f7",
            "version": 1,
            "description": null
          },
          "evidence": "future bets, generative AI, optimism close p100",
          "position": 4,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Resolution",
            "slug": "resolution",
            "status": "active",
            "canonId": "019dd9b8-045d-703b-8dd7-e92aba3ba91b",
            "version": 1,
            "description": "How the deck ends. Required in 19/20 arcs. The exception (Sparkline) ends with new bliss which is functionally a resolution."
          },
          "alignedBlockIds": null,
          "matchConfidence": 60
        }
      ],
      "loops": [
        {
          "to": 100,
          "from": 96,
          "loop": {
            "name": "53_jobs_to_be_done",
            "slug": "53-jobs-to-be-done",
            "status": "active",
            "bestFor": "Product innovation, market entry, competitive positioning",
            "canonId": "019dd956-7b6c-7594-b5b3-eecbe0ab48e8",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Customer's Job -> Current Solutions (Hired/Fired) -> Unmet Needs -> Our Solution Fit",
            "description": "Reframe the problem around what the customer is trying to accomplish, not what they're buying",
            "familyLabel": null
          },
          "matchId": "019dd95a-08f8-7619-ac2e-9afebceb8b60",
          "evidence": "p97-99 repeat 'What's the job to be done?'; p96 'car-commerce to e-commerce' reframes the job",
          "position": 11,
          "objective": "Reframe ecommerce/advertising via JTBD lens to close",
          "confidence": 70,
          "extraction": {
            "at": "2026-04-29 13:07:29.779839+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 97,
      "type": "tension",
      "title": "The slide uses the 'Jobs to be Done' framework as a conceptual hook for analyzing market growth.",
      "function": "frame_problem",
      "rawType": "problem_statement",
      "block": null,
      "metadata": {
        "slideType": "problem_statement",
        "slideTypeCanon": {
          "name": "Problem statement",
          "slug": "problem_statement",
          "status": "active",
          "canonId": "019de52d-0879-768d-bba8-8da8a5a121d4",
          "version": 1,
          "description": null
        },
        "function": "frame_problem",
        "functionCanon": {
          "name": "Frame problem",
          "slug": "frame_problem",
          "status": "active",
          "canonId": "019de52d-13db-753e-ad70-e9b2d0dab398",
          "version": 1,
          "description": null
        },
        "density": "balanced",
        "densityScore": 44,
        "componentCount": 7,
        "textChars": 205,
        "nDataPoints": 2,
        "notes": "The slide uses the 'Jobs to be Done' framework as a conceptual hook for analyzing market growth.",
        "elementsJson": [
          "headline_text",
          "line_chart"
        ],
        "confidence": 0.95,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:35:48.88+00",
          "seconds": 5.692,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5e88-73ef-bd5d-853951586965/97",
        "deck": "/decks/019dd923-5e88-73ef-bd5d-853951586965",
        "deckAnchor": "/decks/019dd923-5e88-73ef-bd5d-853951586965#slide-97",
        "deckJson": "/decks/019dd923-5e88-73ef-bd5d-853951586965.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.55,
            "w": 0.75,
            "x": 0.205,
            "y": 0.27
          },
          "kind": "chart",
          "text": "Annual US revenue ($bn, 2022 dollars)",
          "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": "Line chart",
              "slug": "line",
              "status": "active",
              "canonId": "019de52c-ff62-778f-8f6c-a952ceae8677",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "line",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:48.88+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "01d643c4-5df4-4144-8748-d326bb8a7fcc",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "framework",
          "text": "Jobs to Be Done",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Framework",
              "slug": "framework",
              "status": "active",
              "canonId": "019de52c-fa18-77c6-b10a-ccb8277ac0fa",
              "version": 1,
              "description": "Named conceptual framework instance."
            },
            "tool": {
              "name": "Structuring frame",
              "slug": "structuring-frame",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-48ff-708d-8103-a8464743e560",
              "version": 1,
              "bodyDocId": null,
              "description": "A named scaffold for organising content (SCQA, situation-action-result, etc.).",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-25 12:09:11+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a113-b11640e505dd",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.08,
            "x": 0.03,
            "y": 0.35
          },
          "kind": "legend",
          "text": "Ecommerce\nDigital 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 17:35:48.88+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "52de26fa-cfbe-4cbb-a14f-4ddc1aba1e05",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Annual US revenue: $1,000bn",
          "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-25 12:09:11+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a113-af77a698a5ad",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.33,
            "x": 0.205,
            "y": 0.12
          },
          "kind": "paragraph",
          "text": "We can talk about ecommerce and advertising...",
          "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 17:35:48.88+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "938fc0ef-0219-4c67-84b2-fd1fbdf28caf",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.2,
            "x": 0.205,
            "y": 0.91
          },
          "kind": "source-note",
          "text": "Source: US Census, Zenith, McCann",
          "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 17:35:48.88+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "5d4b01c1-7407-4c9c-bdf3-7324dbe07cac",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.37,
            "x": 0.205,
            "y": 0.05
          },
          "kind": "title",
          "text": "What's the job to be done?",
          "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 17:35:48.88+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "47eaeb53-5535-4b60-9704-9827b2193962",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "Anaphora",
            "slug": "anaphora",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-9fee-74aa-a920-078aa44132c0",
            "version": 1,
            "bodyDocId": null,
            "description": "Repeating words at the beginning of successive clauses for rhythm",
            "familyLabel": null,
            "categoryName": "Loop",
            "categorySlug": "loop"
          },
          "agent": "Storyteller",
          "layer": "loop",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019dd95a-1b83-7130-933f-1b41e25325de",
          "evidence": "JTBD question repeated p97/98/99",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 85,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 97,
          "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": "019dd95a-1b83-7130-933f-1701783a7277",
          "evidence": "Title 'What's the job to be done?' frames the closing question",
          "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": 80,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 97,
          "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": "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": "019dd95a-1b83-7130-933f-1f66f6d0744c",
          "evidence": "Tufte-clean ecommerce vs digital-ad line chart",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": null,
          "confidence": 80,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 97,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Jobs to be done",
            "slug": "jobs-to-be-done",
            "status": "active",
            "bestFor": null,
            "canonId": "019de52d-1c39-70da-95dc-a09cedf9d273",
            "version": 1,
            "bodyDocId": null,
            "description": null,
            "familyLabel": null,
            "categoryName": null,
            "categorySlug": null
          },
          "agent": null,
          "layer": "slide",
          "agents": null,
          "matchId": "c742c5fc-c414-466e-b077-b8fef43ae05f",
          "evidence": "framework: Jobs to Be Done",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.9,
          "extraction": {
            "at": "2026-07-16 21:59:21.510024+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 97,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [
        {
          "matchId": "019dd95a-1d21-7467-a468-917429f9f97a",
          "evidence": "Title 'What's the job to be done?' uses JTBD framing explicitly",
          "framework": null,
          "confidence": 80,
          "extraction": {
            "at": "2026-04-29 13:07:34.940444+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 97,
          "frameworkName": "Jobs to Be Done"
        },
        {
          "matchId": "9ea19918-4078-48df-a342-a68360e5e667",
          "evidence": "Title explicitly references 'job to be done'",
          "framework": null,
          "confidence": 1,
          "extraction": {
            "at": "2026-05-02 17:35:48.88+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 97,
          "frameworkName": "jobs-to-be-done-jtbd"
        }
      ],
      "arcBeats": [
        {
          "to": 100,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 70,
          "name": "The Action (Now What)",
          "beatId": "019dd95a-07a7-7579-bd65-14aeb33da1bd",
          "matchId": "019dd95a-0543-7581-99b3-5568450d33ea",
          "beatType": {
            "name": "The Action (Now What)",
            "slug": "triple-take-the-action-now-what",
            "status": "active",
            "canonId": "019dd9b8-0a5e-735a-bf53-3a1ba629b7aa",
            "version": 1,
            "description": null
          },
          "evidence": "'Dreams for the Future' p70; metaverse, generative AI bets, JTBD questions",
          "position": 3,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Resolution",
            "slug": "resolution",
            "status": "active",
            "canonId": "019dd9b8-045d-703b-8dd7-e92aba3ba91b",
            "version": 1,
            "description": "How the deck ends. Required in 19/20 arcs. The exception (Sparkline) ends with new bliss which is functionally a resolution."
          },
          "alignedBlockIds": null,
          "matchConfidence": 82
        },
        {
          "to": 100,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 70,
          "name": "Resolution",
          "beatId": "019dd95a-07a7-7579-bd65-243a2d74e603",
          "matchId": "019dd95a-0543-7581-99b3-5836e9006609",
          "beatType": {
            "name": "Resolution",
            "slug": "mountain-resolution",
            "status": "active",
            "canonId": "019dd9b8-1ac2-777f-9a8f-ac543fee86f7",
            "version": 1,
            "description": null
          },
          "evidence": "future bets, generative AI, optimism close p100",
          "position": 4,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Resolution",
            "slug": "resolution",
            "status": "active",
            "canonId": "019dd9b8-045d-703b-8dd7-e92aba3ba91b",
            "version": 1,
            "description": "How the deck ends. Required in 19/20 arcs. The exception (Sparkline) ends with new bliss which is functionally a resolution."
          },
          "alignedBlockIds": null,
          "matchConfidence": 60
        }
      ],
      "loops": [
        {
          "to": 100,
          "from": 96,
          "loop": {
            "name": "53_jobs_to_be_done",
            "slug": "53-jobs-to-be-done",
            "status": "active",
            "bestFor": "Product innovation, market entry, competitive positioning",
            "canonId": "019dd956-7b6c-7594-b5b3-eecbe0ab48e8",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Customer's Job -> Current Solutions (Hired/Fired) -> Unmet Needs -> Our Solution Fit",
            "description": "Reframe the problem around what the customer is trying to accomplish, not what they're buying",
            "familyLabel": null
          },
          "matchId": "019dd95a-08f8-7619-ac2e-9afebceb8b60",
          "evidence": "p97-99 repeat 'What's the job to be done?'; p96 'car-commerce to e-commerce' reframes the job",
          "position": 11,
          "objective": "Reframe ecommerce/advertising via JTBD lens to close",
          "confidence": 70,
          "extraction": {
            "at": "2026-04-29 13:07:29.779839+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 98,
      "type": "tension",
      "title": "The slide uses the 'Jobs to be Done' framework to challenge the viewer to look beyond the surface-level revenue data.",
      "function": "frame_problem",
      "rawType": "problem_statement",
      "block": null,
      "metadata": {
        "slideType": "problem_statement",
        "slideTypeCanon": {
          "name": "Problem statement",
          "slug": "problem_statement",
          "status": "active",
          "canonId": "019de52d-0879-768d-bba8-8da8a5a121d4",
          "version": 1,
          "description": null
        },
        "function": "frame_problem",
        "functionCanon": {
          "name": "Frame problem",
          "slug": "frame_problem",
          "status": "active",
          "canonId": "019de52d-13db-753e-ad70-e9b2d0dab398",
          "version": 1,
          "description": null
        },
        "density": "dense",
        "densityScore": 51,
        "componentCount": 8,
        "textChars": 205,
        "nDataPoints": 3,
        "notes": "The slide uses the 'Jobs to be Done' framework to challenge the viewer to look beyond the surface-level revenue data.",
        "elementsJson": [
          "headline_text",
          "subtitle_text",
          "line_chart",
          "footnote"
        ],
        "confidence": 0.95,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:35:49.812+00",
          "seconds": 6.559,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5e88-73ef-bd5d-853951586965/98",
        "deck": "/decks/019dd923-5e88-73ef-bd5d-853951586965",
        "deckAnchor": "/decks/019dd923-5e88-73ef-bd5d-853951586965#slide-98",
        "deckJson": "/decks/019dd923-5e88-73ef-bd5d-853951586965.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.5,
            "w": 0.6,
            "x": 0.205,
            "y": 0.25
          },
          "kind": "chart",
          "text": "Annual US revenue ($bn, 2022 dollars)",
          "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": "Line chart",
              "slug": "line",
              "status": "active",
              "canonId": "019de52c-ff62-778f-8f6c-a952ceae8677",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "line",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:49.812+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "770ca015-d861-433d-b5d4-fdce6ef95c8e",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.2,
            "x": 0.205,
            "y": 0.91
          },
          "kind": "disclaimer",
          "text": "Source: US Census, Zenith, McCann",
          "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 17:35:49.812+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "d7b5bf24-f363-49d3-8adc-7eb5925ea7e4",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "framework",
          "text": "Jobs to be done",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Framework",
              "slug": "framework",
              "status": "active",
              "canonId": "019de52c-fa18-77c6-b10a-ccb8277ac0fa",
              "version": 1,
              "description": "Named conceptual framework instance."
            },
            "tool": null,
            "subkind": {
              "name": "Framework instance",
              "slug": "instance",
              "status": "active",
              "canonId": "019de52d-05a2-72af-be0b-7edc60708a03",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "instance",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:49.812+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "9f4ca707-202e-414e-8823-76a36778f8bc",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "framework",
          "text": "Jobs to Be Done",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Framework",
              "slug": "framework",
              "status": "active",
              "canonId": "019de52c-fa18-77c6-b10a-ccb8277ac0fa",
              "version": 1,
              "description": "Named conceptual framework instance."
            },
            "tool": {
              "name": "Structuring frame",
              "slug": "structuring-frame",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-48ff-708d-8103-a8464743e560",
              "version": 1,
              "bodyDocId": null,
              "description": "A named scaffold for organising content (SCQA, situation-action-result, etc.).",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-25 12:09:06+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a110-0be7e23ba08f",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.1,
            "w": 0.15,
            "x": 0.05,
            "y": 0.35
          },
          "kind": "legend",
          "text": "Retail & food service; Ecommerce; Digital 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 17:35:49.812+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "f57ce068-a86e-4894-8497-6fb741c387c5",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Annual US revenue",
          "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-25 12:09:06+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a110-05b28fb4c259",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.04,
            "w": 0.43,
            "x": 0.205,
            "y": 0.05
          },
          "kind": "title",
          "text": "But what’s the job to be done?",
          "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 17:35:49.812+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "78811d9f-9ba8-46d3-a396-b1da2aaad4e0",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.1,
            "x": 0.205,
            "y": 0.1
          },
          "kind": "title",
          "text": "But really...",
          "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": "Subtitle",
              "slug": "subtitle",
              "status": "active",
              "canonId": "019de52c-fb09-739d-900c-815b0d9ac526",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "subtitle",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:49.812+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "7913a632-bfc7-4dc7-a39d-336cac4b2c65",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "Anaphora",
            "slug": "anaphora",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-9fee-74aa-a920-078aa44132c0",
            "version": 1,
            "bodyDocId": null,
            "description": "Repeating words at the beginning of successive clauses for rhythm",
            "familyLabel": null,
            "categoryName": "Loop",
            "categorySlug": "loop"
          },
          "agent": "Storyteller",
          "layer": "loop",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019dd95a-1b83-7130-933f-23aeaf9cbc0a",
          "evidence": "Repeats 'But what's the job to be done?'",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 85,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 98,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Jobs to be done",
            "slug": "jobs-to-be-done",
            "status": "active",
            "bestFor": null,
            "canonId": "019de52d-1c39-70da-95dc-a09cedf9d273",
            "version": 1,
            "bodyDocId": null,
            "description": null,
            "familyLabel": null,
            "categoryName": null,
            "categorySlug": null
          },
          "agent": null,
          "layer": "slide",
          "agents": null,
          "matchId": "81affed4-b88f-4711-b8c2-285457ca1d04",
          "evidence": "framework/instance: Jobs to be done",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.9,
          "extraction": {
            "at": "2026-07-16 21:59:21.577087+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 98,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [
        {
          "matchId": "019dd95a-1d21-7467-a468-95583fba29df",
          "evidence": "Title 'But what's the job to be done?' (JTBD)",
          "framework": null,
          "confidence": 80,
          "extraction": {
            "at": "2026-04-29 13:07:34.940444+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 98,
          "frameworkName": "Jobs to Be Done"
        },
        {
          "matchId": "47ac5f4a-32f4-4886-b789-1faaa7290cca",
          "evidence": "Title explicitly references 'job to be done'",
          "framework": null,
          "confidence": 1,
          "extraction": {
            "at": "2026-05-02 17:35:49.812+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 98,
          "frameworkName": "jobs-to-be-done-jtbd"
        }
      ],
      "arcBeats": [
        {
          "to": 100,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 70,
          "name": "The Action (Now What)",
          "beatId": "019dd95a-07a7-7579-bd65-14aeb33da1bd",
          "matchId": "019dd95a-0543-7581-99b3-5568450d33ea",
          "beatType": {
            "name": "The Action (Now What)",
            "slug": "triple-take-the-action-now-what",
            "status": "active",
            "canonId": "019dd9b8-0a5e-735a-bf53-3a1ba629b7aa",
            "version": 1,
            "description": null
          },
          "evidence": "'Dreams for the Future' p70; metaverse, generative AI bets, JTBD questions",
          "position": 3,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Resolution",
            "slug": "resolution",
            "status": "active",
            "canonId": "019dd9b8-045d-703b-8dd7-e92aba3ba91b",
            "version": 1,
            "description": "How the deck ends. Required in 19/20 arcs. The exception (Sparkline) ends with new bliss which is functionally a resolution."
          },
          "alignedBlockIds": null,
          "matchConfidence": 82
        },
        {
          "to": 100,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 70,
          "name": "Resolution",
          "beatId": "019dd95a-07a7-7579-bd65-243a2d74e603",
          "matchId": "019dd95a-0543-7581-99b3-5836e9006609",
          "beatType": {
            "name": "Resolution",
            "slug": "mountain-resolution",
            "status": "active",
            "canonId": "019dd9b8-1ac2-777f-9a8f-ac543fee86f7",
            "version": 1,
            "description": null
          },
          "evidence": "future bets, generative AI, optimism close p100",
          "position": 4,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Resolution",
            "slug": "resolution",
            "status": "active",
            "canonId": "019dd9b8-045d-703b-8dd7-e92aba3ba91b",
            "version": 1,
            "description": "How the deck ends. Required in 19/20 arcs. The exception (Sparkline) ends with new bliss which is functionally a resolution."
          },
          "alignedBlockIds": null,
          "matchConfidence": 60
        }
      ],
      "loops": [
        {
          "to": 100,
          "from": 96,
          "loop": {
            "name": "53_jobs_to_be_done",
            "slug": "53-jobs-to-be-done",
            "status": "active",
            "bestFor": "Product innovation, market entry, competitive positioning",
            "canonId": "019dd956-7b6c-7594-b5b3-eecbe0ab48e8",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Customer's Job -> Current Solutions (Hired/Fired) -> Unmet Needs -> Our Solution Fit",
            "description": "Reframe the problem around what the customer is trying to accomplish, not what they're buying",
            "familyLabel": null
          },
          "matchId": "019dd95a-08f8-7619-ac2e-9afebceb8b60",
          "evidence": "p97-99 repeat 'What's the job to be done?'; p96 'car-commerce to e-commerce' reframes the job",
          "position": 11,
          "objective": "Reframe ecommerce/advertising via JTBD lens to close",
          "confidence": 70,
          "extraction": {
            "at": "2026-04-29 13:07:29.779839+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 99,
      "type": "tension",
      "title": "The slide uses the 'Jobs to be Done' framework to frame the inquiry into market trends.",
      "function": "frame_problem",
      "rawType": "problem_statement",
      "block": null,
      "metadata": {
        "slideType": "problem_statement",
        "slideTypeCanon": {
          "name": "Problem statement",
          "slug": "problem_statement",
          "status": "active",
          "canonId": "019de52d-0879-768d-bba8-8da8a5a121d4",
          "version": 1,
          "description": null
        },
        "function": "frame_problem",
        "functionCanon": {
          "name": "Frame problem",
          "slug": "frame_problem",
          "status": "active",
          "canonId": "019de52d-13db-753e-ad70-e9b2d0dab398",
          "version": 1,
          "description": null
        },
        "density": "dense",
        "densityScore": 53,
        "componentCount": 8,
        "textChars": 241,
        "nDataPoints": 4,
        "notes": "The slide uses the 'Jobs to be Done' framework to frame the inquiry into market trends.",
        "elementsJson": [
          "headline_text",
          "subtitle_text",
          "line_chart"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:35:46.094+00",
          "seconds": 2.816,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5e88-73ef-bd5d-853951586965/99",
        "deck": "/decks/019dd923-5e88-73ef-bd5d-853951586965",
        "deckAnchor": "/decks/019dd923-5e88-73ef-bd5d-853951586965#slide-99",
        "deckJson": "/decks/019dd923-5e88-73ef-bd5d-853951586965.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.5,
            "w": 0.6,
            "x": 0.205,
            "y": 0.25
          },
          "kind": "chart",
          "text": "Annual US revenue ($bn, 2022 dollars)",
          "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": "Line chart",
              "slug": "line",
              "status": "active",
              "canonId": "019de52c-ff62-778f-8f6c-a952ceae8677",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "line",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:46.094+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "34810ea7-b832-4179-a7f8-4d6b184fe033",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "framework",
          "text": "Jobs to be done",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Framework",
              "slug": "framework",
              "status": "active",
              "canonId": "019de52c-fa18-77c6-b10a-ccb8277ac0fa",
              "version": 1,
              "description": "Named conceptual framework instance."
            },
            "tool": null,
            "subkind": {
              "name": "Framework instance",
              "slug": "instance",
              "status": "active",
              "canonId": "019de52d-05a2-72af-be0b-7edc60708a03",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "instance",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:46.094+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "dcce4771-429c-47f3-9d5f-dcf973194657",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "framework",
          "text": "Jobs to Be Done",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Framework",
              "slug": "framework",
              "status": "active",
              "canonId": "019de52c-fa18-77c6-b10a-ccb8277ac0fa",
              "version": 1,
              "description": "Named conceptual framework instance."
            },
            "tool": {
              "name": "Structuring frame",
              "slug": "structuring-frame",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-48ff-708d-8103-a8464743e560",
              "version": 1,
              "bodyDocId": null,
              "description": "A named scaffold for organising content (SCQA, situation-action-result, etc.).",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-25 12:09:06+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a110-abf657e279a2",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.1,
            "w": 0.15,
            "x": 0.05,
            "y": 0.34
          },
          "kind": "legend",
          "text": "Personal Consumption, Retail & food service, Ecommerce, Digital 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 17:35:46.094+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "64f8143b-b492-400e-9f46-9855a6ccb61f",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Annual US revenue",
          "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-25 12:09:06+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a110-a4c43e3341ed",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.2,
            "x": 0.205,
            "y": 0.12
          },
          "kind": "paragraph",
          "text": "Where should we be looking?",
          "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 17:35:46.094+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "81431dec-23d3-4579-84f0-dceea889f7d2",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.2,
            "x": 0.205,
            "y": 0.91
          },
          "kind": "source-note",
          "text": "Source: US Census, Zenith, McCann",
          "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 17:35:46.094+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "a7355773-6b03-4363-aecc-c00b3320b747",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.04,
            "w": 0.43,
            "x": 0.205,
            "y": 0.05
          },
          "kind": "title",
          "text": "But what’s the job to be done?",
          "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 17:35:46.094+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "6d865ada-26c4-4621-a95a-9d9f5dbf3348",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "Anaphora",
            "slug": "anaphora",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-9fee-74aa-a920-078aa44132c0",
            "version": 1,
            "bodyDocId": null,
            "description": "Repeating words at the beginning of successive clauses for rhythm",
            "familyLabel": null,
            "categoryName": "Loop",
            "categorySlug": "loop"
          },
          "agent": "Storyteller",
          "layer": "loop",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019dd95a-1b83-7130-933f-2524e8eb515b",
          "evidence": "Third repetition of JTBD question",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 85,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 99,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Payoff",
            "slug": "payoff",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-a464-704b-b1a1-e1d483709f00",
            "version": 1,
            "bodyDocId": null,
            "description": "Delivering on earlier setup for satisfying resolution",
            "familyLabel": null,
            "categoryName": "Loop",
            "categorySlug": "loop"
          },
          "agent": "Storyteller",
          "layer": "loop",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019dd95a-1b83-7130-933f-2bd4ab03800a",
          "evidence": "Closes the JTBD anaphora chain",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 65,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 99,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Jobs to be done",
            "slug": "jobs-to-be-done",
            "status": "active",
            "bestFor": null,
            "canonId": "019de52d-1c39-70da-95dc-a09cedf9d273",
            "version": 1,
            "bodyDocId": null,
            "description": null,
            "familyLabel": null,
            "categoryName": null,
            "categorySlug": null
          },
          "agent": null,
          "layer": "slide",
          "agents": null,
          "matchId": "beb02241-8cf5-4fa8-a9bd-31b5e1369083",
          "evidence": "framework: Jobs to Be Done",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.9,
          "extraction": {
            "at": "2026-07-16 21:59:21.733974+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 99,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [
        {
          "matchId": "019dd95a-1d21-7467-a468-9b184a248dd3",
          "evidence": "Title 'But what's the job to be done?' (JTBD)",
          "framework": null,
          "confidence": 80,
          "extraction": {
            "at": "2026-04-29 13:07:34.940444+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 99,
          "frameworkName": "Jobs to Be Done"
        },
        {
          "matchId": "8ef3781b-4eb1-446e-a6e6-daa88fc8904e",
          "evidence": "Title explicitly references 'job to be done'",
          "framework": null,
          "confidence": 1,
          "extraction": {
            "at": "2026-05-02 17:35:46.094+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 99,
          "frameworkName": "jobs-to-be-done-jtbd"
        }
      ],
      "arcBeats": [
        {
          "to": 100,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 70,
          "name": "The Action (Now What)",
          "beatId": "019dd95a-07a7-7579-bd65-14aeb33da1bd",
          "matchId": "019dd95a-0543-7581-99b3-5568450d33ea",
          "beatType": {
            "name": "The Action (Now What)",
            "slug": "triple-take-the-action-now-what",
            "status": "active",
            "canonId": "019dd9b8-0a5e-735a-bf53-3a1ba629b7aa",
            "version": 1,
            "description": null
          },
          "evidence": "'Dreams for the Future' p70; metaverse, generative AI bets, JTBD questions",
          "position": 3,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Resolution",
            "slug": "resolution",
            "status": "active",
            "canonId": "019dd9b8-045d-703b-8dd7-e92aba3ba91b",
            "version": 1,
            "description": "How the deck ends. Required in 19/20 arcs. The exception (Sparkline) ends with new bliss which is functionally a resolution."
          },
          "alignedBlockIds": null,
          "matchConfidence": 82
        },
        {
          "to": 100,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 70,
          "name": "Resolution",
          "beatId": "019dd95a-07a7-7579-bd65-243a2d74e603",
          "matchId": "019dd95a-0543-7581-99b3-5836e9006609",
          "beatType": {
            "name": "Resolution",
            "slug": "mountain-resolution",
            "status": "active",
            "canonId": "019dd9b8-1ac2-777f-9a8f-ac543fee86f7",
            "version": 1,
            "description": null
          },
          "evidence": "future bets, generative AI, optimism close p100",
          "position": 4,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Resolution",
            "slug": "resolution",
            "status": "active",
            "canonId": "019dd9b8-045d-703b-8dd7-e92aba3ba91b",
            "version": 1,
            "description": "How the deck ends. Required in 19/20 arcs. The exception (Sparkline) ends with new bliss which is functionally a resolution."
          },
          "alignedBlockIds": null,
          "matchConfidence": 60
        }
      ],
      "loops": [
        {
          "to": 100,
          "from": 96,
          "loop": {
            "name": "53_jobs_to_be_done",
            "slug": "53-jobs-to-be-done",
            "status": "active",
            "bestFor": "Product innovation, market entry, competitive positioning",
            "canonId": "019dd956-7b6c-7594-b5b3-eecbe0ab48e8",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Customer's Job -> Current Solutions (Hired/Fired) -> Unmet Needs -> Our Solution Fit",
            "description": "Reframe the problem around what the customer is trying to accomplish, not what they're buying",
            "familyLabel": null
          },
          "matchId": "019dd95a-08f8-7619-ac2e-9afebceb8b60",
          "evidence": "p97-99 repeat 'What's the job to be done?'; p96 'car-commerce to e-commerce' reframes the job",
          "position": 11,
          "objective": "Reframe ecommerce/advertising via JTBD lens to close",
          "confidence": 70,
          "extraction": {
            "at": "2026-04-29 13:07:29.779839+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 100,
      "type": "analysis",
      "title": "The chart highlights the exponential growth in satellite launches starting around 2020.",
      "function": "quantify_impact",
      "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": "quantify_impact",
        "functionCanon": {
          "name": "Quantify impact",
          "slug": "quantify_impact",
          "status": "active",
          "canonId": "019de52d-1630-720d-b57d-fa7f76bebd8d",
          "version": 1,
          "description": null
        },
        "density": "balanced",
        "densityScore": 47,
        "componentCount": 7,
        "textChars": 297,
        "nDataPoints": 1,
        "notes": "The chart highlights the exponential growth in satellite launches starting around 2020.",
        "elementsJson": [
          "headline_text",
          "subtitle_text",
          "bar_chart_stacked"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:35:46.341+00",
          "seconds": 2.87,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5e88-73ef-bd5d-853951586965/100",
        "deck": "/decks/019dd923-5e88-73ef-bd5d-853951586965",
        "deckAnchor": "/decks/019dd923-5e88-73ef-bd5d-853951586965#slide-100",
        "deckJson": "/decks/019dd923-5e88-73ef-bd5d-853951586965.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "Smartphones are boring now, and internet rates are going up, but tech is still doing new things",
          "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-25 12:09:06+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a10f-d1f671d2804c",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.6,
            "w": 0.6,
            "x": 0.205,
            "y": 0.25
          },
          "kind": "chart",
          "text": "Satellites launched",
          "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": "Stacked bar chart",
              "slug": "bar-stacked",
              "status": "active",
              "canonId": "019de52c-feec-74bf-9028-15b74f84f0a7",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bar-stacked",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:35:46.341+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "222a9bc2-ff5b-407f-a904-d4d95ed999aa",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.05,
            "x": 0.03,
            "y": 0.35
          },
          "kind": "legend",
          "text": "Starlink\nOther",
          "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 17:35:46.341+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "7472e5e7-5ad2-433a-ac42-181427eed099",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Satellites launched",
          "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-25 12:09:06+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a10f-d69422d6d8d4",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.6,
            "x": 0.205,
            "y": 0.12
          },
          "kind": "paragraph",
          "text": "Smartphones are boring now, and internet rates are going up, but tech is still doing new things",
          "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 17:35:46.341+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "386cff32-ac73-4f25-9fd4-21b786dba953",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.1,
            "x": 0.205,
            "y": 0.91
          },
          "kind": "source-note",
          "text": "Source: space-track.org",
          "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 17:35:46.341+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "1c3412b4-d18e-4602-bd30-b7e967d567a7",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.5,
            "x": 0.205,
            "y": 0.05
          },
          "kind": "title",
          "text": "And one more reason for optimism",
          "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 17:35:46.341+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "993234f8-7900-47fa-8983-b5bc03a5d787",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "Optimism Bias",
            "slug": "optimism-bias",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-a971-74be-bc84-788196134c96",
            "version": 1,
            "bodyDocId": null,
            "description": "People overestimate likelihood of positive events - balance hope with realism",
            "familyLabel": null,
            "categoryName": "Loop",
            "categorySlug": "loop"
          },
          "agent": "Storyteller",
          "layer": "loop",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019dd95a-1b83-7130-933f-310040c12ac0",
          "evidence": "Ends on optimism beat after sober macro opening",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 60,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 100,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Closing Techniques",
            "slug": "closing-techniques",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-af13-774b-a4fd-7db0a3a88d51",
            "version": 1,
            "bodyDocId": null,
            "description": "Strong endings: Callback, challenge, vision, clear CTA, memorable line",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Storyteller",
          "layer": "slide",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019dd95a-1b83-7130-933f-2dbf340566ec",
          "evidence": "'One more reason for optimism' is a vision-style close",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 85,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 100,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 100,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 70,
          "name": "The Action (Now What)",
          "beatId": "019dd95a-07a7-7579-bd65-14aeb33da1bd",
          "matchId": "019dd95a-0543-7581-99b3-5568450d33ea",
          "beatType": {
            "name": "The Action (Now What)",
            "slug": "triple-take-the-action-now-what",
            "status": "active",
            "canonId": "019dd9b8-0a5e-735a-bf53-3a1ba629b7aa",
            "version": 1,
            "description": null
          },
          "evidence": "'Dreams for the Future' p70; metaverse, generative AI bets, JTBD questions",
          "position": 3,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Resolution",
            "slug": "resolution",
            "status": "active",
            "canonId": "019dd9b8-045d-703b-8dd7-e92aba3ba91b",
            "version": 1,
            "description": "How the deck ends. Required in 19/20 arcs. The exception (Sparkline) ends with new bliss which is functionally a resolution."
          },
          "alignedBlockIds": null,
          "matchConfidence": 82
        },
        {
          "to": 100,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 70,
          "name": "Resolution",
          "beatId": "019dd95a-07a7-7579-bd65-243a2d74e603",
          "matchId": "019dd95a-0543-7581-99b3-5836e9006609",
          "beatType": {
            "name": "Resolution",
            "slug": "mountain-resolution",
            "status": "active",
            "canonId": "019dd9b8-1ac2-777f-9a8f-ac543fee86f7",
            "version": 1,
            "description": null
          },
          "evidence": "future bets, generative AI, optimism close p100",
          "position": 4,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Resolution",
            "slug": "resolution",
            "status": "active",
            "canonId": "019dd9b8-045d-703b-8dd7-e92aba3ba91b",
            "version": 1,
            "description": "How the deck ends. Required in 19/20 arcs. The exception (Sparkline) ends with new bliss which is functionally a resolution."
          },
          "alignedBlockIds": null,
          "matchConfidence": 60
        }
      ],
      "loops": [
        {
          "to": 100,
          "from": 96,
          "loop": {
            "name": "53_jobs_to_be_done",
            "slug": "53-jobs-to-be-done",
            "status": "active",
            "bestFor": "Product innovation, market entry, competitive positioning",
            "canonId": "019dd956-7b6c-7594-b5b3-eecbe0ab48e8",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Customer's Job -> Current Solutions (Hired/Fired) -> Unmet Needs -> Our Solution Fit",
            "description": "Reframe the problem around what the customer is trying to accomplish, not what they're buying",
            "familyLabel": null
          },
          "matchId": "019dd95a-08f8-7619-ac2e-9afebceb8b60",
          "evidence": "p97-99 repeat 'What's the job to be done?'; p96 'car-commerce to e-commerce' reframes the job",
          "position": 11,
          "objective": "Reframe ecommerce/advertising via JTBD lens to close",
          "confidence": 70,
          "extraction": {
            "at": "2026-04-29 13:07:29.779839+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 101,
      "type": "setup",
      "function": "transition",
      "rawType": "section_divider",
      "block": null,
      "metadata": {
        "slideType": "section_divider",
        "slideTypeCanon": {
          "name": "Section divider",
          "slug": "section_divider",
          "status": "active",
          "canonId": "019de52d-066a-7402-9554-6ae504999041",
          "version": 1,
          "description": null
        },
        "function": "transition",
        "functionCanon": {
          "name": "Transition",
          "slug": "transition",
          "status": "active",
          "canonId": "019de52d-1365-7149-92aa-66df859e75fd",
          "version": 1,
          "description": null
        },
        "density": "sparse",
        "densityScore": 3,
        "componentCount": 2,
        "textChars": 40,
        "nDataPoints": 0,
        "notes": null,
        "elementsJson": [
          "headline_text"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:35:45.711+00",
          "seconds": 2.003,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5e88-73ef-bd5d-853951586965/101",
        "deck": "/decks/019dd923-5e88-73ef-bd5d-853951586965",
        "deckAnchor": "/decks/019dd923-5e88-73ef-bd5d-853951586965#slide-101",
        "deckJson": "/decks/019dd923-5e88-73ef-bd5d-853951586965.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.016,
            "w": 0.212,
            "x": 0.748,
            "y": 0.908
          },
          "kind": "paragraph",
          "text": "Benedict Evans -- February 2023 102",
          "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 17:35:45.711+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "266abf6e-cd0b-4dda-8cee-93937c8e9fb5",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.085,
            "w": 0.155,
            "x": 0.202,
            "y": 0.265
          },
          "kind": "title",
          "text": "About",
          "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 17:35:45.711+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "155ccc73-bb48-428d-94af-7192f0e976d5",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [],
      "frameworks": [],
      "arcBeats": [],
      "loops": [],
      "locked": true
    },
    {
      "page": 102,
      "type": "appendix",
      "title": "This is an introductory slide for a presentation deck.",
      "function": "other",
      "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": "other",
        "functionCanon": {
          "name": "Other (fallback)",
          "slug": "other",
          "status": "active",
          "canonId": "019de52d-15e1-75bc-99dc-07732380e2ce",
          "version": 1,
          "description": null
        },
        "density": "balanced",
        "densityScore": 41,
        "componentCount": 5,
        "textChars": 528,
        "nDataPoints": 1,
        "notes": "This is an introductory slide for a presentation deck.",
        "elementsJson": [
          "paragraph"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:35:46.72+00",
          "seconds": 2.915,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5e88-73ef-bd5d-853951586965/102",
        "deck": "/decks/019dd923-5e88-73ef-bd5d-853951586965",
        "deckAnchor": "/decks/019dd923-5e88-73ef-bd5d-853951586965#slide-102",
        "deckJson": "/decks/019dd923-5e88-73ef-bd5d-853951586965.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "metric",
          "text": "newsletter subscribers: 175,000",
          "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-25 12:09:05+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-4e51-732b-a10f-71a92e6a9d4c",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.139,
            "w": 0.592,
            "x": 0.204,
            "y": 0.414
          },
          "kind": "paragraph",
          "text": "I've spent 20 years analysing mobile, media and technology, and worked in equity research, strategy, consulting and venture capital. I'm now an independent analyst. Mostly, that means trying to work out what questions to ask.",
          "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 17:35:46.72+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "892c5143-76c9-4b40-b85b-46f3f3729d39",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.078,
            "w": 0.592,
            "x": 0.204,
            "y": 0.614
          },
          "kind": "paragraph",
          "text": "I write essays about things I'm trying to understand, and a weekly newsletter with 175,000 subscribers, and give presentations pulling together these ideas.",
          "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 17:35:46.72+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "8e16579e-c21a-4df8-a5ab-d45e9d3f524c",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.033,
            "w": 0.275,
            "x": 0.204,
            "y": 0.772
          },
          "kind": "paragraph",
          "text": "For more, see www.ben-evans.com",
          "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 17:35:46.72+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "eef1fd76-f862-4ef9-a4b8-f1af5194e9d4",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.078,
            "w": 0.592,
            "x": 0.204,
            "y": 0.301
          },
          "kind": "title",
          "text": "What matters in tech? What's going on, what might it mean, and what will happen next?",
          "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 17:35:46.72+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "d33f07f6-b84a-4206-bacb-0cca36a2b101",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [],
      "frameworks": [],
      "arcBeats": [],
      "loops": [],
      "locked": true
    },
    {
      "page": 103,
      "type": "setup",
      "function": "summarize",
      "rawType": "closing_ask",
      "block": null,
      "metadata": {
        "slideType": "closing_ask",
        "slideTypeCanon": {
          "name": "Closing ask",
          "slug": "closing_ask",
          "status": "active",
          "canonId": "019de52d-0aa4-750f-8aa1-8d622dd99f5c",
          "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": 3,
        "componentCount": 2,
        "textChars": 55,
        "nDataPoints": 0,
        "notes": null,
        "elementsJson": [
          "headline_text"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:35:45.819+00",
          "seconds": 1.946,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5e88-73ef-bd5d-853951586965/103",
        "deck": "/decks/019dd923-5e88-73ef-bd5d-853951586965",
        "deckAnchor": "/decks/019dd923-5e88-73ef-bd5d-853951586965#slide-103",
        "deckJson": "/decks/019dd923-5e88-73ef-bd5d-853951586965.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.078,
            "w": 0.145,
            "x": 0.202,
            "y": 0.658
          },
          "kind": "paragraph",
          "text": "Benedict Evans\nFebruary 2023\nwww.ben-evans.com",
          "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 17:35:45.819+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "400c438c-aa99-4d01-aea0-9ebdcca98cc7",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.075,
            "w": 0.258,
            "x": 0.202,
            "y": 0.275
          },
          "kind": "title",
          "text": "Thank you",
          "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 17:35:45.819+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "86e5c8fd-51ef-4238-94e9-c10bfbf20608",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "Closing Techniques",
            "slug": "closing-techniques",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-af13-774b-a4fd-7db0a3a88d51",
            "version": 1,
            "bodyDocId": null,
            "description": "Strong endings: Callback, challenge, vision, clear CTA, memorable line",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Storyteller",
          "layer": "slide",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019dd95a-1b83-7130-933f-346efbc53f57",
          "evidence": "Final 'Thank you' slide",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 70,
          "extraction": {
            "at": "2026-04-29 13:07:34.53104+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 103,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Storytelling: the closing ask",
            "slug": "closing-ask",
            "status": "active",
            "bestFor": null,
            "canonId": "019df269-24e0-70ab-8dd9-983832c1c665",
            "version": 1,
            "bodyDocId": "019df269-24bc-7554-b88d-245127606b8d",
            "description": "The single most important slide in the deck — after the cover. The final",
            "familyLabel": "narrative-block",
            "categoryName": "Narrative & Transformation",
            "categorySlug": "narrative-transformation"
          },
          "agent": "storyteller",
          "layer": "slide",
          "agents": [
            "storyteller"
          ],
          "matchId": "5e7c0bac-d6a6-4ba1-a3d4-96785cb8c75a",
          "evidence": "This slide is a closing ask slide with a title 'Thank you' and a type 'closing_ask'.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.9,
          "extraction": {
            "at": "2026-07-16 21:59:16.222534+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 103,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [],
      "loops": [],
      "locked": true
    }
  ],
  "arcBeats": [
    {
      "from": 3,
      "to": 17,
      "label": "The Facts (What)",
      "description": "'End of free money' divider p3; macro data, layoffs, hiring perspective"
    },
    {
      "from": 18,
      "to": 69,
      "label": "The Implications (So What)",
      "description": "'The New Gatekeepers' divider p18; retail media, unbundling, brand reset"
    },
    {
      "from": 70,
      "to": 100,
      "label": "The Action (Now What)",
      "description": "'Dreams for the Future' p70; metaverse, generative AI bets, JTBD questions"
    }
  ],
  "loops": [
    {
      "from": 4,
      "to": 12,
      "label": "Pattern Hunter",
      "description": "Show macro slowdown across multiple indicators all reverting to trend"
    },
    {
      "from": 13,
      "to": 17,
      "label": "Myth Buster",
      "description": "Reframe layoff narrative with hiring context"
    },
    {
      "from": 19,
      "to": 25,
      "label": "Tale Two Worlds",
      "description": "Contrast decline of old gatekeepers with rise of new ones"
    },
    {
      "from": 26,
      "to": 39,
      "label": "Aha Moment",
      "description": "Reveal retail itself as the new advertising gatekeeper"
    },
    {
      "from": 40,
      "to": 44,
      "label": "Precedent",
      "description": "Use Anker/Shein as proof that new channels create new winners"
    },
    {
      "from": 45,
      "to": 50,
      "label": "Pattern Hunter",
      "description": "Show 'new channels + new tech = new SKUs' pattern across retail/cable/streaming"
    },
    {
      "from": 51,
      "to": 58,
      "label": "Before After",
      "description": "Show legacy media's decline and streaming/creator-economy displacement"
    },
    {
      "from": 59,
      "to": 69,
      "label": "Aha Moment",
      "description": "Land thesis: software unbundles every layer of the brand bundle"
    },
    {
      "from": 71,
      "to": 77,
      "label": "Maturity Curve",
      "description": "Position crypto/metaverse against the hype-cycle curve"
    },
    {
      "from": 78,
      "to": 91,
      "label": "Precedent",
      "description": "Argue generative AI is at the same 'cool demo / so what' moment as ImageNet 2013"
    },
    {
      "from": 96,
      "to": 100,
      "label": "Jobs To Be Done",
      "description": "Reframe ecommerce/advertising via JTBD lens to close"
    }
  ]
}