{
  "schemaVersion": "deck-intelligence.v1",
  "id": "019dd923-5efe-75c0-8dfe-fcabeaba112f",
  "slug": "9383c4e49a53e365",
  "title": "2023 Q1 Shareholder Deck",
  "subtitle": "Spotify",
  "author": "Spotify",
  "pageCount": 34,
  "kind": "consulting-deck",
  "orientation": "landscape",
  "aspectRatio": 1.777,
  "document": {
    "id": "019dd923-5efe-75c0-8dfe-fcabeaba112f",
    "slug": "9383c4e49a53e365",
    "title": "2023 Q1 Shareholder Deck",
    "rawTitle": "2023 Q1 Shareholder Deck",
    "authorId": "Spotify",
    "authorName": "Spotify",
    "authorDisplay": "Spotify",
    "kind": {
      "slug": "consulting-deck",
      "label": "Consulting deck"
    },
    "sourceType": {
      "slug": "strategy_consulting",
      "label": "Strategy consulting"
    },
    "fileName": "2023-Q1-Shareholder-Deck.pdf",
    "sourceUrl": null,
    "sourceDate": "2023-04-25 00:00:00",
    "presentationDate": null,
    "ingestedAt": "2026-04-27 02:45:12+00",
    "status": "ready",
    "pageCount": 34,
    "orientation": "landscape",
    "aspectRatio": 1.777,
    "targetCompany": null,
    "targetTicker": null,
    "metadata": {
      "local_root": "/tmp/legacy-images/9383c4e49a53e365",
      "origin_corpus": "consulting"
    }
  },
  "coverage": {
    "pageCount": 34,
    "pagesIndexed": 34,
    "pagesWithImages": 34,
    "pagesWithMetadata": 34,
    "imageCoveragePct": 100,
    "metadataCoveragePct": 100,
    "componentCount": 172,
    "chartCount": 17,
    "metricSlides": 0,
    "toolMatches": 76,
    "documentToolMatches": 0,
    "frameworkMatches": 1,
    "arcMatches": 2,
    "beatMatches": 8,
    "loopMatches": 5,
    "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": "019debb7-db60-744c-935c-b4df8368adfa",
        "evidence": "Earnings deck moves from facts (p3-15 KPI readout), to implications/strategic moves (p17-21 product), to action/outlook (p22-23).",
        "isPrimary": true,
        "confidence": 60,
        "extraction": {
          "at": "2026-05-03 02:43:08.082368+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        }
      },
      {
        "arc": {
          "name": "The Consultant's Gambit",
          "slug": "consultants-gambit",
          "status": "active",
          "bestFor": "Business cases, project proposals, strategic recommendations",
          "canonId": "019dd956-5e0a-73c8-b305-81c38c959e9c",
          "version": 1,
          "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
          "structure": "Situation & Context -> Problem & Complication -> Solution & Approach -> Evidence & Proof -> Impact & Next Steps",
          "description": null,
          "familyLabel": null,
          "categoryName": "Strategy & Business",
          "categorySlug": "strategy-business"
        },
        "matchId": "019debb7-dbef-713b-9a65-c3d3b3238ba0",
        "evidence": "Pyramid-style readout: situation (exec summary), evidence (KPIs), approach (product), next steps (outlook); weak complication beat.",
        "isPrimary": false,
        "confidence": 45,
        "extraction": {
          "at": "2026-05-03 02:43:08.082368+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        }
      }
    ],
    "beats": [
      {
        "to": 15,
        "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": "019debb7-db88-76cf-83a1-504ebba582d7",
        "matchId": "019debb7-db60-744c-935c-b4df8368adfa",
        "beatType": null,
        "evidence": "Exec summary + financial deep dive + user metrics — all data.",
        "position": 1,
        "isPrimaryArc": true,
        "parentBeatType": null,
        "alignedBlockIds": null,
        "matchConfidence": 60
      },
      {
        "to": 21,
        "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": 16,
        "name": "The Implications (So What)",
        "beatId": "019debb7-dbb1-748d-ae29-c73bbc35fca6",
        "matchId": "019debb7-db60-744c-935c-b4df8368adfa",
        "beatType": null,
        "evidence": "Product & Platform: AI DJ, redesigned UX, podcast/music wins.",
        "position": 2,
        "isPrimaryArc": true,
        "parentBeatType": null,
        "alignedBlockIds": null,
        "matchConfidence": 60
      },
      {
        "to": 23,
        "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": 22,
        "name": "The Action (Now What)",
        "beatId": "019debb7-dbcf-726a-8215-8935b78b20a8",
        "matchId": "019debb7-db60-744c-935c-b4df8368adfa",
        "beatType": null,
        "evidence": "Outlook section with explicit Q2 2023 forward guidance table.",
        "position": 3,
        "isPrimaryArc": true,
        "parentBeatType": null,
        "alignedBlockIds": null,
        "matchConfidence": 60
      },
      {
        "to": 5,
        "arc": {
          "name": "The Consultant's Gambit",
          "slug": "consultants-gambit",
          "status": "active",
          "bestFor": "Business cases, project proposals, strategic recommendations",
          "canonId": "019dd956-5e0a-73c8-b305-81c38c959e9c",
          "version": 1,
          "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
          "structure": "Situation & Context -> Problem & Complication -> Solution & Approach -> Evidence & Proof -> Impact & Next Steps",
          "description": null,
          "familyLabel": null,
          "categoryName": "Strategy & Business",
          "categorySlug": "strategy-business"
        },
        "from": 3,
        "name": "Situation & Context",
        "beatId": "019debb7-dc0e-74eb-a0d9-b36a2cfbcfb1",
        "matchId": "019debb7-dbef-713b-9a65-c3d3b3238ba0",
        "beatType": null,
        "evidence": "Executive summary plus actuals-vs-guidance frames the quarter.",
        "position": 1,
        "isPrimaryArc": false,
        "parentBeatType": null,
        "alignedBlockIds": null,
        "matchConfidence": 45
      },
      {
        "to": 11,
        "arc": {
          "name": "The Consultant's Gambit",
          "slug": "consultants-gambit",
          "status": "active",
          "bestFor": "Business cases, project proposals, strategic recommendations",
          "canonId": "019dd956-5e0a-73c8-b305-81c38c959e9c",
          "version": 1,
          "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
          "structure": "Situation & Context -> Problem & Complication -> Solution & Approach -> Evidence & Proof -> Impact & Next Steps",
          "description": null,
          "familyLabel": null,
          "categoryName": "Strategy & Business",
          "categorySlug": "strategy-business"
        },
        "from": 10,
        "name": "Problem & Complication",
        "beatId": "019debb7-dc2c-70b9-832a-3190262dd4ab",
        "matchId": "019debb7-dbef-713b-9a65-c3d3b3238ba0",
        "beatType": null,
        "evidence": "Gross margin flat and opex up 36% Y/Y are the friction points.",
        "position": 2,
        "isPrimaryArc": false,
        "parentBeatType": null,
        "alignedBlockIds": null,
        "matchConfidence": 45
      },
      {
        "to": 21,
        "arc": {
          "name": "The Consultant's Gambit",
          "slug": "consultants-gambit",
          "status": "active",
          "bestFor": "Business cases, project proposals, strategic recommendations",
          "canonId": "019dd956-5e0a-73c8-b305-81c38c959e9c",
          "version": 1,
          "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
          "structure": "Situation & Context -> Problem & Complication -> Solution & Approach -> Evidence & Proof -> Impact & Next Steps",
          "description": null,
          "familyLabel": null,
          "categoryName": "Strategy & Business",
          "categorySlug": "strategy-business"
        },
        "from": 17,
        "name": "Solution & Approach",
        "beatId": "019debb7-dc4a-726b-82d6-547d149b9bf1",
        "matchId": "019debb7-dbef-713b-9a65-c3d3b3238ba0",
        "beatType": null,
        "evidence": "Product investments: AI DJ, UX redesign, podcast and music initiatives.",
        "position": 3,
        "isPrimaryArc": false,
        "parentBeatType": null,
        "alignedBlockIds": null,
        "matchConfidence": 45
      },
      {
        "to": 15,
        "arc": {
          "name": "The Consultant's Gambit",
          "slug": "consultants-gambit",
          "status": "active",
          "bestFor": "Business cases, project proposals, strategic recommendations",
          "canonId": "019dd956-5e0a-73c8-b305-81c38c959e9c",
          "version": 1,
          "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
          "structure": "Situation & Context -> Problem & Complication -> Solution & Approach -> Evidence & Proof -> Impact & Next Steps",
          "description": null,
          "familyLabel": null,
          "categoryName": "Strategy & Business",
          "categorySlug": "strategy-business"
        },
        "from": 7,
        "name": "Evidence & Proof",
        "beatId": "019debb7-dc69-707d-bce2-501100dc09ab",
        "matchId": "019debb7-dbef-713b-9a65-c3d3b3238ba0",
        "beatType": null,
        "evidence": "Financial detail charts and user growth charts substantiate claims.",
        "position": 4,
        "isPrimaryArc": false,
        "parentBeatType": null,
        "alignedBlockIds": null,
        "matchConfidence": 45
      },
      {
        "to": 23,
        "arc": {
          "name": "The Consultant's Gambit",
          "slug": "consultants-gambit",
          "status": "active",
          "bestFor": "Business cases, project proposals, strategic recommendations",
          "canonId": "019dd956-5e0a-73c8-b305-81c38c959e9c",
          "version": 1,
          "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
          "structure": "Situation & Context -> Problem & Complication -> Solution & Approach -> Evidence & Proof -> Impact & Next Steps",
          "description": null,
          "familyLabel": null,
          "categoryName": "Strategy & Business",
          "categorySlug": "strategy-business"
        },
        "from": 22,
        "name": "Impact & Next Steps",
        "beatId": "019debb7-dc88-7779-ac8b-b96ffc2b1fa1",
        "matchId": "019debb7-dbef-713b-9a65-c3d3b3238ba0",
        "beatType": null,
        "evidence": "Q2'23 forward guidance table on MAUs, revenue, margin, op. income.",
        "position": 5,
        "isPrimaryArc": false,
        "parentBeatType": null,
        "alignedBlockIds": null,
        "matchConfidence": 45
      }
    ],
    "loops": [
      {
        "to": 5,
        "from": 3,
        "loop": {
          "name": "41_so_what_cascade",
          "slug": "41-so-what-cascade",
          "status": "active",
          "bestFor": "Data presentations, executive summaries, driving to recommendations",
          "canonId": "019dd956-769f-7208-afbc-f28985c6f4fb",
          "version": 1,
          "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
          "structure": "The Data -> So What? (Insight 1) -> So What? (Insight 2) -> So What? (The Action)",
          "description": "Chain insights together, each answering 'so what?' until you reach the actionable conclusion",
          "familyLabel": null,
          "categoryName": "Consulting Framework",
          "categorySlug": "consulting-framework"
        },
        "matchId": "019debb7-dca7-7022-865a-68bd1c633811",
        "evidence": "p3 callout 'KPIs surpassed expectations' → p4 bullet highlights → p5 actuals vs guidance.",
        "position": 1,
        "objective": "Lead with insight, then bullet highlights, then guidance comparison",
        "confidence": 65,
        "extraction": {
          "at": "2026-05-03 02:43:08.082368+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        }
      },
      {
        "to": 12,
        "from": 6,
        "loop": {
          "name": "40_mece_breakdown",
          "slug": "40-mece-breakdown",
          "status": "active",
          "bestFor": "Problem structuring, ensuring completeness, strategic analysis",
          "canonId": "019dd956-763c-765e-8b68-6ee3ae1ef184",
          "version": 1,
          "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
          "structure": "The Whole -> Category A (distinct) -> Category B (distinct) -> Category C (distinct) -> Complete Coverage",
          "description": "Divide a complex topic into mutually exclusive, collectively exhaustive categories",
          "familyLabel": null,
          "categoryName": "Consulting Framework",
          "categorySlug": "consulting-framework"
        },
        "matchId": "019debb7-dccd-725b-ae33-07db587c8b3a",
        "evidence": "Financial Summary divider, summary table, then revenue, gross margin, opex, FCF — non-overlapping P&L slices.",
        "position": 2,
        "objective": "Walk through finances by MECE buckets",
        "confidence": 75,
        "extraction": {
          "at": "2026-05-03 02:43:08.082368+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        }
      },
      {
        "to": 15,
        "from": 13,
        "loop": {
          "name": "34_segmentation_split",
          "slug": "34-segmentation-split",
          "status": "active",
          "bestFor": "Customer analysis, market research, resource allocation",
          "canonId": "019dd956-7398-77a8-9a5f-2e4d39589f42",
          "version": 1,
          "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
          "structure": "The Aggregate View -> Segment A Behavior -> Segment B Behavior -> The Insight in the Difference",
          "description": "Divide a whole into meaningful segments to reveal hidden patterns",
          "familyLabel": null,
          "categoryName": "Consulting Framework",
          "categorySlug": "consulting-framework"
        },
        "matchId": "019debb7-dcec-733f-95bb-392fd221a81e",
        "evidence": "Stacked bar charts for MAUs and Premium Subscribers segmented by Europe / NA / LatAm / RoW.",
        "position": 3,
        "objective": "Show user growth split by region",
        "confidence": 80,
        "extraction": {
          "at": "2026-05-03 02:43:08.082368+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        }
      },
      {
        "to": 21,
        "from": 16,
        "loop": {
          "name": "33_build_up",
          "slug": "33-build-up",
          "status": "active",
          "bestFor": "Pricing justification, cost estimation, market sizing",
          "canonId": "019dd956-733a-746e-88fd-04b2e4b51b61",
          "version": 1,
          "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
          "structure": "The Base -> Add Component A -> Add Component B -> Add Component C -> The Total",
          "description": "Start from zero and add components to arrive at a total",
          "familyLabel": null,
          "categoryName": "Consulting Framework",
          "categorySlug": "consulting-framework"
        },
        "matchId": "019debb7-dd0b-72f8-a62c-3175bc62de92",
        "evidence": "AI DJ + Stream On creator initiatives + UX redesign + podcasting + music wins assemble the platform story.",
        "position": 4,
        "objective": "Stack up product platform components",
        "confidence": 55,
        "extraction": {
          "at": "2026-05-03 02:43:08.082368+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        }
      },
      {
        "to": 23,
        "from": 22,
        "loop": {
          "name": "24_time_machine",
          "slug": "24-time-machine",
          "status": "active",
          "bestFor": "Vision casting, long-term strategy, investment pitches",
          "canonId": "019dd956-6f7f-70b2-b087-a16fe20515a7",
          "version": 1,
          "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
          "structure": "Fast Forward to Success -> What Made It Possible -> Back to Today's Decision",
          "description": "Transport the audience to a future state where your solution has already succeeded",
          "familyLabel": null,
          "categoryName": "Vision",
          "categorySlug": "vision"
        },
        "matchId": "019debb7-dd2b-753a-ae93-13a343ec8fea",
        "evidence": "Outlook divider then explicit Q2'23 forward guidance table.",
        "position": 5,
        "objective": "Project forward to Q2 outlook",
        "confidence": 50,
        "extraction": {
          "at": "2026-05-03 02:43:08.082368+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        }
      }
    ],
    "tools": [
      {
        "tool": {
          "name": "Pyramid Principle",
          "slug": "pyramid-principle",
          "status": "active",
          "bestFor": "When the document has a single governing decision or recommendation the reader is asked to accept, and the case can be decomposed into a small number of clean groups. Strategy decks, board memos, investment committee papers.",
          "canonId": "019dd956-7cbd-7219-a477-c871e2bc1aff",
          "version": 1,
          "bodyDocId": "88b6ac56-b880-46f9-8621-ef3491ab6235",
          "description": "Lead with the answer; group three to five MECE supports beneath it; recurse one level down. Top-down hierarchical structure for any document with a single recommendation.",
          "familyLabel": null,
          "categoryName": "Block",
          "categorySlug": "block"
        },
        "agent": "Architect",
        "layer": "block",
        "agents": [
          "Architect"
        ],
        "matchId": "019debb7-de49-7789-b53e-9fd56265723e",
        "evidence": "Answer-first exec summary anchors the deck.",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": "When the document has a single governing decision or recommendation the reader is asked to accept, and the case can be decomposed into a small number of clean groups. Strategy decks, board memos, investment committee papers.",
        "confidence": 70,
        "extraction": {
          "at": "2026-05-03 02:43:08.082368+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 3,
        "whyItWorks": "Solves the two failure modes of expert communication at once: (1) the long climb where readers wait pages for the answer, and (2) logical mush from non-MECE groupings. Progressive disclosure lets a reader stop at any depth and get the right information.",
        "antipattern": "Chronological structure (\"what we did, what we found, what we conclude\") instead of logical hierarchy. Top-of-pyramid that is a topic (\"strategic options\") instead of an answer (\"pursue Option B because...\"). Non-MECE supports that overlap or fail to cover the universe.",
        "cardinality": null,
        "narrativePurpose": "Transfer conviction with minimum reader effort by mirroring how decision-makers consume information: answer first, scaffolding behind."
      },
      {
        "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": "019debb7-dea8-7547-b940-ee08bcf7972f",
        "evidence": "Highlights grouped in tight bullet sets.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 50,
        "extraction": {
          "at": "2026-05-03 02:43:08.082368+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 4,
        "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": "019debb7-e35f-716f-a334-2bbac4611f94",
        "evidence": "Two phone clusters imply old vs new experience.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 50,
        "extraction": {
          "at": "2026-05-03 02:43:08.082368+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 19,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Chunking",
          "slug": "chunking",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-abab-72ce-b64c-2924cc83cf39",
          "version": 1,
          "bodyDocId": null,
          "description": "Information grouped into chunks is remembered better - structure content in digestible units",
          "familyLabel": null,
          "categoryName": "Loop",
          "categorySlug": "loop"
        },
        "agent": "Architect",
        "layer": "loop",
        "agents": [
          "Architect"
        ],
        "matchId": "019debb7-dda4-7768-be13-e5b878c452c2",
        "evidence": "TOC chunks deck into 4 named sections.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 65,
        "extraction": {
          "at": "2026-05-03 02:43:08.082368+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 2,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Chunking",
          "slug": "chunking",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-abab-72ce-b64c-2924cc83cf39",
          "version": 1,
          "bodyDocId": null,
          "description": "Information grouped into chunks is remembered better - structure content in digestible units",
          "familyLabel": null,
          "categoryName": "Loop",
          "categorySlug": "loop"
        },
        "agent": "Architect",
        "layer": "loop",
        "agents": [
          "Architect"
        ],
        "matchId": "019debb7-de6b-7293-8bce-6bed1de2cf87",
        "evidence": "Performance broken into discrete bullet groups.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 70,
        "extraction": {
          "at": "2026-05-03 02:43:08.082368+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 4,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Chunking",
          "slug": "chunking",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-abab-72ce-b64c-2924cc83cf39",
          "version": 1,
          "bodyDocId": null,
          "description": "Information grouped into chunks is remembered better - structure content in digestible units",
          "familyLabel": null,
          "categoryName": "Loop",
          "categorySlug": "loop"
        },
        "agent": "Architect",
        "layer": "loop",
        "agents": [
          "Architect"
        ],
        "matchId": "019debb7-df66-70e8-b800-b518665ecf59",
        "evidence": "Financial story chunked into revenue, profit, FCF sections.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 70,
        "extraction": {
          "at": "2026-05-03 02:43:08.082368+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 8,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Chunking",
          "slug": "chunking",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-abab-72ce-b64c-2924cc83cf39",
          "version": 1,
          "bodyDocId": null,
          "description": "Information grouped into chunks is remembered better - structure content in digestible units",
          "familyLabel": null,
          "categoryName": "Loop",
          "categorySlug": "loop"
        },
        "agent": "Architect",
        "layer": "loop",
        "agents": [
          "Architect"
        ],
        "matchId": "019debb7-e322-72b8-ab11-deb010e4d8eb",
        "evidence": "Four creator initiatives chunked in equal grid cells.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 70,
        "extraction": {
          "at": "2026-05-03 02:43:08.082368+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 18,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Chunking",
          "slug": "chunking",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-abab-72ce-b64c-2924cc83cf39",
          "version": 1,
          "bodyDocId": null,
          "description": "Information grouped into chunks is remembered better - structure content in digestible units",
          "familyLabel": null,
          "categoryName": "Loop",
          "categorySlug": "loop"
        },
        "agent": "Architect",
        "layer": "loop",
        "agents": [
          "Architect"
        ],
        "matchId": "019debb7-e3bd-721c-8e74-b8381c8e4371",
        "evidence": "Podcast wins chunked into equal grid cells.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 65,
        "extraction": {
          "at": "2026-05-03 02:43:08.082368+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 20,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Chunking",
          "slug": "chunking",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-abab-72ce-b64c-2924cc83cf39",
          "version": 1,
          "bodyDocId": null,
          "description": "Information grouped into chunks is remembered better - structure content in digestible units",
          "familyLabel": null,
          "categoryName": "Loop",
          "categorySlug": "loop"
        },
        "agent": "Architect",
        "layer": "loop",
        "agents": [
          "Architect"
        ],
        "matchId": "019debb7-e3f9-7428-b960-fbfe6be6ef42",
        "evidence": "Music milestones chunked into equal grid cells.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 65,
        "extraction": {
          "at": "2026-05-03 02:43:08.082368+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 21,
        "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": "7cce5747-e7f9-45e6-ace1-ccc9fdfa9d4d",
        "evidence": "Q1 2023 Update, April 25th, 2023, Spotify logo",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.9,
        "extraction": {
          "at": "2026-07-16 22:05:23.811921+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": "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": "019debb7-dd4a-72db-8603-351dd967c41c",
        "evidence": "Large title, sparse cover layout.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 70,
        "extraction": {
          "at": "2026-05-03 02:43:08.082368+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 1,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "White Space (Negative Space)",
          "slug": "white-space-negative-space",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-b6e3-72de-bd7e-8cc963390837",
          "version": 1,
          "bodyDocId": null,
          "description": "Using empty space to reduce cognitive load and create focus",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Designer",
        "layer": "slide",
        "agents": [
          "Designer"
        ],
        "matchId": "019debb7-dd84-741e-832e-86ef4e9154b3",
        "evidence": "Sparse cover with significant negative space.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 65,
        "extraction": {
          "at": "2026-05-03 02:43:08.082368+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 1,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Typography Hierarchy",
          "slug": "typography-hierarchy",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-ba98-77ab-9513-ff2344da8bc7",
          "version": 1,
          "bodyDocId": null,
          "description": "Using font size, weight, and style to create reading order",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Designer",
        "layer": "slide",
        "agents": [
          "Designer"
        ],
        "matchId": "019debb7-ddc6-738b-99e5-708a5ad2dda1",
        "evidence": "Title vs section list type hierarchy.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 60,
        "extraction": {
          "at": "2026-05-03 02:43:08.082368+00",
          "model": "claude-cli",
          "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": "019debb7-dde6-761a-a3d4-fb242c540452",
        "evidence": "Lead callout states 'KPIs surpassed expectations'.",
        "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-05-03 02:43:08.082368+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 3,
        "whyItWorks": "Solves two failure modes at once. (1) The buried claim: action titles place the conclusion on the page before any analysis is read, so a busy reader doesn't reverse-engineer it from the chart. (2) The spineless deck: because each title is a claim, slides have to ladder up to the governing thought; logical gaps become visible as topic-shaped titles in a sequence that no longer reads as a story.",
        "antipattern": "Topic labels disguised as titles — Volume by quarter, Key findings, Pricing strategy, Margins have been impacted. No verb, or a passive verb with no agent, or a fact (Revenue grew 12%) without the so-what. Also: titles that overreach the chart's evidence, multi-claim X-grew-but-Y-fell welded titles, and mechanical repetition of the same X-drove-Y template across the deck.",
        "cardinality": null,
        "narrativePurpose": "Forces the deck to carry its argument in the title bar so a senior reader can extract the recommendation without opening a single slide; converts a binder of topics into a navigable pyramid where every slide is a node defending the apex."
      },
      {
        "tool": {
          "name": "Color Strategy",
          "slug": "color-strategy",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-b202-77cf-8a6e-f445b08c0fd3",
          "version": 1,
          "bodyDocId": null,
          "description": "Using color for emphasis, categories, sentiment, and hierarchy",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Designer",
        "layer": "slide",
        "agents": [
          "Designer"
        ],
        "matchId": "019debb7-de29-773a-8777-3968171b29ef",
        "evidence": "Q1 2023 column highlighted green vs neutral prior periods.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 80,
        "extraction": {
          "at": "2026-05-03 02:43:08.082368+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 3,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Executive summary",
          "slug": "executive-summary",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd9e1-4b63-72d5-9734-da757d91ca61",
          "version": 1,
          "bodyDocId": null,
          "description": "A condensed view of the entire argument on a single slide / block.",
          "familyLabel": null,
          "categoryName": null,
          "categorySlug": null
        },
        "agent": null,
        "layer": "slide",
        "agents": null,
        "matchId": "6ac2073d-e569-47e6-ae0f-bbc910f63bcd",
        "evidence": "The strength we saw exiting 2022 continued into 2023... USER & FINANCIAL SUMMARY table",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.9,
        "extraction": {
          "at": "2026-07-16 22:05:23.940554+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 3,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": "common",
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "So What? Test",
          "slug": "so-what-test",
          "status": "active",
          "bestFor": "On every slide carrying a chart, number, list, or finding intended to inform a decision; whenever a draft title is descriptive rather than directive; whenever the deck will circulate without its author.",
          "canonId": "019dd956-acd2-76f8-b59a-9bf15a89f10a",
          "version": 1,
          "bodyDocId": "fec04b06-b2f1-432b-a97b-916dc7563f64",
          "description": "The recursive editorial discipline of asking so-what of every slide, chart, and statement until the answer is an implication for the audience — that final answer becomes the slide's title; the chain becomes its body.",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Architect",
        "layer": "slide",
        "agents": [
          "Architect"
        ],
        "matchId": "019debb7-de08-779f-9f23-7a76c56199b2",
        "evidence": "Narrative resolves with 'encouraged by strong start to 2023'.",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": "On every slide carrying a chart, number, list, or finding intended to inform a decision; whenever a draft title is descriptive rather than directive; whenever the deck will circulate without its author.",
        "confidence": 70,
        "extraction": {
          "at": "2026-05-03 02:43:08.082368+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 3,
        "whyItWorks": "Solves the two failure modes of analytical communication at once: stopping at description (analyst-confidence problem) and leaving insight stranded in the analyst's head (translation problem). The recursion is what guarantees the implication makes it into ink.",
        "antipattern": "Stopping at the first tighter description (still a fact, not an implication), regressing past the audience's decision space into philosophy, smuggling the so-what into speaker notes, or re-using an implication aimed at a previous audience.",
        "cardinality": null,
        "narrativePurpose": "Forces every analytical artefact to close the gap between fact and decision, so the reader holds the recommendation by reading titles alone rather than reconstructing the analyst's mental model from raw evidence."
      },
      {
        "tool": {
          "name": "Action Titles",
          "slug": "action-titles",
          "status": "active",
          "bestFor": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
          "canonId": "019dd956-ac70-700b-a608-ba58e78f5dcc",
          "version": 1,
          "bodyDocId": "816dad3c-9983-41c1-a86e-978ebd582841",
          "description": "The McKinsey-bred discipline of writing every slide title as a complete declarative sentence with a verb and an insight, not a topic label. Each title is a sub-claim that ladders up to the deck's governing thought; read in sequence, the titles reconstruct the executive summary.",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Architect",
        "layer": "slide",
        "agents": [
          "Architect"
        ],
        "matchId": "019debb7-de89-749b-b432-df2eb5863a7e",
        "evidence": "Title 'Key Highlights' summarizes the takeaways.",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
        "confidence": 60,
        "extraction": {
          "at": "2026-05-03 02:43:08.082368+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 4,
        "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": "List presentation",
          "slug": "list-presentation",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd9e1-4ef7-777d-ba68-9074c2b3bcf1",
          "version": 1,
          "bodyDocId": null,
          "description": "Bulleted, numbered, or checklist enumerations.",
          "familyLabel": null,
          "categoryName": null,
          "categorySlug": null
        },
        "agent": null,
        "layer": "slide",
        "agents": null,
        "matchId": "a713e0cb-4221-42b5-8e7a-e4b82e7c5784",
        "evidence": "List of bullet points: 14% Y/Y Revenue growth, Record high Q1 MAU growth, etc.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.8,
        "extraction": {
          "at": "2026-07-16 22:05:24.025046+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 4,
        "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": "019debb7-dec8-715f-befb-c76bce26bf33",
        "evidence": "Comparison table chosen to show actuals vs guidance side-by-side.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 65,
        "extraction": {
          "at": "2026-05-03 02:43:08.082368+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 5,
        "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": "019debb7-dee9-715e-ab45-36a612e6723e",
        "evidence": "Highlight cells call out beats vs guidance.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 70,
        "extraction": {
          "at": "2026-05-03 02:43:08.082368+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 5,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Typography Hierarchy",
          "slug": "typography-hierarchy",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-ba98-77ab-9513-ff2344da8bc7",
          "version": 1,
          "bodyDocId": null,
          "description": "Using font size, weight, and style to create reading order",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Designer",
        "layer": "slide",
        "agents": [
          "Designer"
        ],
        "matchId": "019debb7-df07-7084-a32f-357f8bfab167",
        "evidence": "Section divider with large heading typography.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 70,
        "extraction": {
          "at": "2026-05-03 02:43:08.082368+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 6,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Chart Selection Guide",
          "slug": "chart-selection-guide",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-b1a0-700b-ba17-0e16c4d5bcae",
          "version": 1,
          "bodyDocId": null,
          "description": "Choosing the right chart type for your data and message",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Designer",
        "layer": "slide",
        "agents": [
          "Designer"
        ],
        "matchId": "019debb7-df26-7543-942b-f06a185b9d41",
        "evidence": "Five-quarter trended financial table format.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 70,
        "extraction": {
          "at": "2026-05-03 02:43:08.082368+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 7,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Data-Ink Ratio",
          "slug": "data-ink-ratio",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-afc8-70da-b378-92834d36fde6",
          "version": 1,
          "bodyDocId": null,
          "description": "Maximize data, minimize non-data ink - remove chartjunk and decoration",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Designer",
        "layer": "slide",
        "agents": [
          "Designer"
        ],
        "matchId": "019debb7-df46-70dd-9b9b-8b10d18bc53d",
        "evidence": "Dense numerical table, minimal decoration.",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": null,
        "confidence": 55,
        "extraction": {
          "at": "2026-05-03 02:43:08.082368+00",
          "model": "claude-cli",
          "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": "019debb7-df84-75dd-8162-1b11e1ecac98",
        "evidence": "Heading + bullet structure summarizes drivers.",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
        "confidence": 55,
        "extraction": {
          "at": "2026-05-03 02:43:08.082368+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 8,
        "whyItWorks": "Solves two failure modes at once. (1) The buried claim: action titles place the conclusion on the page before any analysis is read, so a busy reader doesn't reverse-engineer it from the chart. (2) The spineless deck: because each title is a claim, slides have to ladder up to the governing thought; logical gaps become visible as topic-shaped titles in a sequence that no longer reads as a story.",
        "antipattern": "Topic labels disguised as titles — Volume by quarter, Key findings, Pricing strategy, Margins have been impacted. No verb, or a passive verb with no agent, or a fact (Revenue grew 12%) without the so-what. Also: titles that overreach the chart's evidence, multi-claim X-grew-but-Y-fell welded titles, and mechanical repetition of the same X-drove-Y template across the deck.",
        "cardinality": null,
        "narrativePurpose": "Forces the deck to carry its argument in the title bar so a senior reader can extract the recommendation without opening a single slide; converts a binder of topics into a navigable pyramid where every slide is a node defending the apex."
      },
      {
        "tool": {
          "name": "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": "019debb7-dfa6-750d-ba14-148b310ffe3f",
        "evidence": "Callout quotes Premium Revenue +14% Y/Y growth 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": 75,
        "extraction": {
          "at": "2026-05-03 02:43:08.082368+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 9,
        "whyItWorks": "Solves two failure modes at once. (1) The buried claim: action titles place the conclusion on the page before any analysis is read, so a busy reader doesn't reverse-engineer it from the chart. (2) The spineless deck: because each title is a claim, slides have to ladder up to the governing thought; logical gaps become visible as topic-shaped titles in a sequence that no longer reads as a story.",
        "antipattern": "Topic labels disguised as titles — Volume by quarter, Key findings, Pricing strategy, Margins have been impacted. No verb, or a passive verb with no agent, or a fact (Revenue grew 12%) without the so-what. Also: titles that overreach the chart's evidence, multi-claim X-grew-but-Y-fell welded titles, and mechanical repetition of the same X-drove-Y template across the deck.",
        "cardinality": null,
        "narrativePurpose": "Forces the deck to carry its argument in the title bar so a senior reader can extract the recommendation without opening a single slide; converts a binder of topics into a navigable pyramid where every slide is a node defending the apex."
      },
      {
        "tool": {
          "name": "Annotation",
          "slug": "annotation",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-b5b9-7668-bf0e-3af99823ec5c",
          "version": 1,
          "bodyDocId": null,
          "description": "Adding explanatory labels to highlight key data points",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Designer",
        "layer": "slide",
        "agents": [
          "Designer"
        ],
        "matchId": "019debb7-dfe3-708b-bc07-c3a7afa5ec82",
        "evidence": "Per-bar value labels and footnotes annotate the chart.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 65,
        "extraction": {
          "at": "2026-05-03 02:43:08.082368+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 9,
        "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": "019debb7-dfc5-7758-9cf5-65f7d7d2f815",
        "evidence": "Combo bar+line charts pair revenue and ARPU.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 80,
        "extraction": {
          "at": "2026-05-03 02:43:08.082368+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 9,
        "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": "019debb7-e004-76e9-a032-89482d32ca97",
        "evidence": "Brand green and blue distinguish series cleanly.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 70,
        "extraction": {
          "at": "2026-05-03 02:43:08.082368+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 9,
        "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": "b7fd60a5-baad-4eb7-a083-e5b654fa4784",
        "evidence": "not clear from the text, but potentially related to revenue growth",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.5,
        "extraction": {
          "at": "2026-07-16 22:05:18.629238+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": "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": "019debb7-e022-7489-ac99-e02073b7eb8b",
        "evidence": "Sub-headline 'Marketplace and podcasting benefits offset by higher Other Cost of 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-05-03 02:43:08.082368+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 10,
        "whyItWorks": "Solves two failure modes at once. (1) The buried claim: action titles place the conclusion on the page before any analysis is read, so a busy reader doesn't reverse-engineer it from the chart. (2) The spineless deck: because each title is a claim, slides have to ladder up to the governing thought; logical gaps become visible as topic-shaped titles in a sequence that no longer reads as a story.",
        "antipattern": "Topic labels disguised as titles — Volume by quarter, Key findings, Pricing strategy, Margins have been impacted. No verb, or a passive verb with no agent, or a fact (Revenue grew 12%) without the so-what. Also: titles that overreach the chart's evidence, multi-claim X-grew-but-Y-fell welded titles, and mechanical repetition of the same X-drove-Y template across the deck.",
        "cardinality": null,
        "narrativePurpose": "Forces the deck to carry its argument in the title bar so a senior reader can extract the recommendation without opening a single slide; converts a binder of topics into a navigable pyramid where every slide is a node defending the apex."
      },
      {
        "tool": {
          "name": "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": "019debb7-e060-77cf-a3f0-9ce70e75c72a",
        "evidence": "Quarterly margin trend lines for total/Premium/Ad-Supported.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 70,
        "extraction": {
          "at": "2026-05-03 02:43:08.082368+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 10,
        "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": "019debb7-e07e-7249-93c7-02fc7a11d183",
        "evidence": "Series differentiated by consistent palette.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 60,
        "extraction": {
          "at": "2026-05-03 02:43:08.082368+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 10,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "So What? Test",
          "slug": "so-what-test",
          "status": "active",
          "bestFor": "On every slide carrying a chart, number, list, or finding intended to inform a decision; whenever a draft title is descriptive rather than directive; whenever the deck will circulate without its author.",
          "canonId": "019dd956-acd2-76f8-b59a-9bf15a89f10a",
          "version": 1,
          "bodyDocId": "fec04b06-b2f1-432b-a97b-916dc7563f64",
          "description": "The recursive editorial discipline of asking so-what of every slide, chart, and statement until the answer is an implication for the audience — that final answer becomes the slide's title; the chain becomes its body.",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Architect",
        "layer": "slide",
        "agents": [
          "Architect"
        ],
        "matchId": "019debb7-e040-73d4-aa18-90bd0c700616",
        "evidence": "Title delivers the so-what about margin drivers.",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": "On every slide carrying a chart, number, list, or finding intended to inform a decision; whenever a draft title is descriptive rather than directive; whenever the deck will circulate without its author.",
        "confidence": 75,
        "extraction": {
          "at": "2026-05-03 02:43:08.082368+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 10,
        "whyItWorks": "Solves the two failure modes of analytical communication at once: stopping at description (analyst-confidence problem) and leaving insight stranded in the analyst's head (translation problem). The recursion is what guarantees the implication makes it into ink.",
        "antipattern": "Stopping at the first tighter description (still a fact, not an implication), regressing past the audience's decision space into philosophy, smuggling the so-what into speaker notes, or re-using an implication aimed at a previous audience.",
        "cardinality": null,
        "narrativePurpose": "Forces every analytical artefact to close the gap between fact and decision, so the reader holds the recommendation by reading titles alone rather than reconstructing the analyst's mental model from raw evidence."
      },
      {
        "tool": {
          "name": "Action Titles",
          "slug": "action-titles",
          "status": "active",
          "bestFor": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
          "canonId": "019dd956-ac70-700b-a608-ba58e78f5dcc",
          "version": 1,
          "bodyDocId": "816dad3c-9983-41c1-a86e-978ebd582841",
          "description": "The McKinsey-bred discipline of writing every slide title as a complete declarative sentence with a verb and an insight, not a topic label. Each title is a sub-claim that ladders up to the deck's governing thought; read in sequence, the titles reconstruct the executive summary.",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Architect",
        "layer": "slide",
        "agents": [
          "Architect"
        ],
        "matchId": "019debb7-e09c-77c2-9abc-2ec99fe3b38b",
        "evidence": "Sub-headline 'Primarily driven by residual headcount 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": 85,
        "extraction": {
          "at": "2026-05-03 02:43:08.082368+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 11,
        "whyItWorks": "Solves two failure modes at once. (1) The buried claim: action titles place the conclusion on the page before any analysis is read, so a busy reader doesn't reverse-engineer it from the chart. (2) The spineless deck: because each title is a claim, slides have to ladder up to the governing thought; logical gaps become visible as topic-shaped titles in a sequence that no longer reads as a story.",
        "antipattern": "Topic labels disguised as titles — Volume by quarter, Key findings, Pricing strategy, Margins have been impacted. No verb, or a passive verb with no agent, or a fact (Revenue grew 12%) without the so-what. Also: titles that overreach the chart's evidence, multi-claim X-grew-but-Y-fell welded titles, and mechanical repetition of the same X-drove-Y template across the deck.",
        "cardinality": null,
        "narrativePurpose": "Forces the deck to carry its argument in the title bar so a senior reader can extract the recommendation without opening a single slide; converts a binder of topics into a navigable pyramid where every slide is a node defending the apex."
      },
      {
        "tool": {
          "name": "Annotation",
          "slug": "annotation",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-b5b9-7668-bf0e-3af99823ec5c",
          "version": 1,
          "bodyDocId": null,
          "description": "Adding explanatory labels to highlight key data points",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Designer",
        "layer": "slide",
        "agents": [
          "Designer"
        ],
        "matchId": "019debb7-e0d9-756a-aa8d-6652f0c0ebdf",
        "evidence": "Each waterfall bar labelled with %, plus bar values on trend.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 80,
        "extraction": {
          "at": "2026-05-03 02:43:08.082368+00",
          "model": "claude-cli",
          "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": "019debb7-e0b9-7460-830c-1777938e8fbf",
        "evidence": "Trend chart plus waterfall picked to attribute drivers.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 80,
        "extraction": {
          "at": "2026-05-03 02:43:08.082368+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 11,
        "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": "019debb7-e0f7-710a-bf93-e347a56b3cad",
        "evidence": "Purple totals vs green drivers in waterfall.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 70,
        "extraction": {
          "at": "2026-05-03 02:43:08.082368+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 11,
        "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": "d6e8d77c-1263-4dd0-8d79-1cb51e156d4d",
        "evidence": "Items Affecting Operating Expense Growth Y/Y In Q1'23",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.8,
        "extraction": {
          "at": "2026-07-16 22:05:18.745643+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": "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": "019debb7-e115-723e-9e34-418d8d3c5000",
        "evidence": "Sub-headline 'Building and sustaining a strong balance sheet'.",
        "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-05-03 02:43:08.082368+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 12,
        "whyItWorks": "Solves two failure modes at once. (1) The buried claim: action titles place the conclusion on the page before any analysis is read, so a busy reader doesn't reverse-engineer it from the chart. (2) The spineless deck: because each title is a claim, slides have to ladder up to the governing thought; logical gaps become visible as topic-shaped titles in a sequence that no longer reads as a story.",
        "antipattern": "Topic labels disguised as titles — Volume by quarter, Key findings, Pricing strategy, Margins have been impacted. No verb, or a passive verb with no agent, or a fact (Revenue grew 12%) without the so-what. Also: titles that overreach the chart's evidence, multi-claim X-grew-but-Y-fell welded titles, and mechanical repetition of the same X-drove-Y template across the deck.",
        "cardinality": null,
        "narrativePurpose": "Forces the deck to carry its argument in the title bar so a senior reader can extract the recommendation without opening a single slide; converts a binder of topics into a navigable pyramid where every slide is a node defending the apex."
      },
      {
        "tool": {
          "name": "Annotation",
          "slug": "annotation",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-b5b9-7668-bf0e-3af99823ec5c",
          "version": 1,
          "bodyDocId": null,
          "description": "Adding explanatory labels to highlight key data points",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Designer",
        "layer": "slide",
        "agents": [
          "Designer"
        ],
        "matchId": "019debb7-e153-721d-8412-a26eb20de87a",
        "evidence": "Bars annotated with values; callout narrates drivers.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 65,
        "extraction": {
          "at": "2026-05-03 02:43:08.082368+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 12,
        "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": "019debb7-e134-718c-b95e-f9f4c1dbba5e",
        "evidence": "Two bar charts: LTM FCF and cumulative since Q1'16.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 70,
        "extraction": {
          "at": "2026-05-03 02:43:08.082368+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 12,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Typography Hierarchy",
          "slug": "typography-hierarchy",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-ba98-77ab-9513-ff2344da8bc7",
          "version": 1,
          "bodyDocId": null,
          "description": "Using font size, weight, and style to create reading order",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Designer",
        "layer": "slide",
        "agents": [
          "Designer"
        ],
        "matchId": "019debb7-e171-7775-8234-625b643ce492",
        "evidence": "Section divider with large heading.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 70,
        "extraction": {
          "at": "2026-05-03 02:43:08.082368+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 13,
        "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": "019debb7-e18f-7358-856d-9603b82ed6bf",
        "evidence": "Callout: 'MAUs grew 22% Y/Y to 515 million... above guidance by 15M'.",
        "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-05-03 02:43:08.082368+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 14,
        "whyItWorks": "Solves two failure modes at once. (1) The buried claim: action titles place the conclusion on the page before any analysis is read, so a busy reader doesn't reverse-engineer it from the chart. (2) The spineless deck: because each title is a claim, slides have to ladder up to the governing thought; logical gaps become visible as topic-shaped titles in a sequence that no longer reads as a story.",
        "antipattern": "Topic labels disguised as titles — Volume by quarter, Key findings, Pricing strategy, Margins have been impacted. No verb, or a passive verb with no agent, or a fact (Revenue grew 12%) without the so-what. Also: titles that overreach the chart's evidence, multi-claim X-grew-but-Y-fell welded titles, and mechanical repetition of the same X-drove-Y template across the deck.",
        "cardinality": null,
        "narrativePurpose": "Forces the deck to carry its argument in the title bar so a senior reader can extract the recommendation without opening a single slide; converts a binder of topics into a navigable pyramid where every slide is a node defending the apex."
      },
      {
        "tool": {
          "name": "Annotation",
          "slug": "annotation",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-b5b9-7668-bf0e-3af99823ec5c",
          "version": 1,
          "bodyDocId": null,
          "description": "Adding explanatory labels to highlight key data points",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Designer",
        "layer": "slide",
        "agents": [
          "Designer"
        ],
        "matchId": "019debb7-e1eb-75af-952a-b6c593fc36cc",
        "evidence": "Each region's % share labelled within bars.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 75,
        "extraction": {
          "at": "2026-05-03 02:43:08.082368+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 14,
        "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": "019debb7-e1ae-713d-a9d7-dc5ea76b678e",
        "evidence": "Stacked bar fits regional composition over time.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 80,
        "extraction": {
          "at": "2026-05-03 02:43:08.082368+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 14,
        "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": "019debb7-e1cd-7296-89c9-b3f1a7aea4c0",
        "evidence": "Distinct hues per region for cross-period comparison.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 80,
        "extraction": {
          "at": "2026-05-03 02:43:08.082368+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 14,
        "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": "019debb7-e20a-765b-b754-6813bd42954f",
        "evidence": "Callout: 'Premium Subscribers grew 15% Y/Y to 210 million'.",
        "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-05-03 02:43:08.082368+00",
          "model": "claude-cli",
          "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": "019debb7-e228-77bf-a6de-68f30160c5e6",
        "evidence": "Same stacked-bar pattern for subscribers by region.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 75,
        "extraction": {
          "at": "2026-05-03 02:43:08.082368+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 15,
        "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": "019debb7-e267-70b7-9c10-994e31072026",
        "evidence": "Consistent regional palette across the loop.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 75,
        "extraction": {
          "at": "2026-05-03 02:43:08.082368+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 15,
        "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": "019debb7-e246-724f-adde-60e74b3fafad",
        "evidence": "Mirrors p14 chart for direct cross-metric comparison.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 55,
        "extraction": {
          "at": "2026-05-03 02:43:08.082368+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 15,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Typography Hierarchy",
          "slug": "typography-hierarchy",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-ba98-77ab-9513-ff2344da8bc7",
          "version": 1,
          "bodyDocId": null,
          "description": "Using font size, weight, and style to create reading order",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Designer",
        "layer": "slide",
        "agents": [
          "Designer"
        ],
        "matchId": "019debb7-e285-746e-b50f-307bed6376d1",
        "evidence": "Section divider with large heading.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 70,
        "extraction": {
          "at": "2026-05-03 02:43:08.082368+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 16,
        "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": "019debb7-e2c5-711d-8c52-91b50099f0d2",
        "evidence": "Callout: '>25% of user consumption on days they listen'.",
        "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-05-03 02:43:08.082368+00",
          "model": "claude-cli",
          "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": "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": "1b47e2da-ed37-4e81-a938-2334f681e774",
        "evidence": "The slide provides information about AI DJ, a feature that allows users to discover and personalize their music experience.",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": null,
        "confidence": 0.7,
        "extraction": {
          "at": "2026-07-16 22:05:30.038801+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": "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": "019debb7-e2e4-7417-8c55-59e4558c8794",
        "evidence": "Specific metric (millions of weekly users) instead of abstract claim.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 65,
        "extraction": {
          "at": "2026-05-03 02:43:08.082368+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 17,
        "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": "019debb7-e2a5-749b-856d-bcb07495ed38",
        "evidence": "Mobile UI screenshot anchors the AI DJ feature visually.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 75,
        "extraction": {
          "at": "2026-05-03 02:43:08.082368+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 17,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "List presentation",
          "slug": "list-presentation",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd9e1-4ef7-777d-ba68-9074c2b3bcf1",
          "version": 1,
          "bodyDocId": null,
          "description": "Bulleted, numbered, or checklist enumerations.",
          "familyLabel": null,
          "categoryName": null,
          "categorySlug": null
        },
        "agent": null,
        "layer": "slide",
        "agents": null,
        "matchId": "41f01591-20c6-4d7b-89e1-d237bc27eb28",
        "evidence": "The slide presents a list of bullet points highlighting key initiatives and features.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.9,
        "extraction": {
          "at": "2026-07-16 22:05:30.124962+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 18,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": "common",
        "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": "019debb7-e304-714b-9a6f-588ca65c3cf8",
        "evidence": "Six creator imagery tiles dominate the slide.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 75,
        "extraction": {
          "at": "2026-05-03 02:43:08.082368+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 18,
        "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": "019debb7-e381-743c-8a2a-a10ee8c88a72",
        "evidence": "Names specific features: visual canvases, recommendations.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 55,
        "extraction": {
          "at": "2026-05-03 02:43:08.082368+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 19,
        "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": "019debb7-e341-77b8-a4cd-0730e2575d8b",
        "evidence": "Phone mockups carry the redesign story visually.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 80,
        "extraction": {
          "at": "2026-05-03 02:43:08.082368+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 19,
        "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": "019debb7-e39f-7006-a398-fdd439b0bd24",
        "evidence": "Five image tiles featuring podcast partners/talent.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 75,
        "extraction": {
          "at": "2026-05-03 02:43:08.082368+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 20,
        "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": "019debb7-e3dc-773a-9778-4b5fb6a41cd5",
        "evidence": "Five artist imagery tiles dominate the slide.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 75,
        "extraction": {
          "at": "2026-05-03 02:43:08.082368+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 21,
        "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": "426e4bfb-96d7-4895-b431-cbf5268bcdae",
        "evidence": "The slide serves as a divider between sections, with a clear title and headline.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.9,
        "extraction": {
          "at": "2026-07-16 22:05:30.336727+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 22,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": "common",
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Typography Hierarchy",
          "slug": "typography-hierarchy",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-ba98-77ab-9513-ff2344da8bc7",
          "version": 1,
          "bodyDocId": null,
          "description": "Using font size, weight, and style to create reading order",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Designer",
        "layer": "slide",
        "agents": [
          "Designer"
        ],
        "matchId": "019debb7-e418-73aa-8479-46659992d32c",
        "evidence": "Section divider with large heading.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 70,
        "extraction": {
          "at": "2026-05-03 02:43:08.082368+00",
          "model": "claude-cli",
          "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": "019debb7-e456-7189-8144-e6ae6a02c24b",
        "evidence": "Title 'Outlook for Q2'23' frames forward guidance directly.",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
        "confidence": 55,
        "extraction": {
          "at": "2026-05-03 02:43:08.082368+00",
          "model": "claude-cli",
          "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": "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": "019debb7-e436-754c-a0d3-7e8e12af86e0",
        "evidence": "Forward-guidance table format chosen for Q2 outlook.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 70,
        "extraction": {
          "at": "2026-05-03 02:43:08.082368+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 23,
        "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": "792542de-fa35-4438-b571-1b64000e0894",
        "evidence": "The slide serves as a divider between sections, with a clear title and headline.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.9,
        "extraction": {
          "at": "2026-07-16 22:05:30.505187+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 25,
        "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": "019debb7-e475-70ce-95bc-cc4062589281",
        "evidence": "Bar, area, stacked-bar matched to MAU, segment mix, revenue.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 75,
        "extraction": {
          "at": "2026-05-03 02:43:08.082368+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 26,
        "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": "019debb7-e4b3-749c-a25e-c9213073bf07",
        "evidence": "Purple vs green consistently splits Premium vs Ad-Supported.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 65,
        "extraction": {
          "at": "2026-05-03 02:43:08.082368+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 26,
        "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": "019debb7-e493-7498-a9a9-9623a116aeaa",
        "evidence": "Three side-by-side trended charts at consistent scale.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 80,
        "extraction": {
          "at": "2026-05-03 02:43:08.082368+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 26,
        "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": "019debb7-e4d2-70fc-952e-e9ff4dc4f0fc",
        "evidence": "LTM trend charts for Gross Profit, Margin, FCF.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 70,
        "extraction": {
          "at": "2026-05-03 02:43:08.082368+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 27,
        "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": "019debb7-e4f0-778d-a6b9-41807a08db5b",
        "evidence": "Six panels share comparable scales for trend comparison.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 75,
        "extraction": {
          "at": "2026-05-03 02:43:08.082368+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 27,
        "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": "019debb7-e50f-76fb-b266-1b926cfddeff",
        "evidence": "Standard P&L statement table format.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 70,
        "extraction": {
          "at": "2026-05-03 02:43:08.082368+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 28,
        "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": "019debb7-e52d-7146-a255-0b7a679c0f2d",
        "evidence": "Standard balance sheet table format.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 70,
        "extraction": {
          "at": "2026-05-03 02:43:08.082368+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 29,
        "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": "019debb7-e54c-77f5-b254-16c1033f8c75",
        "evidence": "Standard cash-flow statement table format.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 70,
        "extraction": {
          "at": "2026-05-03 02:43:08.082368+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 30,
        "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": "745196b1-c116-425c-a374-f1cb7a497e37",
        "evidence": "This slide is a cover slide with a logo.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.9,
        "extraction": {
          "at": "2026-07-16 22:05:31.797084+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": [
      {
        "matchId": "019debb7-e56b-7404-b82e-7959d13a2790",
        "evidence": "Bottom-right chart breaks down +36% opex into FX, social charges, severance, other.",
        "framework": null,
        "confidence": 90,
        "extraction": {
          "at": "2026-05-03 02:43:08.082368+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 11,
        "frameworkName": "Waterfall chart"
      }
    ],
    "patterns": []
  },
  "storymakers": {
    "model": "claude-cli",
    "backend": "claude",
    "rawJson": {
      "arc": {
        "id": 11,
        "slug": "triple-take",
        "beats": [
          {
            "name": "The Facts (What)",
            "end_page": 15,
            "evidence": "Exec summary + financial deep dive + user metrics — all data.",
            "position": 1,
            "start_page": 3
          },
          {
            "name": "The Implications (So What)",
            "end_page": 21,
            "evidence": "Product & Platform: AI DJ, redesigned UX, podcast/music wins.",
            "position": 2,
            "start_page": 16
          },
          {
            "name": "The Action (Now What)",
            "end_page": 23,
            "evidence": "Outlook section with explicit Q2 2023 forward guidance table.",
            "position": 3,
            "start_page": 22
          }
        ],
        "evidence": "Earnings deck moves from facts (p3-15 KPI readout), to implications/strategic moves (p17-21 product), to action/outlook (p22-23).",
        "confidence": 60
      },
      "loops": [
        {
          "id": 41,
          "slug": "41-so-what-cascade",
          "end_page": 5,
          "evidence": "p3 callout 'KPIs surpassed expectations' → p4 bullet highlights → p5 actuals vs guidance.",
          "position": 1,
          "objective": "Lead with insight, then bullet highlights, then guidance comparison",
          "confidence": 65,
          "start_page": 3
        },
        {
          "id": 40,
          "slug": "40-mece-breakdown",
          "end_page": 12,
          "evidence": "Financial Summary divider, summary table, then revenue, gross margin, opex, FCF — non-overlapping P&L slices.",
          "position": 2,
          "objective": "Walk through finances by MECE buckets",
          "confidence": 75,
          "start_page": 6
        },
        {
          "id": 34,
          "slug": "34-segmentation-split",
          "end_page": 15,
          "evidence": "Stacked bar charts for MAUs and Premium Subscribers segmented by Europe / NA / LatAm / RoW.",
          "position": 3,
          "objective": "Show user growth split by region",
          "confidence": 80,
          "start_page": 13
        },
        {
          "id": 33,
          "slug": "33-build-up",
          "end_page": 21,
          "evidence": "AI DJ + Stream On creator initiatives + UX redesign + podcasting + music wins assemble the platform story.",
          "position": 4,
          "objective": "Stack up product platform components",
          "confidence": 55,
          "start_page": 16
        },
        {
          "id": 24,
          "slug": "24-time-machine",
          "end_page": 23,
          "evidence": "Outlook divider then explicit Q2'23 forward guidance table.",
          "position": 5,
          "objective": "Project forward to Q2 outlook",
          "confidence": 50,
          "start_page": 22
        }
      ],
      "slide_tools": [
        {
          "tools": [
            {
              "id": 132,
              "slug": "visual-hierarchy",
              "layer": "Slide",
              "evidence": "Large title, sparse cover layout.",
              "confidence": 70
            },
            {
              "id": 141,
              "slug": "white-space-negative-space",
              "layer": "Slide",
              "evidence": "Sparse cover with significant negative space.",
              "confidence": 65
            }
          ],
          "page_number": 1
        },
        {
          "tools": [
            {
              "id": 116,
              "slug": "chunking",
              "layer": "Loop",
              "evidence": "TOC chunks deck into 4 named sections.",
              "confidence": 65
            },
            {
              "id": 149,
              "slug": "typography-hierarchy",
              "layer": "Slide",
              "evidence": "Title vs section list type hierarchy.",
              "confidence": 60
            }
          ],
          "page_number": 2
        },
        {
          "tools": [
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "Lead callout states 'KPIs surpassed expectations'.",
              "confidence": 75
            },
            {
              "id": 119,
              "slug": "so-what-test",
              "layer": "Slide",
              "evidence": "Narrative resolves with 'encouraged by strong start to 2023'.",
              "confidence": 70
            },
            {
              "id": 130,
              "slug": "color-strategy",
              "layer": "Slide",
              "evidence": "Q1 2023 column highlighted green vs neutral prior periods.",
              "confidence": 80
            },
            {
              "id": 3,
              "slug": "pyramid-principle",
              "layer": "Block",
              "evidence": "Answer-first exec summary anchors the deck.",
              "confidence": 70
            }
          ],
          "page_number": 3
        },
        {
          "tools": [
            {
              "id": 116,
              "slug": "chunking",
              "layer": "Loop",
              "evidence": "Performance broken into discrete bullet groups.",
              "confidence": 70
            },
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "Title 'Key Highlights' summarizes the takeaways.",
              "confidence": 60
            },
            {
              "id": 34,
              "slug": "the-rule-of-three",
              "layer": "Block",
              "evidence": "Highlights grouped in tight bullet sets.",
              "confidence": 50
            }
          ],
          "page_number": 4
        },
        {
          "tools": [
            {
              "id": 129,
              "slug": "chart-selection-guide",
              "layer": "Slide",
              "evidence": "Comparison table chosen to show actuals vs guidance side-by-side.",
              "confidence": 65
            },
            {
              "id": 130,
              "slug": "color-strategy",
              "layer": "Slide",
              "evidence": "Highlight cells call out beats vs guidance.",
              "confidence": 70
            }
          ],
          "page_number": 5
        },
        {
          "tools": [
            {
              "id": 149,
              "slug": "typography-hierarchy",
              "layer": "Slide",
              "evidence": "Section divider with large heading typography.",
              "confidence": 70
            }
          ],
          "page_number": 6
        },
        {
          "tools": [
            {
              "id": 129,
              "slug": "chart-selection-guide",
              "layer": "Slide",
              "evidence": "Five-quarter trended financial table format.",
              "confidence": 70
            },
            {
              "id": 125,
              "slug": "data-ink-ratio",
              "layer": "Slide",
              "evidence": "Dense numerical table, minimal decoration.",
              "confidence": 55
            }
          ],
          "page_number": 7
        },
        {
          "tools": [
            {
              "id": 116,
              "slug": "chunking",
              "layer": "Loop",
              "evidence": "Financial story chunked into revenue, profit, FCF sections.",
              "confidence": 70
            },
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "Heading + bullet structure summarizes drivers.",
              "confidence": 55
            }
          ],
          "page_number": 8
        },
        {
          "tools": [
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "Callout quotes Premium Revenue +14% Y/Y growth insight.",
              "confidence": 75
            },
            {
              "id": 129,
              "slug": "chart-selection-guide",
              "layer": "Slide",
              "evidence": "Combo bar+line charts pair revenue and ARPU.",
              "confidence": 80
            },
            {
              "id": 138,
              "slug": "annotation",
              "layer": "Slide",
              "evidence": "Per-bar value labels and footnotes annotate the chart.",
              "confidence": 65
            },
            {
              "id": 130,
              "slug": "color-strategy",
              "layer": "Slide",
              "evidence": "Brand green and blue distinguish series cleanly.",
              "confidence": 70
            }
          ],
          "page_number": 9
        },
        {
          "tools": [
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "Sub-headline 'Marketplace and podcasting benefits offset by higher Other Cost of Revenue'.",
              "confidence": 85
            },
            {
              "id": 119,
              "slug": "so-what-test",
              "layer": "Slide",
              "evidence": "Title delivers the so-what about margin drivers.",
              "confidence": 75
            },
            {
              "id": 129,
              "slug": "chart-selection-guide",
              "layer": "Slide",
              "evidence": "Quarterly margin trend lines for total/Premium/Ad-Supported.",
              "confidence": 70
            },
            {
              "id": 130,
              "slug": "color-strategy",
              "layer": "Slide",
              "evidence": "Series differentiated by consistent palette.",
              "confidence": 60
            }
          ],
          "page_number": 10
        },
        {
          "tools": [
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "Sub-headline 'Primarily driven by residual headcount growth'.",
              "confidence": 85
            },
            {
              "id": 129,
              "slug": "chart-selection-guide",
              "layer": "Slide",
              "evidence": "Trend chart plus waterfall picked to attribute drivers.",
              "confidence": 80
            },
            {
              "id": 138,
              "slug": "annotation",
              "layer": "Slide",
              "evidence": "Each waterfall bar labelled with %, plus bar values on trend.",
              "confidence": 80
            },
            {
              "id": 130,
              "slug": "color-strategy",
              "layer": "Slide",
              "evidence": "Purple totals vs green drivers in waterfall.",
              "confidence": 70
            }
          ],
          "page_number": 11
        },
        {
          "tools": [
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "Sub-headline 'Building and sustaining a strong balance sheet'.",
              "confidence": 80
            },
            {
              "id": 129,
              "slug": "chart-selection-guide",
              "layer": "Slide",
              "evidence": "Two bar charts: LTM FCF and cumulative since Q1'16.",
              "confidence": 70
            },
            {
              "id": 138,
              "slug": "annotation",
              "layer": "Slide",
              "evidence": "Bars annotated with values; callout narrates drivers.",
              "confidence": 65
            }
          ],
          "page_number": 12
        },
        {
          "tools": [
            {
              "id": 149,
              "slug": "typography-hierarchy",
              "layer": "Slide",
              "evidence": "Section divider with large heading.",
              "confidence": 70
            }
          ],
          "page_number": 13
        },
        {
          "tools": [
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "Callout: 'MAUs grew 22% Y/Y to 515 million... above guidance by 15M'.",
              "confidence": 70
            },
            {
              "id": 129,
              "slug": "chart-selection-guide",
              "layer": "Slide",
              "evidence": "Stacked bar fits regional composition over time.",
              "confidence": 80
            },
            {
              "id": 130,
              "slug": "color-strategy",
              "layer": "Slide",
              "evidence": "Distinct hues per region for cross-period comparison.",
              "confidence": 80
            },
            {
              "id": 138,
              "slug": "annotation",
              "layer": "Slide",
              "evidence": "Each region's % share labelled within bars.",
              "confidence": 75
            }
          ],
          "page_number": 14
        },
        {
          "tools": [
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "Callout: 'Premium Subscribers grew 15% Y/Y to 210 million'.",
              "confidence": 70
            },
            {
              "id": 129,
              "slug": "chart-selection-guide",
              "layer": "Slide",
              "evidence": "Same stacked-bar pattern for subscribers by region.",
              "confidence": 75
            },
            {
              "id": 133,
              "slug": "small-multiples",
              "layer": "Slide",
              "evidence": "Mirrors p14 chart for direct cross-metric comparison.",
              "confidence": 55
            },
            {
              "id": 130,
              "slug": "color-strategy",
              "layer": "Slide",
              "evidence": "Consistent regional palette across the loop.",
              "confidence": 75
            }
          ],
          "page_number": 15
        },
        {
          "tools": [
            {
              "id": 149,
              "slug": "typography-hierarchy",
              "layer": "Slide",
              "evidence": "Section divider with large heading.",
              "confidence": 70
            }
          ],
          "page_number": 16
        },
        {
          "tools": [
            {
              "id": 165,
              "slug": "picture-superiority-effect",
              "layer": "Slide",
              "evidence": "Mobile UI screenshot anchors the AI DJ feature visually.",
              "confidence": 75
            },
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "Callout: '>25% of user consumption on days they listen'.",
              "confidence": 75
            },
            {
              "id": 154,
              "slug": "concrete-language",
              "layer": "Slide",
              "evidence": "Specific metric (millions of weekly users) instead of abstract claim.",
              "confidence": 65
            }
          ],
          "page_number": 17
        },
        {
          "tools": [
            {
              "id": 165,
              "slug": "picture-superiority-effect",
              "layer": "Slide",
              "evidence": "Six creator imagery tiles dominate the slide.",
              "confidence": 75
            },
            {
              "id": 116,
              "slug": "chunking",
              "layer": "Loop",
              "evidence": "Four creator initiatives chunked in equal grid cells.",
              "confidence": 70
            }
          ],
          "page_number": 18
        },
        {
          "tools": [
            {
              "id": 165,
              "slug": "picture-superiority-effect",
              "layer": "Slide",
              "evidence": "Phone mockups carry the redesign story visually.",
              "confidence": 80
            },
            {
              "id": 26,
              "slug": "before-after-bridge",
              "layer": "Block",
              "evidence": "Two phone clusters imply old vs new experience.",
              "confidence": 50
            },
            {
              "id": 154,
              "slug": "concrete-language",
              "layer": "Slide",
              "evidence": "Names specific features: visual canvases, recommendations.",
              "confidence": 55
            }
          ],
          "page_number": 19
        },
        {
          "tools": [
            {
              "id": 165,
              "slug": "picture-superiority-effect",
              "layer": "Slide",
              "evidence": "Five image tiles featuring podcast partners/talent.",
              "confidence": 75
            },
            {
              "id": 116,
              "slug": "chunking",
              "layer": "Loop",
              "evidence": "Podcast wins chunked into equal grid cells.",
              "confidence": 65
            }
          ],
          "page_number": 20
        },
        {
          "tools": [
            {
              "id": 165,
              "slug": "picture-superiority-effect",
              "layer": "Slide",
              "evidence": "Five artist imagery tiles dominate the slide.",
              "confidence": 75
            },
            {
              "id": 116,
              "slug": "chunking",
              "layer": "Loop",
              "evidence": "Music milestones chunked into equal grid cells.",
              "confidence": 65
            }
          ],
          "page_number": 21
        },
        {
          "tools": [
            {
              "id": 149,
              "slug": "typography-hierarchy",
              "layer": "Slide",
              "evidence": "Section divider with large heading.",
              "confidence": 70
            }
          ],
          "page_number": 22
        },
        {
          "tools": [
            {
              "id": 129,
              "slug": "chart-selection-guide",
              "layer": "Slide",
              "evidence": "Forward-guidance table format chosen for Q2 outlook.",
              "confidence": 70
            },
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "Title 'Outlook for Q2'23' frames forward guidance directly.",
              "confidence": 55
            }
          ],
          "page_number": 23
        },
        {
          "tools": [
            {
              "id": 129,
              "slug": "chart-selection-guide",
              "layer": "Slide",
              "evidence": "Bar, area, stacked-bar matched to MAU, segment mix, revenue.",
              "confidence": 75
            },
            {
              "id": 133,
              "slug": "small-multiples",
              "layer": "Slide",
              "evidence": "Three side-by-side trended charts at consistent scale.",
              "confidence": 80
            },
            {
              "id": 130,
              "slug": "color-strategy",
              "layer": "Slide",
              "evidence": "Purple vs green consistently splits Premium vs Ad-Supported.",
              "confidence": 65
            }
          ],
          "page_number": 26
        },
        {
          "tools": [
            {
              "id": 129,
              "slug": "chart-selection-guide",
              "layer": "Slide",
              "evidence": "LTM trend charts for Gross Profit, Margin, FCF.",
              "confidence": 70
            },
            {
              "id": 133,
              "slug": "small-multiples",
              "layer": "Slide",
              "evidence": "Six panels share comparable scales for trend comparison.",
              "confidence": 75
            }
          ],
          "page_number": 27
        },
        {
          "tools": [
            {
              "id": 129,
              "slug": "chart-selection-guide",
              "layer": "Slide",
              "evidence": "Standard P&L statement table format.",
              "confidence": 70
            }
          ],
          "page_number": 28
        },
        {
          "tools": [
            {
              "id": 129,
              "slug": "chart-selection-guide",
              "layer": "Slide",
              "evidence": "Standard balance sheet table format.",
              "confidence": 70
            }
          ],
          "page_number": 29
        },
        {
          "tools": [
            {
              "id": 129,
              "slug": "chart-selection-guide",
              "layer": "Slide",
              "evidence": "Standard cash-flow statement table format.",
              "confidence": 70
            }
          ],
          "page_number": 30
        }
      ],
      "slides_seen": 34,
      "deck_summary": "Pyramid-style investor update with answer-first executive summary and disciplined action titles on KPI slides; loose narrative arc but strong Storymakers craft on individual data slides.",
      "secondary_arcs": [
        {
          "id": 1,
          "slug": "consultants-gambit",
          "beats": [
            {
              "name": "Situation & Context",
              "end_page": 5,
              "evidence": "Executive summary plus actuals-vs-guidance frames the quarter.",
              "position": 1,
              "start_page": 3
            },
            {
              "name": "Problem & Complication",
              "end_page": 11,
              "evidence": "Gross margin flat and opex up 36% Y/Y are the friction points.",
              "position": 2,
              "start_page": 10
            },
            {
              "name": "Solution & Approach",
              "end_page": 21,
              "evidence": "Product investments: AI DJ, UX redesign, podcast and music initiatives.",
              "position": 3,
              "start_page": 17
            },
            {
              "name": "Evidence & Proof",
              "end_page": 15,
              "evidence": "Financial detail charts and user growth charts substantiate claims.",
              "position": 4,
              "start_page": 7
            },
            {
              "name": "Impact & Next Steps",
              "end_page": 23,
              "evidence": "Q2'23 forward guidance table on MAUs, revenue, margin, op. income.",
              "position": 5,
              "start_page": 22
            }
          ],
          "evidence": "Pyramid-style readout: situation (exec summary), evidence (KPIs), approach (product), next steps (outlook); weak complication beat.",
          "confidence": 45
        }
      ],
      "images_inspected": 5,
      "slide_frameworks": [
        {
          "frameworks": [
            {
              "name": "Waterfall chart",
              "slug": "waterfall-chart",
              "evidence": "Bottom-right chart breaks down +36% opex into FX, social charges, severance, other.",
              "confidence": 90
            }
          ],
          "page_number": 11
        }
      ]
    },
    "matchedAt": "2026-05-03 02:43:08.212+00",
    "slidesSeen": 34,
    "deckSummary": "Pyramid-style investor update with answer-first executive summary and disciplined action titles on KPI slides; loose narrative arc but strong Storymakers craft on individual data slides.",
    "imagesInspected": 5,
    "extractionSeconds": 326.277
  },
  "score": {
    "backend": "codex",
    "scoredAt": "2026-05-02 10:27:06.397+00",
    "subScores": {
      "scqa_arc": 50,
      "action_titles": 35,
      "mece_structure": 74,
      "closing_strength": 42,
      "evidence_quality": 87,
      "clarity_of_thesis": 80,
      "production_quality": 72,
      "visual_storytelling": 78
    },
    "totalScore": 65,
    "coveragePct": 100,
    "explanations": {
      "scqa_arc": "The deck has a Situation and Answer around strong Q1 performance, but there is little explicit Complication or Question, so the flow reads more like a reporting pack than an SCQA argument.",
      "action_titles": "Most titles are topic labels rather than insight sentences; for example, slide 9 is titled \"Revenue\" while stronger action-title treatment appears only on slides 10-12.",
      "mece_structure": "The main sections are mostly MECE for an investor update, moving from financial summary to users/subscribers, product/platform, outlook, and financial statements, though slides 3-8 repeat performance-summary territory.",
      "closing_strength": "Slide 23 provides forward guidance, but the deck then moves into webcast/legal disclosures, financial statements, appendix material, and a logo close on slide 34 without a clear recommendation or call to action.",
      "evidence_quality": "Claims are strongly backed by KPI tables, charts, reconciliations, guidance, and financial statements across slides 3, 5, 7, 9-15, 23, and 28-33.",
      "clarity_of_thesis": "The core thesis is identifiable by slides 3-5: Q1 2023 outperformed expectations across nearly all KPIs, but it is carried by summary content rather than a declarative headline.",
      "production_quality": "Branding, section dividers, table formatting, and footnote discipline are consistent, but generic titles and dense or overcrowded layouts on slides 7-12 and 26-33 weaken the Storymakers polish.",
      "visual_storytelling": "The deck generally matches tools to messages, using KPI tables on slides 3, 5, and 23, charts on slides 9-15 and 26-27, and product screenshots on slides 17-21, though several financial slides are overcrowded."
    },
    "slidesAnalyzed": 34
  },
  "review": {
    "backend": null,
    "verdict": "This is a competent investor reporting deck with a clear quarterly update structure, but it is a mid-tier Storymakers exemplar because it organizes information better than it dramatizes a persuasive story.",
    "reviewedAt": "2026-05-01 22:48:49.029+00",
    "slidesSeen": 34,
    "suggestions": [
      "Rewrite section dividers as argument pillars, for example turning \"Financial Summary\" into a claim about profitable growth drivers and cost discipline.",
      "Add a one-slide synthesis after slide 23 that connects Q1 outperformance, margin actions, user growth, and Q2 guidance into a clear investor takeaway.",
      "Promote the driver-based titles from slides 10-12 as the deck-wide standard, replacing labels like \"Revenue,\" \"Podcasting,\" and \"Music\" with declarative insights.",
      "Make the tension explicit in the opening: Q1 exceeded expectations while the path to durable margin expansion remains the key execution test."
    ],
    "closingScore": 42,
    "openingScore": 78,
    "topStrengths": [
      "Slide 3 gives an early executive answer and KPI evidence, so the reader understands the quarter's headline before the detailed sections begin.",
      "Slides 5, 10, 11, and 12 use variance, driver, and bridge-style evidence to explain performance rather than only reporting raw metrics.",
      "The macro structure is clear for an investor update: Q1 performance, financial detail, user growth, product proof points, and Q2 outlook."
    ],
    "topWeaknesses": [
      "The deck does not convert its metrics into a strong narrative tension; cost, margin, and operating-loss issues appear on slides 10-12 but are not framed as the story's core problem.",
      "Section titles are clean but generic, so the table of contents reads like a reporting checklist rather than a persuasive storyline.",
      "The ending loses narrative energy after slide 23 because slides 24-34 are mostly legal, financial statement, reconciliation, and sign-off material."
    ],
    "narrativeScore": 70,
    "pillarCritique": "The section dividers are mostly MECE investor-report buckets: Financial Summary, MAUs & Subscribers, Product & Platform, Outlook, and Financial Statements. They organize the document cleanly, but the labels are topic dividers rather than argumentative pillars that advance a thesis.",
    "closingCritique": "The last substantive resolution is Q2 guidance on slide 23, but the deck then trails into webcast/legal disclosures and financial-statement appendix material through slides 24-34. There is no clear call to action or memorable final synthesis; slide 34 is only a branded sign-off.",
    "openingCritique": "The first five slides lead with the answer on slide 3, especially the callout that nearly all Q1 KPIs surpassed expectations, then reinforce it with highlights and actuals vs. guidance on slides 4-5. The opening establishes performance stakes but lacks a sharper hook or investor implication beyond quarterly outperformance.",
    "extractionSeconds": 49.325,
    "narrativeCritique": "The deck has a workable setup → analysis → resolution arc: slides 3-5 state Q1 beat expectations, slides 7-21 unpack financial, user, and product drivers, and slide 23 gives Q2 outlook. The tension act is underdeveloped because margin, opex, and cash-flow pressure on slides 10-12 are treated as metric explanations rather than a central conflict to resolve.",
    "titleQualityScore": 54,
    "titleQualityCritique": "Most titles are topic labels such as \"Revenue\" on slide 9, \"Monthly Active Users (MAUs)\" on slide 14, and \"Podcasting\" on slide 20. Slides 10-12 are stronger because their action titles state drivers, for example \"Marketplace and podcasting benefits offset by higher Other Cost of Revenue\" on slide 10."
  },
  "activistThesis": null,
  "pitchdeck": {
    "metadata": null,
    "profile": null
  },
  "slides": [
    {
      "page": 1,
      "type": "setup",
      "function": "front_matter",
      "imagePath": "https://imgproxy.kitesheet.com/gPIBrujMT3EWeZFedpLpA9pbeyt1xDdBcrqBpsCLc90/rs:fit:1200:1200:0/q:82/f:webp/czM6Ly9raXRlc2hlZXQvY29ycHVzL3NsaWRlcy85MzgzYzRlNDlhNTNlMzY1L3AwMDEuanBn",
      "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": 6,
        "componentCount": 3,
        "textChars": 37,
        "nDataPoints": 0,
        "notes": null,
        "elementsJson": [
          "logo_grid",
          "headline_text"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:22:28.59+00",
          "seconds": 2.851,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5efe-75c0-8dfe-fcabeaba112f/1",
        "deck": "/decks/019dd923-5efe-75c0-8dfe-fcabeaba112f",
        "deckAnchor": "/decks/019dd923-5efe-75c0-8dfe-fcabeaba112f#slide-1",
        "deckJson": "/decks/019dd923-5efe-75c0-8dfe-fcabeaba112f.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.035,
            "w": 0.075,
            "x": 0.125,
            "y": 0.313
          },
          "kind": "image",
          "text": "Spotify",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Image",
              "slug": "image",
              "status": "active",
              "canonId": "019de52c-f978-701f-a720-51d029d769e7",
              "version": 1,
              "description": "Photo, illustration, screenshot or icon."
            },
            "tool": null,
            "subkind": {
              "name": "Logo",
              "slug": "logo",
              "status": "active",
              "canonId": "019de52c-fdaf-743d-94c4-d7c6a0e55302",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "logo",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:22:28.59+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "b459f387-0135-494a-8d52-cb57f9790f0a",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.07,
            "w": 0.28,
            "x": 0.125,
            "y": 0.415
          },
          "kind": "title",
          "text": "Q1 2023 Update",
          "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:22:28.59+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "2fc035ee-8eaa-4c19-a67d-652c6cf43326",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.12,
            "x": 0.125,
            "y": 0.565
          },
          "kind": "title",
          "text": "April 25th, 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:22:28.59+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "d08d49b6-52aa-4a05-a6f6-2d74c1f902f1",
          "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": "7cce5747-e7f9-45e6-ace1-ccc9fdfa9d4d",
          "evidence": "Q1 2023 Update, April 25th, 2023, Spotify logo",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.9,
          "extraction": {
            "at": "2026-07-16 22:05:23.811921+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": "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": "019debb7-dd4a-72db-8603-351dd967c41c",
          "evidence": "Large title, sparse cover layout.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 70,
          "extraction": {
            "at": "2026-05-03 02:43:08.082368+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 1,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "White Space (Negative Space)",
            "slug": "white-space-negative-space",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-b6e3-72de-bd7e-8cc963390837",
            "version": 1,
            "bodyDocId": null,
            "description": "Using empty space to reduce cognitive load and create focus",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "019debb7-dd84-741e-832e-86ef4e9154b3",
          "evidence": "Sparse cover with significant negative space.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 65,
          "extraction": {
            "at": "2026-05-03 02:43:08.082368+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 1,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [],
      "loops": [],
      "thumbSrc": "https://imgproxy.kitesheet.com/d1eqeuquKucVkWwyO7hmW-oY-vRBkRp0rOLS-PewOqo/rs:fit:480:480:0/q:78/f:webp/czM6Ly9raXRlc2hlZXQvY29ycHVzL3NsaWRlcy85MzgzYzRlNDlhNTNlMzY1L3AwMDEuanBn",
      "imagePathAlt": "https://imgproxy.kitesheet.com/qsVr6NUE78TmEEgke5QrPH0HHGBrkSc4h0B8bDsVLmM/rs:fit:1200:1200:0/q:82/f:webp/czM6Ly9raXRlc2hlZXQvY29ycHVzL3NsaWRlcy85MzgzYzRlNDlhNTNlMzY1L3AwMDEucG5n",
      "thumbSrcAlt": "https://imgproxy.kitesheet.com/xqIyJblz3lE5rU1IwLpDrC85x9guBVoyqXtEVhRfuEM/rs:fit:480:480:0/q:78/f:webp/czM6Ly9raXRlc2hlZXQvY29ycHVzL3NsaWRlcy85MzgzYzRlNDlhNTNlMzY1L3AwMDEucG5n"
    },
    {
      "page": 2,
      "type": "setup",
      "function": "front_matter",
      "rawType": "table_of_contents",
      "block": null,
      "metadata": {
        "slideType": "table_of_contents",
        "slideTypeCanon": {
          "name": "Table of contents",
          "slug": "table_of_contents",
          "status": "active",
          "canonId": "019de52d-0643-721b-9b85-69676bb85cf8",
          "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": 7,
        "componentCount": 2,
        "textChars": 169,
        "nDataPoints": 0,
        "notes": null,
        "elementsJson": [
          "other"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:22:27.889+00",
          "seconds": 2.082,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5efe-75c0-8dfe-fcabeaba112f/2",
        "deck": "/decks/019dd923-5efe-75c0-8dfe-fcabeaba112f",
        "deckAnchor": "/decks/019dd923-5efe-75c0-8dfe-fcabeaba112f#slide-2",
        "deckJson": "/decks/019dd923-5efe-75c0-8dfe-fcabeaba112f.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.8,
            "w": 0.5,
            "x": 0.4,
            "y": 0.1
          },
          "kind": "list",
          "text": "Executive Summary p.03\nKey Highlights p.04\nFinancial Summary p.06\nMAUs & Subscribers p.13\nProduct & Platform p.16\nOutlook p.22\nFinancial Statements p.25",
          "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:22:27.889+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "d43bea80-c375-49e5-b234-ded43d2d4fb4",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.2,
            "w": 0.25,
            "x": 0.05,
            "y": 0.4
          },
          "kind": "title",
          "text": "Table of Contents",
          "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:22:27.889+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "2ae314ee-9f03-43de-87be-ecc3021aafef",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "Chunking",
            "slug": "chunking",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-abab-72ce-b64c-2924cc83cf39",
            "version": 1,
            "bodyDocId": null,
            "description": "Information grouped into chunks is remembered better - structure content in digestible units",
            "familyLabel": null,
            "categoryName": "Loop",
            "categorySlug": "loop"
          },
          "agent": "Architect",
          "layer": "loop",
          "agents": [
            "Architect"
          ],
          "matchId": "019debb7-dda4-7768-be13-e5b878c452c2",
          "evidence": "TOC chunks deck into 4 named sections.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 65,
          "extraction": {
            "at": "2026-05-03 02:43:08.082368+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 2,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Typography Hierarchy",
            "slug": "typography-hierarchy",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-ba98-77ab-9513-ff2344da8bc7",
            "version": 1,
            "bodyDocId": null,
            "description": "Using font size, weight, and style to create reading order",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "019debb7-ddc6-738b-99e5-708a5ad2dda1",
          "evidence": "Title vs section list type hierarchy.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 60,
          "extraction": {
            "at": "2026-05-03 02:43:08.082368+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 2,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [],
      "loops": [],
      "locked": true
    },
    {
      "page": 3,
      "type": "setup",
      "title": "The slide includes a table comparing Q1 2022, Q4 2022, and Q1 2023 metrics.",
      "function": "summarize",
      "rawType": "executive_summary",
      "block": null,
      "metadata": {
        "slideType": "executive_summary",
        "slideTypeCanon": {
          "name": "Executive summary",
          "slug": "executive_summary",
          "status": "active",
          "canonId": "019de52d-06be-73ff-81b3-f99fe7f0025e",
          "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": 66,
        "componentCount": 6,
        "textChars": 1057,
        "nDataPoints": 45,
        "notes": "The slide includes a table comparing Q1 2022, Q4 2022, and Q1 2023 metrics.",
        "elementsJson": [
          "paragraph",
          "kpi_table"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:22:29.539+00",
          "seconds": 3.654,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5efe-75c0-8dfe-fcabeaba112f/3",
        "deck": "/decks/019dd923-5efe-75c0-8dfe-fcabeaba112f",
        "deckAnchor": "/decks/019dd923-5efe-75c0-8dfe-fcabeaba112f#slide-3",
        "deckJson": "/decks/019dd923-5efe-75c0-8dfe-fcabeaba112f.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "The strength we saw exiting 2022 continued into 2023, as nearly all of our Q1 KPIs surpassed expectations.",
          "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-27 07:18:56+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-832b-73b4-83ae-7ae3363d73cc",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.7,
            "x": 0.15,
            "y": 0.92
          },
          "kind": "disclaimer",
          "text": "¹ Free Cash Flow is a non-IFRS measure. See \"Use of Non-IFRS Measures\" and \"Reconciliation of IFRS to Non-IFRS Results\" for additional information.",
          "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:22:29.539+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "1fd230cc-2b6e-4a5b-84c5-85b2e9b12419",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Total Monthly Active Users: 515",
          "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-27 07:18:56+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-832b-73b4-83ae-7efd072ad3cd",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.45,
            "w": 0.4,
            "x": 0.05,
            "y": 0.21
          },
          "kind": "paragraph",
          "text": "The strength we saw exiting 2022 continued into 2023, as nearly all of our Q1 KPIs surpassed expectations. MAU net additions of 26 million were 15 million above guidance, our highest Q1 ever and the fifth quarter in a row of accelerating Y/Y growth. Subscriber net additions of 5 million also reflected a material uptick vs. the prior year trend and were 3 million above guidance. Revenue growth was slightly below our expectations due to macro-related variability in our advertising business. However, Gross Margin exceeded guidance by 30 bps. The Operating Loss was also better, aided by lower marketing spend, and the business generated €57 million in Free Cash Flow. Overall, we are encouraged by the strong start to 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:22:29.539+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "e2fb11b8-d9da-455e-8aa2-0bd0057dfed2",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.6,
            "w": 0.5,
            "x": 0.45,
            "y": 0.21
          },
          "kind": "table",
          "text": "USER & FINANCIAL SUMMARY table",
          "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": {
              "name": "Data table",
              "slug": "data",
              "status": "active",
              "canonId": "019de52d-02d5-75b8-8abf-88e92bf63569",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "data",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:22:29.539+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "89bc56f5-a65f-4eb5-b3ba-738d7da051ef",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.08,
            "w": 0.4,
            "x": 0.05,
            "y": 0.08
          },
          "kind": "title",
          "text": "Executive Summary",
          "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:22:29.539+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "8166155d-369c-47d3-92a3-a463c40fc623",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "Pyramid Principle",
            "slug": "pyramid-principle",
            "status": "active",
            "bestFor": "When the document has a single governing decision or recommendation the reader is asked to accept, and the case can be decomposed into a small number of clean groups. Strategy decks, board memos, investment committee papers.",
            "canonId": "019dd956-7cbd-7219-a477-c871e2bc1aff",
            "version": 1,
            "bodyDocId": "88b6ac56-b880-46f9-8621-ef3491ab6235",
            "description": "Lead with the answer; group three to five MECE supports beneath it; recurse one level down. Top-down hierarchical structure for any document with a single recommendation.",
            "familyLabel": null,
            "categoryName": "Block",
            "categorySlug": "block"
          },
          "agent": "Architect",
          "layer": "block",
          "agents": [
            "Architect"
          ],
          "matchId": "019debb7-de49-7789-b53e-9fd56265723e",
          "evidence": "Answer-first exec summary anchors the deck.",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": "When the document has a single governing decision or recommendation the reader is asked to accept, and the case can be decomposed into a small number of clean groups. Strategy decks, board memos, investment committee papers.",
          "confidence": 70,
          "extraction": {
            "at": "2026-05-03 02:43:08.082368+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 3,
          "whyItWorks": "Solves the two failure modes of expert communication at once: (1) the long climb where readers wait pages for the answer, and (2) logical mush from non-MECE groupings. Progressive disclosure lets a reader stop at any depth and get the right information.",
          "antipattern": "Chronological structure (\"what we did, what we found, what we conclude\") instead of logical hierarchy. Top-of-pyramid that is a topic (\"strategic options\") instead of an answer (\"pursue Option B because...\"). Non-MECE supports that overlap or fail to cover the universe.",
          "cardinality": null,
          "narrativePurpose": "Transfer conviction with minimum reader effort by mirroring how decision-makers consume information: answer first, scaffolding behind."
        },
        {
          "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": "019debb7-dde6-761a-a3d4-fb242c540452",
          "evidence": "Lead callout states 'KPIs surpassed expectations'.",
          "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-05-03 02:43:08.082368+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 3,
          "whyItWorks": "Solves two failure modes at once. (1) The buried claim: action titles place the conclusion on the page before any analysis is read, so a busy reader doesn't reverse-engineer it from the chart. (2) The spineless deck: because each title is a claim, slides have to ladder up to the governing thought; logical gaps become visible as topic-shaped titles in a sequence that no longer reads as a story.",
          "antipattern": "Topic labels disguised as titles — Volume by quarter, Key findings, Pricing strategy, Margins have been impacted. No verb, or a passive verb with no agent, or a fact (Revenue grew 12%) without the so-what. Also: titles that overreach the chart's evidence, multi-claim X-grew-but-Y-fell welded titles, and mechanical repetition of the same X-drove-Y template across the deck.",
          "cardinality": null,
          "narrativePurpose": "Forces the deck to carry its argument in the title bar so a senior reader can extract the recommendation without opening a single slide; converts a binder of topics into a navigable pyramid where every slide is a node defending the apex."
        },
        {
          "tool": {
            "name": "Color Strategy",
            "slug": "color-strategy",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-b202-77cf-8a6e-f445b08c0fd3",
            "version": 1,
            "bodyDocId": null,
            "description": "Using color for emphasis, categories, sentiment, and hierarchy",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "019debb7-de29-773a-8777-3968171b29ef",
          "evidence": "Q1 2023 column highlighted green vs neutral prior periods.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 80,
          "extraction": {
            "at": "2026-05-03 02:43:08.082368+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 3,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Executive summary",
            "slug": "executive-summary",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd9e1-4b63-72d5-9734-da757d91ca61",
            "version": 1,
            "bodyDocId": null,
            "description": "A condensed view of the entire argument on a single slide / block.",
            "familyLabel": null,
            "categoryName": null,
            "categorySlug": null
          },
          "agent": null,
          "layer": "slide",
          "agents": null,
          "matchId": "6ac2073d-e569-47e6-ae0f-bbc910f63bcd",
          "evidence": "The strength we saw exiting 2022 continued into 2023... USER & FINANCIAL SUMMARY table",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.9,
          "extraction": {
            "at": "2026-07-16 22:05:23.940554+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 3,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": "common",
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "So What? Test",
            "slug": "so-what-test",
            "status": "active",
            "bestFor": "On every slide carrying a chart, number, list, or finding intended to inform a decision; whenever a draft title is descriptive rather than directive; whenever the deck will circulate without its author.",
            "canonId": "019dd956-acd2-76f8-b59a-9bf15a89f10a",
            "version": 1,
            "bodyDocId": "fec04b06-b2f1-432b-a97b-916dc7563f64",
            "description": "The recursive editorial discipline of asking so-what of every slide, chart, and statement until the answer is an implication for the audience — that final answer becomes the slide's title; the chain becomes its body.",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Architect",
          "layer": "slide",
          "agents": [
            "Architect"
          ],
          "matchId": "019debb7-de08-779f-9f23-7a76c56199b2",
          "evidence": "Narrative resolves with 'encouraged by strong start to 2023'.",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": "On every slide carrying a chart, number, list, or finding intended to inform a decision; whenever a draft title is descriptive rather than directive; whenever the deck will circulate without its author.",
          "confidence": 70,
          "extraction": {
            "at": "2026-05-03 02:43:08.082368+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 3,
          "whyItWorks": "Solves the two failure modes of analytical communication at once: stopping at description (analyst-confidence problem) and leaving insight stranded in the analyst's head (translation problem). The recursion is what guarantees the implication makes it into ink.",
          "antipattern": "Stopping at the first tighter description (still a fact, not an implication), regressing past the audience's decision space into philosophy, smuggling the so-what into speaker notes, or re-using an implication aimed at a previous audience.",
          "cardinality": null,
          "narrativePurpose": "Forces every analytical artefact to close the gap between fact and decision, so the reader holds the recommendation by reading titles alone rather than reconstructing the analyst's mental model from raw evidence."
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 15,
          "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": "019debb7-db88-76cf-83a1-504ebba582d7",
          "matchId": "019debb7-db60-744c-935c-b4df8368adfa",
          "beatType": null,
          "evidence": "Exec summary + financial deep dive + user metrics — all data.",
          "position": 1,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 60
        },
        {
          "to": 5,
          "arc": {
            "name": "The Consultant's Gambit",
            "slug": "consultants-gambit",
            "status": "active",
            "bestFor": "Business cases, project proposals, strategic recommendations",
            "canonId": "019dd956-5e0a-73c8-b305-81c38c959e9c",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Situation & Context -> Problem & Complication -> Solution & Approach -> Evidence & Proof -> Impact & Next Steps",
            "description": null,
            "familyLabel": null
          },
          "from": 3,
          "name": "Situation & Context",
          "beatId": "019debb7-dc0e-74eb-a0d9-b36a2cfbcfb1",
          "matchId": "019debb7-dbef-713b-9a65-c3d3b3238ba0",
          "beatType": null,
          "evidence": "Executive summary plus actuals-vs-guidance frames the quarter.",
          "position": 1,
          "isPrimaryArc": false,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 45
        }
      ],
      "loops": [
        {
          "to": 5,
          "from": 3,
          "loop": {
            "name": "41_so_what_cascade",
            "slug": "41-so-what-cascade",
            "status": "active",
            "bestFor": "Data presentations, executive summaries, driving to recommendations",
            "canonId": "019dd956-769f-7208-afbc-f28985c6f4fb",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Data -> So What? (Insight 1) -> So What? (Insight 2) -> So What? (The Action)",
            "description": "Chain insights together, each answering 'so what?' until you reach the actionable conclusion",
            "familyLabel": null
          },
          "matchId": "019debb7-dca7-7022-865a-68bd1c633811",
          "evidence": "p3 callout 'KPIs surpassed expectations' → p4 bullet highlights → p5 actuals vs guidance.",
          "position": 1,
          "objective": "Lead with insight, then bullet highlights, then guidance comparison",
          "confidence": 65,
          "extraction": {
            "at": "2026-05-03 02:43:08.082368+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 4,
      "type": "setup",
      "function": "summarize",
      "rawType": "executive_summary",
      "block": null,
      "metadata": {
        "slideType": "executive_summary",
        "slideTypeCanon": {
          "name": "Executive summary",
          "slug": "executive_summary",
          "status": "active",
          "canonId": "019de52d-06be-73ff-81b3-f99fe7f0025e",
          "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": 57,
        "componentCount": 6,
        "textChars": 669,
        "nDataPoints": 9,
        "notes": null,
        "elementsJson": [
          "headline_text",
          "bullet_list"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:22:41.473+00",
          "seconds": 15.562,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5efe-75c0-8dfe-fcabeaba112f/4",
        "deck": "/decks/019dd923-5efe-75c0-8dfe-fcabeaba112f",
        "deckAnchor": "/decks/019dd923-5efe-75c0-8dfe-fcabeaba112f#slide-4",
        "deckJson": "/decks/019dd923-5efe-75c0-8dfe-fcabeaba112f.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.03,
            "w": 0.5,
            "x": 0.15,
            "y": 0.94
          },
          "kind": "disclaimer",
          "text": "1 Other Cost of Revenue includes streaming delivery costs, payment fees, customer service and other content costs.",
          "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:22:41.473+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "cdf9fcc6-ef6e-4b5d-9e2a-17a9f35c03ed",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.65,
            "w": 0.28,
            "x": 0.67,
            "y": 0.23
          },
          "kind": "list",
          "text": "Multiple updates to the Spotify experience unveiled at Stream On. Launched AI DJ. Unveiled new interactive foreground experience. Announced new tools for creators.",
          "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:22:41.473+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "8171c9b4-9025-433e-ae23-a6dfa69fb01b",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.65,
            "w": 0.28,
            "x": 0.05,
            "y": 0.23
          },
          "kind": "list",
          "text": "Record high Q1 MAU growth of 26 million net additions. MAUs grew 22% Y/Y to 515 million. Broad-based MAU outperformance. Premium Subscribers grew 15% Y/Y to 210 million.",
          "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:22:41.473+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "c4f0daa8-fe88-4b08-b992-49f001910706",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.65,
            "w": 0.28,
            "x": 0.36,
            "y": 0.23
          },
          "kind": "list",
          "text": "14% Y/Y Revenue growth and 25.2% Gross Margin. Total Revenue grew 14% Y/Y to €3.0 billion. Premium Revenue grew 14% Y/Y to €2.7 billion. Ad-Supported Revenue grew 17% Y/Y to €329 million.",
          "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:22:41.473+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "e3f6b7c8-5985-426c-a4c4-7d5467ebb789",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "MAU growth: 26 million",
          "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-27 07:18:56+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-832b-73b4-83ad-abc0a317c27e",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.06,
            "w": 0.3,
            "x": 0.05,
            "y": 0.08
          },
          "kind": "title",
          "text": "Key Highlights",
          "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:22:41.473+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "a980876f-14b3-4c9d-b9f7-efcdc4ae9b73",
          "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": "019debb7-dea8-7547-b940-ee08bcf7972f",
          "evidence": "Highlights grouped in tight bullet sets.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 50,
          "extraction": {
            "at": "2026-05-03 02:43:08.082368+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 4,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Chunking",
            "slug": "chunking",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-abab-72ce-b64c-2924cc83cf39",
            "version": 1,
            "bodyDocId": null,
            "description": "Information grouped into chunks is remembered better - structure content in digestible units",
            "familyLabel": null,
            "categoryName": "Loop",
            "categorySlug": "loop"
          },
          "agent": "Architect",
          "layer": "loop",
          "agents": [
            "Architect"
          ],
          "matchId": "019debb7-de6b-7293-8bce-6bed1de2cf87",
          "evidence": "Performance broken into discrete bullet groups.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 70,
          "extraction": {
            "at": "2026-05-03 02:43:08.082368+00",
            "model": "claude-cli",
            "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": "019debb7-de89-749b-b432-df2eb5863a7e",
          "evidence": "Title 'Key Highlights' summarizes the takeaways.",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
          "confidence": 60,
          "extraction": {
            "at": "2026-05-03 02:43:08.082368+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 4,
          "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": "List presentation",
            "slug": "list-presentation",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd9e1-4ef7-777d-ba68-9074c2b3bcf1",
            "version": 1,
            "bodyDocId": null,
            "description": "Bulleted, numbered, or checklist enumerations.",
            "familyLabel": null,
            "categoryName": null,
            "categorySlug": null
          },
          "agent": null,
          "layer": "slide",
          "agents": null,
          "matchId": "a713e0cb-4221-42b5-8e7a-e4b82e7c5784",
          "evidence": "List of bullet points: 14% Y/Y Revenue growth, Record high Q1 MAU growth, etc.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.8,
          "extraction": {
            "at": "2026-07-16 22:05:24.025046+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 4,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": "common",
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 15,
          "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": "019debb7-db88-76cf-83a1-504ebba582d7",
          "matchId": "019debb7-db60-744c-935c-b4df8368adfa",
          "beatType": null,
          "evidence": "Exec summary + financial deep dive + user metrics — all data.",
          "position": 1,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 60
        },
        {
          "to": 5,
          "arc": {
            "name": "The Consultant's Gambit",
            "slug": "consultants-gambit",
            "status": "active",
            "bestFor": "Business cases, project proposals, strategic recommendations",
            "canonId": "019dd956-5e0a-73c8-b305-81c38c959e9c",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Situation & Context -> Problem & Complication -> Solution & Approach -> Evidence & Proof -> Impact & Next Steps",
            "description": null,
            "familyLabel": null
          },
          "from": 3,
          "name": "Situation & Context",
          "beatId": "019debb7-dc0e-74eb-a0d9-b36a2cfbcfb1",
          "matchId": "019debb7-dbef-713b-9a65-c3d3b3238ba0",
          "beatType": null,
          "evidence": "Executive summary plus actuals-vs-guidance frames the quarter.",
          "position": 1,
          "isPrimaryArc": false,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 45
        }
      ],
      "loops": [
        {
          "to": 5,
          "from": 3,
          "loop": {
            "name": "41_so_what_cascade",
            "slug": "41-so-what-cascade",
            "status": "active",
            "bestFor": "Data presentations, executive summaries, driving to recommendations",
            "canonId": "019dd956-769f-7208-afbc-f28985c6f4fb",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Data -> So What? (Insight 1) -> So What? (Insight 2) -> So What? (The Action)",
            "description": "Chain insights together, each answering 'so what?' until you reach the actionable conclusion",
            "familyLabel": null
          },
          "matchId": "019debb7-dca7-7022-865a-68bd1c633811",
          "evidence": "p3 callout 'KPIs surpassed expectations' → p4 bullet highlights → p5 actuals vs guidance.",
          "position": 1,
          "objective": "Lead with insight, then bullet highlights, then guidance comparison",
          "confidence": 65,
          "extraction": {
            "at": "2026-05-03 02:43:08.082368+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 5,
      "type": "analysis",
      "function": "summarize",
      "rawType": "kpi_dashboard",
      "block": null,
      "metadata": {
        "slideType": "kpi_dashboard",
        "slideTypeCanon": {
          "name": "KPI dashboard",
          "slug": "kpi_dashboard",
          "status": "active",
          "canonId": "019de52d-0be5-7295-af4d-b850fe7b7e65",
          "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": 23,
        "componentCount": 4,
        "textChars": 193,
        "nDataPoints": 10,
        "notes": null,
        "elementsJson": [
          "data_table",
          "icon_grid"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:22:28.672+00",
          "seconds": 2.606,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5efe-75c0-8dfe-fcabeaba112f/5",
        "deck": "/decks/019dd923-5efe-75c0-8dfe-fcabeaba112f",
        "deckAnchor": "/decks/019dd923-5efe-75c0-8dfe-fcabeaba112f#slide-5",
        "deckJson": "/decks/019dd923-5efe-75c0-8dfe-fcabeaba112f.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "metric",
          "text": "Monthly Active Users: 515",
          "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-27 07:18:55+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-832b-73b4-83ad-625bc9712131",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.25,
            "w": 0.6,
            "x": 0.25,
            "y": 0.55
          },
          "kind": "table",
          "text": "Financials table with Total Revenue, Gross Margin, and Operating Income",
          "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": {
              "name": "KPI table",
              "slug": "kpi",
              "status": "active",
              "canonId": "019de52d-0324-7799-a84e-d0885a8ad400",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "kpi",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:22:28.672+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "87e7ff91-a039-4dc3-95d4-321c951b4847",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.2,
            "w": 0.6,
            "x": 0.25,
            "y": 0.25
          },
          "kind": "table",
          "text": "Users table with Monthly Active Users and Premium Subscribers",
          "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": {
              "name": "KPI table",
              "slug": "kpi",
              "status": "active",
              "canonId": "019de52d-0324-7799-a84e-d0885a8ad400",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "kpi",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:22:28.672+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "cdb153e6-a421-42b0-8102-ed8f633e2a0b",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.06,
            "w": 0.5,
            "x": 0.05,
            "y": 0.08
          },
          "kind": "title",
          "text": "Key Highlights: Actuals vs. Guidance",
          "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:22:28.672+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "7205c684-bbcf-4ad3-b205-d211929012b2",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "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": "019debb7-dec8-715f-befb-c76bce26bf33",
          "evidence": "Comparison table chosen to show actuals vs guidance side-by-side.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 65,
          "extraction": {
            "at": "2026-05-03 02:43:08.082368+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 5,
          "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": "019debb7-dee9-715e-ab45-36a612e6723e",
          "evidence": "Highlight cells call out beats vs guidance.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 70,
          "extraction": {
            "at": "2026-05-03 02:43:08.082368+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 5,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 15,
          "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": "019debb7-db88-76cf-83a1-504ebba582d7",
          "matchId": "019debb7-db60-744c-935c-b4df8368adfa",
          "beatType": null,
          "evidence": "Exec summary + financial deep dive + user metrics — all data.",
          "position": 1,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 60
        },
        {
          "to": 5,
          "arc": {
            "name": "The Consultant's Gambit",
            "slug": "consultants-gambit",
            "status": "active",
            "bestFor": "Business cases, project proposals, strategic recommendations",
            "canonId": "019dd956-5e0a-73c8-b305-81c38c959e9c",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Situation & Context -> Problem & Complication -> Solution & Approach -> Evidence & Proof -> Impact & Next Steps",
            "description": null,
            "familyLabel": null
          },
          "from": 3,
          "name": "Situation & Context",
          "beatId": "019debb7-dc0e-74eb-a0d9-b36a2cfbcfb1",
          "matchId": "019debb7-dbef-713b-9a65-c3d3b3238ba0",
          "beatType": null,
          "evidence": "Executive summary plus actuals-vs-guidance frames the quarter.",
          "position": 1,
          "isPrimaryArc": false,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 45
        }
      ],
      "loops": [
        {
          "to": 5,
          "from": 3,
          "loop": {
            "name": "41_so_what_cascade",
            "slug": "41-so-what-cascade",
            "status": "active",
            "bestFor": "Data presentations, executive summaries, driving to recommendations",
            "canonId": "019dd956-769f-7208-afbc-f28985c6f4fb",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Data -> So What? (Insight 1) -> So What? (Insight 2) -> So What? (The Action)",
            "description": "Chain insights together, each answering 'so what?' until you reach the actionable conclusion",
            "familyLabel": null
          },
          "matchId": "019debb7-dca7-7022-865a-68bd1c633811",
          "evidence": "p3 callout 'KPIs surpassed expectations' → p4 bullet highlights → p5 actuals vs guidance.",
          "position": 1,
          "objective": "Lead with insight, then bullet highlights, then guidance comparison",
          "confidence": 65,
          "extraction": {
            "at": "2026-05-03 02:43:08.082368+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 6,
      "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": 17,
        "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:22:27.879+00",
          "seconds": 1.787,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5efe-75c0-8dfe-fcabeaba112f/6",
        "deck": "/decks/019dd923-5efe-75c0-8dfe-fcabeaba112f",
        "deckAnchor": "/decks/019dd923-5efe-75c0-8dfe-fcabeaba112f#slide-6",
        "deckJson": "/decks/019dd923-5efe-75c0-8dfe-fcabeaba112f.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.3,
            "w": 0.62,
            "x": 0,
            "y": 0.5
          },
          "kind": "title",
          "text": "FINANCIAL SUMMARY",
          "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:22:27.879+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "e27dfd50-1052-4e90-afdd-9a94e40c2c5b",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "Typography Hierarchy",
            "slug": "typography-hierarchy",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-ba98-77ab-9513-ff2344da8bc7",
            "version": 1,
            "bodyDocId": null,
            "description": "Using font size, weight, and style to create reading order",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "019debb7-df07-7084-a32f-357f8bfab167",
          "evidence": "Section divider with large heading typography.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 70,
          "extraction": {
            "at": "2026-05-03 02:43:08.082368+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 6,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 15,
          "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": "019debb7-db88-76cf-83a1-504ebba582d7",
          "matchId": "019debb7-db60-744c-935c-b4df8368adfa",
          "beatType": null,
          "evidence": "Exec summary + financial deep dive + user metrics — all data.",
          "position": 1,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 60
        }
      ],
      "loops": [
        {
          "to": 12,
          "from": 6,
          "loop": {
            "name": "40_mece_breakdown",
            "slug": "40-mece-breakdown",
            "status": "active",
            "bestFor": "Problem structuring, ensuring completeness, strategic analysis",
            "canonId": "019dd956-763c-765e-8b68-6ee3ae1ef184",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Whole -> Category A (distinct) -> Category B (distinct) -> Category C (distinct) -> Complete Coverage",
            "description": "Divide a complex topic into mutually exclusive, collectively exhaustive categories",
            "familyLabel": null
          },
          "matchId": "019debb7-dccd-725b-ae33-07db587c8b3a",
          "evidence": "Financial Summary divider, summary table, then revenue, gross margin, opex, FCF — non-overlapping P&L slices.",
          "position": 2,
          "objective": "Walk through finances by MECE buckets",
          "confidence": 75,
          "extraction": {
            "at": "2026-05-03 02:43:08.082368+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 7,
      "type": "analysis",
      "title": "Includes user metrics, revenue, profitability, and liquidity data.",
      "function": "summarize",
      "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": "summarize",
        "functionCanon": {
          "name": "Summarize",
          "slug": "summarize",
          "status": "active",
          "canonId": "019de52d-1541-704f-b86f-bf7b75056373",
          "version": 1,
          "description": null
        },
        "density": "balanced",
        "densityScore": 27,
        "componentCount": 4,
        "textChars": 225,
        "nDataPoints": 75,
        "notes": "Includes user metrics, revenue, profitability, and liquidity data.",
        "elementsJson": [
          "data_table"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:22:28.62+00",
          "seconds": 2.338,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5efe-75c0-8dfe-fcabeaba112f/7",
        "deck": "/decks/019dd923-5efe-75c0-8dfe-fcabeaba112f",
        "deckAnchor": "/decks/019dd923-5efe-75c0-8dfe-fcabeaba112f#slide-7",
        "deckJson": "/decks/019dd923-5efe-75c0-8dfe-fcabeaba112f.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.02,
            "w": 0.6,
            "x": 0.15,
            "y": 0.94
          },
          "kind": "disclaimer",
          "text": "¹ Free Cash Flow is a non-IFRS measure. See \"Use of Non-IFRS Measures\" and \"Reconciliation of IFRS to Non-IFRS Results\" for additional information.",
          "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:22:28.62+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "48c2e939-1505-4239-80d5-11f514000c68",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Total Revenue: 3,042",
          "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-27 07:18:55+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-832b-73b4-83ad-280cc3cd5991",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.65,
            "w": 0.9,
            "x": 0.05,
            "y": 0.23
          },
          "kind": "table",
          "text": "USER, FINANCIAL & LIQUIDITY SUMMARY table",
          "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": {
              "name": "Data table",
              "slug": "data",
              "status": "active",
              "canonId": "019de52d-02d5-75b8-8abf-88e92bf63569",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "data",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:22:28.62+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "26834d29-78c0-474e-b309-eb3fa579863b",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.3,
            "x": 0.05,
            "y": 0.08
          },
          "kind": "title",
          "text": "Financial Summary",
          "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:22:28.62+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "0b68ec40-655f-4d1d-b9ac-ad5d66ce23d9",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "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": "019debb7-df26-7543-942b-f06a185b9d41",
          "evidence": "Five-quarter trended financial table format.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 70,
          "extraction": {
            "at": "2026-05-03 02:43:08.082368+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 7,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Data-Ink Ratio",
            "slug": "data-ink-ratio",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-afc8-70da-b378-92834d36fde6",
            "version": 1,
            "bodyDocId": null,
            "description": "Maximize data, minimize non-data ink - remove chartjunk and decoration",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "019debb7-df46-70dd-9b9b-8b10d18bc53d",
          "evidence": "Dense numerical table, minimal decoration.",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": null,
          "confidence": 55,
          "extraction": {
            "at": "2026-05-03 02:43:08.082368+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 7,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 15,
          "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": "019debb7-db88-76cf-83a1-504ebba582d7",
          "matchId": "019debb7-db60-744c-935c-b4df8368adfa",
          "beatType": null,
          "evidence": "Exec summary + financial deep dive + user metrics — all data.",
          "position": 1,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 60
        },
        {
          "to": 15,
          "arc": {
            "name": "The Consultant's Gambit",
            "slug": "consultants-gambit",
            "status": "active",
            "bestFor": "Business cases, project proposals, strategic recommendations",
            "canonId": "019dd956-5e0a-73c8-b305-81c38c959e9c",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Situation & Context -> Problem & Complication -> Solution & Approach -> Evidence & Proof -> Impact & Next Steps",
            "description": null,
            "familyLabel": null
          },
          "from": 7,
          "name": "Evidence & Proof",
          "beatId": "019debb7-dc69-707d-bce2-501100dc09ab",
          "matchId": "019debb7-dbef-713b-9a65-c3d3b3238ba0",
          "beatType": null,
          "evidence": "Financial detail charts and user growth charts substantiate claims.",
          "position": 4,
          "isPrimaryArc": false,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 45
        }
      ],
      "loops": [
        {
          "to": 12,
          "from": 6,
          "loop": {
            "name": "40_mece_breakdown",
            "slug": "40-mece-breakdown",
            "status": "active",
            "bestFor": "Problem structuring, ensuring completeness, strategic analysis",
            "canonId": "019dd956-763c-765e-8b68-6ee3ae1ef184",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Whole -> Category A (distinct) -> Category B (distinct) -> Category C (distinct) -> Complete Coverage",
            "description": "Divide a complex topic into mutually exclusive, collectively exhaustive categories",
            "familyLabel": null
          },
          "matchId": "019debb7-dccd-725b-ae33-07db587c8b3a",
          "evidence": "Financial Summary divider, summary table, then revenue, gross margin, opex, FCF — non-overlapping P&L slices.",
          "position": 2,
          "objective": "Walk through finances by MECE buckets",
          "confidence": 75,
          "extraction": {
            "at": "2026-05-03 02:43:08.082368+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 8,
      "type": "setup",
      "title": "The slide uses a structured list format to break down financial performance metrics.",
      "function": "summarize",
      "rawType": "executive_summary",
      "block": null,
      "metadata": {
        "slideType": "executive_summary",
        "slideTypeCanon": {
          "name": "Executive summary",
          "slug": "executive_summary",
          "status": "active",
          "canonId": "019de52d-06be-73ff-81b3-f99fe7f0025e",
          "version": 1,
          "description": null
        },
        "function": "summarize",
        "functionCanon": {
          "name": "Summarize",
          "slug": "summarize",
          "status": "active",
          "canonId": "019de52d-1541-704f-b86f-bf7b75056373",
          "version": 1,
          "description": null
        },
        "density": "overcrowded",
        "densityScore": 79,
        "componentCount": 8,
        "textChars": 1030,
        "nDataPoints": 12,
        "notes": "The slide uses a structured list format to break down financial performance metrics.",
        "elementsJson": [
          "headline_text",
          "bullet_list",
          "paragraph",
          "footnote"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:22:29.269+00",
          "seconds": 2.984,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5efe-75c0-8dfe-fcabeaba112f/8",
        "deck": "/decks/019dd923-5efe-75c0-8dfe-fcabeaba112f",
        "deckAnchor": "/decks/019dd923-5efe-75c0-8dfe-fcabeaba112f#slide-8",
        "deckJson": "/decks/019dd923-5efe-75c0-8dfe-fcabeaba112f.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.03,
            "w": 0.7,
            "x": 0.15,
            "y": 0.94
          },
          "kind": "disclaimer",
          "text": "* Constant currency measures and Free Cash Flow are non-IFRS measures. See \"Use of Non-IFRS Measures\" and \"Reconciliation of IFRS to Non-IFRS Results\" for additional information.",
          "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:22:29.269+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "d2436d5e-b7e1-4070-bb0c-e5dc36ed49f1",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.7,
            "x": 0.26,
            "y": 0.18
          },
          "kind": "list",
          "text": "Revenue of €3,042 million grew 14% Y/Y in Q1 (or 13% Y/Y constant currency), reflecting: Premium Revenue growth of 14% Y/Y; Ad-Supported Revenue growth of 17% Y/Y.",
          "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:22:29.269+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "11117972-8979-43b8-8199-db35b0684961",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.7,
            "x": 0.26,
            "y": 0.34
          },
          "kind": "list",
          "text": "Gross Margin was 25.2% in Q1, flat Y/Y reflecting: Continued growth in Marketplace activity and improvement in podcast profitability; offset by Higher Other Cost of Revenue.",
          "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:22:29.269+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "487ebca9-88ad-43c5-95c0-8d37eaf338be",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.12,
            "w": 0.7,
            "x": 0.26,
            "y": 0.67
          },
          "kind": "list",
          "text": "Operating Expense growth was impacted by: Y/Y changes in Social Charges; Severance-related charges associated with our Q1 workforce reduction.",
          "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:22:29.269+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "7477e7fa-e180-4516-bc37-317164997785",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.1,
            "w": 0.7,
            "x": 0.26,
            "y": 0.82
          },
          "kind": "list",
          "text": "Free Cash Flow was €57 million in Q1. Capital expenditures decreased €8 million Y/Y to €2 million. Liquidity remained strong with €3.5 billion in cash. 9,646 FTEs globally.",
          "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:22:29.269+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "86172aa7-3b67-4f47-9e4b-b7e74308ed68",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.7,
            "x": 0.26,
            "y": 0.49
          },
          "kind": "list",
          "text": "Operating Loss of (€156) million reflected the above and Operating Expense growth of 36% Y/Y, reflecting: Higher personnel costs; Lower marketing and legal costs.",
          "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:22:29.269+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "d76a621e-088b-4f77-aadf-7bc9e4ac24e3",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Revenue: €3,042 million",
          "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-27 07:18:56+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-832b-73b4-83ae-0409ae8d02cf",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.06,
            "w": 0.35,
            "x": 0.05,
            "y": 0.08
          },
          "kind": "title",
          "text": "Financial Summary",
          "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:22:29.269+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "9a2cefdc-c7d4-4da8-b4ab-5139a37d7993",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "Chunking",
            "slug": "chunking",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-abab-72ce-b64c-2924cc83cf39",
            "version": 1,
            "bodyDocId": null,
            "description": "Information grouped into chunks is remembered better - structure content in digestible units",
            "familyLabel": null,
            "categoryName": "Loop",
            "categorySlug": "loop"
          },
          "agent": "Architect",
          "layer": "loop",
          "agents": [
            "Architect"
          ],
          "matchId": "019debb7-df66-70e8-b800-b518665ecf59",
          "evidence": "Financial story chunked into revenue, profit, FCF sections.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 70,
          "extraction": {
            "at": "2026-05-03 02:43:08.082368+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 8,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Action Titles",
            "slug": "action-titles",
            "status": "active",
            "bestFor": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
            "canonId": "019dd956-ac70-700b-a608-ba58e78f5dcc",
            "version": 1,
            "bodyDocId": "816dad3c-9983-41c1-a86e-978ebd582841",
            "description": "The McKinsey-bred discipline of writing every slide title as a complete declarative sentence with a verb and an insight, not a topic label. Each title is a sub-claim that ladders up to the deck's governing thought; read in sequence, the titles reconstruct the executive summary.",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Architect",
          "layer": "slide",
          "agents": [
            "Architect"
          ],
          "matchId": "019debb7-df84-75dd-8162-1b11e1ecac98",
          "evidence": "Heading + bullet structure summarizes drivers.",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
          "confidence": 55,
          "extraction": {
            "at": "2026-05-03 02:43:08.082368+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 8,
          "whyItWorks": "Solves two failure modes at once. (1) The buried claim: action titles place the conclusion on the page before any analysis is read, so a busy reader doesn't reverse-engineer it from the chart. (2) The spineless deck: because each title is a claim, slides have to ladder up to the governing thought; logical gaps become visible as topic-shaped titles in a sequence that no longer reads as a story.",
          "antipattern": "Topic labels disguised as titles — Volume by quarter, Key findings, Pricing strategy, Margins have been impacted. No verb, or a passive verb with no agent, or a fact (Revenue grew 12%) without the so-what. Also: titles that overreach the chart's evidence, multi-claim X-grew-but-Y-fell welded titles, and mechanical repetition of the same X-drove-Y template across the deck.",
          "cardinality": null,
          "narrativePurpose": "Forces the deck to carry its argument in the title bar so a senior reader can extract the recommendation without opening a single slide; converts a binder of topics into a navigable pyramid where every slide is a node defending the apex."
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 15,
          "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": "019debb7-db88-76cf-83a1-504ebba582d7",
          "matchId": "019debb7-db60-744c-935c-b4df8368adfa",
          "beatType": null,
          "evidence": "Exec summary + financial deep dive + user metrics — all data.",
          "position": 1,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 60
        },
        {
          "to": 15,
          "arc": {
            "name": "The Consultant's Gambit",
            "slug": "consultants-gambit",
            "status": "active",
            "bestFor": "Business cases, project proposals, strategic recommendations",
            "canonId": "019dd956-5e0a-73c8-b305-81c38c959e9c",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Situation & Context -> Problem & Complication -> Solution & Approach -> Evidence & Proof -> Impact & Next Steps",
            "description": null,
            "familyLabel": null
          },
          "from": 7,
          "name": "Evidence & Proof",
          "beatId": "019debb7-dc69-707d-bce2-501100dc09ab",
          "matchId": "019debb7-dbef-713b-9a65-c3d3b3238ba0",
          "beatType": null,
          "evidence": "Financial detail charts and user growth charts substantiate claims.",
          "position": 4,
          "isPrimaryArc": false,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 45
        }
      ],
      "loops": [
        {
          "to": 12,
          "from": 6,
          "loop": {
            "name": "40_mece_breakdown",
            "slug": "40-mece-breakdown",
            "status": "active",
            "bestFor": "Problem structuring, ensuring completeness, strategic analysis",
            "canonId": "019dd956-763c-765e-8b68-6ee3ae1ef184",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Whole -> Category A (distinct) -> Category B (distinct) -> Category C (distinct) -> Complete Coverage",
            "description": "Divide a complex topic into mutually exclusive, collectively exhaustive categories",
            "familyLabel": null
          },
          "matchId": "019debb7-dccd-725b-ae33-07db587c8b3a",
          "evidence": "Financial Summary divider, summary table, then revenue, gross margin, opex, FCF — non-overlapping P&L slices.",
          "position": 2,
          "objective": "Walk through finances by MECE buckets",
          "confidence": 75,
          "extraction": {
            "at": "2026-05-03 02:43:08.082368+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 9,
      "type": "analysis",
      "title": "Slide shows two combo charts: Premium Revenue/ARPU and Ad-Supported Revenue/Revenue Mix.",
      "function": "analyze_data",
      "rawType": "kpi_dashboard",
      "block": null,
      "metadata": {
        "slideType": "kpi_dashboard",
        "slideTypeCanon": {
          "name": "KPI dashboard",
          "slug": "kpi_dashboard",
          "status": "active",
          "canonId": "019de52d-0be5-7295-af4d-b850fe7b7e65",
          "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": "overcrowded",
        "densityScore": 77,
        "componentCount": 8,
        "textChars": 818,
        "nDataPoints": 22,
        "notes": "Slide shows two combo charts: Premium Revenue/ARPU and Ad-Supported Revenue/Revenue Mix.",
        "elementsJson": [
          "headline_text",
          "paragraph",
          "bar_chart_vertical",
          "line_chart",
          "footnote"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:22:29.277+00",
          "seconds": 2.819,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5efe-75c0-8dfe-fcabeaba112f/9",
        "deck": "/decks/019dd923-5efe-75c0-8dfe-fcabeaba112f",
        "deckAnchor": "/decks/019dd923-5efe-75c0-8dfe-fcabeaba112f#slide-9",
        "deckJson": "/decks/019dd923-5efe-75c0-8dfe-fcabeaba112f.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "Premium Revenue grew 14% Y/Y to €2,713 million (or 13% Y/Y constant currency, comparable to Q4'22 performance), reflecting subscriber growth of 15% Y/Y and Premium ARPU decline of 1% Y/Y to €4.32.",
          "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-27 07:18:56+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-832b-73b4-83ae-f883274ec44a",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.3,
            "w": 0.4,
            "x": 0.55,
            "y": 0.55
          },
          "kind": "chart",
          "text": "Ad-Supported Revenue and % of Total Revenue trend",
          "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:22:29.277+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "22d10ca7-19e6-442c-b06c-a3b169cc2fd7",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.3,
            "w": 0.4,
            "x": 0.55,
            "y": 0.15
          },
          "kind": "chart",
          "text": "Premium Revenue and ARPU trend",
          "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:22:29.277+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "2d4d4a57-37e1-42b3-bc49-b747d8f902dd",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Revenue: €2,713 million",
          "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-27 07:18:56+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-832b-73b4-83ae-fe3676d8dfbe",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.25,
            "w": 0.45,
            "x": 0.05,
            "y": 0.5
          },
          "kind": "paragraph",
          "text": "Broad based Ad-Supported growth. Ad-Supported revenue grew 17% Y/Y with double-digit Y/Y growth across nearly all regions... Podcast revenue grew nearly 20% Y/Y.",
          "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:22:29.277+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "56574293-695c-46b1-bda9-8aa9c1266135",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.2,
            "w": 0.45,
            "x": 0.05,
            "y": 0.25
          },
          "kind": "paragraph",
          "text": "Consistent Premium growth, led by subscribers. Premium Revenue grew 14% Y/Y to €2,713 million... reflecting subscriber growth of 15% Y/Y and Premium ARPU decline of 1% Y/Y to €4.32.",
          "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:22:29.277+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "6a8b5d03-1930-4637-9f06-11727d5478be",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.6,
            "x": 0.05,
            "y": 0.93
          },
          "kind": "source-note",
          "text": "Premium Average Revenue per User (\"ARPU\"); Last Twelve Months (LTM) represents annual performance covering the preceding 12 months relative to the last day of the quarter.",
          "attrs": {
            "numbered": true
          },
          "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:22:29.277+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "6268a686-476b-4e2f-803b-9af544b05aee",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.15,
            "x": 0.05,
            "y": 0.08
          },
          "kind": "title",
          "text": "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": "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:22:29.277+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "c756e1b7-6a30-4aa7-b874-fd2da78b378d",
          "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": "019debb7-dfa6-750d-ba14-148b310ffe3f",
          "evidence": "Callout quotes Premium Revenue +14% Y/Y growth 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": 75,
          "extraction": {
            "at": "2026-05-03 02:43:08.082368+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 9,
          "whyItWorks": "Solves two failure modes at once. (1) The buried claim: action titles place the conclusion on the page before any analysis is read, so a busy reader doesn't reverse-engineer it from the chart. (2) The spineless deck: because each title is a claim, slides have to ladder up to the governing thought; logical gaps become visible as topic-shaped titles in a sequence that no longer reads as a story.",
          "antipattern": "Topic labels disguised as titles — Volume by quarter, Key findings, Pricing strategy, Margins have been impacted. No verb, or a passive verb with no agent, or a fact (Revenue grew 12%) without the so-what. Also: titles that overreach the chart's evidence, multi-claim X-grew-but-Y-fell welded titles, and mechanical repetition of the same X-drove-Y template across the deck.",
          "cardinality": null,
          "narrativePurpose": "Forces the deck to carry its argument in the title bar so a senior reader can extract the recommendation without opening a single slide; converts a binder of topics into a navigable pyramid where every slide is a node defending the apex."
        },
        {
          "tool": {
            "name": "Annotation",
            "slug": "annotation",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-b5b9-7668-bf0e-3af99823ec5c",
            "version": 1,
            "bodyDocId": null,
            "description": "Adding explanatory labels to highlight key data points",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "019debb7-dfe3-708b-bc07-c3a7afa5ec82",
          "evidence": "Per-bar value labels and footnotes annotate the chart.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 65,
          "extraction": {
            "at": "2026-05-03 02:43:08.082368+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 9,
          "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": "019debb7-dfc5-7758-9cf5-65f7d7d2f815",
          "evidence": "Combo bar+line charts pair revenue and ARPU.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 80,
          "extraction": {
            "at": "2026-05-03 02:43:08.082368+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 9,
          "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": "019debb7-e004-76e9-a032-89482d32ca97",
          "evidence": "Brand green and blue distinguish series cleanly.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 70,
          "extraction": {
            "at": "2026-05-03 02:43:08.082368+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 9,
          "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": "b7fd60a5-baad-4eb7-a083-e5b654fa4784",
          "evidence": "not clear from the text, but potentially related to revenue growth",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.5,
          "extraction": {
            "at": "2026-07-16 22:05:18.629238+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 9,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 15,
          "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": "019debb7-db88-76cf-83a1-504ebba582d7",
          "matchId": "019debb7-db60-744c-935c-b4df8368adfa",
          "beatType": null,
          "evidence": "Exec summary + financial deep dive + user metrics — all data.",
          "position": 1,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 60
        },
        {
          "to": 15,
          "arc": {
            "name": "The Consultant's Gambit",
            "slug": "consultants-gambit",
            "status": "active",
            "bestFor": "Business cases, project proposals, strategic recommendations",
            "canonId": "019dd956-5e0a-73c8-b305-81c38c959e9c",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Situation & Context -> Problem & Complication -> Solution & Approach -> Evidence & Proof -> Impact & Next Steps",
            "description": null,
            "familyLabel": null
          },
          "from": 7,
          "name": "Evidence & Proof",
          "beatId": "019debb7-dc69-707d-bce2-501100dc09ab",
          "matchId": "019debb7-dbef-713b-9a65-c3d3b3238ba0",
          "beatType": null,
          "evidence": "Financial detail charts and user growth charts substantiate claims.",
          "position": 4,
          "isPrimaryArc": false,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 45
        }
      ],
      "loops": [
        {
          "to": 12,
          "from": 6,
          "loop": {
            "name": "40_mece_breakdown",
            "slug": "40-mece-breakdown",
            "status": "active",
            "bestFor": "Problem structuring, ensuring completeness, strategic analysis",
            "canonId": "019dd956-763c-765e-8b68-6ee3ae1ef184",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Whole -> Category A (distinct) -> Category B (distinct) -> Category C (distinct) -> Complete Coverage",
            "description": "Divide a complex topic into mutually exclusive, collectively exhaustive categories",
            "familyLabel": null
          },
          "matchId": "019debb7-dccd-725b-ae33-07db587c8b3a",
          "evidence": "Financial Summary divider, summary table, then revenue, gross margin, opex, FCF — non-overlapping P&L slices.",
          "position": 2,
          "objective": "Walk through finances by MECE buckets",
          "confidence": 75,
          "extraction": {
            "at": "2026-05-03 02:43:08.082368+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 10,
      "type": "analysis",
      "function": "analyze_data",
      "rawType": "kpi_dashboard",
      "block": null,
      "metadata": {
        "slideType": "kpi_dashboard",
        "slideTypeCanon": {
          "name": "KPI dashboard",
          "slug": "kpi_dashboard",
          "status": "active",
          "canonId": "019de52d-0be5-7295-af4d-b850fe7b7e65",
          "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": "overcrowded",
        "densityScore": 85,
        "componentCount": 10,
        "textChars": 850,
        "nDataPoints": 15,
        "notes": null,
        "elementsJson": [
          "headline_text",
          "bar_chart_vertical",
          "paragraph"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:22:30.091+00",
          "seconds": 3.52,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5efe-75c0-8dfe-fcabeaba112f/10",
        "deck": "/decks/019dd923-5efe-75c0-8dfe-fcabeaba112f",
        "deckAnchor": "/decks/019dd923-5efe-75c0-8dfe-fcabeaba112f#slide-10",
        "deckJson": "/decks/019dd923-5efe-75c0-8dfe-fcabeaba112f.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "Gross Margin finished at 25.2% in Q1, flat Y/Y. The Y/Y trend reflects improved music profitability and improving podcast profitability, which were offset by Other Cost of 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-27 07:18:56+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-832b-73b4-83ad-e7e4e8d8aa4b",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.25,
            "w": 0.25,
            "x": 0.38,
            "y": 0.42
          },
          "kind": "chart",
          "text": "Premium Gross Margin",
          "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:22:30.091+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "22642664-7967-47ea-9eb3-d339c28acde7",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.25,
            "w": 0.25,
            "x": 0.7,
            "y": 0.42
          },
          "kind": "chart",
          "text": "Ad-Supported Gross Margin",
          "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:22:30.091+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "60b31b9c-38a0-47e2-b33d-f145ac8060bc",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.25,
            "w": 0.25,
            "x": 0.06,
            "y": 0.42
          },
          "kind": "chart",
          "text": "Total Gross Margin",
          "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:22:30.091+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "f7725714-f7b6-4e9c-ab44-dc03209db98f",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Gross Margin: 25.2%",
          "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-27 07:18:56+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-832b-73b4-83ad-ead1810a73f4",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.25,
            "x": 0.7,
            "y": 0.68
          },
          "kind": "paragraph",
          "text": "Ad-Supported Gross Margin was (3.0)% in Q1, down 162 bps Y/Y. The Y/Y trend reflects improving Ad-supported music and podcast profitability, offset by higher Other Cost of Revenue.",
          "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:22:30.091+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "ad51843b-31a0-450d-ab5a-b00297645618",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.25,
            "x": 0.38,
            "y": 0.68
          },
          "kind": "paragraph",
          "text": "Premium Gross Margin was 28.6% in Q1, up 23bps Y/Y. The Y/Y trend reflects improvement in Premium profitability (aided by Marketplace growth).",
          "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:22:30.091+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "ae0d5fc1-b18a-4d0a-b4b6-43bdf0eb36a1",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.25,
            "x": 0.06,
            "y": 0.68
          },
          "kind": "paragraph",
          "text": "Gross Margin finished at 25.2% in Q1, flat Y/Y. The Y/Y trend reflects improved music profitability and improving podcast profitability, which were offset by Other Cost of Revenue.",
          "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:22:30.091+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "c81d9940-ab21-4f3d-aba3-41ff322c1018",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.04,
            "w": 0.6,
            "x": 0.05,
            "y": 0.16
          },
          "kind": "title",
          "text": "Marketplace and podcasting benefits offset by higher Other Cost of 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:22:30.091+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "e524400a-a6d5-4bf6-8df8-42963c8b079b",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.06,
            "w": 0.25,
            "x": 0.05,
            "y": 0.08
          },
          "kind": "title",
          "text": "Gross Margin",
          "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:22:30.091+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "ab9203cb-3b70-4e4c-ac7b-101549166e91",
          "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": "019debb7-e022-7489-ac99-e02073b7eb8b",
          "evidence": "Sub-headline 'Marketplace and podcasting benefits offset by higher Other Cost of 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-05-03 02:43:08.082368+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 10,
          "whyItWorks": "Solves two failure modes at once. (1) The buried claim: action titles place the conclusion on the page before any analysis is read, so a busy reader doesn't reverse-engineer it from the chart. (2) The spineless deck: because each title is a claim, slides have to ladder up to the governing thought; logical gaps become visible as topic-shaped titles in a sequence that no longer reads as a story.",
          "antipattern": "Topic labels disguised as titles — Volume by quarter, Key findings, Pricing strategy, Margins have been impacted. No verb, or a passive verb with no agent, or a fact (Revenue grew 12%) without the so-what. Also: titles that overreach the chart's evidence, multi-claim X-grew-but-Y-fell welded titles, and mechanical repetition of the same X-drove-Y template across the deck.",
          "cardinality": null,
          "narrativePurpose": "Forces the deck to carry its argument in the title bar so a senior reader can extract the recommendation without opening a single slide; converts a binder of topics into a navigable pyramid where every slide is a node defending the apex."
        },
        {
          "tool": {
            "name": "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": "019debb7-e060-77cf-a3f0-9ce70e75c72a",
          "evidence": "Quarterly margin trend lines for total/Premium/Ad-Supported.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 70,
          "extraction": {
            "at": "2026-05-03 02:43:08.082368+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 10,
          "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": "019debb7-e07e-7249-93c7-02fc7a11d183",
          "evidence": "Series differentiated by consistent palette.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 60,
          "extraction": {
            "at": "2026-05-03 02:43:08.082368+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 10,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "So What? Test",
            "slug": "so-what-test",
            "status": "active",
            "bestFor": "On every slide carrying a chart, number, list, or finding intended to inform a decision; whenever a draft title is descriptive rather than directive; whenever the deck will circulate without its author.",
            "canonId": "019dd956-acd2-76f8-b59a-9bf15a89f10a",
            "version": 1,
            "bodyDocId": "fec04b06-b2f1-432b-a97b-916dc7563f64",
            "description": "The recursive editorial discipline of asking so-what of every slide, chart, and statement until the answer is an implication for the audience — that final answer becomes the slide's title; the chain becomes its body.",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Architect",
          "layer": "slide",
          "agents": [
            "Architect"
          ],
          "matchId": "019debb7-e040-73d4-aa18-90bd0c700616",
          "evidence": "Title delivers the so-what about margin drivers.",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": "On every slide carrying a chart, number, list, or finding intended to inform a decision; whenever a draft title is descriptive rather than directive; whenever the deck will circulate without its author.",
          "confidence": 75,
          "extraction": {
            "at": "2026-05-03 02:43:08.082368+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 10,
          "whyItWorks": "Solves the two failure modes of analytical communication at once: stopping at description (analyst-confidence problem) and leaving insight stranded in the analyst's head (translation problem). The recursion is what guarantees the implication makes it into ink.",
          "antipattern": "Stopping at the first tighter description (still a fact, not an implication), regressing past the audience's decision space into philosophy, smuggling the so-what into speaker notes, or re-using an implication aimed at a previous audience.",
          "cardinality": null,
          "narrativePurpose": "Forces every analytical artefact to close the gap between fact and decision, so the reader holds the recommendation by reading titles alone rather than reconstructing the analyst's mental model from raw evidence."
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 15,
          "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": "019debb7-db88-76cf-83a1-504ebba582d7",
          "matchId": "019debb7-db60-744c-935c-b4df8368adfa",
          "beatType": null,
          "evidence": "Exec summary + financial deep dive + user metrics — all data.",
          "position": 1,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 60
        },
        {
          "to": 11,
          "arc": {
            "name": "The Consultant's Gambit",
            "slug": "consultants-gambit",
            "status": "active",
            "bestFor": "Business cases, project proposals, strategic recommendations",
            "canonId": "019dd956-5e0a-73c8-b305-81c38c959e9c",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Situation & Context -> Problem & Complication -> Solution & Approach -> Evidence & Proof -> Impact & Next Steps",
            "description": null,
            "familyLabel": null
          },
          "from": 10,
          "name": "Problem & Complication",
          "beatId": "019debb7-dc2c-70b9-832a-3190262dd4ab",
          "matchId": "019debb7-dbef-713b-9a65-c3d3b3238ba0",
          "beatType": null,
          "evidence": "Gross margin flat and opex up 36% Y/Y are the friction points.",
          "position": 2,
          "isPrimaryArc": false,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 45
        },
        {
          "to": 15,
          "arc": {
            "name": "The Consultant's Gambit",
            "slug": "consultants-gambit",
            "status": "active",
            "bestFor": "Business cases, project proposals, strategic recommendations",
            "canonId": "019dd956-5e0a-73c8-b305-81c38c959e9c",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Situation & Context -> Problem & Complication -> Solution & Approach -> Evidence & Proof -> Impact & Next Steps",
            "description": null,
            "familyLabel": null
          },
          "from": 7,
          "name": "Evidence & Proof",
          "beatId": "019debb7-dc69-707d-bce2-501100dc09ab",
          "matchId": "019debb7-dbef-713b-9a65-c3d3b3238ba0",
          "beatType": null,
          "evidence": "Financial detail charts and user growth charts substantiate claims.",
          "position": 4,
          "isPrimaryArc": false,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 45
        }
      ],
      "loops": [
        {
          "to": 12,
          "from": 6,
          "loop": {
            "name": "40_mece_breakdown",
            "slug": "40-mece-breakdown",
            "status": "active",
            "bestFor": "Problem structuring, ensuring completeness, strategic analysis",
            "canonId": "019dd956-763c-765e-8b68-6ee3ae1ef184",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Whole -> Category A (distinct) -> Category B (distinct) -> Category C (distinct) -> Complete Coverage",
            "description": "Divide a complex topic into mutually exclusive, collectively exhaustive categories",
            "familyLabel": null
          },
          "matchId": "019debb7-dccd-725b-ae33-07db587c8b3a",
          "evidence": "Financial Summary divider, summary table, then revenue, gross margin, opex, FCF — non-overlapping P&L slices.",
          "position": 2,
          "objective": "Walk through finances by MECE buckets",
          "confidence": 75,
          "extraction": {
            "at": "2026-05-03 02:43:08.082368+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 11,
      "type": "analysis",
      "title": "Includes a waterfall chart explaining the drivers of Y/Y expense growth.",
      "function": "analyze_data",
      "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": "analyze_data",
        "functionCanon": {
          "name": "Analyze data",
          "slug": "analyze_data",
          "status": "active",
          "canonId": "019de52d-1590-7413-8c82-cc218cff40b4",
          "version": 1,
          "description": null
        },
        "density": "overcrowded",
        "densityScore": 76,
        "componentCount": 7,
        "textChars": 1399,
        "nDataPoints": 15,
        "notes": "Includes a waterfall chart explaining the drivers of Y/Y expense growth.",
        "elementsJson": [
          "headline_text",
          "paragraph",
          "bar_chart_vertical",
          "line_chart",
          "waterfall_chart"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:22:33.728+00",
          "seconds": 7.046,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5efe-75c0-8dfe-fcabeaba112f/11",
        "deck": "/decks/019dd923-5efe-75c0-8dfe-fcabeaba112f",
        "deckAnchor": "/decks/019dd923-5efe-75c0-8dfe-fcabeaba112f#slide-11",
        "deckJson": "/decks/019dd923-5efe-75c0-8dfe-fcabeaba112f.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "Looking ahead, we continue to anticipate a meaningful improvement in our Operating Expense ratios and Operating Income/(Loss) in 2023 and beyond.",
          "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-27 07:18:56+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-832b-73b4-83ae-bd9fd48448de",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.3,
            "w": 0.4,
            "x": 0.55,
            "y": 0.15
          },
          "kind": "chart",
          "text": "Operating Expense Trends",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Chart",
              "slug": "chart",
              "status": "active",
              "canonId": "019de52c-f9a0-76ef-adc6-0b859109d1f8",
              "version": 1,
              "description": "Quantitative chart."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": "bar-line",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:22:33.728+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "490d68a6-eec9-45af-acd1-9584a31929fd",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.35,
            "w": 0.4,
            "x": 0.55,
            "y": 0.55
          },
          "kind": "chart",
          "text": "Items Affecting Operating Expense Growth Y/Y In Q1'23",
          "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": "Waterfall chart",
              "slug": "waterfall",
              "status": "active",
              "canonId": "019de52d-002e-733e-b5cf-dd3beb6692cc",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "waterfall",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:22:33.728+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "02e38f7a-00b6-4b11-bf76-8c89e8037387",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Operating Expense Growth: 36%",
          "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-27 07:18:56+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-832b-73b4-83ae-c1b1c2eba07b",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.6,
            "w": 0.4,
            "x": 0.05,
            "y": 0.19
          },
          "kind": "paragraph",
          "text": "Operating Expenses grew 36% Y/Y (or 34% constant currency), driven primarily by higher personnel costs related to the headcount expansion we undertook over the course of 2022. This was partially offset by lower marketing and legal costs in the quarter, as well as the beginnings of select efficiency initiatives. Operating Expense growth was also impacted by severance charges of €41 million (~600 bps Y/Y) and Y/Y changes in Social Charge movements of €68 million (1,200 bps Y/Y). As a reminder, Social Charges are payroll taxes associated with employee salaries and benefits in select countries where we operate. Since a portion of these taxes is tied to the intrinsic value of share-based compensation awards, movements in our stock price can lead to fluctuations in the taxes we accrue. This resulted in Social Charges related to share-based compensation of €12 million in the current period vs. (€56) million in the prior year period. Looking ahead, we continue to anticipate a meaningful improvement in our Operating Expense ratios and Operating Income/(Loss) in 2023 and beyond.",
          "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:22:33.728+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "06df1879-cfd6-4b90-a822-0892af769291",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.4,
            "x": 0.05,
            "y": 0.14
          },
          "kind": "title",
          "text": "Primarily driven by residual headcount 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:22:33.728+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "57c14e61-3131-4409-894f-1ef1de7012c3",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.3,
            "x": 0.05,
            "y": 0.08
          },
          "kind": "title",
          "text": "Operating Expenses",
          "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:22:33.728+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "dd7dc7d0-a2f2-483e-938d-5c0e73a262c1",
          "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": "019debb7-e09c-77c2-9abc-2ec99fe3b38b",
          "evidence": "Sub-headline 'Primarily driven by residual headcount 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": 85,
          "extraction": {
            "at": "2026-05-03 02:43:08.082368+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 11,
          "whyItWorks": "Solves two failure modes at once. (1) The buried claim: action titles place the conclusion on the page before any analysis is read, so a busy reader doesn't reverse-engineer it from the chart. (2) The spineless deck: because each title is a claim, slides have to ladder up to the governing thought; logical gaps become visible as topic-shaped titles in a sequence that no longer reads as a story.",
          "antipattern": "Topic labels disguised as titles — Volume by quarter, Key findings, Pricing strategy, Margins have been impacted. No verb, or a passive verb with no agent, or a fact (Revenue grew 12%) without the so-what. Also: titles that overreach the chart's evidence, multi-claim X-grew-but-Y-fell welded titles, and mechanical repetition of the same X-drove-Y template across the deck.",
          "cardinality": null,
          "narrativePurpose": "Forces the deck to carry its argument in the title bar so a senior reader can extract the recommendation without opening a single slide; converts a binder of topics into a navigable pyramid where every slide is a node defending the apex."
        },
        {
          "tool": {
            "name": "Annotation",
            "slug": "annotation",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-b5b9-7668-bf0e-3af99823ec5c",
            "version": 1,
            "bodyDocId": null,
            "description": "Adding explanatory labels to highlight key data points",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "019debb7-e0d9-756a-aa8d-6652f0c0ebdf",
          "evidence": "Each waterfall bar labelled with %, plus bar values on trend.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 80,
          "extraction": {
            "at": "2026-05-03 02:43:08.082368+00",
            "model": "claude-cli",
            "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": "019debb7-e0b9-7460-830c-1777938e8fbf",
          "evidence": "Trend chart plus waterfall picked to attribute drivers.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 80,
          "extraction": {
            "at": "2026-05-03 02:43:08.082368+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 11,
          "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": "019debb7-e0f7-710a-bf93-e347a56b3cad",
          "evidence": "Purple totals vs green drivers in waterfall.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 70,
          "extraction": {
            "at": "2026-05-03 02:43:08.082368+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 11,
          "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": "d6e8d77c-1263-4dd0-8d79-1cb51e156d4d",
          "evidence": "Items Affecting Operating Expense Growth Y/Y In Q1'23",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.8,
          "extraction": {
            "at": "2026-07-16 22:05:18.745643+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 11,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [
        {
          "matchId": "019debb7-e56b-7404-b82e-7959d13a2790",
          "evidence": "Bottom-right chart breaks down +36% opex into FX, social charges, severance, other.",
          "framework": null,
          "confidence": 90,
          "extraction": {
            "at": "2026-05-03 02:43:08.082368+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 11,
          "frameworkName": "Waterfall chart"
        }
      ],
      "arcBeats": [
        {
          "to": 15,
          "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": "019debb7-db88-76cf-83a1-504ebba582d7",
          "matchId": "019debb7-db60-744c-935c-b4df8368adfa",
          "beatType": null,
          "evidence": "Exec summary + financial deep dive + user metrics — all data.",
          "position": 1,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 60
        },
        {
          "to": 11,
          "arc": {
            "name": "The Consultant's Gambit",
            "slug": "consultants-gambit",
            "status": "active",
            "bestFor": "Business cases, project proposals, strategic recommendations",
            "canonId": "019dd956-5e0a-73c8-b305-81c38c959e9c",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Situation & Context -> Problem & Complication -> Solution & Approach -> Evidence & Proof -> Impact & Next Steps",
            "description": null,
            "familyLabel": null
          },
          "from": 10,
          "name": "Problem & Complication",
          "beatId": "019debb7-dc2c-70b9-832a-3190262dd4ab",
          "matchId": "019debb7-dbef-713b-9a65-c3d3b3238ba0",
          "beatType": null,
          "evidence": "Gross margin flat and opex up 36% Y/Y are the friction points.",
          "position": 2,
          "isPrimaryArc": false,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 45
        },
        {
          "to": 15,
          "arc": {
            "name": "The Consultant's Gambit",
            "slug": "consultants-gambit",
            "status": "active",
            "bestFor": "Business cases, project proposals, strategic recommendations",
            "canonId": "019dd956-5e0a-73c8-b305-81c38c959e9c",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Situation & Context -> Problem & Complication -> Solution & Approach -> Evidence & Proof -> Impact & Next Steps",
            "description": null,
            "familyLabel": null
          },
          "from": 7,
          "name": "Evidence & Proof",
          "beatId": "019debb7-dc69-707d-bce2-501100dc09ab",
          "matchId": "019debb7-dbef-713b-9a65-c3d3b3238ba0",
          "beatType": null,
          "evidence": "Financial detail charts and user growth charts substantiate claims.",
          "position": 4,
          "isPrimaryArc": false,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 45
        }
      ],
      "loops": [
        {
          "to": 12,
          "from": 6,
          "loop": {
            "name": "40_mece_breakdown",
            "slug": "40-mece-breakdown",
            "status": "active",
            "bestFor": "Problem structuring, ensuring completeness, strategic analysis",
            "canonId": "019dd956-763c-765e-8b68-6ee3ae1ef184",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Whole -> Category A (distinct) -> Category B (distinct) -> Category C (distinct) -> Complete Coverage",
            "description": "Divide a complex topic into mutually exclusive, collectively exhaustive categories",
            "familyLabel": null
          },
          "matchId": "019debb7-dccd-725b-ae33-07db587c8b3a",
          "evidence": "Financial Summary divider, summary table, then revenue, gross margin, opex, FCF — non-overlapping P&L slices.",
          "position": 2,
          "objective": "Walk through finances by MECE buckets",
          "confidence": 75,
          "extraction": {
            "at": "2026-05-03 02:43:08.082368+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 12,
      "type": "analysis",
      "title": "The slide uses two bar charts to show LTM performance and cumulative growth, supported by a narrative explaining the drivers of recent cash flow changes.",
      "function": "analyze_data",
      "rawType": "kpi_dashboard",
      "block": null,
      "metadata": {
        "slideType": "kpi_dashboard",
        "slideTypeCanon": {
          "name": "KPI dashboard",
          "slug": "kpi_dashboard",
          "status": "active",
          "canonId": "019de52d-0be5-7295-af4d-b850fe7b7e65",
          "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": "overcrowded",
        "densityScore": 83,
        "componentCount": 8,
        "textChars": 1270,
        "nDataPoints": 24,
        "notes": "The slide uses two bar charts to show LTM performance and cumulative growth, supported by a narrative explaining the drivers of recent cash flow changes.",
        "elementsJson": [
          "headline_text",
          "paragraph",
          "bar_chart_vertical",
          "line_chart",
          "footnote"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:22:29.919+00",
          "seconds": 2.946,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5efe-75c0-8dfe-fcabeaba112f/12",
        "deck": "/decks/019dd923-5efe-75c0-8dfe-fcabeaba112f",
        "deckAnchor": "/decks/019dd923-5efe-75c0-8dfe-fcabeaba112f#slide-12",
        "deckJson": "/decks/019dd923-5efe-75c0-8dfe-fcabeaba112f.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "Free Cash Flow was €57 million in Q1, an increase Y/Y as higher Operating Loss was more than offset by favorable movements in net working capital and higher interest income.",
          "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-27 07:18:56+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-832b-73b4-83ae-4ab6e66eb52b",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.25,
            "w": 0.4,
            "x": 0.55,
            "y": 0.15
          },
          "kind": "chart",
          "text": "Free Cash Flow, LTM (€M) with average line",
          "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:22:29.919+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "6f421c00-a44b-43d3-8976-a05aca4bcb4f",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.3,
            "w": 0.4,
            "x": 0.55,
            "y": 0.55
          },
          "kind": "chart",
          "text": "Cumulative Free Cash Flow since Q1'16 (€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:22:29.919+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "74af9750-56f2-4cb7-8603-90e2873954d7",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Free Cash Flow: €57 million",
          "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-27 07:18:56+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-832b-73b4-83ae-4ea2ede34468",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.4,
            "w": 0.4,
            "x": 0.05,
            "y": 0.25
          },
          "kind": "paragraph",
          "text": "Free Cash Flow was €57 million in Q1, an increase Y/Y as higher Operating Loss was more than offset by favorable movements in net working capital and higher interest income. Additionally, capital expenditures declined €8 million Y/Y to €2 million as a result of the completion of office build-outs. While the magnitude of Free Cash Flow can fluctuate from quarter to quarter based on seasonality and timing, we have averaged over €200 million of positive Free Cash Flow on a trailing 12 month basis for the past three years. On a cumulative basis, we have generated €1.4 billion of Free Cash Flow since Q1'16, supporting our strong balance sheet and €3.5 billion in cash and cash equivalents, restricted cash and short term investments balance.",
          "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:22:29.919+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "5465c096-3a11-4422-bf0f-3c389c7649dd",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.7,
            "x": 0.15,
            "y": 0.93
          },
          "kind": "source-note",
          "text": "* Last Twelve Months (LTM) represents annual performance covering the preceding 12 months relative to the last day of the quarter. Cume represents cumulative performance since Q1'16.",
          "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:22:29.919+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "264f85ed-9fa9-4489-b371-65695ac057ac",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.25,
            "x": 0.05,
            "y": 0.08
          },
          "kind": "title",
          "text": "Free Cash Flow",
          "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:22:29.919+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "2f0a0f0c-9c78-4c51-8371-7382bb0e8f43",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.4,
            "x": 0.05,
            "y": 0.15
          },
          "kind": "title",
          "text": "Building and sustaining a strong balance sheet",
          "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:22:29.919+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "1dfe3a11-9d6f-4982-b62d-0259287b84e1",
          "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": "019debb7-e115-723e-9e34-418d8d3c5000",
          "evidence": "Sub-headline 'Building and sustaining a strong balance sheet'.",
          "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-05-03 02:43:08.082368+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 12,
          "whyItWorks": "Solves two failure modes at once. (1) The buried claim: action titles place the conclusion on the page before any analysis is read, so a busy reader doesn't reverse-engineer it from the chart. (2) The spineless deck: because each title is a claim, slides have to ladder up to the governing thought; logical gaps become visible as topic-shaped titles in a sequence that no longer reads as a story.",
          "antipattern": "Topic labels disguised as titles — Volume by quarter, Key findings, Pricing strategy, Margins have been impacted. No verb, or a passive verb with no agent, or a fact (Revenue grew 12%) without the so-what. Also: titles that overreach the chart's evidence, multi-claim X-grew-but-Y-fell welded titles, and mechanical repetition of the same X-drove-Y template across the deck.",
          "cardinality": null,
          "narrativePurpose": "Forces the deck to carry its argument in the title bar so a senior reader can extract the recommendation without opening a single slide; converts a binder of topics into a navigable pyramid where every slide is a node defending the apex."
        },
        {
          "tool": {
            "name": "Annotation",
            "slug": "annotation",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-b5b9-7668-bf0e-3af99823ec5c",
            "version": 1,
            "bodyDocId": null,
            "description": "Adding explanatory labels to highlight key data points",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "019debb7-e153-721d-8412-a26eb20de87a",
          "evidence": "Bars annotated with values; callout narrates drivers.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 65,
          "extraction": {
            "at": "2026-05-03 02:43:08.082368+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 12,
          "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": "019debb7-e134-718c-b95e-f9f4c1dbba5e",
          "evidence": "Two bar charts: LTM FCF and cumulative since Q1'16.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 70,
          "extraction": {
            "at": "2026-05-03 02:43:08.082368+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 12,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 15,
          "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": "019debb7-db88-76cf-83a1-504ebba582d7",
          "matchId": "019debb7-db60-744c-935c-b4df8368adfa",
          "beatType": null,
          "evidence": "Exec summary + financial deep dive + user metrics — all data.",
          "position": 1,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 60
        },
        {
          "to": 15,
          "arc": {
            "name": "The Consultant's Gambit",
            "slug": "consultants-gambit",
            "status": "active",
            "bestFor": "Business cases, project proposals, strategic recommendations",
            "canonId": "019dd956-5e0a-73c8-b305-81c38c959e9c",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Situation & Context -> Problem & Complication -> Solution & Approach -> Evidence & Proof -> Impact & Next Steps",
            "description": null,
            "familyLabel": null
          },
          "from": 7,
          "name": "Evidence & Proof",
          "beatId": "019debb7-dc69-707d-bce2-501100dc09ab",
          "matchId": "019debb7-dbef-713b-9a65-c3d3b3238ba0",
          "beatType": null,
          "evidence": "Financial detail charts and user growth charts substantiate claims.",
          "position": 4,
          "isPrimaryArc": false,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 45
        }
      ],
      "loops": [
        {
          "to": 12,
          "from": 6,
          "loop": {
            "name": "40_mece_breakdown",
            "slug": "40-mece-breakdown",
            "status": "active",
            "bestFor": "Problem structuring, ensuring completeness, strategic analysis",
            "canonId": "019dd956-763c-765e-8b68-6ee3ae1ef184",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Whole -> Category A (distinct) -> Category B (distinct) -> Category C (distinct) -> Complete Coverage",
            "description": "Divide a complex topic into mutually exclusive, collectively exhaustive categories",
            "familyLabel": null
          },
          "matchId": "019debb7-dccd-725b-ae33-07db587c8b3a",
          "evidence": "Financial Summary divider, summary table, then revenue, gross margin, opex, FCF — non-overlapping P&L slices.",
          "position": 2,
          "objective": "Walk through finances by MECE buckets",
          "confidence": 75,
          "extraction": {
            "at": "2026-05-03 02:43:08.082368+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 13,
      "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": 2,
        "componentCount": 2,
        "textChars": 17,
        "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:22:28.805+00",
          "seconds": 1.616,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5efe-75c0-8dfe-fcabeaba112f/13",
        "deck": "/decks/019dd923-5efe-75c0-8dfe-fcabeaba112f",
        "deckAnchor": "/decks/019dd923-5efe-75c0-8dfe-fcabeaba112f#slide-13",
        "deckJson": "/decks/019dd923-5efe-75c0-8dfe-fcabeaba112f.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.25,
            "w": 0.307,
            "x": 0,
            "y": 0
          },
          "kind": "title",
          "text": "MAUS",
          "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:22:28.805+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "148a91a2-30fb-4105-82b2-076615d605a2",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.25,
            "w": 0.741,
            "x": 0.259,
            "y": 0.75
          },
          "kind": "title",
          "text": "& SUBSCRIBERS",
          "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:22:28.805+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "4ab3f321-a3c7-4614-b651-98a4e63d3d98",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "Typography Hierarchy",
            "slug": "typography-hierarchy",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-ba98-77ab-9513-ff2344da8bc7",
            "version": 1,
            "bodyDocId": null,
            "description": "Using font size, weight, and style to create reading order",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "019debb7-e171-7775-8234-625b643ce492",
          "evidence": "Section divider with large heading.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 70,
          "extraction": {
            "at": "2026-05-03 02:43:08.082368+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 13,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 15,
          "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": "019debb7-db88-76cf-83a1-504ebba582d7",
          "matchId": "019debb7-db60-744c-935c-b4df8368adfa",
          "beatType": null,
          "evidence": "Exec summary + financial deep dive + user metrics — all data.",
          "position": 1,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 60
        },
        {
          "to": 15,
          "arc": {
            "name": "The Consultant's Gambit",
            "slug": "consultants-gambit",
            "status": "active",
            "bestFor": "Business cases, project proposals, strategic recommendations",
            "canonId": "019dd956-5e0a-73c8-b305-81c38c959e9c",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Situation & Context -> Problem & Complication -> Solution & Approach -> Evidence & Proof -> Impact & Next Steps",
            "description": null,
            "familyLabel": null
          },
          "from": 7,
          "name": "Evidence & Proof",
          "beatId": "019debb7-dc69-707d-bce2-501100dc09ab",
          "matchId": "019debb7-dbef-713b-9a65-c3d3b3238ba0",
          "beatType": null,
          "evidence": "Financial detail charts and user growth charts substantiate claims.",
          "position": 4,
          "isPrimaryArc": false,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 45
        }
      ],
      "loops": [
        {
          "to": 15,
          "from": 13,
          "loop": {
            "name": "34_segmentation_split",
            "slug": "34-segmentation-split",
            "status": "active",
            "bestFor": "Customer analysis, market research, resource allocation",
            "canonId": "019dd956-7398-77a8-9a5f-2e4d39589f42",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Aggregate View -> Segment A Behavior -> Segment B Behavior -> The Insight in the Difference",
            "description": "Divide a whole into meaningful segments to reveal hidden patterns",
            "familyLabel": null
          },
          "matchId": "019debb7-dcec-733f-95bb-392fd221a81e",
          "evidence": "Stacked bar charts for MAUs and Premium Subscribers segmented by Europe / NA / LatAm / RoW.",
          "position": 3,
          "objective": "Show user growth split by region",
          "confidence": 80,
          "extraction": {
            "at": "2026-05-03 02:43:08.082368+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 14,
      "type": "analysis",
      "title": "The chart shows the regional composition of MAUs over time, with Europe, North America, Latin America, and Rest of World segments.",
      "function": "summarize",
      "rawType": "kpi_dashboard",
      "block": null,
      "metadata": {
        "slideType": "kpi_dashboard",
        "slideTypeCanon": {
          "name": "KPI dashboard",
          "slug": "kpi_dashboard",
          "status": "active",
          "canonId": "019de52d-0be5-7295-af4d-b850fe7b7e65",
          "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": 59,
        "componentCount": 6,
        "textChars": 692,
        "nDataPoints": 20,
        "notes": "The chart shows the regional composition of MAUs over time, with Europe, North America, Latin America, and Rest of World segments.",
        "elementsJson": [
          "headline_text",
          "paragraph",
          "bullet_list",
          "bar_chart_100pct"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:22:29.962+00",
          "seconds": 2.743,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5efe-75c0-8dfe-fcabeaba112f/14",
        "deck": "/decks/019dd923-5efe-75c0-8dfe-fcabeaba112f",
        "deckAnchor": "/decks/019dd923-5efe-75c0-8dfe-fcabeaba112f#slide-14",
        "deckJson": "/decks/019dd923-5efe-75c0-8dfe-fcabeaba112f.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "Total MAUs grew 22% Y/Y to 515 million, up from 489 million last quarter and above our guidance by 15 million.",
          "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-27 07:18:56+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-832b-73b4-83ae-df4f5bca57b6",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.7,
            "w": 0.4,
            "x": 0.55,
            "y": 0.15
          },
          "kind": "chart",
          "text": "Regional MAU composition from Q1'19 to Q1'23",
          "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:22:29.962+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "2866ff9f-0bef-4f9c-8b0e-fa2ba044dabe",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.3,
            "w": 0.4,
            "x": 0.05,
            "y": 0.4
          },
          "kind": "list",
          "text": "Outperformance across all regions driven by reactivations and a Q/Q decrease in Ad-Supported MAU churn\nRecord Q1 net additions in nearly all age demographics across both developed and developing markets\nContinued momentum as a result of increased brand awareness, retention improvements and performance marketing efficiencies",
          "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:22:29.962+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "e82b9f76-d5b6-4f73-ae3b-a39a4800daca",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "MAUs: 515 million",
          "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-27 07:18:56+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-832b-73b4-83ae-e0e167037fa5",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.1,
            "w": 0.4,
            "x": 0.05,
            "y": 0.28
          },
          "kind": "paragraph",
          "text": "Total MAUs grew 22% Y/Y to 515 million, up from 489 million last quarter and above our guidance by 15 million. Quarterly performance versus our guidance was impacted by:",
          "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:22:29.962+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "36f501fe-4e55-4997-b623-1f3e629be73b",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.35,
            "x": 0.05,
            "y": 0.1
          },
          "kind": "title",
          "text": "Monthly Active Users (MAUs)",
          "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:22:29.962+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "879fffac-ba62-465c-abde-684557b2339d",
          "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": "019debb7-e18f-7358-856d-9603b82ed6bf",
          "evidence": "Callout: 'MAUs grew 22% Y/Y to 515 million... above guidance by 15M'.",
          "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-05-03 02:43:08.082368+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 14,
          "whyItWorks": "Solves two failure modes at once. (1) The buried claim: action titles place the conclusion on the page before any analysis is read, so a busy reader doesn't reverse-engineer it from the chart. (2) The spineless deck: because each title is a claim, slides have to ladder up to the governing thought; logical gaps become visible as topic-shaped titles in a sequence that no longer reads as a story.",
          "antipattern": "Topic labels disguised as titles — Volume by quarter, Key findings, Pricing strategy, Margins have been impacted. No verb, or a passive verb with no agent, or a fact (Revenue grew 12%) without the so-what. Also: titles that overreach the chart's evidence, multi-claim X-grew-but-Y-fell welded titles, and mechanical repetition of the same X-drove-Y template across the deck.",
          "cardinality": null,
          "narrativePurpose": "Forces the deck to carry its argument in the title bar so a senior reader can extract the recommendation without opening a single slide; converts a binder of topics into a navigable pyramid where every slide is a node defending the apex."
        },
        {
          "tool": {
            "name": "Annotation",
            "slug": "annotation",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-b5b9-7668-bf0e-3af99823ec5c",
            "version": 1,
            "bodyDocId": null,
            "description": "Adding explanatory labels to highlight key data points",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "019debb7-e1eb-75af-952a-b6c593fc36cc",
          "evidence": "Each region's % share labelled within bars.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 75,
          "extraction": {
            "at": "2026-05-03 02:43:08.082368+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 14,
          "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": "019debb7-e1ae-713d-a9d7-dc5ea76b678e",
          "evidence": "Stacked bar fits regional composition over time.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 80,
          "extraction": {
            "at": "2026-05-03 02:43:08.082368+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 14,
          "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": "019debb7-e1cd-7296-89c9-b3f1a7aea4c0",
          "evidence": "Distinct hues per region for cross-period comparison.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 80,
          "extraction": {
            "at": "2026-05-03 02:43:08.082368+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 14,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 15,
          "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": "019debb7-db88-76cf-83a1-504ebba582d7",
          "matchId": "019debb7-db60-744c-935c-b4df8368adfa",
          "beatType": null,
          "evidence": "Exec summary + financial deep dive + user metrics — all data.",
          "position": 1,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 60
        },
        {
          "to": 15,
          "arc": {
            "name": "The Consultant's Gambit",
            "slug": "consultants-gambit",
            "status": "active",
            "bestFor": "Business cases, project proposals, strategic recommendations",
            "canonId": "019dd956-5e0a-73c8-b305-81c38c959e9c",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Situation & Context -> Problem & Complication -> Solution & Approach -> Evidence & Proof -> Impact & Next Steps",
            "description": null,
            "familyLabel": null
          },
          "from": 7,
          "name": "Evidence & Proof",
          "beatId": "019debb7-dc69-707d-bce2-501100dc09ab",
          "matchId": "019debb7-dbef-713b-9a65-c3d3b3238ba0",
          "beatType": null,
          "evidence": "Financial detail charts and user growth charts substantiate claims.",
          "position": 4,
          "isPrimaryArc": false,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 45
        }
      ],
      "loops": [
        {
          "to": 15,
          "from": 13,
          "loop": {
            "name": "34_segmentation_split",
            "slug": "34-segmentation-split",
            "status": "active",
            "bestFor": "Customer analysis, market research, resource allocation",
            "canonId": "019dd956-7398-77a8-9a5f-2e4d39589f42",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Aggregate View -> Segment A Behavior -> Segment B Behavior -> The Insight in the Difference",
            "description": "Divide a whole into meaningful segments to reveal hidden patterns",
            "familyLabel": null
          },
          "matchId": "019debb7-dcec-733f-95bb-392fd221a81e",
          "evidence": "Stacked bar charts for MAUs and Premium Subscribers segmented by Europe / NA / LatAm / RoW.",
          "position": 3,
          "objective": "Show user growth split by region",
          "confidence": 80,
          "extraction": {
            "at": "2026-05-03 02:43:08.082368+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 15,
      "type": "analysis",
      "title": "The chart shows a stacked bar representation of subscriber regional mix over time.",
      "function": "summarize",
      "rawType": "kpi_dashboard",
      "block": null,
      "metadata": {
        "slideType": "kpi_dashboard",
        "slideTypeCanon": {
          "name": "KPI dashboard",
          "slug": "kpi_dashboard",
          "status": "active",
          "canonId": "019de52d-0be5-7295-af4d-b850fe7b7e65",
          "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": 53,
        "componentCount": 6,
        "textChars": 515,
        "nDataPoints": 20,
        "notes": "The chart shows a stacked bar representation of subscriber regional mix over time.",
        "elementsJson": [
          "headline_text",
          "paragraph",
          "bullet_list",
          "bar_chart_stacked"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:22:29.665+00",
          "seconds": 2.277,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5efe-75c0-8dfe-fcabeaba112f/15",
        "deck": "/decks/019dd923-5efe-75c0-8dfe-fcabeaba112f",
        "deckAnchor": "/decks/019dd923-5efe-75c0-8dfe-fcabeaba112f#slide-15",
        "deckJson": "/decks/019dd923-5efe-75c0-8dfe-fcabeaba112f.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "Our Premium Subscribers grew 15% Y/Y to 210 million, up from 205 million last quarter.",
          "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-27 07:18:55+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-832b-73b4-83ad-74008325bda1",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.7,
            "w": 0.4,
            "x": 0.55,
            "y": 0.15
          },
          "kind": "chart",
          "text": "Regional subscriber mix 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": "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:22:29.665+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "3990d597-1190-4f29-8166-9eaa304f5673",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.2,
            "w": 0.38,
            "x": 0.05,
            "y": 0.4
          },
          "kind": "list",
          "text": "Outperformance across all regions, led by Europe and Latin America\nHigher top-of-funnel growth driving increased subscribers\nRegional campaign outperformance and continued strength in multi-user plans",
          "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:22:29.665+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "ec880e1e-307d-4421-bcb4-9c2194802002",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Premium Subscribers: 210 million",
          "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-27 07:18:55+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-832b-73b4-83ad-7bb8bf2b046f",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.1,
            "w": 0.38,
            "x": 0.05,
            "y": 0.28
          },
          "kind": "paragraph",
          "text": "Our Premium Subscribers grew 15% Y/Y to 210 million, up from 205 million last quarter. Quarterly performance versus our guidance was impacted by:",
          "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:22:29.665+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "e770db9e-360f-49e0-9efc-3a7b45844173",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.3,
            "x": 0.05,
            "y": 0.1
          },
          "kind": "title",
          "text": "Premium Subscribers",
          "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:22:29.665+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "a166bcab-aed4-4e11-b33a-a1c7bd646610",
          "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": "019debb7-e20a-765b-b754-6813bd42954f",
          "evidence": "Callout: 'Premium Subscribers grew 15% Y/Y to 210 million'.",
          "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-05-03 02:43:08.082368+00",
            "model": "claude-cli",
            "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": "019debb7-e228-77bf-a6de-68f30160c5e6",
          "evidence": "Same stacked-bar pattern for subscribers by region.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 75,
          "extraction": {
            "at": "2026-05-03 02:43:08.082368+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 15,
          "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": "019debb7-e267-70b7-9c10-994e31072026",
          "evidence": "Consistent regional palette across the loop.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 75,
          "extraction": {
            "at": "2026-05-03 02:43:08.082368+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 15,
          "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": "019debb7-e246-724f-adde-60e74b3fafad",
          "evidence": "Mirrors p14 chart for direct cross-metric comparison.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 55,
          "extraction": {
            "at": "2026-05-03 02:43:08.082368+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 15,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 15,
          "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": "019debb7-db88-76cf-83a1-504ebba582d7",
          "matchId": "019debb7-db60-744c-935c-b4df8368adfa",
          "beatType": null,
          "evidence": "Exec summary + financial deep dive + user metrics — all data.",
          "position": 1,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 60
        },
        {
          "to": 15,
          "arc": {
            "name": "The Consultant's Gambit",
            "slug": "consultants-gambit",
            "status": "active",
            "bestFor": "Business cases, project proposals, strategic recommendations",
            "canonId": "019dd956-5e0a-73c8-b305-81c38c959e9c",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Situation & Context -> Problem & Complication -> Solution & Approach -> Evidence & Proof -> Impact & Next Steps",
            "description": null,
            "familyLabel": null
          },
          "from": 7,
          "name": "Evidence & Proof",
          "beatId": "019debb7-dc69-707d-bce2-501100dc09ab",
          "matchId": "019debb7-dbef-713b-9a65-c3d3b3238ba0",
          "beatType": null,
          "evidence": "Financial detail charts and user growth charts substantiate claims.",
          "position": 4,
          "isPrimaryArc": false,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 45
        }
      ],
      "loops": [
        {
          "to": 15,
          "from": 13,
          "loop": {
            "name": "34_segmentation_split",
            "slug": "34-segmentation-split",
            "status": "active",
            "bestFor": "Customer analysis, market research, resource allocation",
            "canonId": "019dd956-7398-77a8-9a5f-2e4d39589f42",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Aggregate View -> Segment A Behavior -> Segment B Behavior -> The Insight in the Difference",
            "description": "Divide a whole into meaningful segments to reveal hidden patterns",
            "familyLabel": null
          },
          "matchId": "019debb7-dcec-733f-95bb-392fd221a81e",
          "evidence": "Stacked bar charts for MAUs and Premium Subscribers segmented by Europe / NA / LatAm / RoW.",
          "position": 3,
          "objective": "Show user growth split by region",
          "confidence": 80,
          "extraction": {
            "at": "2026-05-03 02:43:08.082368+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 16,
      "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": 18,
        "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:22:30.793+00",
          "seconds": 3.354,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5efe-75c0-8dfe-fcabeaba112f/16",
        "deck": "/decks/019dd923-5efe-75c0-8dfe-fcabeaba112f",
        "deckAnchor": "/decks/019dd923-5efe-75c0-8dfe-fcabeaba112f#slide-16",
        "deckJson": "/decks/019dd923-5efe-75c0-8dfe-fcabeaba112f.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.3,
            "w": 0.95,
            "x": 0.03,
            "y": 0.5
          },
          "kind": "title",
          "text": "PRODUCT & PLATFORM",
          "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:22:30.793+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "ec6ba7db-9fea-4d43-9e69-adf20140be65",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "Typography Hierarchy",
            "slug": "typography-hierarchy",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-ba98-77ab-9513-ff2344da8bc7",
            "version": 1,
            "bodyDocId": null,
            "description": "Using font size, weight, and style to create reading order",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "019debb7-e285-746e-b50f-307bed6376d1",
          "evidence": "Section divider with large heading.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 70,
          "extraction": {
            "at": "2026-05-03 02:43:08.082368+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 16,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 21,
          "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": 16,
          "name": "The Implications (So What)",
          "beatId": "019debb7-dbb1-748d-ae29-c73bbc35fca6",
          "matchId": "019debb7-db60-744c-935c-b4df8368adfa",
          "beatType": null,
          "evidence": "Product & Platform: AI DJ, redesigned UX, podcast/music wins.",
          "position": 2,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 60
        }
      ],
      "loops": [
        {
          "to": 21,
          "from": 16,
          "loop": {
            "name": "33_build_up",
            "slug": "33-build-up",
            "status": "active",
            "bestFor": "Pricing justification, cost estimation, market sizing",
            "canonId": "019dd956-733a-746e-88fd-04b2e4b51b61",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Base -> Add Component A -> Add Component B -> Add Component C -> The Total",
            "description": "Start from zero and add components to arrive at a total",
            "familyLabel": null
          },
          "matchId": "019debb7-dd0b-72f8-a62c-3175bc62de92",
          "evidence": "AI DJ + Stream On creator initiatives + UX redesign + podcasting + music wins assemble the platform story.",
          "position": 4,
          "objective": "Stack up product platform components",
          "confidence": 55,
          "extraction": {
            "at": "2026-05-03 02:43:08.082368+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 17,
      "type": "evidence",
      "title": "Includes a screenshot of the Spotify mobile interface for the AI DJ feature.",
      "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": 47,
        "componentCount": 5,
        "textChars": 693,
        "nDataPoints": 2,
        "notes": "Includes a screenshot of the Spotify mobile interface for the AI DJ feature.",
        "elementsJson": [
          "headline_text",
          "screenshot",
          "paragraph"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:22:29.554+00",
          "seconds": 1.9,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5efe-75c0-8dfe-fcabeaba112f/17",
        "deck": "/decks/019dd923-5efe-75c0-8dfe-fcabeaba112f",
        "deckAnchor": "/decks/019dd923-5efe-75c0-8dfe-fcabeaba112f#slide-17",
        "deckJson": "/decks/019dd923-5efe-75c0-8dfe-fcabeaba112f.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "The DJ currently attracts millions of active users each week, representing more than 25% of user consumption on days when they listen to the DJ.",
          "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-27 07:18:56+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-832b-73b4-83ae-92bd65204e9b",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.52,
            "w": 0.54,
            "x": 0.23,
            "y": 0.195
          },
          "kind": "image",
          "text": "Spotify AI DJ promotional graphic and mobile app 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:22:29.554+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "9f4296a4-c74b-4c68-b943-ab6102db2fd1",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "user consumption: 25%",
          "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-27 07:18:56+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-832b-73b4-83ae-94232780db14",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.54,
            "x": 0.23,
            "y": 0.77
          },
          "kind": "paragraph",
          "text": "During the quarter, we launched a beta version of AI DJ to users in North America to allow for deeper discovery and personalization. AI DJ combines the power of our personalization technology with cutting-edge generative AI and a realistic AI voice enabled by technology from our previous acquisition of Sonantic. The DJ currently attracts millions of active users each week, representing more than 25% of user consumption on days when they listen to the DJ.",
          "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:22:29.554+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "61ebd70b-f21d-4fd9-8b92-26f9ea2e7f22",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.06,
            "w": 0.25,
            "x": 0.05,
            "y": 0.08
          },
          "kind": "title",
          "text": "AI DJ Launch",
          "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:22:29.554+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "93ef2dd0-e95a-4c8e-bd83-eea5074a0742",
          "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": "019debb7-e2c5-711d-8c52-91b50099f0d2",
          "evidence": "Callout: '>25% of user consumption on days they listen'.",
          "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-05-03 02:43:08.082368+00",
            "model": "claude-cli",
            "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": "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": "1b47e2da-ed37-4e81-a938-2334f681e774",
          "evidence": "The slide provides information about AI DJ, a feature that allows users to discover and personalize their music experience.",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": null,
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 22:05:30.038801+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": "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": "019debb7-e2e4-7417-8c55-59e4558c8794",
          "evidence": "Specific metric (millions of weekly users) instead of abstract claim.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 65,
          "extraction": {
            "at": "2026-05-03 02:43:08.082368+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 17,
          "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": "019debb7-e2a5-749b-856d-bcb07495ed38",
          "evidence": "Mobile UI screenshot anchors the AI DJ feature visually.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 75,
          "extraction": {
            "at": "2026-05-03 02:43:08.082368+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 17,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 21,
          "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": 16,
          "name": "The Implications (So What)",
          "beatId": "019debb7-dbb1-748d-ae29-c73bbc35fca6",
          "matchId": "019debb7-db60-744c-935c-b4df8368adfa",
          "beatType": null,
          "evidence": "Product & Platform: AI DJ, redesigned UX, podcast/music wins.",
          "position": 2,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 60
        },
        {
          "to": 21,
          "arc": {
            "name": "The Consultant's Gambit",
            "slug": "consultants-gambit",
            "status": "active",
            "bestFor": "Business cases, project proposals, strategic recommendations",
            "canonId": "019dd956-5e0a-73c8-b305-81c38c959e9c",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Situation & Context -> Problem & Complication -> Solution & Approach -> Evidence & Proof -> Impact & Next Steps",
            "description": null,
            "familyLabel": null
          },
          "from": 17,
          "name": "Solution & Approach",
          "beatId": "019debb7-dc4a-726b-82d6-547d149b9bf1",
          "matchId": "019debb7-dbef-713b-9a65-c3d3b3238ba0",
          "beatType": null,
          "evidence": "Product investments: AI DJ, UX redesign, podcast and music initiatives.",
          "position": 3,
          "isPrimaryArc": false,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 45
        }
      ],
      "loops": [
        {
          "to": 21,
          "from": 16,
          "loop": {
            "name": "33_build_up",
            "slug": "33-build-up",
            "status": "active",
            "bestFor": "Pricing justification, cost estimation, market sizing",
            "canonId": "019dd956-733a-746e-88fd-04b2e4b51b61",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Base -> Add Component A -> Add Component B -> Add Component C -> The Total",
            "description": "Start from zero and add components to arrive at a total",
            "familyLabel": null
          },
          "matchId": "019debb7-dd0b-72f8-a62c-3175bc62de92",
          "evidence": "AI DJ + Stream On creator initiatives + UX redesign + podcasting + music wins assemble the platform story.",
          "position": 4,
          "objective": "Stack up product platform components",
          "confidence": 55,
          "extraction": {
            "at": "2026-05-03 02:43:08.082368+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 18,
      "type": "setup",
      "function": "summarize",
      "rawType": "initiative_list",
      "block": null,
      "metadata": {
        "slideType": "initiative_list",
        "slideTypeCanon": {
          "name": "Initiative list",
          "slug": "initiative_list",
          "status": "active",
          "canonId": "019de52d-0caf-770e-9b91-b99239121f50",
          "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": 71,
        "componentCount": 9,
        "textChars": 712,
        "nDataPoints": 0,
        "notes": null,
        "elementsJson": [
          "headline_text",
          "screenshot",
          "paragraph",
          "icon_grid"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:22:31.331+00",
          "seconds": 3.653,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5efe-75c0-8dfe-fcabeaba112f/18",
        "deck": "/decks/019dd923-5efe-75c0-8dfe-fcabeaba112f",
        "deckAnchor": "/decks/019dd923-5efe-75c0-8dfe-fcabeaba112f#slide-18",
        "deckJson": "/decks/019dd923-5efe-75c0-8dfe-fcabeaba112f.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.15,
            "w": 0.2,
            "x": 0.757,
            "y": 0.306
          },
          "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": "Logo",
              "slug": "logo",
              "status": "active",
              "canonId": "019de52c-fdaf-743d-94c4-d7c6a0e55302",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "logo",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:22:31.331+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "b8055434-4ff7-437c-ae19-c013686d28ff",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.2,
            "x": 0.288,
            "y": 0.306
          },
          "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": "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:22:31.331+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "263c79ec-4a02-4981-8551-f42d6bdbb2f7",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.2,
            "x": 0.522,
            "y": 0.306
          },
          "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": "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:22:31.331+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "95ab2dc7-1140-4a69-b351-d8a9dfd2103f",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.2,
            "x": 0.05,
            "y": 0.306
          },
          "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": "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:22:31.331+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "a1480560-2f51-41d4-85de-f921c1ca5895",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.2,
            "w": 0.2,
            "x": 0.28,
            "y": 0.6
          },
          "kind": "list",
          "text": "Invited new listeners and fans to connect with artists and build fandom with the launch of Countdown Pages, Spotify Clips and concert integrations in-app.",
          "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:22:31.331+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "076f9fa8-1452-4e53-bc00-0ee1459821d1",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.2,
            "w": 0.2,
            "x": 0.52,
            "y": 0.6
          },
          "kind": "list",
          "text": "Created a one-stop-shop for creators to access our tools, including in-depth analytics and the feature set of our podcast creation platform, Anchor, with our newly relaunched Spotify for Podcasters platform.",
          "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:22:31.331+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "2590ab92-5311-413f-a346-66616baa8e67",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.2,
            "w": 0.2,
            "x": 0.75,
            "y": 0.6
          },
          "kind": "list",
          "text": "Enhanced podcast monetization opportunities with our new Patreon partnership announcement which allows podcasters to offer Patreon-exclusive content to listeners on Spotify.",
          "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:22:31.331+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "327a49b1-960b-4170-a33d-8ba28368fd25",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.2,
            "w": 0.2,
            "x": 0.05,
            "y": 0.6
          },
          "kind": "list",
          "text": "Announced ways to help artists amplify their content with campaign and audience development tools such as Showcase and Discovery Mode self-serve.",
          "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:22:31.331+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "8b8312a5-7784-48a0-9029-22d78f70fcb7",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.08,
            "w": 0.45,
            "x": 0.05,
            "y": 0.08
          },
          "kind": "title",
          "text": "2023 Stream On Creator Highlights",
          "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:22:31.331+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "cfd9dbce-3255-497c-99a1-fd93a8a90115",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "Chunking",
            "slug": "chunking",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-abab-72ce-b64c-2924cc83cf39",
            "version": 1,
            "bodyDocId": null,
            "description": "Information grouped into chunks is remembered better - structure content in digestible units",
            "familyLabel": null,
            "categoryName": "Loop",
            "categorySlug": "loop"
          },
          "agent": "Architect",
          "layer": "loop",
          "agents": [
            "Architect"
          ],
          "matchId": "019debb7-e322-72b8-ab11-deb010e4d8eb",
          "evidence": "Four creator initiatives chunked in equal grid cells.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 70,
          "extraction": {
            "at": "2026-05-03 02:43:08.082368+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 18,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "List presentation",
            "slug": "list-presentation",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd9e1-4ef7-777d-ba68-9074c2b3bcf1",
            "version": 1,
            "bodyDocId": null,
            "description": "Bulleted, numbered, or checklist enumerations.",
            "familyLabel": null,
            "categoryName": null,
            "categorySlug": null
          },
          "agent": null,
          "layer": "slide",
          "agents": null,
          "matchId": "41f01591-20c6-4d7b-89e1-d237bc27eb28",
          "evidence": "The slide presents a list of bullet points highlighting key initiatives and features.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.9,
          "extraction": {
            "at": "2026-07-16 22:05:30.124962+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 18,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": "common",
          "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": "019debb7-e304-714b-9a6f-588ca65c3cf8",
          "evidence": "Six creator imagery tiles dominate the slide.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 75,
          "extraction": {
            "at": "2026-05-03 02:43:08.082368+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 18,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 21,
          "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": 16,
          "name": "The Implications (So What)",
          "beatId": "019debb7-dbb1-748d-ae29-c73bbc35fca6",
          "matchId": "019debb7-db60-744c-935c-b4df8368adfa",
          "beatType": null,
          "evidence": "Product & Platform: AI DJ, redesigned UX, podcast/music wins.",
          "position": 2,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 60
        },
        {
          "to": 21,
          "arc": {
            "name": "The Consultant's Gambit",
            "slug": "consultants-gambit",
            "status": "active",
            "bestFor": "Business cases, project proposals, strategic recommendations",
            "canonId": "019dd956-5e0a-73c8-b305-81c38c959e9c",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Situation & Context -> Problem & Complication -> Solution & Approach -> Evidence & Proof -> Impact & Next Steps",
            "description": null,
            "familyLabel": null
          },
          "from": 17,
          "name": "Solution & Approach",
          "beatId": "019debb7-dc4a-726b-82d6-547d149b9bf1",
          "matchId": "019debb7-dbef-713b-9a65-c3d3b3238ba0",
          "beatType": null,
          "evidence": "Product investments: AI DJ, UX redesign, podcast and music initiatives.",
          "position": 3,
          "isPrimaryArc": false,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 45
        }
      ],
      "loops": [
        {
          "to": 21,
          "from": 16,
          "loop": {
            "name": "33_build_up",
            "slug": "33-build-up",
            "status": "active",
            "bestFor": "Pricing justification, cost estimation, market sizing",
            "canonId": "019dd956-733a-746e-88fd-04b2e4b51b61",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Base -> Add Component A -> Add Component B -> Add Component C -> The Total",
            "description": "Start from zero and add components to arrive at a total",
            "familyLabel": null
          },
          "matchId": "019debb7-dd0b-72f8-a62c-3175bc62de92",
          "evidence": "AI DJ + Stream On creator initiatives + UX redesign + podcasting + music wins assemble the platform story.",
          "position": 4,
          "objective": "Stack up product platform components",
          "confidence": 55,
          "extraction": {
            "at": "2026-05-03 02:43:08.082368+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 19,
      "type": "evidence",
      "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": 38,
        "componentCount": 4,
        "textChars": 775,
        "nDataPoints": 0,
        "notes": null,
        "elementsJson": [
          "headline_text",
          "screenshot",
          "paragraph"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:22:33.055+00",
          "seconds": 5.139,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5efe-75c0-8dfe-fcabeaba112f/19",
        "deck": "/decks/019dd923-5efe-75c0-8dfe-fcabeaba112f",
        "deckAnchor": "/decks/019dd923-5efe-75c0-8dfe-fcabeaba112f#slide-19",
        "deckJson": "/decks/019dd923-5efe-75c0-8dfe-fcabeaba112f.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "At Stream On, we announced one of the biggest changes to our user experience. With this new design, we’re giving fans an even more active role in the audio discovery process and giving creators even more space to share their work.",
          "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-27 15:55:50+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-d9f3-716a-8f84-5c08e4a40547",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.45,
            "w": 0.72,
            "x": 0.14,
            "y": 0.284
          },
          "kind": "image",
          "text": "Screenshots of the new Spotify mobile 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:22:33.055+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "2ec50a6b-96a6-45c5-9262-719284c6c321",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.58,
            "x": 0.21,
            "y": 0.74
          },
          "kind": "paragraph",
          "text": "At Stream On, we announced one of the biggest changes to our user experience. With this new design, we’re giving fans an even more active role in the audio discovery process and giving creators even more space to share their work. Powered by advanced recommendations, new visual canvases and a completely new and interactive design, we’re making discovering new audio easier than ever before, helping introduce users to their next favorite artist, podcast or book.",
          "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:22:33.055+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "e9b11bbd-042d-4d37-a9f2-95ae2fbffdce",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.08,
            "w": 0.5,
            "x": 0.05,
            "y": 0.08
          },
          "kind": "title",
          "text": "Redesigned Spotify User Experience",
          "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:22:33.055+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "ee8fd2e6-f114-4124-bd20-b75c6f60450d",
          "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": "019debb7-e35f-716f-a334-2bbac4611f94",
          "evidence": "Two phone clusters imply old vs new experience.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 50,
          "extraction": {
            "at": "2026-05-03 02:43:08.082368+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 19,
          "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": "019debb7-e381-743c-8a2a-a10ee8c88a72",
          "evidence": "Names specific features: visual canvases, recommendations.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 55,
          "extraction": {
            "at": "2026-05-03 02:43:08.082368+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 19,
          "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": "019debb7-e341-77b8-a4cd-0730e2575d8b",
          "evidence": "Phone mockups carry the redesign story visually.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 80,
          "extraction": {
            "at": "2026-05-03 02:43:08.082368+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 19,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 21,
          "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": 16,
          "name": "The Implications (So What)",
          "beatId": "019debb7-dbb1-748d-ae29-c73bbc35fca6",
          "matchId": "019debb7-db60-744c-935c-b4df8368adfa",
          "beatType": null,
          "evidence": "Product & Platform: AI DJ, redesigned UX, podcast/music wins.",
          "position": 2,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 60
        },
        {
          "to": 21,
          "arc": {
            "name": "The Consultant's Gambit",
            "slug": "consultants-gambit",
            "status": "active",
            "bestFor": "Business cases, project proposals, strategic recommendations",
            "canonId": "019dd956-5e0a-73c8-b305-81c38c959e9c",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Situation & Context -> Problem & Complication -> Solution & Approach -> Evidence & Proof -> Impact & Next Steps",
            "description": null,
            "familyLabel": null
          },
          "from": 17,
          "name": "Solution & Approach",
          "beatId": "019debb7-dc4a-726b-82d6-547d149b9bf1",
          "matchId": "019debb7-dbef-713b-9a65-c3d3b3238ba0",
          "beatType": null,
          "evidence": "Product investments: AI DJ, UX redesign, podcast and music initiatives.",
          "position": 3,
          "isPrimaryArc": false,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 45
        }
      ],
      "loops": [
        {
          "to": 21,
          "from": 16,
          "loop": {
            "name": "33_build_up",
            "slug": "33-build-up",
            "status": "active",
            "bestFor": "Pricing justification, cost estimation, market sizing",
            "canonId": "019dd956-733a-746e-88fd-04b2e4b51b61",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Base -> Add Component A -> Add Component B -> Add Component C -> The Total",
            "description": "Start from zero and add components to arrive at a total",
            "familyLabel": null
          },
          "matchId": "019debb7-dd0b-72f8-a62c-3175bc62de92",
          "evidence": "AI DJ + Stream On creator initiatives + UX redesign + podcasting + music wins assemble the platform story.",
          "position": 4,
          "objective": "Stack up product platform components",
          "confidence": 55,
          "extraction": {
            "at": "2026-05-03 02:43:08.082368+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 20,
      "type": "evidence",
      "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": "dense",
        "densityScore": 67,
        "componentCount": 9,
        "textChars": 583,
        "nDataPoints": 0,
        "notes": null,
        "elementsJson": [
          "headline_text",
          "photo",
          "paragraph"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:22:34.822+00",
          "seconds": 6.897,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5efe-75c0-8dfe-fcabeaba112f/20",
        "deck": "/decks/019dd923-5efe-75c0-8dfe-fcabeaba112f",
        "deckAnchor": "/decks/019dd923-5efe-75c0-8dfe-fcabeaba112f#slide-20",
        "deckJson": "/decks/019dd923-5efe-75c0-8dfe-fcabeaba112f.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.35,
            "w": 0.17,
            "x": 0.75,
            "y": 0.28
          },
          "kind": "image",
          "text": "Forbidden Fruits cover",
          "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:22:34.822+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "8dd3bee7-2316-4e2b-9d5d-6ff957c76c80",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.35,
            "w": 0.25,
            "x": 0.05,
            "y": 0.295
          },
          "kind": "image",
          "text": "Markiplier podcast covers",
          "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:22:34.822+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "dacc8b6c-0ffa-4773-9bc7-8c0a3a28cfff",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.25,
            "w": 0.15,
            "x": 0.53,
            "y": 0.35
          },
          "kind": "image",
          "text": "NPR and Immediate Media logos",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Image",
              "slug": "image",
              "status": "active",
              "canonId": "019de52c-f978-701f-a720-51d029d769e7",
              "version": 1,
              "description": "Photo, illustration, screenshot or icon."
            },
            "tool": null,
            "subkind": {
              "name": "Logo grid",
              "slug": "logo-grid",
              "status": "active",
              "canonId": "019de52c-fdd7-7409-93e5-81280a8ca215",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "logo-grid",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:22:34.822+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "9bbdf171-ebe8-40b1-9abd-725321dde95f",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.35,
            "w": 0.17,
            "x": 0.32,
            "y": 0.28
          },
          "kind": "image",
          "text": "Louis Theroux",
          "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:22:34.822+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "442dabff-8f47-4ace-9257-89798c704405",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.1,
            "w": 0.15,
            "x": 0.53,
            "y": 0.65
          },
          "kind": "paragraph",
          "text": "Two new publishers join the Spotify Audience Network: NPR & Immediate Media.",
          "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:22:34.822+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "0410ce1b-f25f-413f-b7c2-7349fcb98098",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.17,
            "x": 0.32,
            "y": 0.65
          },
          "kind": "paragraph",
          "text": "Brought British journalist Louis Theroux to the platform with the announcement of his new Spotify original podcast, the Louis Theroux Podcast.",
          "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:22:34.822+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "494fb1a6-f85e-4248-b0b6-7bf9711ab1e9",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.2,
            "x": 0.05,
            "y": 0.65
          },
          "kind": "paragraph",
          "text": "Announced a multiyear exclusive video partnership with Markiplier for Distractible and Go! My Favorite Sports Team.",
          "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:22:34.822+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "8bf46575-a1bc-4dc1-a70c-15015bebd753",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.17,
            "x": 0.75,
            "y": 0.65
          },
          "kind": "paragraph",
          "text": "Revealed that Forbidden Fruits with Julia Fox and Niki Takesh will return for a Season 2 and the new episodes will be released as an all-video podcast.",
          "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:22:34.822+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "dc43cb81-bbb5-4c92-9ead-207965126f20",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.08,
            "w": 0.25,
            "x": 0.05,
            "y": 0.08
          },
          "kind": "title",
          "text": "Podcasting",
          "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:22:34.822+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "f9e51960-0476-49c9-acc9-d4100cfcb350",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "Chunking",
            "slug": "chunking",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-abab-72ce-b64c-2924cc83cf39",
            "version": 1,
            "bodyDocId": null,
            "description": "Information grouped into chunks is remembered better - structure content in digestible units",
            "familyLabel": null,
            "categoryName": "Loop",
            "categorySlug": "loop"
          },
          "agent": "Architect",
          "layer": "loop",
          "agents": [
            "Architect"
          ],
          "matchId": "019debb7-e3bd-721c-8e74-b8381c8e4371",
          "evidence": "Podcast wins chunked into equal grid cells.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 65,
          "extraction": {
            "at": "2026-05-03 02:43:08.082368+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 20,
          "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": "019debb7-e39f-7006-a398-fdd439b0bd24",
          "evidence": "Five image tiles featuring podcast partners/talent.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 75,
          "extraction": {
            "at": "2026-05-03 02:43:08.082368+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 20,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 21,
          "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": 16,
          "name": "The Implications (So What)",
          "beatId": "019debb7-dbb1-748d-ae29-c73bbc35fca6",
          "matchId": "019debb7-db60-744c-935c-b4df8368adfa",
          "beatType": null,
          "evidence": "Product & Platform: AI DJ, redesigned UX, podcast/music wins.",
          "position": 2,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 60
        },
        {
          "to": 21,
          "arc": {
            "name": "The Consultant's Gambit",
            "slug": "consultants-gambit",
            "status": "active",
            "bestFor": "Business cases, project proposals, strategic recommendations",
            "canonId": "019dd956-5e0a-73c8-b305-81c38c959e9c",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Situation & Context -> Problem & Complication -> Solution & Approach -> Evidence & Proof -> Impact & Next Steps",
            "description": null,
            "familyLabel": null
          },
          "from": 17,
          "name": "Solution & Approach",
          "beatId": "019debb7-dc4a-726b-82d6-547d149b9bf1",
          "matchId": "019debb7-dbef-713b-9a65-c3d3b3238ba0",
          "beatType": null,
          "evidence": "Product investments: AI DJ, UX redesign, podcast and music initiatives.",
          "position": 3,
          "isPrimaryArc": false,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 45
        }
      ],
      "loops": [
        {
          "to": 21,
          "from": 16,
          "loop": {
            "name": "33_build_up",
            "slug": "33-build-up",
            "status": "active",
            "bestFor": "Pricing justification, cost estimation, market sizing",
            "canonId": "019dd956-733a-746e-88fd-04b2e4b51b61",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Base -> Add Component A -> Add Component B -> Add Component C -> The Total",
            "description": "Start from zero and add components to arrive at a total",
            "familyLabel": null
          },
          "matchId": "019debb7-dd0b-72f8-a62c-3175bc62de92",
          "evidence": "AI DJ + Stream On creator initiatives + UX redesign + podcasting + music wins assemble the platform story.",
          "position": 4,
          "objective": "Stack up product platform components",
          "confidence": 55,
          "extraction": {
            "at": "2026-05-03 02:43:08.082368+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 21,
      "type": "appendix",
      "title": "The slide highlights four distinct music industry achievements involving Morgan Wallen, Miley Cyrus, RapCaviar Presents, and Rosalia.",
      "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": "dense",
        "densityScore": 69,
        "componentCount": 9,
        "textChars": 639,
        "nDataPoints": 0,
        "notes": "The slide highlights four distinct music industry achievements involving Morgan Wallen, Miley Cyrus, RapCaviar Presents, and Rosalia.",
        "elementsJson": [
          "photo",
          "paragraph"
        ],
        "confidence": 0.9,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:22:35.963+00",
          "seconds": 7.954,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5efe-75c0-8dfe-fcabeaba112f/21",
        "deck": "/decks/019dd923-5efe-75c0-8dfe-fcabeaba112f",
        "deckAnchor": "/decks/019dd923-5efe-75c0-8dfe-fcabeaba112f#slide-21",
        "deckJson": "/decks/019dd923-5efe-75c0-8dfe-fcabeaba112f.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.45,
            "w": 0.16,
            "x": 0.29,
            "y": 0.2
          },
          "kind": "image",
          "text": "Miley Cyrus",
          "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:22:35.963+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "023d13a3-3823-43c6-a374-6dccd6a85794",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.45,
            "w": 0.2,
            "x": 0.75,
            "y": 0.2
          },
          "kind": "image",
          "text": "Rosalia FC Barcelona jersey",
          "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:22:35.963+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "c6494984-07a8-47db-9baa-4c3a0af6af19",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.3,
            "w": 0.2,
            "x": 0.05,
            "y": 0.2
          },
          "kind": "image",
          "text": "Morgan Wallen",
          "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:22:35.963+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "ca5f34f5-ec81-4d2d-a7dc-6c8f455ea5c5",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.45,
            "w": 0.24,
            "x": 0.48,
            "y": 0.2
          },
          "kind": "image",
          "text": "RapCaviar Presents",
          "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:22:35.963+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "ef1ee104-9135-41c9-9f57-237975cfeb75",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.16,
            "x": 0.29,
            "y": 0.69
          },
          "kind": "paragraph",
          "text": "In January, Miley Cyrus released her highly anticipated new single Flowers which became the most-streamed song in a single week in Spotify history.",
          "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:22:35.963+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "0bff9dc5-1d11-4960-95cf-8582520b638a",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.1,
            "w": 0.24,
            "x": 0.48,
            "y": 0.69
          },
          "kind": "paragraph",
          "text": "Debuted RapCaviar Presents, a six-episode documentary on Hulu exploring the music and lives of rap's biggest stars.",
          "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:22:35.963+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "2e8593b0-c4b9-4427-b0e9-4fc7b0897952",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.2,
            "x": 0.75,
            "y": 0.69
          },
          "kind": "paragraph",
          "text": "Rosalia became the first artist to be celebrated across both FC Barcelona's men's and women's teams, with a special jersey for the El Clásico matches in March.",
          "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:22:35.963+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "84ef71d9-26e3-4ca1-9edc-fd46b2adad8a",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.2,
            "x": 0.05,
            "y": 0.51
          },
          "kind": "paragraph",
          "text": "Morgan Wallen released his third studio album One Thing At A Time breaking records for the most-streamed album in a single day by a male artist.",
          "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:22:35.963+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "a438f927-acff-478d-984e-a5307ed3c915",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.06,
            "w": 0.15,
            "x": 0.05,
            "y": 0.08
          },
          "kind": "title",
          "text": "Music",
          "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:22:35.963+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "963b748a-ccbf-4e73-85b9-92dfae7a97c9",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "Chunking",
            "slug": "chunking",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-abab-72ce-b64c-2924cc83cf39",
            "version": 1,
            "bodyDocId": null,
            "description": "Information grouped into chunks is remembered better - structure content in digestible units",
            "familyLabel": null,
            "categoryName": "Loop",
            "categorySlug": "loop"
          },
          "agent": "Architect",
          "layer": "loop",
          "agents": [
            "Architect"
          ],
          "matchId": "019debb7-e3f9-7428-b960-fbfe6be6ef42",
          "evidence": "Music milestones chunked into equal grid cells.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 65,
          "extraction": {
            "at": "2026-05-03 02:43:08.082368+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 21,
          "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": "019debb7-e3dc-773a-9778-4b5fb6a41cd5",
          "evidence": "Five artist imagery tiles dominate the slide.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 75,
          "extraction": {
            "at": "2026-05-03 02:43:08.082368+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 21,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 21,
          "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": 16,
          "name": "The Implications (So What)",
          "beatId": "019debb7-dbb1-748d-ae29-c73bbc35fca6",
          "matchId": "019debb7-db60-744c-935c-b4df8368adfa",
          "beatType": null,
          "evidence": "Product & Platform: AI DJ, redesigned UX, podcast/music wins.",
          "position": 2,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 60
        },
        {
          "to": 21,
          "arc": {
            "name": "The Consultant's Gambit",
            "slug": "consultants-gambit",
            "status": "active",
            "bestFor": "Business cases, project proposals, strategic recommendations",
            "canonId": "019dd956-5e0a-73c8-b305-81c38c959e9c",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Situation & Context -> Problem & Complication -> Solution & Approach -> Evidence & Proof -> Impact & Next Steps",
            "description": null,
            "familyLabel": null
          },
          "from": 17,
          "name": "Solution & Approach",
          "beatId": "019debb7-dc4a-726b-82d6-547d149b9bf1",
          "matchId": "019debb7-dbef-713b-9a65-c3d3b3238ba0",
          "beatType": null,
          "evidence": "Product investments: AI DJ, UX redesign, podcast and music initiatives.",
          "position": 3,
          "isPrimaryArc": false,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 45
        }
      ],
      "loops": [
        {
          "to": 21,
          "from": 16,
          "loop": {
            "name": "33_build_up",
            "slug": "33-build-up",
            "status": "active",
            "bestFor": "Pricing justification, cost estimation, market sizing",
            "canonId": "019dd956-733a-746e-88fd-04b2e4b51b61",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Base -> Add Component A -> Add Component B -> Add Component C -> The Total",
            "description": "Start from zero and add components to arrive at a total",
            "familyLabel": null
          },
          "matchId": "019debb7-dd0b-72f8-a62c-3175bc62de92",
          "evidence": "AI DJ + Stream On creator initiatives + UX redesign + podcasting + music wins assemble the platform story.",
          "position": 4,
          "objective": "Stack up product platform components",
          "confidence": 55,
          "extraction": {
            "at": "2026-05-03 02:43:08.082368+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 22,
      "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": 7,
        "nDataPoints": 0,
        "notes": null,
        "elementsJson": [
          "other"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:22:33.426+00",
          "seconds": 5.413,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5efe-75c0-8dfe-fcabeaba112f/22",
        "deck": "/decks/019dd923-5efe-75c0-8dfe-fcabeaba112f",
        "deckAnchor": "/decks/019dd923-5efe-75c0-8dfe-fcabeaba112f#slide-22",
        "deckJson": "/decks/019dd923-5efe-75c0-8dfe-fcabeaba112f.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.2,
            "w": 0.4,
            "x": 0.05,
            "y": 0.4
          },
          "kind": "title",
          "text": "OUTLOOK",
          "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:22:33.426+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "3aff8af1-8914-40ec-adbc-bab9997b2007",
          "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": "426e4bfb-96d7-4895-b431-cbf5268bcdae",
          "evidence": "The slide serves as a divider between sections, with a clear title and headline.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.9,
          "extraction": {
            "at": "2026-07-16 22:05:30.336727+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 22,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": "common",
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Typography Hierarchy",
            "slug": "typography-hierarchy",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-ba98-77ab-9513-ff2344da8bc7",
            "version": 1,
            "bodyDocId": null,
            "description": "Using font size, weight, and style to create reading order",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "019debb7-e418-73aa-8479-46659992d32c",
          "evidence": "Section divider with large heading.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 70,
          "extraction": {
            "at": "2026-05-03 02:43:08.082368+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 22,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 23,
          "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": 22,
          "name": "The Action (Now What)",
          "beatId": "019debb7-dbcf-726a-8215-8935b78b20a8",
          "matchId": "019debb7-db60-744c-935c-b4df8368adfa",
          "beatType": null,
          "evidence": "Outlook section with explicit Q2 2023 forward guidance table.",
          "position": 3,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 60
        },
        {
          "to": 23,
          "arc": {
            "name": "The Consultant's Gambit",
            "slug": "consultants-gambit",
            "status": "active",
            "bestFor": "Business cases, project proposals, strategic recommendations",
            "canonId": "019dd956-5e0a-73c8-b305-81c38c959e9c",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Situation & Context -> Problem & Complication -> Solution & Approach -> Evidence & Proof -> Impact & Next Steps",
            "description": null,
            "familyLabel": null
          },
          "from": 22,
          "name": "Impact & Next Steps",
          "beatId": "019debb7-dc88-7779-ac8b-b96ffc2b1fa1",
          "matchId": "019debb7-dbef-713b-9a65-c3d3b3238ba0",
          "beatType": null,
          "evidence": "Q2'23 forward guidance table on MAUs, revenue, margin, op. income.",
          "position": 5,
          "isPrimaryArc": false,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 45
        }
      ],
      "loops": [
        {
          "to": 23,
          "from": 22,
          "loop": {
            "name": "24_time_machine",
            "slug": "24-time-machine",
            "status": "active",
            "bestFor": "Vision casting, long-term strategy, investment pitches",
            "canonId": "019dd956-6f7f-70b2-b087-a16fe20515a7",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "Fast Forward to Success -> What Made It Possible -> Back to Today's Decision",
            "description": "Transport the audience to a future state where your solution has already succeeded",
            "familyLabel": null
          },
          "matchId": "019debb7-dd2b-753a-ae93-13a343ec8fea",
          "evidence": "Outlook divider then explicit Q2'23 forward guidance table.",
          "position": 5,
          "objective": "Project forward to Q2 outlook",
          "confidence": 50,
          "extraction": {
            "at": "2026-05-03 02:43:08.082368+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 23,
      "type": "analysis",
      "title": "Includes forward-looking disclaimer.",
      "function": "summarize",
      "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": "summarize",
        "functionCanon": {
          "name": "Summarize",
          "slug": "summarize",
          "status": "active",
          "canonId": "019de52d-1541-704f-b86f-bf7b75056373",
          "version": 1,
          "description": null
        },
        "density": "balanced",
        "densityScore": 41,
        "componentCount": 5,
        "textChars": 490,
        "nDataPoints": 5,
        "notes": "Includes forward-looking disclaimer.",
        "elementsJson": [
          "data_table",
          "paragraph"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:22:30.489+00",
          "seconds": 2.454,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5efe-75c0-8dfe-fcabeaba112f/23",
        "deck": "/decks/019dd923-5efe-75c0-8dfe-fcabeaba112f",
        "deckAnchor": "/decks/019dd923-5efe-75c0-8dfe-fcabeaba112f#slide-23",
        "deckJson": "/decks/019dd923-5efe-75c0-8dfe-fcabeaba112f.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "The following forward-looking statements reflect Spotify's expectations for Q2 2023 as of April 25, 2023 and are subject to substantial uncertainty.",
          "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-27 07:27:50+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-8f6d-7270-a79a-f90fdf849d14",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Total MAUs: 530 million",
          "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-27 07:27:50+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-8f6d-7270-a79a-fe69fa5d5bf7",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.06,
            "w": 0.7,
            "x": 0.05,
            "y": 0.17
          },
          "kind": "paragraph",
          "text": "The following forward-looking statements reflect Spotify's expectations for Q2 2023 as of April 25, 2023 and are subject to substantial uncertainty.",
          "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:22:30.489+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "428f774e-f334-4b07-b3c1-cc3fe4a2172c",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.6,
            "w": 0.9,
            "x": 0.05,
            "y": 0.3
          },
          "kind": "table",
          "text": "Total MAUs: 530 million; Total Premium Subscribers: 217 million; Total Revenue: €3.2 billion; Gross Margin: 25.5%; Operating (Loss)/Income: €(129) million",
          "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": {
              "name": "Data table",
              "slug": "data",
              "status": "active",
              "canonId": "019de52d-02d5-75b8-8abf-88e92bf63569",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "data",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:22:30.489+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "7644f5ab-932a-4487-bcac-c76669546f48",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.06,
            "w": 0.25,
            "x": 0.05,
            "y": 0.08
          },
          "kind": "title",
          "text": "Outlook for Q2'23",
          "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:22:30.489+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "142643ce-18d3-4756-beea-4b3a7df2fcf5",
          "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": "019debb7-e456-7189-8144-e6ae6a02c24b",
          "evidence": "Title 'Outlook for Q2'23' frames forward guidance directly.",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
          "confidence": 55,
          "extraction": {
            "at": "2026-05-03 02:43:08.082368+00",
            "model": "claude-cli",
            "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": "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": "019debb7-e436-754c-a0d3-7e8e12af86e0",
          "evidence": "Forward-guidance table format chosen for Q2 outlook.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 70,
          "extraction": {
            "at": "2026-05-03 02:43:08.082368+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 23,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 23,
          "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": 22,
          "name": "The Action (Now What)",
          "beatId": "019debb7-dbcf-726a-8215-8935b78b20a8",
          "matchId": "019debb7-db60-744c-935c-b4df8368adfa",
          "beatType": null,
          "evidence": "Outlook section with explicit Q2 2023 forward guidance table.",
          "position": 3,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 60
        },
        {
          "to": 23,
          "arc": {
            "name": "The Consultant's Gambit",
            "slug": "consultants-gambit",
            "status": "active",
            "bestFor": "Business cases, project proposals, strategic recommendations",
            "canonId": "019dd956-5e0a-73c8-b305-81c38c959e9c",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Situation & Context -> Problem & Complication -> Solution & Approach -> Evidence & Proof -> Impact & Next Steps",
            "description": null,
            "familyLabel": null
          },
          "from": 22,
          "name": "Impact & Next Steps",
          "beatId": "019debb7-dc88-7779-ac8b-b96ffc2b1fa1",
          "matchId": "019debb7-dbef-713b-9a65-c3d3b3238ba0",
          "beatType": null,
          "evidence": "Q2'23 forward guidance table on MAUs, revenue, margin, op. income.",
          "position": 5,
          "isPrimaryArc": false,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 45
        }
      ],
      "loops": [
        {
          "to": 23,
          "from": 22,
          "loop": {
            "name": "24_time_machine",
            "slug": "24-time-machine",
            "status": "active",
            "bestFor": "Vision casting, long-term strategy, investment pitches",
            "canonId": "019dd956-6f7f-70b2-b087-a16fe20515a7",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "Fast Forward to Success -> What Made It Possible -> Back to Today's Decision",
            "description": "Transport the audience to a future state where your solution has already succeeded",
            "familyLabel": null
          },
          "matchId": "019debb7-dd2b-753a-ae93-13a343ec8fea",
          "evidence": "Outlook divider then explicit Q2'23 forward guidance table.",
          "position": 5,
          "objective": "Project forward to Q2 outlook",
          "confidence": 50,
          "extraction": {
            "at": "2026-05-03 02:43:08.082368+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 24,
      "type": "setup",
      "function": "other",
      "rawType": "appendix_disclosure",
      "block": null,
      "metadata": {
        "slideType": "appendix_disclosure",
        "slideTypeCanon": {
          "name": "Appendix disclosure",
          "slug": "appendix_disclosure",
          "status": "active",
          "canonId": "019de52d-07b2-7549-8e8b-932a19f6e616",
          "version": 1,
          "description": null
        },
        "function": "other",
        "functionCanon": {
          "name": "Other (fallback)",
          "slug": "other",
          "status": "active",
          "canonId": "019de52d-15e1-75bc-99dc-07732380e2ce",
          "version": 1,
          "description": null
        },
        "density": "balanced",
        "densityScore": 49,
        "componentCount": 4,
        "textChars": 8063,
        "nDataPoints": 0,
        "notes": null,
        "elementsJson": [
          "paragraph"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:22:34.476+00",
          "seconds": 6.351,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5efe-75c0-8dfe-fcabeaba112f/24",
        "deck": "/decks/019dd923-5efe-75c0-8dfe-fcabeaba112f",
        "deckAnchor": "/decks/019dd923-5efe-75c0-8dfe-fcabeaba112f#slide-24",
        "deckJson": "/decks/019dd923-5efe-75c0-8dfe-fcabeaba112f.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.38,
            "w": 0.86,
            "x": 0.07,
            "y": 0.5
          },
          "kind": "disclaimer",
          "text": "Forward Looking Statements\nThis shareholder update contains estimates and forward-looking statements. All statements other than statements of historical fact are forward-looking statements. The words “may,” “might,” “will,” “could,” “would,” “should,” “expect,” “plan,” “anticipate,” “intend,” “seek,” “believe,” “estimate,” “predict,” “potential,” “continue,” “contemplate,” “possible,” and similar words are intended to identify estimates and forward-looking statements. Our estimates and forward-looking statements are mainly based on our current expectations and estimates of future events and trends, which affect or may affect our businesses and operations. Although we believe that these estimates and forward-looking statements are based upon reasonable assumptions, they are subject to numerous risks and uncertainties and are made in light of information currently available to us. Many important factors may adversely affect our results as indicated in forward-looking statements. These factors include, but are not limited to: our ability to attract prospective users, retain existing users, and monetize our products and services; competition for users, user listening time, and advertisers; risks associated with our international operations and our ability to manage our growth; risks associated with our new products or services and our emphasis on long-term user engagement over short-term results; our ability to predict, recommend, and play content that our users enjoy; our ability to be profitable or generate positive cash flow on a sustained basis; our ability to convince advertisers of the benefits of our advertising offerings; our ability to forecast or optimize advertising inventory amid emerging industry trends in digital advertising; our ability to generate revenues from podcasts, audiobooks, and other non-music content; potential disputes or liabilities associated with content made available on our premium service and ad-supported service (collectively, the “Service”); risks associated with acquisitions, investments, and strategic alliances; our dependence upon third-party licenses for most of the content we stream; our lack of control over third-party content providers who are concentrated and can unilaterally affect our access to content; our ability to comply with complex license agreements; our ability to accurately estimate royalty payments under our license agreements and relevant statutes; the limitations on our operating flexibility due to financial commitments required under certain of our license agreements; our ability to identify the compositions embodied in sound recordings and ownership thereof in order to obtain licenses or comply with existing license agreements; assertions by third parties of infringement or other violations by us of their intellectual property rights; our ability to protect our intellectual property; the dependence of streaming on operating systems, online platforms, hardware, networks, regulations, and standards that we do not control; our ability to maintain the integrity of our technology structure and systems or the security of confidential information; undetected errors, bugs or vulnerabilities in our products; interruptions, delays, or discontinuations in service arising from our systems or systems of third parties; changes in laws or regulations affecting us; risks relating to privacy and data security; our ability to maintain, protect, and enhance our brand; risks associated with increased scrutiny of environmental, social, and governance matters; payment-related risks; our dependence on key personnel and ability to attract, retain, and motivate highly skilled employees; our ability to access capital to support growth; risks relating to currency exchange rate fluctuations and foreign exchange controls; the impact of economic, social, or political conditions, including the continuing effects of the COVID-19 pandemic, rising inflation and interest rates, financial market volatility resulting from recent bank failures, the continued conflict between Russia and Ukraine, and supply chain disruptions; our ability to accurately estimate user metrics and other estimates; our ability to manage and remediate attempts to manipulate streams and attempts to gain or provide unauthorized access to certain features of our Service; risks related to our indebtedness, including risks related to our Exchangeable Notes; fluctuation of our operating results and fair market value of ordinary shares; tax-related risks; the concentration of voting power among our founders, which limits shareholders’ ability to influence our governance and business; and risks related to our status as a foreign private issuer and a Luxembourg company. A detailed discussion of these and other risks and uncertainties that could cause actual results and events to differ materially from our estimates and forward-looking statements is included in our filings with the U.S. Securities and Exchange Commission (“SEC”), including our Annual Report on Form 20-F filed with the SEC on February 2, 2023, as updated by subsequent reports filed with the SEC. We undertake no obligation to update forward-looking statements to reflect events or circumstances after the date of this shareholder update.",
          "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:22:34.476+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "188d7a80-6b50-4170-b59a-dccec1868bc3",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.25,
            "w": 0.86,
            "x": 0.07,
            "y": 0.24
          },
          "kind": "disclaimer",
          "text": "Use of Non-IFRS Measures\nTo supplement our financial information presented in accordance with IFRS, we use the following non-IFRS financial measures: Revenue excluding foreign exchange effect, Premium revenue excluding foreign exchange effect, Ad-Supported revenue excluding foreign exchange effect, Operating expense excluding foreign exchange effect, and Free Cash Flow. Management believes that Revenue excluding foreign exchange effect, Premium revenue excluding foreign exchange effect, Ad-Supported revenue excluding foreign exchange effect, Operating expense excluding foreign exchange effect, Sales and marketing expense excluding foreign exchange effect, Research and development expense excluding foreign exchange effect, and General and administrative expense excluding foreign exchange effect are useful to investors because they present measures that facilitate comparison to our historical performance. However, these should be considered in addition to, not as a substitute for or superior to, Revenue, Premium revenue, Ad-Supported revenue, Operating expense, Sales and marketing expense, Research and development expense, and General and administrative expense, or other financial measures prepared in accordance with IFRS. Management believes that Free Cash Flow is useful to investors because it presents a measure that approximates the amount of cash generated that is available to repay debt obligations, to make investments, and for certain other activities that exclude certain infrequently occurring and/or non-cash items. However, Free Cash Flow should be considered in addition to, not as a substitute for or superior to, net cash flows (used in)/from operating activities or other financial measures prepared in accordance with IFRS. For more information on these non-IFRS financial measures, please see “Reconciliation of IFRS to Non-IFRS Results” section below.",
          "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:22:34.476+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "2d866cc3-a90f-4532-8235-8703241cd691",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.04,
            "w": 0.86,
            "x": 0.07,
            "y": 0.89
          },
          "kind": "disclaimer",
          "text": "Rounding\nCertain monetary amounts, percentages, and other figures included in this update have been subject to rounding adjustments. The sum of individual metrics may not always equal total amounts indicated due to rounding.",
          "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:22:34.476+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "579525d3-6a06-4e54-87bf-e8819d582ce6",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.86,
            "x": 0.07,
            "y": 0.08
          },
          "kind": "disclaimer",
          "text": "Webcast Information\nWe will host a live question and answer session starting at 8:00 a.m. ET today on investors.spotify.com. Daniel Ek, our Founder and CEO, and Paul Vogel, our Chief Financial Officer, will be on hand to answer questions submitted through slido.com using the event code #SpotifyEarningsQ123. Participants also may join using the listen-only conference line by registering through the following site: https://conferencingportals.com/event/txEvogt\n\nWe use investors.spotify.com and newsroom.spotify.com websites as well as other social media listed in the “Resources – Social Media” tab of our Investors website to disclose material company information.",
          "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:22:34.476+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "ec3ce8ac-1080-44df-807f-f7f5363a06c1",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [],
      "frameworks": [],
      "arcBeats": [],
      "loops": [],
      "locked": true
    },
    {
      "page": 25,
      "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": 2,
        "componentCount": 2,
        "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:22:30.181+00",
          "seconds": 1.97,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5efe-75c0-8dfe-fcabeaba112f/25",
        "deck": "/decks/019dd923-5efe-75c0-8dfe-fcabeaba112f",
        "deckAnchor": "/decks/019dd923-5efe-75c0-8dfe-fcabeaba112f#slide-25",
        "deckJson": "/decks/019dd923-5efe-75c0-8dfe-fcabeaba112f.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.12,
            "w": 0.52,
            "x": 0.446,
            "y": 0.825
          },
          "kind": "title",
          "text": "STATEMENTS",
          "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:22:30.181+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "7ba796d0-5a4c-48a8-8921-191d4a17708e",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.46,
            "x": 0.04,
            "y": 0.05
          },
          "kind": "title",
          "text": "FINANCIAL",
          "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:22:30.181+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "e4515a20-97e7-4f10-8f71-78e4bd9d32b5",
          "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": "792542de-fa35-4438-b571-1b64000e0894",
          "evidence": "The slide serves as a divider between sections, with a clear title and headline.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.9,
          "extraction": {
            "at": "2026-07-16 22:05:30.505187+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 25,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": "common",
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [],
      "loops": [],
      "locked": true
    },
    {
      "page": 26,
      "type": "analysis",
      "title": "The slide uses three distinct chart types: a bar chart for MAUs, a stacked area chart for user segments, and a stacked bar chart for revenue.",
      "function": "summarize",
      "rawType": "kpi_dashboard",
      "block": null,
      "metadata": {
        "slideType": "kpi_dashboard",
        "slideTypeCanon": {
          "name": "KPI dashboard",
          "slug": "kpi_dashboard",
          "status": "active",
          "canonId": "019de52d-0be5-7295-af4d-b850fe7b7e65",
          "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": 52,
        "componentCount": 7,
        "textChars": 292,
        "nDataPoints": 33,
        "notes": "The slide uses three distinct chart types: a bar chart for MAUs, a stacked area chart for user segments, and a stacked bar chart for revenue.",
        "elementsJson": [
          "headline_text",
          "subtitle_text",
          "bar_chart_vertical",
          "area_chart",
          "bar_chart_stacked",
          "footnote"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:22:30.736+00",
          "seconds": 2.459,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5efe-75c0-8dfe-fcabeaba112f/26",
        "deck": "/decks/019dd923-5efe-75c0-8dfe-fcabeaba112f",
        "deckAnchor": "/decks/019dd923-5efe-75c0-8dfe-fcabeaba112f#slide-26",
        "deckJson": "/decks/019dd923-5efe-75c0-8dfe-fcabeaba112f.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.4,
            "w": 0.25,
            "x": 0.35,
            "y": 0.35
          },
          "kind": "chart",
          "text": "Ad-Supported vs Premium Subscribers",
          "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:22:30.736+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "0ea87e5b-ea07-4633-a792-620b10410b60",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.4,
            "w": 0.25,
            "x": 0.65,
            "y": 0.35
          },
          "kind": "chart",
          "text": "Revenue by Segment",
          "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:22:30.736+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "67890703-f21f-4d8d-b600-a8bd001b43b5",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.4,
            "w": 0.25,
            "x": 0.05,
            "y": 0.35
          },
          "kind": "chart",
          "text": "Monthly Active Users (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:22:30.736+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "79745716-75b3-42da-b5f6-8cb97a9be0de",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "MAUs",
          "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-27 07:19:03+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-832b-73b4-83b2-efb54c575dcb",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.5,
            "x": 0.15,
            "y": 0.94
          },
          "kind": "source-note",
          "text": "* Last Twelve Months (LTM) represents annual performance covering the preceding 12 months relative to the last day of the quarter.",
          "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:22:30.736+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "0cdddd40-9003-46c9-9202-0dca68035fe7",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.06,
            "w": 0.25,
            "x": 0.05,
            "y": 0.08
          },
          "kind": "title",
          "text": "Trending Charts",
          "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:22:30.736+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "adc1f930-aecc-484f-a84c-6a8bedb63e5f",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.5,
            "x": 0.05,
            "y": 0.16
          },
          "kind": "title",
          "text": "MAUs, Ad-Supported Users, Premium Subscribers & Revenue By Segment",
          "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:22:30.736+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "8f445cb9-a207-490c-8ad2-4a06b2150f1c",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "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": "019debb7-e475-70ce-95bc-cc4062589281",
          "evidence": "Bar, area, stacked-bar matched to MAU, segment mix, revenue.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 75,
          "extraction": {
            "at": "2026-05-03 02:43:08.082368+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 26,
          "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": "019debb7-e4b3-749c-a25e-c9213073bf07",
          "evidence": "Purple vs green consistently splits Premium vs Ad-Supported.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 65,
          "extraction": {
            "at": "2026-05-03 02:43:08.082368+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 26,
          "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": "019debb7-e493-7498-a9a9-9623a116aeaa",
          "evidence": "Three side-by-side trended charts at consistent scale.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 80,
          "extraction": {
            "at": "2026-05-03 02:43:08.082368+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 26,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [],
      "loops": [],
      "locked": true
    },
    {
      "page": 27,
      "type": "analysis",
      "title": "Data is presented on a Last Twelve Months (LTM) basis.",
      "function": "analyze_data",
      "rawType": "kpi_dashboard",
      "block": null,
      "metadata": {
        "slideType": "kpi_dashboard",
        "slideTypeCanon": {
          "name": "KPI dashboard",
          "slug": "kpi_dashboard",
          "status": "active",
          "canonId": "019de52d-0be5-7295-af4d-b850fe7b7e65",
          "version": 1,
          "description": null
        },
        "function": "analyze_data",
        "functionCanon": {
          "name": "Analyze data",
          "slug": "analyze_data",
          "status": "active",
          "canonId": "019de52d-1590-7413-8c82-cc218cff40b4",
          "version": 1,
          "description": null
        },
        "density": "dense",
        "densityScore": 51,
        "componentCount": 7,
        "textChars": 282,
        "nDataPoints": 36,
        "notes": "Data is presented on a Last Twelve Months (LTM) basis.",
        "elementsJson": [
          "bar_chart_stacked",
          "line_chart",
          "bar_chart_vertical",
          "footnote"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:22:33.988+00",
          "seconds": 5.565,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5efe-75c0-8dfe-fcabeaba112f/27",
        "deck": "/decks/019dd923-5efe-75c0-8dfe-fcabeaba112f",
        "deckAnchor": "/decks/019dd923-5efe-75c0-8dfe-fcabeaba112f#slide-27",
        "deckJson": "/decks/019dd923-5efe-75c0-8dfe-fcabeaba112f.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.4,
            "w": 0.25,
            "x": 0.05,
            "y": 0.35
          },
          "kind": "chart",
          "text": "Gross Profit By Segment",
          "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:22:33.988+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "4c98a740-f40e-4768-b75b-0aa86d96e59c",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.4,
            "w": 0.25,
            "x": 0.65,
            "y": 0.35
          },
          "kind": "chart",
          "text": "Free Cash Flow",
          "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:22:33.988+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "2d9f4868-8da3-4d0e-a176-c463226ab11b",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.4,
            "w": 0.25,
            "x": 0.35,
            "y": 0.35
          },
          "kind": "chart",
          "text": "Gross Margin By Segment",
          "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:22:33.988+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "ac8b4f5f-40a8-4442-a2d5-6c709883a605",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Gross Profit",
          "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-27 07:18:59+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-832b-73b4-83b0-5daae51297a0",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.5,
            "x": 0.15,
            "y": 0.94
          },
          "kind": "source-note",
          "text": "* Last Twelve Months (LTM) represents annual performance covering the preceding 12 months relative to the last day of the quarter.",
          "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:22:33.988+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "e744bb3f-3e16-42ca-9dc6-29ac2cc8cb0d",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.25,
            "x": 0.05,
            "y": 0.09
          },
          "kind": "title",
          "text": "Trending Charts",
          "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:22:33.988+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "5888e14a-9e1d-412d-9299-632addb961e7",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.5,
            "x": 0.05,
            "y": 0.18
          },
          "kind": "title",
          "text": "Gross Profit By Segment, Gross Margin By Segment & Free Cash Flow",
          "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:22:33.988+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "ff104db6-00c9-4c07-b2e3-3f2139747f20",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "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": "019debb7-e4d2-70fc-952e-e9ff4dc4f0fc",
          "evidence": "LTM trend charts for Gross Profit, Margin, FCF.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 70,
          "extraction": {
            "at": "2026-05-03 02:43:08.082368+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 27,
          "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": "019debb7-e4f0-778d-a6b9-41807a08db5b",
          "evidence": "Six panels share comparable scales for trend comparison.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 75,
          "extraction": {
            "at": "2026-05-03 02:43:08.082368+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 27,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [],
      "loops": [],
      "locked": true
    },
    {
      "page": 28,
      "type": "analysis",
      "title": "The slide presents financial data in millions of Euros, except for share and per share data.",
      "function": "summarize",
      "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": "summarize",
        "functionCanon": {
          "name": "Summarize",
          "slug": "summarize",
          "status": "active",
          "canonId": "019de52d-1541-704f-b86f-bf7b75056373",
          "version": 1,
          "description": null
        },
        "density": "balanced",
        "densityScore": 28,
        "componentCount": 4,
        "textChars": 242,
        "nDataPoints": 60,
        "notes": "The slide presents financial data in millions of Euros, except for share and per share data.",
        "elementsJson": [
          "data_table"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:22:31.162+00",
          "seconds": 2.507,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5efe-75c0-8dfe-fcabeaba112f/28",
        "deck": "/decks/019dd923-5efe-75c0-8dfe-fcabeaba112f",
        "deckAnchor": "/decks/019dd923-5efe-75c0-8dfe-fcabeaba112f#slide-28",
        "deckJson": "/decks/019dd923-5efe-75c0-8dfe-fcabeaba112f.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "metric",
          "text": "Net loss: (225)",
          "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-27 07:18:58+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-832b-73b4-83af-9dc3342c89cf",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.25,
            "x": 0.04,
            "y": 0.1
          },
          "kind": "paragraph",
          "text": "(Unaudited) (in € millions, except share and per share data)",
          "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:22:31.162+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "96334be5-af21-4424-82d5-4d8b2973a1df",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.55,
            "w": 0.92,
            "x": 0.04,
            "y": 0.16
          },
          "kind": "table",
          "text": "Financial statement table with rows for revenue, costs, profit, and EPS, and columns for three reporting periods.",
          "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": {
              "name": "Data table",
              "slug": "data",
              "status": "active",
              "canonId": "019de52d-02d5-75b8-8abf-88e92bf63569",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "data",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:22:31.162+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "45c9fbdf-e898-462d-a10e-ef4a64921652",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.6,
            "x": 0.04,
            "y": 0.05
          },
          "kind": "title",
          "text": "Interim condensed consolidated statement of operations",
          "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:22:31.162+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "e5210f05-f888-4c35-8f3b-b14b1f77ab59",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "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": "019debb7-e50f-76fb-b266-1b926cfddeff",
          "evidence": "Standard P&L statement table format.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 70,
          "extraction": {
            "at": "2026-05-03 02:43:08.082368+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 28,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [],
      "loops": [],
      "locked": true
    },
    {
      "page": 29,
      "type": "analysis",
      "title": "Financial data in € millions, unaudited.",
      "function": "analyze_data",
      "rawType": "appendix_data",
      "block": null,
      "metadata": {
        "slideType": "appendix_data",
        "slideTypeCanon": {
          "name": "Appendix data",
          "slug": "appendix_data",
          "status": "active",
          "canonId": "019de52d-078a-745b-9ee4-c15f2f539acd",
          "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": "sparse",
        "densityScore": 21,
        "componentCount": 3,
        "textChars": 200,
        "nDataPoints": 50,
        "notes": "Financial data in € millions, unaudited.",
        "elementsJson": [
          "data_table"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:22:30.783+00",
          "seconds": 1.953,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5efe-75c0-8dfe-fcabeaba112f/29",
        "deck": "/decks/019dd923-5efe-75c0-8dfe-fcabeaba112f",
        "deckAnchor": "/decks/019dd923-5efe-75c0-8dfe-fcabeaba112f#slide-29",
        "deckJson": "/decks/019dd923-5efe-75c0-8dfe-fcabeaba112f.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "metric",
          "text": "Total assets: 7,529",
          "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-27 07:18:58+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-832b-73b4-83af-8ca7699e5265",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.82,
            "w": 0.92,
            "x": 0.04,
            "y": 0.12
          },
          "kind": "table",
          "text": "Balance sheet table with line items for assets, equity, and liabilities comparing March 31, 2023 and December 31, 2022.",
          "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": {
              "name": "Data table",
              "slug": "data",
              "status": "active",
              "canonId": "019de52d-02d5-75b8-8abf-88e92bf63569",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "data",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:22:30.783+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "b11c3c2c-3084-4948-91a7-c28b6cf38e1f",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.04,
            "w": 0.92,
            "x": 0.04,
            "y": 0.05
          },
          "kind": "title",
          "text": "Interim condensed consolidated statement of financial position",
          "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:22:30.783+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "3ecdf4b7-0c11-4240-b274-2a3d870ac963",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "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": "019debb7-e52d-7146-a255-0b7a679c0f2d",
          "evidence": "Standard balance sheet table format.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 70,
          "extraction": {
            "at": "2026-05-03 02:43:08.082368+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 29,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [],
      "loops": [],
      "locked": true
    },
    {
      "page": 30,
      "type": "analysis",
      "title": "Standard financial reporting table format.",
      "function": "analyze_data",
      "rawType": "appendix_data",
      "block": null,
      "metadata": {
        "slideType": "appendix_data",
        "slideTypeCanon": {
          "name": "Appendix data",
          "slug": "appendix_data",
          "status": "active",
          "canonId": "019de52d-078a-745b-9ee4-c15f2f539acd",
          "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": "sparse",
        "densityScore": 24,
        "componentCount": 4,
        "textChars": 155,
        "nDataPoints": 96,
        "notes": "Standard financial reporting table format.",
        "elementsJson": [
          "data_table"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:22:30.763+00",
          "seconds": 1.907,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5efe-75c0-8dfe-fcabeaba112f/30",
        "deck": "/decks/019dd923-5efe-75c0-8dfe-fcabeaba112f",
        "deckAnchor": "/decks/019dd923-5efe-75c0-8dfe-fcabeaba112f#slide-30",
        "deckJson": "/decks/019dd923-5efe-75c0-8dfe-fcabeaba112f.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "metric",
          "text": "Net cash flows from operating activities: 59",
          "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-27 07:18:58+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-832b-73b4-83af-5db34342d194",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.1,
            "x": 0.04,
            "y": 0.11
          },
          "kind": "paragraph",
          "text": "(Unaudited) (in € millions)",
          "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:22:30.763+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "88ee6877-9588-4801-9930-741f7df50882",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.75,
            "w": 0.92,
            "x": 0.04,
            "y": 0.18
          },
          "kind": "table",
          "text": "Cash flow statement data table",
          "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": {
              "name": "Data table",
              "slug": "data",
              "status": "active",
              "canonId": "019de52d-02d5-75b8-8abf-88e92bf63569",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "data",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:22:30.763+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "5ebef6a7-2ee6-4337-b6b4-ca322bc27816",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.6,
            "x": 0.04,
            "y": 0.05
          },
          "kind": "title",
          "text": "Interim condensed consolidated statement of cash flows",
          "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:22:30.763+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "fe0db329-afc0-454b-9421-65b6fb31992a",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "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": "019debb7-e54c-77f5-b254-16c1033f8c75",
          "evidence": "Standard cash-flow statement table format.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 70,
          "extraction": {
            "at": "2026-05-03 02:43:08.082368+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 30,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [],
      "loops": [],
      "locked": true
    },
    {
      "page": 31,
      "type": "analysis",
      "title": "Page number 31 included in bottom right.",
      "function": "analyze_data",
      "rawType": "appendix_data",
      "block": null,
      "metadata": {
        "slideType": "appendix_data",
        "slideTypeCanon": {
          "name": "Appendix data",
          "slug": "appendix_data",
          "status": "active",
          "canonId": "019de52d-078a-745b-9ee4-c15f2f539acd",
          "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": 25,
        "componentCount": 4,
        "textChars": 183,
        "nDataPoints": 36,
        "notes": "Page number 31 included in bottom right.",
        "elementsJson": [
          "data_table"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:22:31.301+00",
          "seconds": 2.42,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5efe-75c0-8dfe-fcabeaba112f/31",
        "deck": "/decks/019dd923-5efe-75c0-8dfe-fcabeaba112f",
        "deckAnchor": "/decks/019dd923-5efe-75c0-8dfe-fcabeaba112f#slide-31",
        "deckJson": "/decks/019dd923-5efe-75c0-8dfe-fcabeaba112f.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "metric",
          "text": "Earnings per share: (1.16)",
          "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-27 07:19:00+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-832b-73b4-83b1-4114505dbfac",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.033,
            "w": 0.228,
            "x": 0.043,
            "y": 0.108
          },
          "kind": "paragraph",
          "text": "(Unaudited)\n(in € millions, except share and per share data)",
          "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:22:31.301+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "b0abf217-54ec-4731-b186-62304e8c328b",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.755,
            "w": 0.954,
            "x": 0.043,
            "y": 0.163
          },
          "kind": "table",
          "text": "Basic and diluted EPS calculation table",
          "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": {
              "name": "Data table",
              "slug": "data",
              "status": "active",
              "canonId": "019de52d-02d5-75b8-8abf-88e92bf63569",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "data",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:22:31.301+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "f6b3b1cf-5473-4fad-9e9a-9baddf13e5c7",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.035,
            "w": 0.874,
            "x": 0.043,
            "y": 0.053
          },
          "kind": "title",
          "text": "Calculation of basic and diluted (loss)/earnings per share",
          "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:22:31.301+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "48f7779e-d921-4208-97bc-296a887962a6",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [],
      "frameworks": [],
      "arcBeats": [],
      "loops": [],
      "locked": true
    },
    {
      "page": 32,
      "type": "analysis",
      "title": "The slide presents two distinct tables: one for Revenue and one for Operating Expenses, both adjusted for foreign exchange effects.",
      "function": "analyze_data",
      "rawType": "appendix_data",
      "block": null,
      "metadata": {
        "slideType": "appendix_data",
        "slideTypeCanon": {
          "name": "Appendix data",
          "slug": "appendix_data",
          "status": "active",
          "canonId": "019de52d-078a-745b-9ee4-c15f2f539acd",
          "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": 253,
        "nDataPoints": 36,
        "notes": "The slide presents two distinct tables: one for Revenue and one for Operating Expenses, both adjusted for foreign exchange effects.",
        "elementsJson": [
          "data_table"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:22:32.818+00",
          "seconds": 3.838,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5efe-75c0-8dfe-fcabeaba112f/32",
        "deck": "/decks/019dd923-5efe-75c0-8dfe-fcabeaba112f",
        "deckAnchor": "/decks/019dd923-5efe-75c0-8dfe-fcabeaba112f#slide-32",
        "deckJson": "/decks/019dd923-5efe-75c0-8dfe-fcabeaba112f.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.03,
            "w": 0.18,
            "x": 0.047,
            "y": 0.175
          },
          "kind": "disclaimer",
          "text": "(Unaudited) (in € millions, except percentages)",
          "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:22:32.818+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "92eabd0c-134b-4622-b152-b8930946d73f",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Revenue: 3,042",
          "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-27 07:18:58+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-832b-73b4-83af-f6836a8a7e59",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.125,
            "w": 0.953,
            "x": 0.047,
            "y": 0.635
          },
          "kind": "table",
          "text": "Operating expenses reconciliation table",
          "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": {
              "name": "Data table",
              "slug": "data",
              "status": "active",
              "canonId": "019de52d-02d5-75b8-8abf-88e92bf63569",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "data",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:22:32.818+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "4c8eddae-6151-44a9-ac82-ebd2395cc449",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.295,
            "w": 0.953,
            "x": 0.047,
            "y": 0.238
          },
          "kind": "table",
          "text": "Revenue reconciliation table",
          "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": {
              "name": "Data table",
              "slug": "data",
              "status": "active",
              "canonId": "019de52d-02d5-75b8-8abf-88e92bf63569",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "data",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:22:32.818+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "a97c7cd0-4def-4180-bc80-e9dc008edbd5",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.035,
            "w": 0.66,
            "x": 0.047,
            "y": 0.055
          },
          "kind": "title",
          "text": "Reconciliation of IFRS to non-IFRS results",
          "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:22:32.818+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "178e0dc9-3d1a-4885-903c-46656ded29f8",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.407,
            "x": 0.047,
            "y": 0.565
          },
          "kind": "title",
          "text": "Operating expenses on a constant currency basis",
          "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:22:32.818+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "285eb360-dc31-44f6-8ae4-70086468fbdd",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.325,
            "x": 0.047,
            "y": 0.148
          },
          "kind": "title",
          "text": "Revenue on a constant currency basis",
          "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:22:32.818+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "df39049a-4b1b-40f3-bbdc-e8d28442d8e7",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [],
      "frameworks": [],
      "arcBeats": [],
      "loops": [],
      "locked": true
    },
    {
      "page": 33,
      "type": "analysis",
      "title": "The slide contains three distinct financial data tables showing historical cash flow adjustments.",
      "function": "analyze_data",
      "rawType": "appendix_data",
      "block": null,
      "metadata": {
        "slideType": "appendix_data",
        "slideTypeCanon": {
          "name": "Appendix data",
          "slug": "appendix_data",
          "status": "active",
          "canonId": "019de52d-078a-745b-9ee4-c15f2f539acd",
          "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": 180,
        "nDataPoints": 150,
        "notes": "The slide contains three distinct financial data tables showing historical cash flow adjustments.",
        "elementsJson": [
          "data_table"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:22:33.159+00",
          "seconds": 3.564,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5efe-75c0-8dfe-fcabeaba112f/33",
        "deck": "/decks/019dd923-5efe-75c0-8dfe-fcabeaba112f",
        "deckAnchor": "/decks/019dd923-5efe-75c0-8dfe-fcabeaba112f#slide-33",
        "deckJson": "/decks/019dd923-5efe-75c0-8dfe-fcabeaba112f.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "metric",
          "text": "Free Cash Flow",
          "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-27 07:18:58+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-832b-73b4-83b0-05d19984cd62",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.915,
            "x": 0.042,
            "y": 0.475
          },
          "kind": "table",
          "text": "Last twelve months ended Free Cash Flow table",
          "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": {
              "name": "Data table",
              "slug": "data",
              "status": "active",
              "canonId": "019de52d-02d5-75b8-8abf-88e92bf63569",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "data",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:22:33.159+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "332f4e22-3547-4ae4-9554-62c854f15831",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.915,
            "x": 0.042,
            "y": 0.235
          },
          "kind": "table",
          "text": "Three months ended Free Cash Flow table",
          "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": {
              "name": "Data table",
              "slug": "data",
              "status": "active",
              "canonId": "019de52d-02d5-75b8-8abf-88e92bf63569",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "data",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:22:33.159+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "509e5af4-6fd7-4006-a689-6466bbd9eef1",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.915,
            "x": 0.042,
            "y": 0.765
          },
          "kind": "table",
          "text": "Twelve months ended Free Cash Flow table",
          "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": {
              "name": "Data table",
              "slug": "data",
              "status": "active",
              "canonId": "019de52d-02d5-75b8-8abf-88e92bf63569",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "data",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:22:33.159+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "fcea18fc-d13c-4008-ad0c-5546f26cbee7",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.035,
            "w": 0.66,
            "x": 0.047,
            "y": 0.055
          },
          "kind": "title",
          "text": "Reconciliation of IFRS to non-IFRS results",
          "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:22:33.159+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "4eceea43-6b78-4494-8f27-d953a2112975",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [],
      "frameworks": [],
      "arcBeats": [],
      "loops": [],
      "locked": true
    },
    {
      "page": 34,
      "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": 0,
        "componentCount": 1,
        "textChars": 7,
        "nDataPoints": 0,
        "notes": null,
        "elementsJson": [
          "logo_grid"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 17:22:31.506+00",
          "seconds": 1.883,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5efe-75c0-8dfe-fcabeaba112f/34",
        "deck": "/decks/019dd923-5efe-75c0-8dfe-fcabeaba112f",
        "deckAnchor": "/decks/019dd923-5efe-75c0-8dfe-fcabeaba112f#slide-34",
        "deckJson": "/decks/019dd923-5efe-75c0-8dfe-fcabeaba112f.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.125,
            "w": 0.25,
            "x": 0.375,
            "y": 0.438
          },
          "kind": "image",
          "text": "Spotify",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Image",
              "slug": "image",
              "status": "active",
              "canonId": "019de52c-f978-701f-a720-51d029d769e7",
              "version": 1,
              "description": "Photo, illustration, screenshot or icon."
            },
            "tool": null,
            "subkind": {
              "name": "Logo",
              "slug": "logo",
              "status": "active",
              "canonId": "019de52c-fdaf-743d-94c4-d7c6a0e55302",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "logo",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 17:22:31.506+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "77217b32-18b5-4ce1-9af9-6081e9d57375",
          "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": "745196b1-c116-425c-a374-f1cb7a497e37",
          "evidence": "This slide is a cover slide with a logo.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.9,
          "extraction": {
            "at": "2026-07-16 22:05:31.797084+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": [],
      "loops": [],
      "locked": true
    }
  ],
  "arcBeats": [
    {
      "from": 3,
      "to": 15,
      "label": "The Facts (What)",
      "description": "Exec summary + financial deep dive + user metrics — all data."
    },
    {
      "from": 16,
      "to": 21,
      "label": "The Implications (So What)",
      "description": "Product & Platform: AI DJ, redesigned UX, podcast/music wins."
    },
    {
      "from": 22,
      "to": 23,
      "label": "The Action (Now What)",
      "description": "Outlook section with explicit Q2 2023 forward guidance table."
    }
  ],
  "loops": [
    {
      "from": 3,
      "to": 5,
      "label": "So What Cascade",
      "description": "Lead with insight, then bullet highlights, then guidance comparison"
    },
    {
      "from": 6,
      "to": 12,
      "label": "Mece Breakdown",
      "description": "Walk through finances by MECE buckets"
    },
    {
      "from": 13,
      "to": 15,
      "label": "Segmentation Split",
      "description": "Show user growth split by region"
    },
    {
      "from": 16,
      "to": 21,
      "label": "Build Up",
      "description": "Stack up product platform components"
    },
    {
      "from": 22,
      "to": 23,
      "label": "Time Machine",
      "description": "Project forward to Q2 outlook"
    }
  ]
}