{
  "schemaVersion": "deck-intelligence.v1",
  "id": "019dd923-5de0-76bd-a166-9f11bfc53d75",
  "slug": "267b265ee3b19af7",
  "title": "IPSOS LOVE LIFE SATISFACTION 2025",
  "subtitle": "Ipsos",
  "author": "Ipsos",
  "pageCount": 12,
  "kind": "consulting-deck",
  "orientation": "landscape",
  "aspectRatio": 1.778,
  "document": {
    "id": "019dd923-5de0-76bd-a166-9f11bfc53d75",
    "slug": "267b265ee3b19af7",
    "title": "IPSOS LOVE LIFE SATISFACTION 2025",
    "rawTitle": "IPSOS LOVE LIFE SATISFACTION 2025",
    "authorId": "misc",
    "authorName": "Ipsos",
    "authorDisplay": "Ipsos",
    "kind": {
      "slug": "consulting-deck",
      "label": "Consulting deck"
    },
    "sourceType": {
      "slug": "industry_analyst",
      "label": "Industry analyst"
    },
    "fileName": "Ipsos - Love Life Satisfaction 2025.pdf",
    "sourceUrl": "https://www.ipsos.com/sites/default/files/ct/news/documents/2025-02/Ipsos%20-%20Love%20Life%20Satisfaction%202025.pdf",
    "sourceDate": "2025-02-15 00:00:00",
    "presentationDate": null,
    "ingestedAt": "2026-04-24 07:54:28+00",
    "status": "ready",
    "pageCount": 12,
    "orientation": "landscape",
    "aspectRatio": 1.778,
    "targetCompany": null,
    "targetTicker": null,
    "metadata": {
      "local_root": "/tmp/legacy-images/267b265ee3b19af7",
      "origin_corpus": "consulting"
    }
  },
  "coverage": {
    "pageCount": 12,
    "pagesIndexed": 12,
    "pagesWithImages": 12,
    "pagesWithMetadata": 12,
    "imageCoveragePct": 100,
    "metadataCoveragePct": 100,
    "componentCount": 68,
    "chartCount": 11,
    "metricSlides": 0,
    "toolMatches": 39,
    "documentToolMatches": 0,
    "frameworkMatches": 0,
    "arcMatches": 2,
    "beatMatches": 8,
    "loopMatches": 2,
    "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": "019de797-3bc4-75ba-9a64-a93dc7ef06de",
        "evidence": "Topline facts (p.2-6), so-what insight slides (p.7-9), then a soft CTA on p.12.",
        "isPrimary": true,
        "confidence": 72,
        "extraction": {
          "at": "2026-05-02 07:29:01.142607+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        }
      },
      {
        "arc": {
          "name": "The Onion",
          "slug": "onion",
          "status": "active",
          "bestFor": "Root cause analysis, diagnostics",
          "canonId": "019dd956-627f-76b1-b286-0c575846d572",
          "version": 1,
          "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
          "structure": "Surface Observation -> First Layer -> Deeper Layer -> Core Insight -> Implications",
          "description": null,
          "familyLabel": null,
          "categoryName": "Analysis & Information",
          "categorySlug": "analysis-information"
        },
        "matchId": "019de797-3c72-70ee-bd4e-be6de4c24f3f",
        "evidence": "Headline 76% (p.2) -> country index (p.3) -> per-question detail (p.4-6) -> correlation insight (p.7) -> driver implications (p.8-9).",
        "isPrimary": false,
        "confidence": 60,
        "extraction": {
          "at": "2026-05-02 07:29:01.142607+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        }
      }
    ],
    "beats": [
      {
        "to": 6,
        "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": 1,
        "name": "The Facts (What)",
        "beatId": "019de797-3bee-7650-8f8c-fc126bbe69df",
        "matchId": "019de797-3bc4-75ba-9a64-a93dc7ef06de",
        "beatType": null,
        "evidence": "Cover plus topline numbers and 4 country-by-country data tables",
        "position": 1,
        "isPrimaryArc": true,
        "parentBeatType": null,
        "alignedBlockIds": null,
        "matchConfidence": 72
      },
      {
        "to": 9,
        "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": 7,
        "name": "The Implications (So What)",
        "beatId": "019de797-3c20-7210-91da-a1ad88102e10",
        "matchId": "019de797-3bc4-75ba-9a64-a93dc7ef06de",
        "beatType": null,
        "evidence": "Correlation, income driver and generational debunk slides",
        "position": 2,
        "isPrimaryArc": true,
        "parentBeatType": null,
        "alignedBlockIds": null,
        "matchConfidence": 72
      },
      {
        "to": 12,
        "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": 12,
        "name": "The Action (Now What)",
        "beatId": "019de797-3c49-71b1-9ded-c0d8cc53006a",
        "matchId": "019de797-3bc4-75ba-9a64-a93dc7ef06de",
        "beatType": null,
        "evidence": "Contact CTA: 'For more information' with Content Director email",
        "position": 3,
        "isPrimaryArc": true,
        "parentBeatType": null,
        "alignedBlockIds": null,
        "matchConfidence": 72
      },
      {
        "to": 2,
        "arc": {
          "name": "The Onion",
          "slug": "onion",
          "status": "active",
          "bestFor": "Root cause analysis, diagnostics",
          "canonId": "019dd956-627f-76b1-b286-0c575846d572",
          "version": 1,
          "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
          "structure": "Surface Observation -> First Layer -> Deeper Layer -> Core Insight -> Implications",
          "description": null,
          "familyLabel": null,
          "categoryName": "Analysis & Information",
          "categorySlug": "analysis-information"
        },
        "from": 2,
        "name": "Surface Observation",
        "beatId": "019de797-3c9a-7226-8acc-39f1383cc9c8",
        "matchId": "019de797-3c72-70ee-bd4e-be6de4c24f3f",
        "beatType": null,
        "evidence": "Headline dashboard with 76% feel-loved figure",
        "position": 1,
        "isPrimaryArc": false,
        "parentBeatType": null,
        "alignedBlockIds": null,
        "matchConfidence": 60
      },
      {
        "to": 3,
        "arc": {
          "name": "The Onion",
          "slug": "onion",
          "status": "active",
          "bestFor": "Root cause analysis, diagnostics",
          "canonId": "019dd956-627f-76b1-b286-0c575846d572",
          "version": 1,
          "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
          "structure": "Surface Observation -> First Layer -> Deeper Layer -> Core Insight -> Implications",
          "description": null,
          "familyLabel": null,
          "categoryName": "Analysis & Information",
          "categorySlug": "analysis-information"
        },
        "from": 3,
        "name": "First Layer",
        "beatId": "019de797-3d1b-70ee-9d45-a11f01328dd2",
        "matchId": "019de797-3c72-70ee-bd4e-be6de4c24f3f",
        "beatType": null,
        "evidence": "Country-level Love Life Satisfaction Index",
        "position": 2,
        "isPrimaryArc": false,
        "parentBeatType": null,
        "alignedBlockIds": null,
        "matchConfidence": 60
      },
      {
        "to": 6,
        "arc": {
          "name": "The Onion",
          "slug": "onion",
          "status": "active",
          "bestFor": "Root cause analysis, diagnostics",
          "canonId": "019dd956-627f-76b1-b286-0c575846d572",
          "version": 1,
          "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
          "structure": "Surface Observation -> First Layer -> Deeper Layer -> Core Insight -> Implications",
          "description": null,
          "familyLabel": null,
          "categoryName": "Analysis & Information",
          "categorySlug": "analysis-information"
        },
        "from": 4,
        "name": "Deeper Layer",
        "beatId": "019de797-3d44-774d-98ce-75ef8c0facad",
        "matchId": "019de797-3c72-70ee-bd4e-be6de4c24f3f",
        "beatType": null,
        "evidence": "Three per-question 30-country breakdowns",
        "position": 3,
        "isPrimaryArc": false,
        "parentBeatType": null,
        "alignedBlockIds": null,
        "matchConfidence": 60
      },
      {
        "to": 7,
        "arc": {
          "name": "The Onion",
          "slug": "onion",
          "status": "active",
          "bestFor": "Root cause analysis, diagnostics",
          "canonId": "019dd956-627f-76b1-b286-0c575846d572",
          "version": 1,
          "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
          "structure": "Surface Observation -> First Layer -> Deeper Layer -> Core Insight -> Implications",
          "description": null,
          "familyLabel": null,
          "categoryName": "Analysis & Information",
          "categorySlug": "analysis-information"
        },
        "from": 7,
        "name": "Core Insight",
        "beatId": "019de797-3d6f-775f-bbfd-f760cd26956d",
        "matchId": "019de797-3c72-70ee-bd4e-be6de4c24f3f",
        "beatType": null,
        "evidence": "Scatter shows partner and sex-life satisfaction correlate",
        "position": 4,
        "isPrimaryArc": false,
        "parentBeatType": null,
        "alignedBlockIds": null,
        "matchConfidence": 60
      },
      {
        "to": 9,
        "arc": {
          "name": "The Onion",
          "slug": "onion",
          "status": "active",
          "bestFor": "Root cause analysis, diagnostics",
          "canonId": "019dd956-627f-76b1-b286-0c575846d572",
          "version": 1,
          "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
          "structure": "Surface Observation -> First Layer -> Deeper Layer -> Core Insight -> Implications",
          "description": null,
          "familyLabel": null,
          "categoryName": "Analysis & Information",
          "categorySlug": "analysis-information"
        },
        "from": 8,
        "name": "Implications",
        "beatId": "019de797-3d97-77d9-b1ab-9ad67849599a",
        "matchId": "019de797-3c72-70ee-bd4e-be6de4c24f3f",
        "beatType": null,
        "evidence": "Income lifts satisfaction; generations barely differ",
        "position": 5,
        "isPrimaryArc": false,
        "parentBeatType": null,
        "alignedBlockIds": null,
        "matchConfidence": 60
      }
    ],
    "loops": [
      {
        "to": 6,
        "from": 2,
        "loop": {
          "name": "02_pattern_hunter",
          "slug": "02-pattern-hunter",
          "status": "active",
          "bestFor": "Time-pressed audiences, building consensus, when data is strong",
          "canonId": "019dd956-6695-771a-be2e-f1748ef041a4",
          "version": 1,
          "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
          "structure": "Evidence A -> Evidence B -> Evidence C -> Pattern/Conclusion",
          "description": "Group multiple pieces of evidence that together point to a pattern or conclusion",
          "familyLabel": null,
          "categoryName": "Logical Reasoning",
          "categorySlug": "logical-reasoning"
        },
        "matchId": "019de797-3dbf-778a-896c-cafc934f3f94",
        "evidence": "Headline dashboard then 4 successive 30-country tables building the LATAM/Asia-on-top pattern.",
        "position": 1,
        "objective": "Establish global picture by stacking country evidence",
        "confidence": 78,
        "extraction": {
          "at": "2026-05-02 07:29:01.142607+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        }
      },
      {
        "to": 9,
        "from": 7,
        "loop": {
          "name": "03_aha_moment",
          "slug": "03-aha-moment",
          "status": "active",
          "bestFor": "Data-heavy sections, research findings, analytical arguments",
          "canonId": "019dd956-66f4-7668-ab25-cec9c996c0bc",
          "version": 1,
          "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
          "structure": "The Problem/Question -> What the Data Shows -> The Insight",
          "description": "Establish a tension, present data, then deliver the insight that changes everything",
          "familyLabel": null,
          "categoryName": "Narrative",
          "categorySlug": "narrative"
        },
        "matchId": "019de797-3de7-72cd-b269-7fa16bd06ecd",
        "evidence": "Correlation, income lift, and generations-don't-differ insights each labelled with action titles.",
        "position": 2,
        "objective": "Surface drivers and a counter-intuitive non-driver",
        "confidence": 80,
        "extraction": {
          "at": "2026-05-02 07:29:01.142607+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        }
      }
    ],
    "tools": [
      {
        "tool": {
          "name": "Data Story Arc",
          "slug": "data-story-arc",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-9c30-728e-b974-d3fb123dcf5a",
          "version": 1,
          "bodyDocId": null,
          "description": "Context → Conflict → Insight → Implication structure for data narratives",
          "familyLabel": null,
          "categoryName": "Loop",
          "categorySlug": "loop"
        },
        "agent": "Storyteller",
        "layer": "loop",
        "agents": [
          "Storyteller"
        ],
        "matchId": "019de797-3f52-704f-84b8-dd63c7d969ad",
        "evidence": "Loop sets context (76% global) before drilling country-by-country",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": null,
        "confidence": 70,
        "extraction": {
          "at": "2026-05-02 07:29:01.142607+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 2,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Inductive Reasoning",
          "slug": "inductive-reasoning",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-99c6-705e-94cc-76a504c3da37",
          "version": 1,
          "bodyDocId": null,
          "description": "Grouping similar evidence to form a conclusion (Evidence → Pattern → Conclusion)",
          "familyLabel": null,
          "categoryName": "Loop",
          "categorySlug": "loop"
        },
        "agent": "Architect",
        "layer": "loop",
        "agents": [
          "Architect"
        ],
        "matchId": "019de797-3f29-7690-834d-1cd48d24dde9",
        "evidence": "Loop opens by aggregating multiple data points into a topline pattern",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": null,
        "confidence": 75,
        "extraction": {
          "at": "2026-05-02 07:29:01.142607+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 2,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Aha! Moment",
          "slug": "aha-moment",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-a5b5-7763-820e-b299c5f27a32",
          "version": 1,
          "bodyDocId": null,
          "description": "The moment when the audience realizes the value - design for insight revelation",
          "familyLabel": null,
          "categoryName": "Loop",
          "categorySlug": "loop"
        },
        "agent": "Storyteller",
        "layer": "loop",
        "agents": [
          "Storyteller"
        ],
        "matchId": "019de797-4251-72a6-9d28-9eafc2f31e26",
        "evidence": "Loop opens with the headline correlation insight",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 80,
        "extraction": {
          "at": "2026-05-02 07:29:01.142607+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 7,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Inductive Reasoning",
          "slug": "inductive-reasoning",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-99c6-705e-94cc-76a504c3da37",
          "version": 1,
          "bodyDocId": null,
          "description": "Grouping similar evidence to form a conclusion (Evidence → Pattern → Conclusion)",
          "familyLabel": null,
          "categoryName": "Loop",
          "categorySlug": "loop"
        },
        "agent": "Architect",
        "layer": "loop",
        "agents": [
          "Architect"
        ],
        "matchId": "019de797-4279-72bf-b6c3-c1a2a8565aff",
        "evidence": "Three slides accumulate findings into pattern conclusions",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": null,
        "confidence": 70,
        "extraction": {
          "at": "2026-05-02 07:29:01.142607+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 7,
        "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": "slide",
        "agents": [
          "Architect"
        ],
        "matchId": "019de797-3e8a-7159-8050-d4aa52af4660",
        "evidence": "Four discrete stat blocks plus generational bars",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 70,
        "extraction": {
          "at": "2026-05-02 07:29:01.142607+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 2,
        "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": "019de797-3e62-72eb-947f-b01e82ff41e6",
        "evidence": "Pink accent on navy isolates key figures",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 75,
        "extraction": {
          "at": "2026-05-02 07:29:01.142607+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 2,
        "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": "019de797-3eb1-7718-b889-8fb247bd6aae",
        "evidence": "Heart and house icons reinforce each statistic",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 60,
        "extraction": {
          "at": "2026-05-02 07:29:01.142607+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 2,
        "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": "019de797-3e39-74aa-962a-4ab1ab34443a",
        "evidence": "Donut + giant % + smaller body text in tiered scale",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 78,
        "extraction": {
          "at": "2026-05-02 07:29:01.142607+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 2,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Von Restorff Effect",
          "slug": "von-restorff-effect",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-beab-73d8-9f62-30d0332e926e",
          "version": 1,
          "bodyDocId": null,
          "description": "Items that stand out are noticed and remembered - make key points visually distinct",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Designer",
        "layer": "slide",
        "agents": [
          "Designer"
        ],
        "matchId": "019de797-3e11-716a-b1c8-470b38f04e9f",
        "evidence": "Oversized 76/59/82/83% numerals dominate the dashboard",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 80,
        "extraction": {
          "at": "2026-05-02 07:29:01.142607+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 2,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "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": "019de797-3fa1-7742-b6af-ff3efc3078db",
        "evidence": "Each country labeled with numeric score on the table",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 80,
        "extraction": {
          "at": "2026-05-02 07:29:01.142607+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 3,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Metaphor & Analogy",
          "slug": "metaphor-analogy",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-adea-7729-bca1-70810d6238a9",
          "version": 1,
          "bodyDocId": null,
          "description": "Making abstract concepts concrete through familiar comparisons",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Storyteller",
        "layer": "slide",
        "agents": [
          "Storyteller"
        ],
        "matchId": "019de797-3f79-759a-935b-3e7c5c67d266",
        "evidence": "Thermometer visualizes country index 'heat'",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": null,
        "confidence": 85,
        "extraction": {
          "at": "2026-05-02 07:29:01.142607+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 3,
        "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": "019de797-3fcb-7672-af09-43de4287bce3",
        "evidence": "Bold lead sentence over body paragraphs frames key takeaway",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 65,
        "extraction": {
          "at": "2026-05-02 07:29:01.142607+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 3,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "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": "019de797-401a-7637-a1cc-99ade6f60412",
        "evidence": "Percent values labelled directly on each stacked segment",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 75,
        "extraction": {
          "at": "2026-05-02 07:29:01.142607+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 4,
        "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": "019de797-3ff3-7290-8c0e-911aa0cfcdd6",
        "evidence": "Diverging palette from dark blue (very satisfied) to dark pink (not at all)",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 80,
        "extraction": {
          "at": "2026-05-02 07:29:01.142607+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 4,
        "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": "a19c1bd1-fcd7-49ac-b374-a10b4e8674d3",
        "evidence": "The slide features a stacked bar chart with a clear and simple design, allowing the viewer to easily compare satisfaction levels across countries.",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": null,
        "confidence": 0.7,
        "extraction": {
          "at": "2026-07-16 21:29:49.618096+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 4,
        "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": "019de797-4042-71ab-8c31-3d0f7a17d1a0",
        "evidence": "Each country row functions as a repeated small chart",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 55,
        "extraction": {
          "at": "2026-05-02 07:29:01.142607+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 4,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "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": "019de797-4091-777a-abc3-175530742770",
        "evidence": "Per-segment % labels and YoY change column",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 75,
        "extraction": {
          "at": "2026-05-02 07:29:01.142607+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": "019de797-4069-72d8-b746-3f131e401a8f",
        "evidence": "Diverging blue-to-pink scale across satisfaction levels",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 80,
        "extraction": {
          "at": "2026-05-02 07:29:01.142607+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 5,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Data-Ink Ratio",
          "slug": "data-ink-ratio",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-afc8-70da-b378-92834d36fde6",
          "version": 1,
          "bodyDocId": null,
          "description": "Maximize data, minimize non-data ink - remove chartjunk and decoration",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Designer",
        "layer": "slide",
        "agents": [
          "Designer"
        ],
        "matchId": "c8a64192-6b03-477c-85bd-1922aba2a8a8",
        "evidence": "The slide features a stacked bar chart with a clear and simple design, allowing the viewer to easily compare satisfaction levels across countries.",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": null,
        "confidence": 0.7,
        "extraction": {
          "at": "2026-07-16 21:29:49.702898+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 5,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "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": "019de797-40b8-76ee-8b67-c10b2a58acb6",
        "evidence": "Country rows form repeating mini-bars for comparison",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 55,
        "extraction": {
          "at": "2026-05-02 07:29:01.142607+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 5,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "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": "019de797-415e-7518-904b-2908880c006c",
        "evidence": "Numeric labels on segments and Change 2024 column",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 75,
        "extraction": {
          "at": "2026-05-02 07:29:01.142607+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 6,
        "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": "019de797-4135-7348-9634-326afb37f9cf",
        "evidence": "Same diverging palette signals satisfaction tiers",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 80,
        "extraction": {
          "at": "2026-05-02 07:29:01.142607+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 6,
        "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": "2ce6ab49-805c-4850-9566-cd0621391bdb",
        "evidence": "The slide features a stacked bar chart with a clear and simple design, allowing the viewer to easily compare satisfaction levels across countries.",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": null,
        "confidence": 0.7,
        "extraction": {
          "at": "2026-07-16 21:29:49.790017+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 6,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "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": "019de797-4186-712b-94cb-c33085c7b4ec",
        "evidence": "Country rows reuse identical chart format",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 55,
        "extraction": {
          "at": "2026-05-02 07:29:01.142607+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 6,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Action Titles",
          "slug": "action-titles",
          "status": "active",
          "bestFor": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
          "canonId": "019dd956-ac70-700b-a608-ba58e78f5dcc",
          "version": 1,
          "bodyDocId": "816dad3c-9983-41c1-a86e-978ebd582841",
          "description": "The McKinsey-bred discipline of writing every slide title as a complete declarative sentence with a verb and an insight, not a topic label. Each title is a sub-claim that ladders up to the deck's governing thought; read in sequence, the titles reconstruct the executive summary.",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Architect",
        "layer": "slide",
        "agents": [
          "Architect"
        ],
        "matchId": "019de797-41ae-721f-b971-2ff424b28cd1",
        "evidence": "Title states insight: 'Happiness with sex life and partner are correlated'",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
        "confidence": 90,
        "extraction": {
          "at": "2026-05-02 07:29:01.142607+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 7,
        "whyItWorks": "Solves two failure modes at once. (1) The buried claim: action titles place the conclusion on the page before any analysis is read, so a busy reader doesn't reverse-engineer it from the chart. (2) The spineless deck: because each title is a claim, slides have to ladder up to the governing thought; logical gaps become visible as topic-shaped titles in a sequence that no longer reads as a story.",
        "antipattern": "Topic labels disguised as titles — Volume by quarter, Key findings, Pricing strategy, Margins have been impacted. No verb, or a passive verb with no agent, or a fact (Revenue grew 12%) without the so-what. Also: titles that overreach the chart's evidence, multi-claim X-grew-but-Y-fell welded titles, and mechanical repetition of the same X-drove-Y template across the deck.",
        "cardinality": null,
        "narrativePurpose": "Forces the deck to carry its argument in the title bar so a senior reader can extract the recommendation without opening a single slide; converts a binder of topics into a navigable pyramid where every slide is a node defending the apex."
      },
      {
        "tool": {
          "name": "Annotation",
          "slug": "annotation",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-b5b9-7668-bf0e-3af99823ec5c",
          "version": 1,
          "bodyDocId": null,
          "description": "Adding explanatory labels to highlight key data points",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Designer",
        "layer": "slide",
        "agents": [
          "Designer"
        ],
        "matchId": "019de797-4202-703b-b41b-ee0c2c8fc84d",
        "evidence": "Every dot is labeled with its country name",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 85,
        "extraction": {
          "at": "2026-05-02 07:29:01.142607+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 7,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Chart Selection Guide",
          "slug": "chart-selection-guide",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-b1a0-700b-ba17-0e16c4d5bcae",
          "version": 1,
          "bodyDocId": null,
          "description": "Choosing the right chart type for your data and message",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Designer",
        "layer": "slide",
        "agents": [
          "Designer"
        ],
        "matchId": "019de797-4229-7619-b501-a0f3ee9edbfd",
        "evidence": "Scatter with trendline correctly chosen for correlation",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 70,
        "extraction": {
          "at": "2026-05-02 07:29:01.142607+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 7,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "So What? Test",
          "slug": "so-what-test",
          "status": "active",
          "bestFor": "On every slide carrying a chart, number, list, or finding intended to inform a decision; whenever a draft title is descriptive rather than directive; whenever the deck will circulate without its author.",
          "canonId": "019dd956-acd2-76f8-b59a-9bf15a89f10a",
          "version": 1,
          "bodyDocId": "fec04b06-b2f1-432b-a97b-916dc7563f64",
          "description": "The recursive editorial discipline of asking so-what of every slide, chart, and statement until the answer is an implication for the audience — that final answer becomes the slide's title; the chain becomes its body.",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Architect",
        "layer": "slide",
        "agents": [
          "Architect"
        ],
        "matchId": "019de797-41d6-731a-853e-1b18d2b47bc5",
        "evidence": "Body paragraph spells out the so-what including outliers",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": "On every slide carrying a chart, number, list, or finding intended to inform a decision; whenever a draft title is descriptive rather than directive; whenever the deck will circulate without its author.",
        "confidence": 80,
        "extraction": {
          "at": "2026-05-02 07:29:01.142607+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 7,
        "whyItWorks": "Solves the two failure modes of analytical communication at once: stopping at description (analyst-confidence problem) and leaving insight stranded in the analyst's head (translation problem). The recursion is what guarantees the implication makes it into ink.",
        "antipattern": "Stopping at the first tighter description (still a fact, not an implication), regressing past the audience's decision space into philosophy, smuggling the so-what into speaker notes, or re-using an implication aimed at a previous audience.",
        "cardinality": null,
        "narrativePurpose": "Forces every analytical artefact to close the gap between fact and decision, so the reader holds the recommendation by reading titles alone rather than reconstructing the analyst's mental model from raw evidence."
      },
      {
        "tool": {
          "name": "Action Titles",
          "slug": "action-titles",
          "status": "active",
          "bestFor": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
          "canonId": "019dd956-ac70-700b-a608-ba58e78f5dcc",
          "version": 1,
          "bodyDocId": "816dad3c-9983-41c1-a86e-978ebd582841",
          "description": "The McKinsey-bred discipline of writing every slide title as a complete declarative sentence with a verb and an insight, not a topic label. Each title is a sub-claim that ladders up to the deck's governing thought; read in sequence, the titles reconstruct the executive summary.",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Architect",
        "layer": "slide",
        "agents": [
          "Architect"
        ],
        "matchId": "019de797-42a1-7334-8615-b9dc4ddc294e",
        "evidence": "Title states insight: 'Money does bring love life happiness'",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
        "confidence": 90,
        "extraction": {
          "at": "2026-05-02 07:29:01.142607+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 8,
        "whyItWorks": "Solves two failure modes at once. (1) The buried claim: action titles place the conclusion on the page before any analysis is read, so a busy reader doesn't reverse-engineer it from the chart. (2) The spineless deck: because each title is a claim, slides have to ladder up to the governing thought; logical gaps become visible as topic-shaped titles in a sequence that no longer reads as a story.",
        "antipattern": "Topic labels disguised as titles — Volume by quarter, Key findings, Pricing strategy, Margins have been impacted. No verb, or a passive verb with no agent, or a fact (Revenue grew 12%) without the so-what. Also: titles that overreach the chart's evidence, multi-claim X-grew-but-Y-fell welded titles, and mechanical repetition of the same X-drove-Y template across the deck.",
        "cardinality": null,
        "narrativePurpose": "Forces the deck to carry its argument in the title bar so a senior reader can extract the recommendation without opening a single slide; converts a binder of topics into a navigable pyramid where every slide is a node defending the apex."
      },
      {
        "tool": {
          "name": "Color Strategy",
          "slug": "color-strategy",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-b202-77cf-8a6e-f445b08c0fd3",
          "version": 1,
          "bodyDocId": null,
          "description": "Using color for emphasis, categories, sentiment, and hierarchy",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Designer",
        "layer": "slide",
        "agents": [
          "Designer"
        ],
        "matchId": "019de797-4390-72d8-8d93-0b499a6162f0",
        "evidence": "Two-color split signals positive vs negative sentiment",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 75,
        "extraction": {
          "at": "2026-05-02 07:29:01.142607+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 8,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Contrast Principle",
          "slug": "contrast-principle",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-bf0f-73ae-b9df-e60508cdaa65",
          "version": 1,
          "bodyDocId": null,
          "description": "Higher visual weight draws attention - use contrast strategically for emphasis",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Designer",
        "layer": "slide",
        "agents": [
          "Designer"
        ],
        "matchId": "019de797-4368-7349-9625-b35244480916",
        "evidence": "Navy 'Satisfied' contrasted with pink 'Not satisfied' bars",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 75,
        "extraction": {
          "at": "2026-05-02 07:29:01.142607+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 8,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Small Multiples",
          "slug": "small-multiples",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-b32d-7586-b368-baa1dd388ed4",
          "version": 1,
          "bodyDocId": null,
          "description": "Repeating similar charts for comparison across categories or time",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Designer",
        "layer": "slide",
        "agents": [
          "Designer"
        ],
        "matchId": "019de797-4341-77bf-bdf7-a8911402ff75",
        "evidence": "Two parallel bar charts comparing same income tiers",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 80,
        "extraction": {
          "at": "2026-05-02 07:29:01.142607+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 8,
        "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": "019de797-42c8-775f-910f-a8f084e712c7",
        "evidence": "Sidebar narrative quantifies 83% high vs 69% low income",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": "On every slide carrying a chart, number, list, or finding intended to inform a decision; whenever a draft title is descriptive rather than directive; whenever the deck will circulate without its author.",
        "confidence": 80,
        "extraction": {
          "at": "2026-05-02 07:29:01.142607+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 8,
        "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": "019de797-43b8-7112-b4e4-10baca41a8de",
        "evidence": "Title states insight: 'Little difference in satisfaction across generations'",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
        "confidence": 90,
        "extraction": {
          "at": "2026-05-02 07:29:01.142607+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 9,
        "whyItWorks": "Solves two failure modes at once. (1) The buried claim: action titles place the conclusion on the page before any analysis is read, so a busy reader doesn't reverse-engineer it from the chart. (2) The spineless deck: because each title is a claim, slides have to ladder up to the governing thought; logical gaps become visible as topic-shaped titles in a sequence that no longer reads as a story.",
        "antipattern": "Topic labels disguised as titles — Volume by quarter, Key findings, Pricing strategy, Margins have been impacted. No verb, or a passive verb with no agent, or a fact (Revenue grew 12%) without the so-what. Also: titles that overreach the chart's evidence, multi-claim X-grew-but-Y-fell welded titles, and mechanical repetition of the same X-drove-Y template across the deck.",
        "cardinality": null,
        "narrativePurpose": "Forces the deck to carry its argument in the title bar so a senior reader can extract the recommendation without opening a single slide; converts a binder of topics into a navigable pyramid where every slide is a node defending the apex."
      },
      {
        "tool": {
          "name": "Color Strategy",
          "slug": "color-strategy",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-b202-77cf-8a6e-f445b08c0fd3",
          "version": 1,
          "bodyDocId": null,
          "description": "Using color for emphasis, categories, sentiment, and hierarchy",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Designer",
        "layer": "slide",
        "agents": [
          "Designer"
        ],
        "matchId": "019de797-4432-740f-9af5-63689d20d049",
        "evidence": "Consistent navy/pink satisfied-vs-not encoding",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 70,
        "extraction": {
          "at": "2026-05-02 07:29:01.142607+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 9,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Small Multiples",
          "slug": "small-multiples",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-b32d-7586-b368-baa1dd388ed4",
          "version": 1,
          "bodyDocId": null,
          "description": "Repeating similar charts for comparison across categories or time",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Designer",
        "layer": "slide",
        "agents": [
          "Designer"
        ],
        "matchId": "019de797-4409-777b-9ad3-b9d77f68efd7",
        "evidence": "Twin bar charts repeat structure across two questions",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 80,
        "extraction": {
          "at": "2026-05-02 07:29:01.142607+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 9,
        "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": "019de797-43e1-7349-b7d1-5d6c2639ab59",
        "evidence": "Body explicitly addresses myth that generations differ",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": "On every slide carrying a chart, number, list, or finding intended to inform a decision; whenever a draft title is descriptive rather than directive; whenever the deck will circulate without its author.",
        "confidence": 80,
        "extraction": {
          "at": "2026-05-02 07:29:01.142607+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 9,
        "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": "Credibility Transfer",
          "slug": "credibility-transfer",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-bd34-759a-8e3b-2f14b571a2a1",
          "version": 1,
          "bodyDocId": null,
          "description": "Borrowing authority from trusted sources or vivid details",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Storyteller",
        "layer": "slide",
        "agents": [
          "Storyteller"
        ],
        "matchId": "019de797-445a-7652-950e-6e7ecf97695b",
        "evidence": "Methodology details (sample, weighting, credibility intervals) reinforce authority",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 75,
        "extraction": {
          "at": "2026-05-02 07:29:01.142607+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 11,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Closing Techniques",
          "slug": "closing-techniques",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-af13-774b-a4fd-7db0a3a88d51",
          "version": 1,
          "bodyDocId": null,
          "description": "Strong endings: Callback, challenge, vision, clear CTA, memorable line",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Storyteller",
        "layer": "slide",
        "agents": [
          "Storyteller"
        ],
        "matchId": "019de797-4482-71bd-adf4-cbac037a5711",
        "evidence": "Closing slide names a contact and email as call to action",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 75,
        "extraction": {
          "at": "2026-05-02 07:29:01.142607+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 12,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      }
    ],
    "frameworks": [],
    "patterns": []
  },
  "storymakers": {
    "model": "claude-cli",
    "backend": "claude",
    "rawJson": {
      "arc": {
        "id": 11,
        "slug": "triple-take",
        "beats": [
          {
            "name": "The Facts (What)",
            "end_page": 6,
            "evidence": "Cover plus topline numbers and 4 country-by-country data tables",
            "position": 1,
            "start_page": 1
          },
          {
            "name": "The Implications (So What)",
            "end_page": 9,
            "evidence": "Correlation, income driver and generational debunk slides",
            "position": 2,
            "start_page": 7
          },
          {
            "name": "The Action (Now What)",
            "end_page": 12,
            "evidence": "Contact CTA: 'For more information' with Content Director email",
            "position": 3,
            "start_page": 12
          }
        ],
        "evidence": "Topline facts (p.2-6), so-what insight slides (p.7-9), then a soft CTA on p.12.",
        "confidence": 72
      },
      "loops": [
        {
          "id": 2,
          "slug": "02-pattern-hunter",
          "end_page": 6,
          "evidence": "Headline dashboard then 4 successive 30-country tables building the LATAM/Asia-on-top pattern.",
          "position": 1,
          "objective": "Establish global picture by stacking country evidence",
          "confidence": 78,
          "start_page": 2
        },
        {
          "id": 3,
          "slug": "03-aha-moment",
          "end_page": 9,
          "evidence": "Correlation, income lift, and generations-don't-differ insights each labelled with action titles.",
          "position": 2,
          "objective": "Surface drivers and a counter-intuitive non-driver",
          "confidence": 80,
          "start_page": 7
        }
      ],
      "slide_tools": [
        {
          "tools": [
            {
              "id": 158,
              "slug": "von-restorff-effect",
              "layer": "Slide",
              "evidence": "Oversized 76/59/82/83% numerals dominate the dashboard",
              "confidence": 80
            },
            {
              "id": 132,
              "slug": "visual-hierarchy",
              "layer": "Slide",
              "evidence": "Donut + giant % + smaller body text in tiered scale",
              "confidence": 78
            },
            {
              "id": 130,
              "slug": "color-strategy",
              "layer": "Slide",
              "evidence": "Pink accent on navy isolates key figures",
              "confidence": 75
            },
            {
              "id": 116,
              "slug": "chunking",
              "layer": "Slide",
              "evidence": "Four discrete stat blocks plus generational bars",
              "confidence": 70
            },
            {
              "id": 165,
              "slug": "picture-superiority-effect",
              "layer": "Slide",
              "evidence": "Heart and house icons reinforce each statistic",
              "confidence": 60
            },
            {
              "id": 74,
              "slug": "inductive-reasoning",
              "layer": "Loop",
              "evidence": "Loop opens by aggregating multiple data points into a topline pattern",
              "confidence": 75
            },
            {
              "id": 80,
              "slug": "data-story-arc",
              "layer": "Loop",
              "evidence": "Loop sets context (76% global) before drilling country-by-country",
              "confidence": 70
            }
          ],
          "page_number": 2
        },
        {
          "tools": [
            {
              "id": 121,
              "slug": "metaphor-analogy",
              "layer": "Slide",
              "evidence": "Thermometer visualizes country index 'heat'",
              "confidence": 85
            },
            {
              "id": 138,
              "slug": "annotation",
              "layer": "Slide",
              "evidence": "Each country labeled with numeric score on the table",
              "confidence": 80
            },
            {
              "id": 132,
              "slug": "visual-hierarchy",
              "layer": "Slide",
              "evidence": "Bold lead sentence over body paragraphs frames key takeaway",
              "confidence": 65
            }
          ],
          "page_number": 3
        },
        {
          "tools": [
            {
              "id": 130,
              "slug": "color-strategy",
              "layer": "Slide",
              "evidence": "Diverging palette from dark blue (very satisfied) to dark pink (not at all)",
              "confidence": 80
            },
            {
              "id": 138,
              "slug": "annotation",
              "layer": "Slide",
              "evidence": "Percent values labelled directly on each stacked segment",
              "confidence": 75
            },
            {
              "id": 133,
              "slug": "small-multiples",
              "layer": "Slide",
              "evidence": "Each country row functions as a repeated small chart",
              "confidence": 55
            }
          ],
          "page_number": 4
        },
        {
          "tools": [
            {
              "id": 130,
              "slug": "color-strategy",
              "layer": "Slide",
              "evidence": "Diverging blue-to-pink scale across satisfaction levels",
              "confidence": 80
            },
            {
              "id": 138,
              "slug": "annotation",
              "layer": "Slide",
              "evidence": "Per-segment % labels and YoY change column",
              "confidence": 75
            },
            {
              "id": 133,
              "slug": "small-multiples",
              "layer": "Slide",
              "evidence": "Country rows form repeating mini-bars for comparison",
              "confidence": 55
            }
          ],
          "page_number": 5
        },
        {
          "tools": [
            {
              "id": 130,
              "slug": "color-strategy",
              "layer": "Slide",
              "evidence": "Same diverging palette signals satisfaction tiers",
              "confidence": 80
            },
            {
              "id": 138,
              "slug": "annotation",
              "layer": "Slide",
              "evidence": "Numeric labels on segments and Change 2024 column",
              "confidence": 75
            },
            {
              "id": 133,
              "slug": "small-multiples",
              "layer": "Slide",
              "evidence": "Country rows reuse identical chart format",
              "confidence": 55
            }
          ],
          "page_number": 6
        },
        {
          "tools": [
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "Title states insight: 'Happiness with sex life and partner are correlated'",
              "confidence": 90
            },
            {
              "id": 119,
              "slug": "so-what-test",
              "layer": "Slide",
              "evidence": "Body paragraph spells out the so-what including outliers",
              "confidence": 80
            },
            {
              "id": 138,
              "slug": "annotation",
              "layer": "Slide",
              "evidence": "Every dot is labeled with its country name",
              "confidence": 85
            },
            {
              "id": 129,
              "slug": "chart-selection-guide",
              "layer": "Slide",
              "evidence": "Scatter with trendline correctly chosen for correlation",
              "confidence": 70
            },
            {
              "id": 103,
              "slug": "aha-moment",
              "layer": "Loop",
              "evidence": "Loop opens with the headline correlation insight",
              "confidence": 80
            },
            {
              "id": 74,
              "slug": "inductive-reasoning",
              "layer": "Loop",
              "evidence": "Three slides accumulate findings into pattern conclusions",
              "confidence": 70
            }
          ],
          "page_number": 7
        },
        {
          "tools": [
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "Title states insight: 'Money does bring love life happiness'",
              "confidence": 90
            },
            {
              "id": 119,
              "slug": "so-what-test",
              "layer": "Slide",
              "evidence": "Sidebar narrative quantifies 83% high vs 69% low income",
              "confidence": 80
            },
            {
              "id": 133,
              "slug": "small-multiples",
              "layer": "Slide",
              "evidence": "Two parallel bar charts comparing same income tiers",
              "confidence": 80
            },
            {
              "id": 159,
              "slug": "contrast-principle",
              "layer": "Slide",
              "evidence": "Navy 'Satisfied' contrasted with pink 'Not satisfied' bars",
              "confidence": 75
            },
            {
              "id": 130,
              "slug": "color-strategy",
              "layer": "Slide",
              "evidence": "Two-color split signals positive vs negative sentiment",
              "confidence": 75
            }
          ],
          "page_number": 8
        },
        {
          "tools": [
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "Title states insight: 'Little difference in satisfaction across generations'",
              "confidence": 90
            },
            {
              "id": 119,
              "slug": "so-what-test",
              "layer": "Slide",
              "evidence": "Body explicitly addresses myth that generations differ",
              "confidence": 80
            },
            {
              "id": 133,
              "slug": "small-multiples",
              "layer": "Slide",
              "evidence": "Twin bar charts repeat structure across two questions",
              "confidence": 80
            },
            {
              "id": 130,
              "slug": "color-strategy",
              "layer": "Slide",
              "evidence": "Consistent navy/pink satisfied-vs-not encoding",
              "confidence": 70
            }
          ],
          "page_number": 9
        },
        {
          "tools": [
            {
              "id": 155,
              "slug": "credibility-transfer",
              "layer": "Slide",
              "evidence": "Methodology details (sample, weighting, credibility intervals) reinforce authority",
              "confidence": 75
            }
          ],
          "page_number": 11
        },
        {
          "tools": [
            {
              "id": 124,
              "slug": "closing-techniques",
              "layer": "Slide",
              "evidence": "Closing slide names a contact and email as call to action",
              "confidence": 75
            }
          ],
          "page_number": 12
        }
      ],
      "slides_seen": 12,
      "deck_summary": "Strong action-titled insight slides (p.7-9) and a clean facts-then-implications progression align with Storymakers, but there is no real recommendation or 'now what' beat - the Action collapses to a contact card.",
      "secondary_arcs": [
        {
          "id": 12,
          "slug": "onion",
          "beats": [
            {
              "name": "Surface Observation",
              "end_page": 2,
              "evidence": "Headline dashboard with 76% feel-loved figure",
              "position": 1,
              "start_page": 2
            },
            {
              "name": "First Layer",
              "end_page": 3,
              "evidence": "Country-level Love Life Satisfaction Index",
              "position": 2,
              "start_page": 3
            },
            {
              "name": "Deeper Layer",
              "end_page": 6,
              "evidence": "Three per-question 30-country breakdowns",
              "position": 3,
              "start_page": 4
            },
            {
              "name": "Core Insight",
              "end_page": 7,
              "evidence": "Scatter shows partner and sex-life satisfaction correlate",
              "position": 4,
              "start_page": 7
            },
            {
              "name": "Implications",
              "end_page": 9,
              "evidence": "Income lifts satisfaction; generations barely differ",
              "position": 5,
              "start_page": 8
            }
          ],
          "evidence": "Headline 76% (p.2) -> country index (p.3) -> per-question detail (p.4-6) -> correlation insight (p.7) -> driver implications (p.8-9).",
          "confidence": 60
        }
      ],
      "images_inspected": 6,
      "slide_frameworks": []
    },
    "matchedAt": "2026-05-02 07:29:01.336+00",
    "slidesSeen": 12,
    "deckSummary": "Strong action-titled insight slides (p.7-9) and a clean facts-then-implications progression align with Storymakers, but there is no real recommendation or 'now what' beat - the Action collapses to a contact card.",
    "imagesInspected": 6,
    "extractionSeconds": 225.61
  },
  "score": {
    "backend": "claude",
    "scoredAt": "2026-05-02 06:40:37.237+00",
    "subScores": {
      "scqa_arc": 28,
      "action_titles": 38,
      "mece_structure": 62,
      "closing_strength": 22,
      "evidence_quality": 82,
      "clarity_of_thesis": 32,
      "production_quality": 55,
      "visual_storytelling": 70
    },
    "totalScore": 51,
    "coveragePct": 100,
    "explanations": {
      "scqa_arc": "The deck is an analytical data dump: no Situation/Complication framing, no driving question, and findings are presented before any narrative tension is established.",
      "action_titles": "Only slides 7-9 carry action titles (e.g., 'Money does bring love life happiness'); slides 1-6 use topic or question-survey labels like 'Love Life Satisfaction Index'.",
      "mece_structure": "Sections progress overview to by-aspect to correlations to demographics to methodology, but slides 4-6 overlap heavily with three near-identical stacked-bar tables on adjacent satisfaction questions.",
      "closing_strength": "Slide 12 is a 'For more information' contact card with no recommendation, implication, or next step for the reader.",
      "evidence_quality": "Every claim is anchored in a 30-country Ipsos survey with sample-size, weighting, and credibility intervals disclosed in the methodology (slide 11).",
      "clarity_of_thesis": "No declarative thesis appears in slides 1-5; the cover and KPI dashboard pose a topic ('Love Life Satisfaction') but never assert a central argument.",
      "production_quality": "Consistent Ipsos branding, palette, and footnoting, but action-title density is only ~25% (3/12) and chart-heavy slides are dense-to-overcrowded.",
      "visual_storytelling": "Generally strong tool selection - scatter for correlation (slide 7), donuts + big numbers for KPI (slide 2), thermometer table (slide 3) - though slide 7 is flagged as overcrowded."
    },
    "slidesAnalyzed": 12
  },
  "review": {
    "backend": null,
    "verdict": "A competent research-findings deck with several strong action titles in the back half, but it is structured as a data tour rather than a Storymakers narrative — useful as an example of good callouts, not of arc construction.",
    "reviewedAt": "2026-04-25 10:49:33+00",
    "slidesSeen": 12,
    "suggestions": [
      "Replace the p.4-6 question-stem titles with the actual finding ('Feeling loved peaks in [country]; bottoms out in [country]')",
      "Add a thesis slide at p.2 that states the headline answer in one sentence, then use p.2's KPI dashboard as supporting evidence",
      "Insert a closing 'implications' slide before methodology — what should marketers, policymakers, or readers do with these findings?"
    ],
    "closingScore": 30,
    "openingScore": 45,
    "topStrengths": [
      "p.7-9 use declarative, insight-bearing action titles ('Money does bring love life happiness') that name the finding",
      "Callouts under p.2, p.3, p.7, p.8, p.9 reinforce the title with a one-sentence interpretation, which is good Storymakers practice",
      "p.3 'Love Life Satisfaction Index' provides a benchmark/peer view that anchors the data comparatively"
    ],
    "topWeaknesses": [
      "Slides 4-6 reuse the verbatim survey-question wording as titles, abdicating the action-title responsibility",
      "No setup-tension hook: the deck never frames why love life satisfaction matters or what is at stake",
      "Closes on methodology and 'For more information' (p.10-12) with zero recommendation, implication, or 'so what' slide"
    ],
    "narrativeScore": 55,
    "pillarCritique": "The only divider is 'Methodology' (p.10), which is a back-matter marker, not a MECE pillar. The body is a topic dump organized by survey question (feeling loved -> sex life -> partner) rather than by structured argument pillars.",
    "closingCritique": "The deck closes on a methodology divider (p.10), an appendix (p.11), and a 'For more information' contact slide (p.12) — there is no recommendation, implication, or call to action. The last substantive insight (p.9, 'Little difference... across generations') is a non-finding rather than a memorable close.",
    "openingCritique": "The cover (p.1) states the topic but not a thesis, and p.2 leads with a generic 'in numbers' KPI dashboard rather than a headline insight. A reader has to wait until p.7-9 before any synthesized claim appears.",
    "extractionSeconds": 41.059853,
    "narrativeCritique": "This is a research-findings deck, not a recommendation arc — it stacks data tables (p.4-6) and observations (p.7-9) without a clear S->C->A->R structure. There is no situation/complication setup and no resolution; it ends at methodology rather than a 'so what'.",
    "titleQualityScore": 50,
    "titleQualityCritique": "Mixed: p.7 'Happiness with sex life and partner are correlated', p.8 'Money does bring love life happiness', and p.9 'Little difference in satisfaction across generations' are genuine action titles, but p.4-6 use the raw survey-question stem ('Overall, how satisfied are you with each of the following aspects of your life: ...') which is a topic label, not an insight."
  },
  "activistThesis": null,
  "pitchdeck": {
    "metadata": null,
    "profile": null
  },
  "slides": [
    {
      "page": 1,
      "type": "setup",
      "function": "front_matter",
      "imagePath": "https://imgproxy.kitesheet.com/gwdoKUcTdB77suuTpdlk37alK1fj3KoLaddHc_E2grg/rs:fit:1200:1200:0/q:82/f:webp/czM6Ly9raXRlc2hlZXQvY29ycHVzL3NsaWRlcy8yNjdiMjY1ZWUzYjE5YWY3L3AwMDEuanBn",
      "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": "balanced",
        "densityScore": 29,
        "componentCount": 6,
        "textChars": 141,
        "nDataPoints": 0,
        "notes": null,
        "elementsJson": [
          "photo",
          "logo_grid"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 18:45:55.719+00",
          "seconds": 2.624,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5de0-76bd-a166-9f11bfc53d75/1",
        "deck": "/decks/019dd923-5de0-76bd-a166-9f11bfc53d75",
        "deckAnchor": "/decks/019dd923-5de0-76bd-a166-9f11bfc53d75#slide-1",
        "deckJson": "/decks/019dd923-5de0-76bd-a166-9f11bfc53d75.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.07,
            "w": 0.05,
            "x": 0.92,
            "y": 0.9
          },
          "kind": "image",
          "text": "Ipsos logo",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Image",
              "slug": "image",
              "status": "active",
              "canonId": "019de52c-f978-701f-a720-51d029d769e7",
              "version": 1,
              "description": "Photo, illustration, screenshot or icon."
            },
            "tool": null,
            "subkind": {
              "name": "Logo",
              "slug": "logo",
              "status": "active",
              "canonId": "019de52c-fdaf-743d-94c4-d7c6a0e55302",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "logo",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:45:55.719+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "3dbd338f-20fd-4b2e-b3fe-1b5b33ef77dc",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 1,
            "w": 0.5,
            "x": 0.5,
            "y": 0
          },
          "kind": "image",
          "text": "Couple embracing",
          "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 18:45:55.719+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "5f53f6bf-54da-4db7-8cb9-f1b6d5fdc362",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.2,
            "x": 0.05,
            "y": 0.65
          },
          "kind": "paragraph",
          "text": "February 2025",
          "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 18:45:55.719+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "04ddb827-fc80-4237-ac4f-cc201b167445",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.1,
            "w": 0.3,
            "x": 0.05,
            "y": 0.5
          },
          "kind": "paragraph",
          "text": "A 30-Country Global Advisor Survey",
          "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 18:45:55.719+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "59213ec9-2dd3-4277-88f2-57bb6cb0c4b0",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.2,
            "x": 0.03,
            "y": 0.95
          },
          "kind": "source-note",
          "text": "© Ipsos Love Life Satisfaction 2025",
          "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 18:45:55.719+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "d01aacb6-7af7-45b5-9e32-581f30e5261a",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.2,
            "w": 0.45,
            "x": 0.05,
            "y": 0.2
          },
          "kind": "title",
          "text": "IPSOS LOVE LIFE SATISFACTION 2025",
          "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 18:45:55.719+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "a6bdd5a1-8bfc-46ff-af44-d50fa41f81a2",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 6,
          "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": 1,
          "name": "The Facts (What)",
          "beatId": "019de797-3bee-7650-8f8c-fc126bbe69df",
          "matchId": "019de797-3bc4-75ba-9a64-a93dc7ef06de",
          "beatType": null,
          "evidence": "Cover plus topline numbers and 4 country-by-country data tables",
          "position": 1,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 72
        }
      ],
      "loops": [],
      "thumbSrc": "https://imgproxy.kitesheet.com/fpK4vMSyHVjiibO5hTGiXJRduG3IVXfwGX5chZsWz9U/rs:fit:480:480:0/q:78/f:webp/czM6Ly9raXRlc2hlZXQvY29ycHVzL3NsaWRlcy8yNjdiMjY1ZWUzYjE5YWY3L3AwMDEuanBn",
      "imagePathAlt": "https://imgproxy.kitesheet.com/rSFDXCtTMDSWT9Y-nllTqA_6-mu5ijFBjgOqceOt4rk/rs:fit:1200:1200:0/q:82/f:webp/czM6Ly9raXRlc2hlZXQvY29ycHVzL3NsaWRlcy8yNjdiMjY1ZWUzYjE5YWY3L3AwMDEucG5n",
      "thumbSrcAlt": "https://imgproxy.kitesheet.com/mbyah5m3SQdkP4DyafoXqd8ycAYIW-g86b1tfD1XknI/rs:fit:480:480:0/q:78/f:webp/czM6Ly9raXRlc2hlZXQvY29ycHVzL3NsaWRlcy8yNjdiMjY1ZWUzYjE5YWY3L3AwMDEucG5n"
    },
    {
      "page": 2,
      "type": "analysis",
      "title": "Ipsos survey data visualization.",
      "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": "overcrowded",
        "densityScore": 80,
        "componentCount": 12,
        "textChars": 601,
        "nDataPoints": 7,
        "notes": "Ipsos survey data visualization.",
        "elementsJson": [
          "donut_chart",
          "big_number",
          "bar_chart_horizontal",
          "icon_grid"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 18:45:56.587+00",
          "seconds": 3.475,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5de0-76bd-a166-9f11bfc53d75/2",
        "deck": "/decks/019dd923-5de0-76bd-a166-9f11bfc53d75",
        "deckAnchor": "/decks/019dd923-5de0-76bd-a166-9f11bfc53d75#slide-2",
        "deckJson": "/decks/019dd923-5de0-76bd-a166-9f11bfc53d75.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "Millennials most satisfied with their romantic/sex life",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": {
              "name": "Visual emphasis",
              "slug": "visual-emphasis",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-474b-736b-a8eb-a794dd88241c",
              "version": 1,
              "bodyDocId": null,
              "description": "Drawing the eye to one element above the rest of the slide.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 14:07:08+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-edad-70d9-bd14-1212fe5b1e48",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.4,
            "w": 0.2,
            "x": 0.73,
            "y": 0.35
          },
          "kind": "chart",
          "text": "Satisfaction by generation",
          "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": "Horizontal bar chart",
              "slug": "bar-horizontal",
              "status": "active",
              "canonId": "019de52c-fec4-7221-986b-1cb5f5e84b1f",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bar-horizontal",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:45:56.587+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "820187fc-15b9-472e-9e6e-d5026464e3ed",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.25,
            "w": 0.15,
            "x": 0.03,
            "y": 0.55
          },
          "kind": "chart",
          "text": "59% happy with romantic/sex life",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Chart",
              "slug": "chart",
              "status": "active",
              "canonId": "019de52c-f9a0-76ef-adc6-0b859109d1f8",
              "version": 1,
              "description": "Quantitative chart."
            },
            "tool": null,
            "subkind": {
              "name": "Donut chart",
              "slug": "donut",
              "status": "active",
              "canonId": "019de52d-0006-752c-9528-0fef476b8004",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "donut",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:45:56.587+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "113c1f84-6ca4-4153-852d-e45d72ecf50f",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.25,
            "w": 0.15,
            "x": 0.03,
            "y": 0.22
          },
          "kind": "chart",
          "text": "76% feel loved",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Chart",
              "slug": "chart",
              "status": "active",
              "canonId": "019de52c-f9a0-76ef-adc6-0b859109d1f8",
              "version": 1,
              "description": "Quantitative chart."
            },
            "tool": null,
            "subkind": {
              "name": "Donut chart",
              "slug": "donut",
              "status": "active",
              "canonId": "019de52d-0006-752c-9528-0fef476b8004",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "donut",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:45:56.587+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "cd566ca8-279e-4b70-bed8-949a77e2287e",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.1,
            "w": 0.15,
            "x": 0.46,
            "y": 0.22
          },
          "kind": "metric",
          "text": "82% married/partnered satisfaction",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": null,
            "subkind": {
              "name": "Big number",
              "slug": "big-number",
              "status": "active",
              "canonId": "019de52c-fc70-70c8-b965-0584548a9204",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "big-number",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:45:56.587+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "3f45fa33-2718-4233-a3ad-3e92e254edd4",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.1,
            "w": 0.15,
            "x": 0.46,
            "y": 0.55
          },
          "kind": "metric",
          "text": "83% high-income satisfaction",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": null,
            "subkind": {
              "name": "Big number",
              "slug": "big-number",
              "status": "active",
              "canonId": "019de52c-fc70-70c8-b965-0584548a9204",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "big-number",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:45:56.587+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "a1b47544-75da-4751-8405-67ae12dcd114",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Satisfaction rate: 76%",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 14:07:08+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-edad-70d9-bd14-16820f4df148",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.15,
            "x": 0.21,
            "y": 0.68
          },
          "kind": "paragraph",
          "text": "59% say they're happy with their romantic/sex life.",
          "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 18:45:56.587+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "3aa19388-ac7e-47ca-8bd7-89628d18eeec",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.1,
            "w": 0.15,
            "x": 0.46,
            "y": 0.67
          },
          "kind": "paragraph",
          "text": "83% of people in high-income households are satisfied with feeling loved vs. 67% of those in low-income households.",
          "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 18:45:56.587+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "4b7cfd89-c1a2-4e92-b9db-4f8eb3609224",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.08,
            "w": 0.15,
            "x": 0.46,
            "y": 0.37
          },
          "kind": "paragraph",
          "text": "82% of those who are married/partnered are satisfied with their relationship.",
          "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 18:45:56.587+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "7afb5b1c-5d53-4be5-86cd-44cc2653065b",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.2,
            "x": 0.21,
            "y": 0.34
          },
          "kind": "paragraph",
          "text": "76% on average across 30 countries say they feel loved. This is highest in Mexico (86%) and lowest in Japan (55%).",
          "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 18:45:56.587+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "c694afa2-748f-4b03-9614-0333c1c9f831",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.4,
            "x": 0.03,
            "y": 0.08
          },
          "kind": "title",
          "text": "Love Life Satisfaction in numbers",
          "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 18:45:56.587+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "131da4eb-ccb7-4f47-9bc6-e558acded5fc",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "Data Story Arc",
            "slug": "data-story-arc",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-9c30-728e-b974-d3fb123dcf5a",
            "version": 1,
            "bodyDocId": null,
            "description": "Context → Conflict → Insight → Implication structure for data narratives",
            "familyLabel": null,
            "categoryName": "Loop",
            "categorySlug": "loop"
          },
          "agent": "Storyteller",
          "layer": "loop",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019de797-3f52-704f-84b8-dd63c7d969ad",
          "evidence": "Loop sets context (76% global) before drilling country-by-country",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": null,
          "confidence": 70,
          "extraction": {
            "at": "2026-05-02 07:29:01.142607+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 2,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Inductive Reasoning",
            "slug": "inductive-reasoning",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-99c6-705e-94cc-76a504c3da37",
            "version": 1,
            "bodyDocId": null,
            "description": "Grouping similar evidence to form a conclusion (Evidence → Pattern → Conclusion)",
            "familyLabel": null,
            "categoryName": "Loop",
            "categorySlug": "loop"
          },
          "agent": "Architect",
          "layer": "loop",
          "agents": [
            "Architect"
          ],
          "matchId": "019de797-3f29-7690-834d-1cd48d24dde9",
          "evidence": "Loop opens by aggregating multiple data points into a topline pattern",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": null,
          "confidence": 75,
          "extraction": {
            "at": "2026-05-02 07:29:01.142607+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": "slide",
          "agents": [
            "Architect"
          ],
          "matchId": "019de797-3e8a-7159-8050-d4aa52af4660",
          "evidence": "Four discrete stat blocks plus generational bars",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 70,
          "extraction": {
            "at": "2026-05-02 07:29:01.142607+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 2,
          "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": "019de797-3e62-72eb-947f-b01e82ff41e6",
          "evidence": "Pink accent on navy isolates key figures",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 75,
          "extraction": {
            "at": "2026-05-02 07:29:01.142607+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 2,
          "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": "019de797-3eb1-7718-b889-8fb247bd6aae",
          "evidence": "Heart and house icons reinforce each statistic",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 60,
          "extraction": {
            "at": "2026-05-02 07:29:01.142607+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 2,
          "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": "019de797-3e39-74aa-962a-4ab1ab34443a",
          "evidence": "Donut + giant % + smaller body text in tiered scale",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 78,
          "extraction": {
            "at": "2026-05-02 07:29:01.142607+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 2,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Von Restorff Effect",
            "slug": "von-restorff-effect",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-beab-73d8-9f62-30d0332e926e",
            "version": 1,
            "bodyDocId": null,
            "description": "Items that stand out are noticed and remembered - make key points visually distinct",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "019de797-3e11-716a-b1c8-470b38f04e9f",
          "evidence": "Oversized 76/59/82/83% numerals dominate the dashboard",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 80,
          "extraction": {
            "at": "2026-05-02 07:29:01.142607+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 2,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 6,
          "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": 1,
          "name": "The Facts (What)",
          "beatId": "019de797-3bee-7650-8f8c-fc126bbe69df",
          "matchId": "019de797-3bc4-75ba-9a64-a93dc7ef06de",
          "beatType": null,
          "evidence": "Cover plus topline numbers and 4 country-by-country data tables",
          "position": 1,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 72
        },
        {
          "to": 2,
          "arc": {
            "name": "The Onion",
            "slug": "onion",
            "status": "active",
            "bestFor": "Root cause analysis, diagnostics",
            "canonId": "019dd956-627f-76b1-b286-0c575846d572",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Surface Observation -> First Layer -> Deeper Layer -> Core Insight -> Implications",
            "description": null,
            "familyLabel": null
          },
          "from": 2,
          "name": "Surface Observation",
          "beatId": "019de797-3c9a-7226-8acc-39f1383cc9c8",
          "matchId": "019de797-3c72-70ee-bd4e-be6de4c24f3f",
          "beatType": null,
          "evidence": "Headline dashboard with 76% feel-loved figure",
          "position": 1,
          "isPrimaryArc": false,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 60
        }
      ],
      "loops": [
        {
          "to": 6,
          "from": 2,
          "loop": {
            "name": "02_pattern_hunter",
            "slug": "02-pattern-hunter",
            "status": "active",
            "bestFor": "Time-pressed audiences, building consensus, when data is strong",
            "canonId": "019dd956-6695-771a-be2e-f1748ef041a4",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "Evidence A -> Evidence B -> Evidence C -> Pattern/Conclusion",
            "description": "Group multiple pieces of evidence that together point to a pattern or conclusion",
            "familyLabel": null
          },
          "matchId": "019de797-3dbf-778a-896c-cafc934f3f94",
          "evidence": "Headline dashboard then 4 successive 30-country tables building the LATAM/Asia-on-top pattern.",
          "position": 1,
          "objective": "Establish global picture by stacking country evidence",
          "confidence": 78,
          "extraction": {
            "at": "2026-05-02 07:29:01.142607+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 3,
      "type": "analysis",
      "title": "The data is presented as a table integrated with a thermometer-style graphic.",
      "function": "analyze_data",
      "rawType": "data_table",
      "block": null,
      "metadata": {
        "slideType": "data_table",
        "slideTypeCanon": {
          "name": "Data table",
          "slug": "data_table",
          "status": "active",
          "canonId": "019de52d-0bbd-71b9-9918-417f904abbf8",
          "version": 1,
          "description": null
        },
        "function": "analyze_data",
        "functionCanon": {
          "name": "Analyze data",
          "slug": "analyze_data",
          "status": "active",
          "canonId": "019de52d-1590-7413-8c82-cc218cff40b4",
          "version": 1,
          "description": null
        },
        "density": "overcrowded",
        "densityScore": 76,
        "componentCount": 7,
        "textChars": 1264,
        "nDataPoints": 27,
        "notes": "The data is presented as a table integrated with a thermometer-style graphic.",
        "elementsJson": [
          "headline_text",
          "paragraph",
          "data_table",
          "infographic",
          "footnote"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 18:45:56.066+00",
          "seconds": 2.347,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5de0-76bd-a166-9f11bfc53d75/3",
        "deck": "/decks/019dd923-5de0-76bd-a166-9f11bfc53d75",
        "deckAnchor": "/decks/019dd923-5de0-76bd-a166-9f11bfc53d75#slide-3",
        "deckJson": "/decks/019dd923-5de0-76bd-a166-9f11bfc53d75.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "Thais are the most satisfied with their partners.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": {
              "name": "Visual emphasis",
              "slug": "visual-emphasis",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-474b-736b-a8eb-a794dd88241c",
              "version": 1,
              "bodyDocId": null,
              "description": "Drawing the eye to one element above the rest of the slide.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 14:07:11+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-edad-70d9-bd15-b9d0a233f5e0",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.4,
            "w": 0.45,
            "x": 0.05,
            "y": 0.45
          },
          "kind": "list",
          "text": "Countries in LATAM and Asia are most satisfied with their “love lives”. Colombians top the table for being the most happy generally about their love life and the most satisfied with their sex lives in particular. Thailand ranks second on the index and Thais are the most satisfied with their partners. Japan and South Korea have the lowest level of satisfaction among the countries surveyed for this report. Brazil is outlier in Latin America, being the only country from the region in the bottom half of the table. Meanwhile the Netherlands and Spain are the only European countries to make it into the top ten, while much of the region is, relatively speaking, lacking satisfaction with their love lives compared to the rest of the world.",
          "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 18:45:56.066+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "e2f0ddf3-aaab-4044-a9d0-ab19ae7c008a",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Love Life Satisfaction Index: 82",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 14:07:11+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-edad-70d9-bd15-bf0e336b1514",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.2,
            "w": 0.25,
            "x": 0.05,
            "y": 0.25
          },
          "kind": "paragraph",
          "text": "The Love Life Satisfaction Index* brings together how people feel about love, romance and relationships in a single indicator. It brings together how satisfied people are with the love in their life, their sex lives and their relationship with their partner.",
          "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 18:45:56.066+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "1ca289cc-a942-45d8-a76e-ce842276fc1c",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.45,
            "x": 0.05,
            "y": 0.85
          },
          "kind": "source-note",
          "text": "*The index is an average of the three questions asked on love, romance and relationships. The score is out of 100.",
          "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 18:45:56.066+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "876c89a2-236c-4ace-ac0f-453f80626292",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.85,
            "w": 0.15,
            "x": 0.82,
            "y": 0.08
          },
          "kind": "table",
          "text": "Country list with scores from 82 down to 56",
          "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 18:45:56.066+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "dca33f86-7454-4116-aa09-2537dfb4c4b5",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.4,
            "x": 0.05,
            "y": 0.08
          },
          "kind": "title",
          "text": "Love Life Satisfaction Index",
          "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 18:45:56.066+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "b31d239e-844f-4502-8d03-1e9e09f4ed48",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "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": "019de797-3fa1-7742-b6af-ff3efc3078db",
          "evidence": "Each country labeled with numeric score on the table",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 80,
          "extraction": {
            "at": "2026-05-02 07:29:01.142607+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 3,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Metaphor & Analogy",
            "slug": "metaphor-analogy",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-adea-7729-bca1-70810d6238a9",
            "version": 1,
            "bodyDocId": null,
            "description": "Making abstract concepts concrete through familiar comparisons",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Storyteller",
          "layer": "slide",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019de797-3f79-759a-935b-3e7c5c67d266",
          "evidence": "Thermometer visualizes country index 'heat'",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": null,
          "confidence": 85,
          "extraction": {
            "at": "2026-05-02 07:29:01.142607+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 3,
          "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": "019de797-3fcb-7672-af09-43de4287bce3",
          "evidence": "Bold lead sentence over body paragraphs frames key takeaway",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 65,
          "extraction": {
            "at": "2026-05-02 07:29:01.142607+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 3,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 6,
          "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": 1,
          "name": "The Facts (What)",
          "beatId": "019de797-3bee-7650-8f8c-fc126bbe69df",
          "matchId": "019de797-3bc4-75ba-9a64-a93dc7ef06de",
          "beatType": null,
          "evidence": "Cover plus topline numbers and 4 country-by-country data tables",
          "position": 1,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 72
        },
        {
          "to": 3,
          "arc": {
            "name": "The Onion",
            "slug": "onion",
            "status": "active",
            "bestFor": "Root cause analysis, diagnostics",
            "canonId": "019dd956-627f-76b1-b286-0c575846d572",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Surface Observation -> First Layer -> Deeper Layer -> Core Insight -> Implications",
            "description": null,
            "familyLabel": null
          },
          "from": 3,
          "name": "First Layer",
          "beatId": "019de797-3d1b-70ee-9d45-a11f01328dd2",
          "matchId": "019de797-3c72-70ee-bd4e-be6de4c24f3f",
          "beatType": null,
          "evidence": "Country-level Love Life Satisfaction Index",
          "position": 2,
          "isPrimaryArc": false,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 60
        }
      ],
      "loops": [
        {
          "to": 6,
          "from": 2,
          "loop": {
            "name": "02_pattern_hunter",
            "slug": "02-pattern-hunter",
            "status": "active",
            "bestFor": "Time-pressed audiences, building consensus, when data is strong",
            "canonId": "019dd956-6695-771a-be2e-f1748ef041a4",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "Evidence A -> Evidence B -> Evidence C -> Pattern/Conclusion",
            "description": "Group multiple pieces of evidence that together point to a pattern or conclusion",
            "familyLabel": null
          },
          "matchId": "019de797-3dbf-778a-896c-cafc934f3f94",
          "evidence": "Headline dashboard then 4 successive 30-country tables building the LATAM/Asia-on-top pattern.",
          "position": 1,
          "objective": "Establish global picture by stacking country evidence",
          "confidence": 78,
          "extraction": {
            "at": "2026-05-02 07:29:01.142607+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 4,
      "type": "analysis",
      "title": "The chart displays satisfaction levels categorized as Very satisfied, Somewhat satisfied, Not very satisfied, and Not at all satisfied.",
      "function": "analyze_data",
      "rawType": "data_table",
      "block": null,
      "metadata": {
        "slideType": "data_table",
        "slideTypeCanon": {
          "name": "Data table",
          "slug": "data_table",
          "status": "active",
          "canonId": "019de52d-0bbd-71b9-9918-417f904abbf8",
          "version": 1,
          "description": null
        },
        "function": "analyze_data",
        "functionCanon": {
          "name": "Analyze data",
          "slug": "analyze_data",
          "status": "active",
          "canonId": "019de52d-1590-7413-8c82-cc218cff40b4",
          "version": 1,
          "description": null
        },
        "density": "balanced",
        "densityScore": 29,
        "componentCount": 4,
        "textChars": 265,
        "nDataPoints": 120,
        "notes": "The chart displays satisfaction levels categorized as Very satisfied, Somewhat satisfied, Not very satisfied, and Not at all satisfied.",
        "elementsJson": [
          "bar_chart_stacked",
          "data_table"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 18:45:56.432+00",
          "seconds": 2.558,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5de0-76bd-a166-9f11bfc53d75/4",
        "deck": "/decks/019dd923-5de0-76bd-a166-9f11bfc53d75",
        "deckAnchor": "/decks/019dd923-5de0-76bd-a166-9f11bfc53d75#slide-4",
        "deckJson": "/decks/019dd923-5de0-76bd-a166-9f11bfc53d75.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.85,
            "w": 0.68,
            "x": 0.28,
            "y": 0.08
          },
          "kind": "chart",
          "text": "Stacked bar chart of satisfaction levels by country",
          "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 18:45:56.432+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "0a850520-4c61-45f3-8bcc-26970f517579",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.08,
            "w": 0.2,
            "x": 0.04,
            "y": 0.78
          },
          "kind": "disclaimer",
          "text": "Base: 23,765 adults under the age of 75 across 30 countries between 20 December 2024 and 3 January 2025",
          "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 18:45:56.432+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "adf9823b-8cbc-4fb1-abe5-899ff896e08e",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Satisfaction level",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 14:07:09+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-edad-70d9-bd14-96c26a47ef68",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.2,
            "x": 0.04,
            "y": 0.1
          },
          "kind": "title",
          "text": "Overall, how satisfied are you with each of the following aspects of your life: Feeling loved",
          "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 18:45:56.432+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "cf6f6846-6db7-4721-91cb-e2192d45adfb",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "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": "019de797-401a-7637-a1cc-99ade6f60412",
          "evidence": "Percent values labelled directly on each stacked segment",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 75,
          "extraction": {
            "at": "2026-05-02 07:29:01.142607+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 4,
          "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": "019de797-3ff3-7290-8c0e-911aa0cfcdd6",
          "evidence": "Diverging palette from dark blue (very satisfied) to dark pink (not at all)",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 80,
          "extraction": {
            "at": "2026-05-02 07:29:01.142607+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 4,
          "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": "a19c1bd1-fcd7-49ac-b374-a10b4e8674d3",
          "evidence": "The slide features a stacked bar chart with a clear and simple design, allowing the viewer to easily compare satisfaction levels across countries.",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": null,
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 21:29:49.618096+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 4,
          "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": "019de797-4042-71ab-8c31-3d0f7a17d1a0",
          "evidence": "Each country row functions as a repeated small chart",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 55,
          "extraction": {
            "at": "2026-05-02 07:29:01.142607+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 4,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 6,
          "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": 1,
          "name": "The Facts (What)",
          "beatId": "019de797-3bee-7650-8f8c-fc126bbe69df",
          "matchId": "019de797-3bc4-75ba-9a64-a93dc7ef06de",
          "beatType": null,
          "evidence": "Cover plus topline numbers and 4 country-by-country data tables",
          "position": 1,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 72
        },
        {
          "to": 6,
          "arc": {
            "name": "The Onion",
            "slug": "onion",
            "status": "active",
            "bestFor": "Root cause analysis, diagnostics",
            "canonId": "019dd956-627f-76b1-b286-0c575846d572",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Surface Observation -> First Layer -> Deeper Layer -> Core Insight -> Implications",
            "description": null,
            "familyLabel": null
          },
          "from": 4,
          "name": "Deeper Layer",
          "beatId": "019de797-3d44-774d-98ce-75ef8c0facad",
          "matchId": "019de797-3c72-70ee-bd4e-be6de4c24f3f",
          "beatType": null,
          "evidence": "Three per-question 30-country breakdowns",
          "position": 3,
          "isPrimaryArc": false,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 60
        }
      ],
      "loops": [
        {
          "to": 6,
          "from": 2,
          "loop": {
            "name": "02_pattern_hunter",
            "slug": "02-pattern-hunter",
            "status": "active",
            "bestFor": "Time-pressed audiences, building consensus, when data is strong",
            "canonId": "019dd956-6695-771a-be2e-f1748ef041a4",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "Evidence A -> Evidence B -> Evidence C -> Pattern/Conclusion",
            "description": "Group multiple pieces of evidence that together point to a pattern or conclusion",
            "familyLabel": null
          },
          "matchId": "019de797-3dbf-778a-896c-cafc934f3f94",
          "evidence": "Headline dashboard then 4 successive 30-country tables building the LATAM/Asia-on-top pattern.",
          "position": 1,
          "objective": "Establish global picture by stacking country evidence",
          "confidence": 78,
          "extraction": {
            "at": "2026-05-02 07:29:01.142607+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 5,
      "type": "analysis",
      "title": "Data source: Ipsos Love Life Satisfaction 2025. Base: 23,765 adults.",
      "function": "analyze_data",
      "rawType": "data_table",
      "block": null,
      "metadata": {
        "slideType": "data_table",
        "slideTypeCanon": {
          "name": "Data table",
          "slug": "data_table",
          "status": "active",
          "canonId": "019de52d-0bbd-71b9-9918-417f904abbf8",
          "version": 1,
          "description": null
        },
        "function": "analyze_data",
        "functionCanon": {
          "name": "Analyze data",
          "slug": "analyze_data",
          "status": "active",
          "canonId": "019de52d-1590-7413-8c82-cc218cff40b4",
          "version": 1,
          "description": null
        },
        "density": "balanced",
        "densityScore": 30,
        "componentCount": 4,
        "textChars": 277,
        "nDataPoints": 120,
        "notes": "Data source: Ipsos Love Life Satisfaction 2025. Base: 23,765 adults.",
        "elementsJson": [
          "bar_chart_100pct",
          "data_table"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 18:45:56.93+00",
          "seconds": 2.612,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5de0-76bd-a166-9f11bfc53d75/5",
        "deck": "/decks/019dd923-5de0-76bd-a166-9f11bfc53d75",
        "deckAnchor": "/decks/019dd923-5de0-76bd-a166-9f11bfc53d75#slide-5",
        "deckJson": "/decks/019dd923-5de0-76bd-a166-9f11bfc53d75.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.85,
            "w": 0.68,
            "x": 0.28,
            "y": 0.08
          },
          "kind": "chart",
          "text": "Stacked bar chart of satisfaction levels by country",
          "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 18:45:56.93+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "ba4c5813-cb5f-4522-86ab-25b6608a11cd",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.2,
            "x": 0.05,
            "y": 0.775
          },
          "kind": "disclaimer",
          "text": "Base: 23,765 adults under the age of 75 across 30 countries between 20 December 2024 and 3 January 2025",
          "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 18:45:56.93+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "5d9af483-e5f2-4033-b92f-ebc982eee6e0",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Satisfaction level: 28%",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 14:07:09+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-edad-70d9-bd14-ee53353af271",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.2,
            "x": 0.05,
            "y": 0.1
          },
          "kind": "title",
          "text": "Overall, how satisfied are you with each of the following aspects of your life: My romantic/sex life",
          "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 18:45:56.93+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "4c6f2885-db67-49c8-9c12-65101bd35611",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "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": "019de797-4091-777a-abc3-175530742770",
          "evidence": "Per-segment % labels and YoY change column",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 75,
          "extraction": {
            "at": "2026-05-02 07:29:01.142607+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": "019de797-4069-72d8-b746-3f131e401a8f",
          "evidence": "Diverging blue-to-pink scale across satisfaction levels",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 80,
          "extraction": {
            "at": "2026-05-02 07:29:01.142607+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 5,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Data-Ink Ratio",
            "slug": "data-ink-ratio",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-afc8-70da-b378-92834d36fde6",
            "version": 1,
            "bodyDocId": null,
            "description": "Maximize data, minimize non-data ink - remove chartjunk and decoration",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "c8a64192-6b03-477c-85bd-1922aba2a8a8",
          "evidence": "The slide features a stacked bar chart with a clear and simple design, allowing the viewer to easily compare satisfaction levels across countries.",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": null,
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 21:29:49.702898+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 5,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "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": "019de797-40b8-76ee-8b67-c10b2a58acb6",
          "evidence": "Country rows form repeating mini-bars for comparison",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 55,
          "extraction": {
            "at": "2026-05-02 07:29:01.142607+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 5,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 6,
          "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": 1,
          "name": "The Facts (What)",
          "beatId": "019de797-3bee-7650-8f8c-fc126bbe69df",
          "matchId": "019de797-3bc4-75ba-9a64-a93dc7ef06de",
          "beatType": null,
          "evidence": "Cover plus topline numbers and 4 country-by-country data tables",
          "position": 1,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 72
        },
        {
          "to": 6,
          "arc": {
            "name": "The Onion",
            "slug": "onion",
            "status": "active",
            "bestFor": "Root cause analysis, diagnostics",
            "canonId": "019dd956-627f-76b1-b286-0c575846d572",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Surface Observation -> First Layer -> Deeper Layer -> Core Insight -> Implications",
            "description": null,
            "familyLabel": null
          },
          "from": 4,
          "name": "Deeper Layer",
          "beatId": "019de797-3d44-774d-98ce-75ef8c0facad",
          "matchId": "019de797-3c72-70ee-bd4e-be6de4c24f3f",
          "beatType": null,
          "evidence": "Three per-question 30-country breakdowns",
          "position": 3,
          "isPrimaryArc": false,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 60
        }
      ],
      "loops": [
        {
          "to": 6,
          "from": 2,
          "loop": {
            "name": "02_pattern_hunter",
            "slug": "02-pattern-hunter",
            "status": "active",
            "bestFor": "Time-pressed audiences, building consensus, when data is strong",
            "canonId": "019dd956-6695-771a-be2e-f1748ef041a4",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "Evidence A -> Evidence B -> Evidence C -> Pattern/Conclusion",
            "description": "Group multiple pieces of evidence that together point to a pattern or conclusion",
            "familyLabel": null
          },
          "matchId": "019de797-3dbf-778a-896c-cafc934f3f94",
          "evidence": "Headline dashboard then 4 successive 30-country tables building the LATAM/Asia-on-top pattern.",
          "position": 1,
          "objective": "Establish global picture by stacking country evidence",
          "confidence": 78,
          "extraction": {
            "at": "2026-05-02 07:29:01.142607+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 6,
      "type": "analysis",
      "title": "The chart uses a diverging stacked bar approach to visualize satisfaction levels from 'Very satisfied' to 'Not at all satisfied'.",
      "function": "analyze_data",
      "rawType": "data_table",
      "block": null,
      "metadata": {
        "slideType": "data_table",
        "slideTypeCanon": {
          "name": "Data table",
          "slug": "data_table",
          "status": "active",
          "canonId": "019de52d-0bbd-71b9-9918-417f904abbf8",
          "version": 1,
          "description": null
        },
        "function": "analyze_data",
        "functionCanon": {
          "name": "Analyze data",
          "slug": "analyze_data",
          "status": "active",
          "canonId": "019de52d-1590-7413-8c82-cc218cff40b4",
          "version": 1,
          "description": null
        },
        "density": "balanced",
        "densityScore": 33,
        "componentCount": 4,
        "textChars": 347,
        "nDataPoints": 116,
        "notes": "The chart uses a diverging stacked bar approach to visualize satisfaction levels from 'Very satisfied' to 'Not at all satisfied'.",
        "elementsJson": [
          "bar_chart_stacked",
          "data_table"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 18:45:56.907+00",
          "seconds": 2.555,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5de0-76bd-a166-9f11bfc53d75/6",
        "deck": "/decks/019dd923-5de0-76bd-a166-9f11bfc53d75",
        "deckAnchor": "/decks/019dd923-5de0-76bd-a166-9f11bfc53d75#slide-6",
        "deckJson": "/decks/019dd923-5de0-76bd-a166-9f11bfc53d75.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.85,
            "w": 0.68,
            "x": 0.28,
            "y": 0.05
          },
          "kind": "chart",
          "text": "Stacked bar chart of satisfaction levels by country",
          "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 18:45:56.907+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "50ed83ee-2a6a-4b42-b8bd-f579519a59a1",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.1,
            "w": 0.2,
            "x": 0.05,
            "y": 0.75
          },
          "kind": "disclaimer",
          "text": "*Asked only of those who are married or partnered. Base: 23,765 adults under the age of 75 across 30 countries between 20 December 2024 and 3 January 2025",
          "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 18:45:56.907+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "eec0c52b-5070-4bc1-a24c-3c87bf032a60",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Satisfaction level: 65%",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 14:07:12+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-edad-70d9-bd16-31cec453a217",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.2,
            "w": 0.2,
            "x": 0.05,
            "y": 0.1
          },
          "kind": "title",
          "text": "Overall, how satisfied are you with each of the following aspects of your life: My relationship with my partner/spouse*",
          "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 18:45:56.907+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "bf083702-2207-4ee4-9768-8c9895ebd18c",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "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": "019de797-415e-7518-904b-2908880c006c",
          "evidence": "Numeric labels on segments and Change 2024 column",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 75,
          "extraction": {
            "at": "2026-05-02 07:29:01.142607+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 6,
          "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": "019de797-4135-7348-9634-326afb37f9cf",
          "evidence": "Same diverging palette signals satisfaction tiers",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 80,
          "extraction": {
            "at": "2026-05-02 07:29:01.142607+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 6,
          "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": "2ce6ab49-805c-4850-9566-cd0621391bdb",
          "evidence": "The slide features a stacked bar chart with a clear and simple design, allowing the viewer to easily compare satisfaction levels across countries.",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": null,
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 21:29:49.790017+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 6,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "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": "019de797-4186-712b-94cb-c33085c7b4ec",
          "evidence": "Country rows reuse identical chart format",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 55,
          "extraction": {
            "at": "2026-05-02 07:29:01.142607+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 6,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 6,
          "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": 1,
          "name": "The Facts (What)",
          "beatId": "019de797-3bee-7650-8f8c-fc126bbe69df",
          "matchId": "019de797-3bc4-75ba-9a64-a93dc7ef06de",
          "beatType": null,
          "evidence": "Cover plus topline numbers and 4 country-by-country data tables",
          "position": 1,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 72
        },
        {
          "to": 6,
          "arc": {
            "name": "The Onion",
            "slug": "onion",
            "status": "active",
            "bestFor": "Root cause analysis, diagnostics",
            "canonId": "019dd956-627f-76b1-b286-0c575846d572",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Surface Observation -> First Layer -> Deeper Layer -> Core Insight -> Implications",
            "description": null,
            "familyLabel": null
          },
          "from": 4,
          "name": "Deeper Layer",
          "beatId": "019de797-3d44-774d-98ce-75ef8c0facad",
          "matchId": "019de797-3c72-70ee-bd4e-be6de4c24f3f",
          "beatType": null,
          "evidence": "Three per-question 30-country breakdowns",
          "position": 3,
          "isPrimaryArc": false,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 60
        }
      ],
      "loops": [
        {
          "to": 6,
          "from": 2,
          "loop": {
            "name": "02_pattern_hunter",
            "slug": "02-pattern-hunter",
            "status": "active",
            "bestFor": "Time-pressed audiences, building consensus, when data is strong",
            "canonId": "019dd956-6695-771a-be2e-f1748ef041a4",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "Evidence A -> Evidence B -> Evidence C -> Pattern/Conclusion",
            "description": "Group multiple pieces of evidence that together point to a pattern or conclusion",
            "familyLabel": null
          },
          "matchId": "019de797-3dbf-778a-896c-cafc934f3f94",
          "evidence": "Headline dashboard then 4 successive 30-country tables building the LATAM/Asia-on-top pattern.",
          "position": 1,
          "objective": "Establish global picture by stacking country evidence",
          "confidence": 78,
          "extraction": {
            "at": "2026-05-02 07:29:01.142607+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 7,
      "type": "resolution",
      "title": "The slide uses a scatter plot to demonstrate a correlation between two variables across different countries.",
      "function": "analyze_data",
      "rawType": "key_takeaways",
      "block": null,
      "metadata": {
        "slideType": "key_takeaways",
        "slideTypeCanon": {
          "name": "Key takeaways",
          "slug": "key_takeaways",
          "status": "active",
          "canonId": "019de52d-06e7-7674-a891-9f7de3b11b6d",
          "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": 62,
        "componentCount": 6,
        "textChars": 797,
        "nDataPoints": 30,
        "notes": "The slide uses a scatter plot to demonstrate a correlation between two variables across different countries.",
        "elementsJson": [
          "headline_text",
          "paragraph",
          "scatter_plot"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 18:45:59.614+00",
          "seconds": 5.182,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5de0-76bd-a166-9f11bfc53d75/7",
        "deck": "/decks/019dd923-5de0-76bd-a166-9f11bfc53d75",
        "deckAnchor": "/decks/019dd923-5de0-76bd-a166-9f11bfc53d75#slide-7",
        "deckJson": "/decks/019dd923-5de0-76bd-a166-9f11bfc53d75.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "People in countries that are more satisfied with their relationship with their partner are more likely to be happy with their romantic/sex life.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": {
              "name": "Visual emphasis",
              "slug": "visual-emphasis",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-474b-736b-a8eb-a794dd88241c",
              "version": 1,
              "bodyDocId": null,
              "description": "Drawing the eye to one element above the rest of the slide.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 14:07:09+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-edad-70d9-bd14-aeffbb3c5508",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.7,
            "w": 0.6,
            "x": 0.35,
            "y": 0.1
          },
          "kind": "chart",
          "text": "% satisfied with their partner vs % satisfied with their romantic/sex life",
          "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": "Scatter plot",
              "slug": "scatter",
              "status": "active",
              "canonId": "019de52d-007d-72ec-8689-c79fb78e21a2",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "scatter",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:45:59.614+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "ca55c930-a0e2-46ff-a761-470996feb1fe",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Satisfaction correlation",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 14:07:09+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-edad-70d9-bd14-b3dc41cbfaf5",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.3,
            "w": 0.25,
            "x": 0.05,
            "y": 0.35
          },
          "kind": "paragraph",
          "text": "People in countries that are more satisfied with their relationship with their partner are more likely to be happy with their romantic/sex life. However, there are countries that are outliers. In Brazil, South Korea and India people are less satisfied with their partner compared to their level of satisfaction with their romantic/sex life overall.",
          "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 18:45:59.614+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "eed46c9e-473c-454c-b39a-08c47fba037f",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.4,
            "x": 0.55,
            "y": 0.85
          },
          "kind": "source-note",
          "text": "*Includes only of those who are married or partnered. Base: 23,765 adults under the age of 75 across 30 countries between 20 December 2024 and 3 January 2025",
          "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 18:45:59.614+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "5768f3cd-5086-47a6-a73d-7824bc3f356f",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.2,
            "w": 0.25,
            "x": 0.05,
            "y": 0.1
          },
          "kind": "title",
          "text": "Happiness with sex life and partner are correlated",
          "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 18:45:59.614+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "112ee508-dd42-409d-9bad-42869eb94c02",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "Aha! Moment",
            "slug": "aha-moment",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-a5b5-7763-820e-b299c5f27a32",
            "version": 1,
            "bodyDocId": null,
            "description": "The moment when the audience realizes the value - design for insight revelation",
            "familyLabel": null,
            "categoryName": "Loop",
            "categorySlug": "loop"
          },
          "agent": "Storyteller",
          "layer": "loop",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019de797-4251-72a6-9d28-9eafc2f31e26",
          "evidence": "Loop opens with the headline correlation insight",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 80,
          "extraction": {
            "at": "2026-05-02 07:29:01.142607+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 7,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Inductive Reasoning",
            "slug": "inductive-reasoning",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-99c6-705e-94cc-76a504c3da37",
            "version": 1,
            "bodyDocId": null,
            "description": "Grouping similar evidence to form a conclusion (Evidence → Pattern → Conclusion)",
            "familyLabel": null,
            "categoryName": "Loop",
            "categorySlug": "loop"
          },
          "agent": "Architect",
          "layer": "loop",
          "agents": [
            "Architect"
          ],
          "matchId": "019de797-4279-72bf-b6c3-c1a2a8565aff",
          "evidence": "Three slides accumulate findings into pattern conclusions",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": null,
          "confidence": 70,
          "extraction": {
            "at": "2026-05-02 07:29:01.142607+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": "019de797-41ae-721f-b971-2ff424b28cd1",
          "evidence": "Title states insight: 'Happiness with sex life and partner are correlated'",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
          "confidence": 90,
          "extraction": {
            "at": "2026-05-02 07:29:01.142607+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 7,
          "whyItWorks": "Solves two failure modes at once. (1) The buried claim: action titles place the conclusion on the page before any analysis is read, so a busy reader doesn't reverse-engineer it from the chart. (2) The spineless deck: because each title is a claim, slides have to ladder up to the governing thought; logical gaps become visible as topic-shaped titles in a sequence that no longer reads as a story.",
          "antipattern": "Topic labels disguised as titles — Volume by quarter, Key findings, Pricing strategy, Margins have been impacted. No verb, or a passive verb with no agent, or a fact (Revenue grew 12%) without the so-what. Also: titles that overreach the chart's evidence, multi-claim X-grew-but-Y-fell welded titles, and mechanical repetition of the same X-drove-Y template across the deck.",
          "cardinality": null,
          "narrativePurpose": "Forces the deck to carry its argument in the title bar so a senior reader can extract the recommendation without opening a single slide; converts a binder of topics into a navigable pyramid where every slide is a node defending the apex."
        },
        {
          "tool": {
            "name": "Annotation",
            "slug": "annotation",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-b5b9-7668-bf0e-3af99823ec5c",
            "version": 1,
            "bodyDocId": null,
            "description": "Adding explanatory labels to highlight key data points",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "019de797-4202-703b-b41b-ee0c2c8fc84d",
          "evidence": "Every dot is labeled with its country name",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 85,
          "extraction": {
            "at": "2026-05-02 07:29:01.142607+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 7,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Chart Selection Guide",
            "slug": "chart-selection-guide",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-b1a0-700b-ba17-0e16c4d5bcae",
            "version": 1,
            "bodyDocId": null,
            "description": "Choosing the right chart type for your data and message",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "019de797-4229-7619-b501-a0f3ee9edbfd",
          "evidence": "Scatter with trendline correctly chosen for correlation",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 70,
          "extraction": {
            "at": "2026-05-02 07:29:01.142607+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 7,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "So What? Test",
            "slug": "so-what-test",
            "status": "active",
            "bestFor": "On every slide carrying a chart, number, list, or finding intended to inform a decision; whenever a draft title is descriptive rather than directive; whenever the deck will circulate without its author.",
            "canonId": "019dd956-acd2-76f8-b59a-9bf15a89f10a",
            "version": 1,
            "bodyDocId": "fec04b06-b2f1-432b-a97b-916dc7563f64",
            "description": "The recursive editorial discipline of asking so-what of every slide, chart, and statement until the answer is an implication for the audience — that final answer becomes the slide's title; the chain becomes its body.",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Architect",
          "layer": "slide",
          "agents": [
            "Architect"
          ],
          "matchId": "019de797-41d6-731a-853e-1b18d2b47bc5",
          "evidence": "Body paragraph spells out the so-what including outliers",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": "On every slide carrying a chart, number, list, or finding intended to inform a decision; whenever a draft title is descriptive rather than directive; whenever the deck will circulate without its author.",
          "confidence": 80,
          "extraction": {
            "at": "2026-05-02 07:29:01.142607+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 7,
          "whyItWorks": "Solves the two failure modes of analytical communication at once: stopping at description (analyst-confidence problem) and leaving insight stranded in the analyst's head (translation problem). The recursion is what guarantees the implication makes it into ink.",
          "antipattern": "Stopping at the first tighter description (still a fact, not an implication), regressing past the audience's decision space into philosophy, smuggling the so-what into speaker notes, or re-using an implication aimed at a previous audience.",
          "cardinality": null,
          "narrativePurpose": "Forces every analytical artefact to close the gap between fact and decision, so the reader holds the recommendation by reading titles alone rather than reconstructing the analyst's mental model from raw evidence."
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 9,
          "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": 7,
          "name": "The Implications (So What)",
          "beatId": "019de797-3c20-7210-91da-a1ad88102e10",
          "matchId": "019de797-3bc4-75ba-9a64-a93dc7ef06de",
          "beatType": null,
          "evidence": "Correlation, income driver and generational debunk slides",
          "position": 2,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 72
        },
        {
          "to": 7,
          "arc": {
            "name": "The Onion",
            "slug": "onion",
            "status": "active",
            "bestFor": "Root cause analysis, diagnostics",
            "canonId": "019dd956-627f-76b1-b286-0c575846d572",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Surface Observation -> First Layer -> Deeper Layer -> Core Insight -> Implications",
            "description": null,
            "familyLabel": null
          },
          "from": 7,
          "name": "Core Insight",
          "beatId": "019de797-3d6f-775f-bbfd-f760cd26956d",
          "matchId": "019de797-3c72-70ee-bd4e-be6de4c24f3f",
          "beatType": null,
          "evidence": "Scatter shows partner and sex-life satisfaction correlate",
          "position": 4,
          "isPrimaryArc": false,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 60
        }
      ],
      "loops": [
        {
          "to": 9,
          "from": 7,
          "loop": {
            "name": "03_aha_moment",
            "slug": "03-aha-moment",
            "status": "active",
            "bestFor": "Data-heavy sections, research findings, analytical arguments",
            "canonId": "019dd956-66f4-7668-ab25-cec9c996c0bc",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Problem/Question -> What the Data Shows -> The Insight",
            "description": "Establish a tension, present data, then deliver the insight that changes everything",
            "familyLabel": null
          },
          "matchId": "019de797-3de7-72cd-b269-7fa16bd06ecd",
          "evidence": "Correlation, income lift, and generations-don't-differ insights each labelled with action titles.",
          "position": 2,
          "objective": "Surface drivers and a counter-intuitive non-driver",
          "confidence": 80,
          "extraction": {
            "at": "2026-05-02 07:29:01.142607+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 8,
      "type": "analysis",
      "title": "Data from Ipsos Love Life Satisfaction 2025 survey.",
      "function": "quantify_impact",
      "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": "quantify_impact",
        "functionCanon": {
          "name": "Quantify impact",
          "slug": "quantify_impact",
          "status": "active",
          "canonId": "019de52d-1630-720d-b57d-fa7f76bebd8d",
          "version": 1,
          "description": null
        },
        "density": "dense",
        "densityScore": 69,
        "componentCount": 7,
        "textChars": 818,
        "nDataPoints": 12,
        "notes": "Data from Ipsos Love Life Satisfaction 2025 survey.",
        "elementsJson": [
          "headline_text",
          "paragraph",
          "bar_chart_stacked"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 18:45:57.883+00",
          "seconds": 3.355,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5de0-76bd-a166-9f11bfc53d75/8",
        "deck": "/decks/019dd923-5de0-76bd-a166-9f11bfc53d75",
        "deckAnchor": "/decks/019dd923-5de0-76bd-a166-9f11bfc53d75#slide-8",
        "deckJson": "/decks/019dd923-5de0-76bd-a166-9f11bfc53d75.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "Those on a higher income are more likely to feel loved and be happier with their romantic/sex lives.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": {
              "name": "Visual emphasis",
              "slug": "visual-emphasis",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-474b-736b-a8eb-a794dd88241c",
              "version": 1,
              "bodyDocId": null,
              "description": "Drawing the eye to one element above the rest of the slide.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 14:07:08+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-edad-70d9-bd14-42307a31f6d0",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.3,
            "w": 0.6,
            "x": 0.35,
            "y": 0.15
          },
          "kind": "chart",
          "text": "Feeling loved satisfaction by income level",
          "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 18:45:57.883+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "55d9aeec-be0e-4603-b180-16a7f4a08a37",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.3,
            "w": 0.6,
            "x": 0.35,
            "y": 0.5
          },
          "kind": "chart",
          "text": "Romantic/sex life satisfaction by income level",
          "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 18:45:57.883+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "cd1713c5-fc56-4eb4-8544-080013cfb66e",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Satisfaction percentage: 83%",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 14:07:08+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-edad-70d9-bd14-46ddcd3a1890",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.5,
            "w": 0.25,
            "x": 0.05,
            "y": 0.3
          },
          "kind": "paragraph",
          "text": "Those on a higher income are more likely to feel loved and be happier with their romantic/sex lives. Eighty-three per cent of high-income earners across 30 countries say they are satisfied with the love in their life compared to 76% of those on a middle income and 69% on a low income. The same is true when it comes to their romantic/sex life. Sixty-seven of people with a high income are satisfied with their sex life compared to only 51% of low-income earners.",
          "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 18:45:57.883+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "a86dcc3f-26a4-4616-8720-e15182fd0d39",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.4,
            "x": 0.55,
            "y": 0.85
          },
          "kind": "source-note",
          "text": "Base: 23,765 adults under the age of 75 across 30 countries between 20 December 2024 and 3 January 2025",
          "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 18:45:57.883+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "c73bd452-5e8c-4682-a181-00cffa83684a",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.25,
            "x": 0.05,
            "y": 0.1
          },
          "kind": "title",
          "text": "Money does bring love life happiness",
          "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 18:45:57.883+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "2e3a6e04-b00c-4e15-88e9-4ef3740be2f7",
          "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": "019de797-42a1-7334-8615-b9dc4ddc294e",
          "evidence": "Title states insight: 'Money does bring love life happiness'",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
          "confidence": 90,
          "extraction": {
            "at": "2026-05-02 07:29:01.142607+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 8,
          "whyItWorks": "Solves two failure modes at once. (1) The buried claim: action titles place the conclusion on the page before any analysis is read, so a busy reader doesn't reverse-engineer it from the chart. (2) The spineless deck: because each title is a claim, slides have to ladder up to the governing thought; logical gaps become visible as topic-shaped titles in a sequence that no longer reads as a story.",
          "antipattern": "Topic labels disguised as titles — Volume by quarter, Key findings, Pricing strategy, Margins have been impacted. No verb, or a passive verb with no agent, or a fact (Revenue grew 12%) without the so-what. Also: titles that overreach the chart's evidence, multi-claim X-grew-but-Y-fell welded titles, and mechanical repetition of the same X-drove-Y template across the deck.",
          "cardinality": null,
          "narrativePurpose": "Forces the deck to carry its argument in the title bar so a senior reader can extract the recommendation without opening a single slide; converts a binder of topics into a navigable pyramid where every slide is a node defending the apex."
        },
        {
          "tool": {
            "name": "Color Strategy",
            "slug": "color-strategy",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-b202-77cf-8a6e-f445b08c0fd3",
            "version": 1,
            "bodyDocId": null,
            "description": "Using color for emphasis, categories, sentiment, and hierarchy",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "019de797-4390-72d8-8d93-0b499a6162f0",
          "evidence": "Two-color split signals positive vs negative sentiment",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 75,
          "extraction": {
            "at": "2026-05-02 07:29:01.142607+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 8,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Contrast Principle",
            "slug": "contrast-principle",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-bf0f-73ae-b9df-e60508cdaa65",
            "version": 1,
            "bodyDocId": null,
            "description": "Higher visual weight draws attention - use contrast strategically for emphasis",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "019de797-4368-7349-9625-b35244480916",
          "evidence": "Navy 'Satisfied' contrasted with pink 'Not satisfied' bars",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 75,
          "extraction": {
            "at": "2026-05-02 07:29:01.142607+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 8,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Small Multiples",
            "slug": "small-multiples",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-b32d-7586-b368-baa1dd388ed4",
            "version": 1,
            "bodyDocId": null,
            "description": "Repeating similar charts for comparison across categories or time",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "019de797-4341-77bf-bdf7-a8911402ff75",
          "evidence": "Two parallel bar charts comparing same income tiers",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 80,
          "extraction": {
            "at": "2026-05-02 07:29:01.142607+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 8,
          "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": "019de797-42c8-775f-910f-a8f084e712c7",
          "evidence": "Sidebar narrative quantifies 83% high vs 69% low income",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": "On every slide carrying a chart, number, list, or finding intended to inform a decision; whenever a draft title is descriptive rather than directive; whenever the deck will circulate without its author.",
          "confidence": 80,
          "extraction": {
            "at": "2026-05-02 07:29:01.142607+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 8,
          "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": 9,
          "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": 7,
          "name": "The Implications (So What)",
          "beatId": "019de797-3c20-7210-91da-a1ad88102e10",
          "matchId": "019de797-3bc4-75ba-9a64-a93dc7ef06de",
          "beatType": null,
          "evidence": "Correlation, income driver and generational debunk slides",
          "position": 2,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 72
        },
        {
          "to": 9,
          "arc": {
            "name": "The Onion",
            "slug": "onion",
            "status": "active",
            "bestFor": "Root cause analysis, diagnostics",
            "canonId": "019dd956-627f-76b1-b286-0c575846d572",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Surface Observation -> First Layer -> Deeper Layer -> Core Insight -> Implications",
            "description": null,
            "familyLabel": null
          },
          "from": 8,
          "name": "Implications",
          "beatId": "019de797-3d97-77d9-b1ab-9ad67849599a",
          "matchId": "019de797-3c72-70ee-bd4e-be6de4c24f3f",
          "beatType": null,
          "evidence": "Income lifts satisfaction; generations barely differ",
          "position": 5,
          "isPrimaryArc": false,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 60
        }
      ],
      "loops": [
        {
          "to": 9,
          "from": 7,
          "loop": {
            "name": "03_aha_moment",
            "slug": "03-aha-moment",
            "status": "active",
            "bestFor": "Data-heavy sections, research findings, analytical arguments",
            "canonId": "019dd956-66f4-7668-ab25-cec9c996c0bc",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Problem/Question -> What the Data Shows -> The Insight",
            "description": "Establish a tension, present data, then deliver the insight that changes everything",
            "familyLabel": null
          },
          "matchId": "019de797-3de7-72cd-b269-7fa16bd06ecd",
          "evidence": "Correlation, income lift, and generations-don't-differ insights each labelled with action titles.",
          "position": 2,
          "objective": "Surface drivers and a counter-intuitive non-driver",
          "confidence": 80,
          "extraction": {
            "at": "2026-05-02 07:29:01.142607+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 9,
      "type": "resolution",
      "title": "Data source: Ipsos Love Life Satisfaction 2025 survey of 23,765 adults.",
      "function": "summarize",
      "rawType": "key_takeaways",
      "block": null,
      "metadata": {
        "slideType": "key_takeaways",
        "slideTypeCanon": {
          "name": "Key takeaways",
          "slug": "key_takeaways",
          "status": "active",
          "canonId": "019de52d-06e7-7674-a891-9f7de3b11b6d",
          "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": 7,
        "textChars": 903,
        "nDataPoints": 16,
        "notes": "Data source: Ipsos Love Life Satisfaction 2025 survey of 23,765 adults.",
        "elementsJson": [
          "headline_text",
          "paragraph",
          "bar_chart_stacked"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 18:45:57.627+00",
          "seconds": 3.055,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5de0-76bd-a166-9f11bfc53d75/9",
        "deck": "/decks/019dd923-5de0-76bd-a166-9f11bfc53d75",
        "deckAnchor": "/decks/019dd923-5de0-76bd-a166-9f11bfc53d75#slide-9",
        "deckJson": "/decks/019dd923-5de0-76bd-a166-9f11bfc53d75.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "A lot is made of differences across age groups and generations, but when it comes to their love lives is there is not much between them.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": {
              "name": "Visual emphasis",
              "slug": "visual-emphasis",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-474b-736b-a8eb-a794dd88241c",
              "version": 1,
              "bodyDocId": null,
              "description": "Drawing the eye to one element above the rest of the slide.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 14:07:10+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-edad-70d9-bd15-694e10290c71",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.35,
            "w": 0.6,
            "x": 0.35,
            "y": 0.5
          },
          "kind": "chart",
          "text": "Q: Overall, how satisfied are you with each of the following aspects of your life: My romantic/sex life",
          "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 18:45:57.627+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "33376fba-4dd5-4293-a44e-62ff72d3d803",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.35,
            "w": 0.6,
            "x": 0.35,
            "y": 0.1
          },
          "kind": "chart",
          "text": "Q: Overall, how satisfied are you with each of the following aspects of your life: Feeling loved",
          "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 18:45:57.627+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "dc56f984-02dd-40f8-b125-be87be7bbfb2",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Satisfaction percentage: 81%",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 14:07:10+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-edad-70d9-bd15-6fafd90a40c2",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.3,
            "w": 0.25,
            "x": 0.05,
            "y": 0.3
          },
          "kind": "paragraph",
          "text": "A lot is made of differences across age groups and generations, but when it comes to their love lives is there is not much between them. While four in five Baby Boomers are satisfied with the love in their life, three in four among the other generations are happy. While Millennials are slightly happier with their romantic/sex lives, attitudes are similar across the other age groups.",
          "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 18:45:57.627+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "4a8e586f-4d0b-4d78-bf51-de5d7eac1b34",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.45,
            "x": 0.5,
            "y": 0.85
          },
          "kind": "source-note",
          "text": "Base: 23,765 adults under the age of 75 across 30 countries between 20 December 2024 and 3 January 2025",
          "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 18:45:57.627+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "2c4cf940-557c-4a58-9877-75e8f4f2778a",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.25,
            "x": 0.05,
            "y": 0.1
          },
          "kind": "title",
          "text": "Little difference in satisfaction across generations",
          "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 18:45:57.627+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "78444336-bd66-402c-9075-14aefc31f4f5",
          "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": "019de797-43b8-7112-b4e4-10baca41a8de",
          "evidence": "Title states insight: 'Little difference in satisfaction across generations'",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
          "confidence": 90,
          "extraction": {
            "at": "2026-05-02 07:29:01.142607+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 9,
          "whyItWorks": "Solves two failure modes at once. (1) The buried claim: action titles place the conclusion on the page before any analysis is read, so a busy reader doesn't reverse-engineer it from the chart. (2) The spineless deck: because each title is a claim, slides have to ladder up to the governing thought; logical gaps become visible as topic-shaped titles in a sequence that no longer reads as a story.",
          "antipattern": "Topic labels disguised as titles — Volume by quarter, Key findings, Pricing strategy, Margins have been impacted. No verb, or a passive verb with no agent, or a fact (Revenue grew 12%) without the so-what. Also: titles that overreach the chart's evidence, multi-claim X-grew-but-Y-fell welded titles, and mechanical repetition of the same X-drove-Y template across the deck.",
          "cardinality": null,
          "narrativePurpose": "Forces the deck to carry its argument in the title bar so a senior reader can extract the recommendation without opening a single slide; converts a binder of topics into a navigable pyramid where every slide is a node defending the apex."
        },
        {
          "tool": {
            "name": "Color Strategy",
            "slug": "color-strategy",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-b202-77cf-8a6e-f445b08c0fd3",
            "version": 1,
            "bodyDocId": null,
            "description": "Using color for emphasis, categories, sentiment, and hierarchy",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "019de797-4432-740f-9af5-63689d20d049",
          "evidence": "Consistent navy/pink satisfied-vs-not encoding",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 70,
          "extraction": {
            "at": "2026-05-02 07:29:01.142607+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 9,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Small Multiples",
            "slug": "small-multiples",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-b32d-7586-b368-baa1dd388ed4",
            "version": 1,
            "bodyDocId": null,
            "description": "Repeating similar charts for comparison across categories or time",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "019de797-4409-777b-9ad3-b9d77f68efd7",
          "evidence": "Twin bar charts repeat structure across two questions",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 80,
          "extraction": {
            "at": "2026-05-02 07:29:01.142607+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 9,
          "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": "019de797-43e1-7349-b7d1-5d6c2639ab59",
          "evidence": "Body explicitly addresses myth that generations differ",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": "On every slide carrying a chart, number, list, or finding intended to inform a decision; whenever a draft title is descriptive rather than directive; whenever the deck will circulate without its author.",
          "confidence": 80,
          "extraction": {
            "at": "2026-05-02 07:29:01.142607+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 9,
          "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": 9,
          "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": 7,
          "name": "The Implications (So What)",
          "beatId": "019de797-3c20-7210-91da-a1ad88102e10",
          "matchId": "019de797-3bc4-75ba-9a64-a93dc7ef06de",
          "beatType": null,
          "evidence": "Correlation, income driver and generational debunk slides",
          "position": 2,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 72
        },
        {
          "to": 9,
          "arc": {
            "name": "The Onion",
            "slug": "onion",
            "status": "active",
            "bestFor": "Root cause analysis, diagnostics",
            "canonId": "019dd956-627f-76b1-b286-0c575846d572",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Surface Observation -> First Layer -> Deeper Layer -> Core Insight -> Implications",
            "description": null,
            "familyLabel": null
          },
          "from": 8,
          "name": "Implications",
          "beatId": "019de797-3d97-77d9-b1ab-9ad67849599a",
          "matchId": "019de797-3c72-70ee-bd4e-be6de4c24f3f",
          "beatType": null,
          "evidence": "Income lifts satisfaction; generations barely differ",
          "position": 5,
          "isPrimaryArc": false,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 60
        }
      ],
      "loops": [
        {
          "to": 9,
          "from": 7,
          "loop": {
            "name": "03_aha_moment",
            "slug": "03-aha-moment",
            "status": "active",
            "bestFor": "Data-heavy sections, research findings, analytical arguments",
            "canonId": "019dd956-66f4-7668-ab25-cec9c996c0bc",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Problem/Question -> What the Data Shows -> The Insight",
            "description": "Establish a tension, present data, then deliver the insight that changes everything",
            "familyLabel": null
          },
          "matchId": "019de797-3de7-72cd-b269-7fa16bd06ecd",
          "evidence": "Correlation, income lift, and generations-don't-differ insights each labelled with action titles.",
          "position": 2,
          "objective": "Surface drivers and a counter-intuitive non-driver",
          "confidence": 80,
          "extraction": {
            "at": "2026-05-02 07:29:01.142607+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 10,
      "type": "appendix",
      "function": "appendix",
      "rawType": "appendix_methodology",
      "block": null,
      "metadata": {
        "slideType": "appendix_methodology",
        "slideTypeCanon": {
          "name": "Appendix methodology",
          "slug": "appendix_methodology",
          "status": "active",
          "canonId": "019de52d-07d9-726c-8599-167f2d2ffaa7",
          "version": 1,
          "description": null
        },
        "function": "appendix",
        "functionCanon": {
          "name": "Appendix",
          "slug": "appendix",
          "status": "active",
          "canonId": "019de52d-138d-750b-83c3-49b4bc7a7a38",
          "version": 1,
          "description": null
        },
        "density": "sparse",
        "densityScore": 1,
        "componentCount": 2,
        "textChars": 11,
        "nDataPoints": 0,
        "notes": null,
        "elementsJson": [
          "photo"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 18:45:56.683+00",
          "seconds": 2.072,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5de0-76bd-a166-9f11bfc53d75/10",
        "deck": "/decks/019dd923-5de0-76bd-a166-9f11bfc53d75",
        "deckAnchor": "/decks/019dd923-5de0-76bd-a166-9f11bfc53d75#slide-10",
        "deckJson": "/decks/019dd923-5de0-76bd-a166-9f11bfc53d75.json"
      },
      "components": [
        {
          "bbox": {
            "h": 1,
            "w": 0.667,
            "x": 0.333,
            "y": 0
          },
          "kind": "image",
          "text": null,
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Image",
              "slug": "image",
              "status": "active",
              "canonId": "019de52c-f978-701f-a720-51d029d769e7",
              "version": 1,
              "description": "Photo, illustration, screenshot or icon."
            },
            "tool": null,
            "subkind": {
              "name": "Photo",
              "slug": "photo",
              "status": "active",
              "canonId": "019de52c-fd37-757f-b4a8-ca26d4888875",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "photo",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:45:56.683+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "ce2c1707-58aa-45d0-9270-fb650ef6c285",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.088,
            "w": 0.297,
            "x": 0.035,
            "y": 0.208
          },
          "kind": "title",
          "text": "Methodology",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:45:56.683+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "32af44bf-7ae6-46fe-81e1-132cf97e727f",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [],
      "frameworks": [],
      "arcBeats": [],
      "loops": [],
      "locked": true
    },
    {
      "page": 11,
      "type": "appendix",
      "title": "Includes specific details on India's sample composition and the calculation of credibility intervals.",
      "function": "appendix",
      "rawType": "appendix_methodology",
      "block": null,
      "metadata": {
        "slideType": "appendix_methodology",
        "slideTypeCanon": {
          "name": "Appendix methodology",
          "slug": "appendix_methodology",
          "status": "active",
          "canonId": "019de52d-07d9-726c-8599-167f2d2ffaa7",
          "version": 1,
          "description": null
        },
        "function": "appendix",
        "functionCanon": {
          "name": "Appendix",
          "slug": "appendix",
          "status": "active",
          "canonId": "019de52d-138d-750b-83c3-49b4bc7a7a38",
          "version": 1,
          "description": null
        },
        "density": "dense",
        "densityScore": 54,
        "componentCount": 5,
        "textChars": 1004,
        "nDataPoints": 5,
        "notes": "Includes specific details on India's sample composition and the calculation of credibility intervals.",
        "elementsJson": [
          "paragraph"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 18:46:01.063+00",
          "seconds": 6.423,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5de0-76bd-a166-9f11bfc53d75/11",
        "deck": "/decks/019dd923-5de0-76bd-a166-9f11bfc53d75",
        "deckAnchor": "/decks/019dd923-5de0-76bd-a166-9f11bfc53d75#slide-11",
        "deckJson": "/decks/019dd923-5de0-76bd-a166-9f11bfc53d75.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.25,
            "w": 0.38,
            "x": 0.07,
            "y": 0.3
          },
          "kind": "paragraph",
          "text": "The sample consists of approximately 2,000 individuals in Japan, 1,000 individuals each in Australia, Brazil, Canada, France, Germany, Great Britain, Italy, Mexico, New Zealand, Spain, and the U.S., and 500 individuals each in Argentina, Belgium, Chile, Colombia, Hungary, Indonesia, Ireland, Malaysia, the Netherlands, Peru, Poland, Singapore, South Africa, South Korea, Sweden, Thailand, and Türkiye.",
          "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 18:46:01.063+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "0f786148-1509-49a4-b0ad-190f2d41a08a",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.1,
            "w": 0.38,
            "x": 0.07,
            "y": 0.18
          },
          "kind": "paragraph",
          "text": "These are the results of a 30-country survey conducted by Ipsos on its Global Advisor online platform and, in India, on its IndiaBus platform, between Friday, December 20, 2024, and Friday, January 3, 2025.",
          "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 18:46:01.063+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "21cd6ebb-aed0-40c1-8dd4-e3de3ef825ce",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.38,
            "x": 0.54,
            "y": 0.45
          },
          "kind": "paragraph",
          "text": "The precision of Ipsos online polls is calculated using a credibility interval with a poll where N=1,000 being accurate to +/- 3.5 percentage points and of where N=500 being accurate to +/- 5.0 percentage points.",
          "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 18:46:01.063+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "3d7561a4-bdd1-4c20-8bea-40886e3eb1cd",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.1,
            "w": 0.38,
            "x": 0.54,
            "y": 0.35
          },
          "kind": "paragraph",
          "text": "The data is weighted so that the composition of each country's sample best reflects the demographic profile of the adult population according to the most recent census 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 18:46:01.063+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "fc255791-5854-4365-aa0c-085081754c20",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.2,
            "x": 0.07,
            "y": 0.1
          },
          "kind": "title",
          "text": "Methodology",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:46:01.063+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "6755bcb9-dffa-4aae-b9be-266c335baa82",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "Credibility Transfer",
            "slug": "credibility-transfer",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-bd34-759a-8e3b-2f14b571a2a1",
            "version": 1,
            "bodyDocId": null,
            "description": "Borrowing authority from trusted sources or vivid details",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Storyteller",
          "layer": "slide",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019de797-445a-7652-950e-6e7ecf97695b",
          "evidence": "Methodology details (sample, weighting, credibility intervals) reinforce authority",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 75,
          "extraction": {
            "at": "2026-05-02 07:29:01.142607+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 11,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [],
      "loops": [],
      "locked": true
    },
    {
      "page": 12,
      "type": "appendix",
      "function": "other",
      "rawType": "appendix",
      "block": null,
      "metadata": {
        "slideType": "appendix",
        "slideTypeCanon": {
          "name": "Appendix",
          "slug": "appendix",
          "status": "active",
          "canonId": "019de52d-0762-71f8-b564-89ab863301cc",
          "version": 1,
          "description": null
        },
        "function": "other",
        "functionCanon": {
          "name": "Other (fallback)",
          "slug": "other",
          "status": "active",
          "canonId": "019de52d-15e1-75bc-99dc-07732380e2ce",
          "version": 1,
          "description": null
        },
        "density": "sparse",
        "densityScore": 14,
        "componentCount": 4,
        "textChars": 142,
        "nDataPoints": 0,
        "notes": null,
        "elementsJson": [
          "headline_text",
          "paragraph",
          "logo_grid"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 18:45:56.924+00",
          "seconds": 2.185,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5de0-76bd-a166-9f11bfc53d75/12",
        "deck": "/decks/019dd923-5de0-76bd-a166-9f11bfc53d75",
        "deckAnchor": "/decks/019dd923-5de0-76bd-a166-9f11bfc53d75#slide-12",
        "deckJson": "/decks/019dd923-5de0-76bd-a166-9f11bfc53d75.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.012,
            "w": 0.165,
            "x": 0.036,
            "y": 0.95
          },
          "kind": "disclaimer",
          "text": "© Ipsos Love Life Satisfaction 2025",
          "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 18:45:56.924+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "839b3b08-dcdb-40fd-9c3a-ce43260416d0",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.064,
            "w": 0.038,
            "x": 0.922,
            "y": 0.898
          },
          "kind": "image",
          "text": "Ipsos logo",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Image",
              "slug": "image",
              "status": "active",
              "canonId": "019de52c-f978-701f-a720-51d029d769e7",
              "version": 1,
              "description": "Photo, illustration, screenshot or icon."
            },
            "tool": null,
            "subkind": {
              "name": "Logo",
              "slug": "logo",
              "status": "active",
              "canonId": "019de52c-fdaf-743d-94c4-d7c6a0e55302",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "logo",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:45:56.924+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "97df3aac-7a86-485e-9e5f-d86ab3b9a36d",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.115,
            "w": 0.201,
            "x": 0.036,
            "y": 0.425
          },
          "kind": "paragraph",
          "text": "Jamie Stinson\nContent Director\nIpsos Knowledge Centre\nJamie.Stinson@ipsos.com",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "5f2affc0-941d-4d07-959d-4bfc1930cea4",
              "version": 1,
              "description": "Single prose block in the body of a slide."
            },
            "tool": null,
            "subkind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "019de52c-fb80-75af-aa5c-a7a4bfac2433",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "paragraph",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:45:56.924+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "ad3259ed-2543-4ad3-b074-263849831551",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.038,
            "w": 0.312,
            "x": 0.036,
            "y": 0.218
          },
          "kind": "title",
          "text": "For more information",
          "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 18:45:56.924+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "1ab96ae5-757c-421b-9875-7c7e067e5251",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "Closing Techniques",
            "slug": "closing-techniques",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-af13-774b-a4fd-7db0a3a88d51",
            "version": 1,
            "bodyDocId": null,
            "description": "Strong endings: Callback, challenge, vision, clear CTA, memorable line",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Storyteller",
          "layer": "slide",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019de797-4482-71bd-adf4-cbac037a5711",
          "evidence": "Closing slide names a contact and email as call to action",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 75,
          "extraction": {
            "at": "2026-05-02 07:29:01.142607+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 12,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 12,
          "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": 12,
          "name": "The Action (Now What)",
          "beatId": "019de797-3c49-71b1-9ded-c0d8cc53006a",
          "matchId": "019de797-3bc4-75ba-9a64-a93dc7ef06de",
          "beatType": null,
          "evidence": "Contact CTA: 'For more information' with Content Director email",
          "position": 3,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 72
        }
      ],
      "loops": [],
      "locked": true
    }
  ],
  "arcBeats": [
    {
      "from": 1,
      "to": 6,
      "label": "The Facts (What)",
      "description": "Cover plus topline numbers and 4 country-by-country data tables"
    },
    {
      "from": 7,
      "to": 9,
      "label": "The Implications (So What)",
      "description": "Correlation, income driver and generational debunk slides"
    },
    {
      "from": 12,
      "to": 12,
      "label": "The Action (Now What)",
      "description": "Contact CTA: 'For more information' with Content Director email"
    }
  ],
  "loops": [
    {
      "from": 2,
      "to": 6,
      "label": "Pattern Hunter",
      "description": "Establish global picture by stacking country evidence"
    },
    {
      "from": 7,
      "to": 9,
      "label": "Aha Moment",
      "description": "Surface drivers and a counter-intuitive non-driver"
    }
  ]
}