{
  "schemaVersion": "deck-intelligence.v1",
  "id": "019dd923-5ca1-7489-b63a-07f3cac110e0",
  "slug": "e8f9f47b68008d67",
  "title": "The global consumer: Changed for good Consumer trends accelerated by the COVID-19 pandemic are sticking",
  "subtitle": "PwC",
  "author": "PwC",
  "pageCount": 24,
  "kind": "consulting-deck",
  "orientation": "landscape",
  "aspectRatio": 1.414,
  "document": {
    "id": "019dd923-5ca1-7489-b63a-07f3cac110e0",
    "slug": "e8f9f47b68008d67",
    "title": "The global consumer: Changed for good Consumer trends accelerated by the COVID-19 pandemic are sticking",
    "rawTitle": "The global consumer: Changed for good Consumer trends accelerated by the COVID-19 pandemic are sticking",
    "authorId": "PwC",
    "authorName": "PwC",
    "authorDisplay": "PwC",
    "kind": {
      "slug": "consulting-deck",
      "label": "Consulting deck"
    },
    "sourceType": {
      "slug": "strategy_consulting",
      "label": "Strategy consulting"
    },
    "fileName": "The-global-consumer-Changed-for-good-Consumer-trends-accelerated-by-the-COVID-19-pandemic-are-sticking.pdf",
    "sourceUrl": "https://www.pwc.com/gx/en/consumer-markets/consumer-insights-survey/2021/gcis-june-2021.pdf",
    "sourceDate": "2021-06-15 00:00:00",
    "presentationDate": null,
    "ingestedAt": "2026-04-23 20:51:42+00",
    "status": "ready",
    "pageCount": 24,
    "orientation": "landscape",
    "aspectRatio": 1.414,
    "targetCompany": null,
    "targetTicker": null,
    "metadata": {
      "local_root": "/tmp/legacy-images/e8f9f47b68008d67",
      "origin_corpus": "consulting"
    }
  },
  "coverage": {
    "pageCount": 24,
    "pagesIndexed": 24,
    "pagesWithImages": 24,
    "pagesWithMetadata": 24,
    "imageCoveragePct": 100,
    "metadataCoveragePct": 100,
    "componentCount": 159,
    "chartCount": 14,
    "metricSlides": 0,
    "toolMatches": 104,
    "documentToolMatches": 0,
    "frameworkMatches": 1,
    "arcMatches": 2,
    "beatMatches": 7,
    "loopMatches": 5,
    "patternMatches": 0,
    "storymakersMatch": true,
    "scoreAvailable": true,
    "reviewAvailable": true,
    "activistThesisAvailable": false,
    "pitchdeckMetadataAvailable": false,
    "pitchdeckProfileAvailable": false
  },
  "blocks": [],
  "matches": {
    "arcs": [
      {
        "arc": {
          "name": "The Triple Take",
          "slug": "triple-take",
          "status": "active",
          "bestFor": "Data-driven presentations, research findings",
          "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
          "version": 1,
          "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
          "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
          "description": null,
          "familyLabel": null,
          "categoryName": "Analysis & Information",
          "categorySlug": "analysis-information"
        },
        "matchId": "019de947-c0a9-7449-9de2-493b61c69e0c",
        "evidence": "p2 frames the facts (8 dimensions of consumer change), p3-21 supply data evidence, p22 delivers the implication and soft call to action.",
        "isPrimary": true,
        "confidence": 70,
        "extraction": {
          "at": "2026-05-02 15:21:26.736795+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        }
      },
      {
        "arc": {
          "name": "The Mountain",
          "slug": "mountain",
          "status": "active",
          "bestFor": "Case studies, success stories, dramatic reveals",
          "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
          "version": 1,
          "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
          "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
          "description": null,
          "familyLabel": null,
          "categoryName": "Analysis & Information",
          "categorySlug": "analysis-information"
        },
        "matchId": "019de947-c144-71c9-9cfc-3c7fdadff369",
        "evidence": "Setup at p1-2, rising evidence through 5 trend sections p3-21, resolution at p22.",
        "isPrimary": false,
        "confidence": 45,
        "extraction": {
          "at": "2026-05-02 15:21:26.736795+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        }
      }
    ],
    "beats": [
      {
        "to": 21,
        "arc": {
          "name": "The Triple Take",
          "slug": "triple-take",
          "status": "active",
          "bestFor": "Data-driven presentations, research findings",
          "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
          "version": 1,
          "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
          "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
          "description": null,
          "familyLabel": null,
          "categoryName": "Analysis & Information",
          "categorySlug": "analysis-information"
        },
        "from": 2,
        "name": "The Facts (What)",
        "beatId": "019de947-c0d2-719f-92f0-5e2ca8a013db",
        "matchId": "019de947-c0a9-7449-9de2-493b61c69e0c",
        "beatType": null,
        "evidence": "p2 stacked-bar of 8 change dimensions then 5 trend buckets with charts/tables",
        "position": 1,
        "isPrimaryArc": true,
        "parentBeatType": null,
        "alignedBlockIds": null,
        "matchConfidence": 70
      },
      {
        "to": 22,
        "arc": {
          "name": "The Triple Take",
          "slug": "triple-take",
          "status": "active",
          "bestFor": "Data-driven presentations, research findings",
          "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
          "version": 1,
          "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
          "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
          "description": null,
          "familyLabel": null,
          "categoryName": "Analysis & Information",
          "categorySlug": "analysis-information"
        },
        "from": 22,
        "name": "The Implications (So What)",
        "beatId": "019de947-c0f8-76cf-a2fd-1f59398b41e8",
        "matchId": "019de947-c0a9-7449-9de2-493b61c69e0c",
        "beatType": null,
        "evidence": "p22 'behaviour changes will have become habit' synthesis",
        "position": 2,
        "isPrimaryArc": true,
        "parentBeatType": null,
        "alignedBlockIds": null,
        "matchConfidence": 70
      },
      {
        "to": 22,
        "arc": {
          "name": "The Triple Take",
          "slug": "triple-take",
          "status": "active",
          "bestFor": "Data-driven presentations, research findings",
          "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
          "version": 1,
          "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
          "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
          "description": null,
          "familyLabel": null,
          "categoryName": "Analysis & Information",
          "categorySlug": "analysis-information"
        },
        "from": 22,
        "name": "The Action (Now What)",
        "beatId": "019de947-c11f-743a-8f0f-014a1403d036",
        "matchId": "019de947-c0a9-7449-9de2-493b61c69e0c",
        "beatType": null,
        "evidence": "p22 closing 'savvy consumer companies will be alert... own adaptations'",
        "position": 3,
        "isPrimaryArc": true,
        "parentBeatType": null,
        "alignedBlockIds": null,
        "matchConfidence": 70
      },
      {
        "to": 2,
        "arc": {
          "name": "The Mountain",
          "slug": "mountain",
          "status": "active",
          "bestFor": "Case studies, success stories, dramatic reveals",
          "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
          "version": 1,
          "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
          "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
          "description": null,
          "familyLabel": null,
          "categoryName": "Analysis & Information",
          "categorySlug": "analysis-information"
        },
        "from": 1,
        "name": "Setup & Stakes",
        "beatId": "019de947-c16a-73c8-964c-ee4c7f0fe6d8",
        "matchId": "019de947-c144-71c9-9cfc-3c7fdadff369",
        "beatType": null,
        "evidence": "p2 establishes change is happening across 8 dimensions",
        "position": 1,
        "isPrimaryArc": false,
        "parentBeatType": null,
        "alignedBlockIds": null,
        "matchConfidence": 45
      },
      {
        "to": 17,
        "arc": {
          "name": "The Mountain",
          "slug": "mountain",
          "status": "active",
          "bestFor": "Case studies, success stories, dramatic reveals",
          "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
          "version": 1,
          "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
          "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
          "description": null,
          "familyLabel": null,
          "categoryName": "Analysis & Information",
          "categorySlug": "analysis-information"
        },
        "from": 3,
        "name": "Rising Action",
        "beatId": "019de947-c18f-7589-bcc5-91f7669d4484",
        "matchId": "019de947-c144-71c9-9cfc-3c7fdadff369",
        "beatType": null,
        "evidence": "trends 1-4 stack evidence: digital, health, eco, price",
        "position": 2,
        "isPrimaryArc": false,
        "parentBeatType": null,
        "alignedBlockIds": null,
        "matchConfidence": 45
      },
      {
        "to": 21,
        "arc": {
          "name": "The Mountain",
          "slug": "mountain",
          "status": "active",
          "bestFor": "Case studies, success stories, dramatic reveals",
          "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
          "version": 1,
          "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
          "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
          "description": null,
          "familyLabel": null,
          "categoryName": "Analysis & Information",
          "categorySlug": "analysis-information"
        },
        "from": 18,
        "name": "Climax",
        "beatId": "019de947-c1b3-76d8-9704-5934601347f4",
        "matchId": "019de947-c144-71c9-9cfc-3c7fdadff369",
        "beatType": null,
        "evidence": "fifth trend (local) caps the inductive set",
        "position": 3,
        "isPrimaryArc": false,
        "parentBeatType": null,
        "alignedBlockIds": null,
        "matchConfidence": 45
      },
      {
        "to": 22,
        "arc": {
          "name": "The Mountain",
          "slug": "mountain",
          "status": "active",
          "bestFor": "Case studies, success stories, dramatic reveals",
          "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
          "version": 1,
          "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
          "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
          "description": null,
          "familyLabel": null,
          "categoryName": "Analysis & Information",
          "categorySlug": "analysis-information"
        },
        "from": 22,
        "name": "Resolution",
        "beatId": "019de947-c1db-773d-83e2-b9ddca1ba03b",
        "matchId": "019de947-c144-71c9-9cfc-3c7fdadff369",
        "beatType": null,
        "evidence": "p22 'Light at the end of the tunnel' resolves the arc",
        "position": 4,
        "isPrimaryArc": false,
        "parentBeatType": null,
        "alignedBlockIds": null,
        "matchConfidence": 45
      }
    ],
    "loops": [
      {
        "to": 5,
        "from": 3,
        "loop": {
          "name": "06_zoom_in",
          "slug": "06-zoom-in",
          "status": "active",
          "bestFor": "Technical deep-dives, case studies, detailed analysis",
          "canonId": "019dd956-6846-74db-82be-dff5b058b072",
          "version": 1,
          "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
          "structure": "The Big Picture -> Key Area of Focus -> Specific Detail -> Implication",
          "description": "Start broad, then progressively focus on specific details that prove your point",
          "familyLabel": null,
          "categoryName": "Analysis",
          "categorySlug": "analysis"
        },
        "matchId": "019de947-c200-743e-b32c-bef2329fe060",
        "evidence": "p3 thematic intro, p4 channel split chart, p5 online-shopper priorities table",
        "position": 1,
        "objective": "Zoom from 'more digital' theme into channel-mix and online-shopper priority data",
        "confidence": 75,
        "extraction": {
          "at": "2026-05-02 15:21:26.736795+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        }
      },
      {
        "to": 9,
        "from": 6,
        "loop": {
          "name": "06_zoom_in",
          "slug": "06-zoom-in",
          "status": "active",
          "bestFor": "Technical deep-dives, case studies, detailed analysis",
          "canonId": "019dd956-6846-74db-82be-dff5b058b072",
          "version": 1,
          "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
          "structure": "The Big Picture -> Key Area of Focus -> Specific Detail -> Implication",
          "description": "Start broad, then progressively focus on specific details that prove your point",
          "familyLabel": null,
          "categoryName": "Analysis",
          "categorySlug": "analysis"
        },
        "matchId": "019de947-c22c-71fc-8251-533d40b6981e",
        "evidence": "p6 intro, p7 spending by work-location, p8 cohort vs global, p9 health-vs-eco priority",
        "position": 2,
        "objective": "Zoom from 'more health-conscious' theme into spending, cohort and trade-off data",
        "confidence": 80,
        "extraction": {
          "at": "2026-05-02 15:21:26.736795+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        }
      },
      {
        "to": 14,
        "from": 10,
        "loop": {
          "name": "06_zoom_in",
          "slug": "06-zoom-in",
          "status": "active",
          "bestFor": "Technical deep-dives, case studies, detailed analysis",
          "canonId": "019dd956-6846-74db-82be-dff5b058b072",
          "version": 1,
          "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
          "structure": "The Big Picture -> Key Area of Focus -> Specific Detail -> Implication",
          "description": "Start broad, then progressively focus on specific details that prove your point",
          "familyLabel": null,
          "categoryName": "Analysis",
          "categorySlug": "analysis"
        },
        "matchId": "019de947-c251-70a8-a17e-c2cc9eed84a7",
        "evidence": "p10 intro, p11 WFH vs onsite line chart, p12 price barrier, p13 loyalty drivers, p14 generational heatmap",
        "position": 3,
        "objective": "Zoom from 'more eco-friendly' theme into behaviour, blockers and generational nuance",
        "confidence": 80,
        "extraction": {
          "at": "2026-05-02 15:21:26.736795+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        }
      },
      {
        "to": 17,
        "from": 15,
        "loop": {
          "name": "06_zoom_in",
          "slug": "06-zoom-in",
          "status": "active",
          "bestFor": "Technical deep-dives, case studies, detailed analysis",
          "canonId": "019dd956-6846-74db-82be-dff5b058b072",
          "version": 1,
          "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
          "structure": "The Big Picture -> Key Area of Focus -> Specific Detail -> Implication",
          "description": "Start broad, then progressively focus on specific details that prove your point",
          "familyLabel": null,
          "categoryName": "Analysis",
          "categorySlug": "analysis"
        },
        "matchId": "019de947-c276-77f1-a3fc-26c95b8caf01",
        "evidence": "p15 intro, p16 price-driver bars by category, p17 spending-intent icon grid",
        "position": 4,
        "objective": "Zoom from 'more price-sensitive' theme into purchase drivers and category outlook",
        "confidence": 78,
        "extraction": {
          "at": "2026-05-02 15:21:26.736795+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        }
      },
      {
        "to": 21,
        "from": 18,
        "loop": {
          "name": "06_zoom_in",
          "slug": "06-zoom-in",
          "status": "active",
          "bestFor": "Technical deep-dives, case studies, detailed analysis",
          "canonId": "019dd956-6846-74db-82be-dff5b058b072",
          "version": 1,
          "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
          "structure": "The Big Picture -> Key Area of Focus -> Specific Detail -> Implication",
          "description": "Start broad, then progressively focus on specific details that prove your point",
          "familyLabel": null,
          "categoryName": "Analysis",
          "categorySlug": "analysis"
        },
        "matchId": "019de947-c29b-730f-8d76-7283ff03a9f0",
        "evidence": "p18 intro, p19 mass-events, p20 travel willingness, p21 local-shopping support",
        "position": 5,
        "objective": "Zoom from 'more local' theme into mass-event, travel and local-shopping deltas",
        "confidence": 78,
        "extraction": {
          "at": "2026-05-02 15:21:26.736795+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        }
      }
    ],
    "tools": [
      {
        "tool": {
          "name": "MECE Principle",
          "slug": "mece-principle",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-7c60-71a8-8758-c79d914489c9",
          "version": 1,
          "bodyDocId": null,
          "description": "Mutually Exclusive, Collectively Exhaustive - ensuring complete, non-overlapping structure",
          "familyLabel": null,
          "categoryName": "Block",
          "categorySlug": "block"
        },
        "agent": "Architect",
        "layer": "block",
        "agents": [
          "Architect"
        ],
        "matchId": "019de947-c3cc-710a-af6d-4099bbbf3cb9",
        "evidence": "8 dimensions cover change without overlap",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": null,
        "confidence": 65,
        "extraction": {
          "at": "2026-05-02 15:21:26.736795+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 2,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Before-After-Bridge",
          "slug": "before-after-bridge",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-8604-7188-883f-42370288ad05",
          "version": 1,
          "bodyDocId": null,
          "description": "Narrative structure: Paint the before, show the after, explain the bridge",
          "familyLabel": null,
          "categoryName": "Block",
          "categorySlug": "block"
        },
        "agent": "Storyteller",
        "layer": "block",
        "agents": [
          "Storyteller"
        ],
        "matchId": "019de947-c4af-71d5-b20d-39060d89585e",
        "evidence": "block compares pre-pandemic vs current digital habits",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 65,
        "extraction": {
          "at": "2026-05-02 15:21:26.736795+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 3,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Before-After-Bridge",
          "slug": "before-after-bridge",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-8604-7188-883f-42370288ad05",
          "version": 1,
          "bodyDocId": null,
          "description": "Narrative structure: Paint the before, show the after, explain the bridge",
          "familyLabel": null,
          "categoryName": "Block",
          "categorySlug": "block"
        },
        "agent": "Storyteller",
        "layer": "block",
        "agents": [
          "Storyteller"
        ],
        "matchId": "019de947-ce2b-745d-9c8c-6a1431db5ad6",
        "evidence": "explicit March 2021 vs June 2021 comparison",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 65,
        "extraction": {
          "at": "2026-05-02 15:21:26.736795+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 20,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Data Story Arc",
          "slug": "data-story-arc",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-9c30-728e-b974-d3fb123dcf5a",
          "version": 1,
          "bodyDocId": null,
          "description": "Context → Conflict → Insight → Implication structure for data narratives",
          "familyLabel": null,
          "categoryName": "Loop",
          "categorySlug": "loop"
        },
        "agent": "Storyteller",
        "layer": "loop",
        "agents": [
          "Storyteller"
        ],
        "matchId": "019de947-c3f5-718e-a5bb-910843300757",
        "evidence": "context-conflict-insight set up here",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": null,
        "confidence": 70,
        "extraction": {
          "at": "2026-05-02 15:21:26.736795+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 2,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Contrast Pairs",
          "slug": "contrast-pairs",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-9b77-70d3-88b1-f34e26f60860",
          "version": 1,
          "bodyDocId": null,
          "description": "Creating tension through opposites: Before↔After, Problem↔Solution, Pain↔Relief",
          "familyLabel": null,
          "categoryName": "Loop",
          "categorySlug": "loop"
        },
        "agent": "Storyteller",
        "layer": "loop",
        "agents": [
          "Storyteller"
        ],
        "matchId": "019de947-c488-72af-97f8-8c93ed5a69c9",
        "evidence": "loop opens digital-vs-in-store comparison thread",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": null,
        "confidence": 70,
        "extraction": {
          "at": "2026-05-02 15:21:26.736795+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 3,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Contrast Pairs",
          "slug": "contrast-pairs",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-9b77-70d3-88b1-f34e26f60860",
          "version": 1,
          "bodyDocId": null,
          "description": "Creating tension through opposites: Before↔After, Problem↔Solution, Pain↔Relief",
          "familyLabel": null,
          "categoryName": "Loop",
          "categorySlug": "loop"
        },
        "agent": "Storyteller",
        "layer": "loop",
        "agents": [
          "Storyteller"
        ],
        "matchId": "019de947-c653-71c7-a2af-da3e474cb732",
        "evidence": "WFH vs WAFH thread opens in this loop",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": null,
        "confidence": 65,
        "extraction": {
          "at": "2026-05-02 15:21:26.736795+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 6,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Data Story Arc",
          "slug": "data-story-arc",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-9c30-728e-b974-d3fb123dcf5a",
          "version": 1,
          "bodyDocId": null,
          "description": "Context → Conflict → Insight → Implication structure for data narratives",
          "familyLabel": null,
          "categoryName": "Loop",
          "categorySlug": "loop"
        },
        "agent": "Storyteller",
        "layer": "loop",
        "agents": [
          "Storyteller"
        ],
        "matchId": "019de947-c679-75dd-8522-75746381db91",
        "evidence": "loop sets context-conflict-insight on health",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": null,
        "confidence": 65,
        "extraction": {
          "at": "2026-05-02 15:21:26.736795+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 6,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Contrast Pairs",
          "slug": "contrast-pairs",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-9b77-70d3-88b1-f34e26f60860",
          "version": 1,
          "bodyDocId": null,
          "description": "Creating tension through opposites: Before↔After, Problem↔Solution, Pain↔Relief",
          "familyLabel": null,
          "categoryName": "Loop",
          "categorySlug": "loop"
        },
        "agent": "Storyteller",
        "layer": "loop",
        "agents": [
          "Storyteller"
        ],
        "matchId": "019de947-c893-70f0-af01-9112f718f8d6",
        "evidence": "eco loop contrasts aspiration vs action through p14",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": null,
        "confidence": 65,
        "extraction": {
          "at": "2026-05-02 15:21:26.736795+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 10,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Data Story Arc",
          "slug": "data-story-arc",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-9c30-728e-b974-d3fb123dcf5a",
          "version": 1,
          "bodyDocId": null,
          "description": "Context → Conflict → Insight → Implication structure for data narratives",
          "familyLabel": null,
          "categoryName": "Loop",
          "categorySlug": "loop"
        },
        "agent": "Storyteller",
        "layer": "loop",
        "agents": [
          "Storyteller"
        ],
        "matchId": "019de947-c8b7-741c-8a14-11ef77945045",
        "evidence": "loop builds: claim-evidence-barrier-nuance",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": null,
        "confidence": 70,
        "extraction": {
          "at": "2026-05-02 15:21:26.736795+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 10,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Contrast Pairs",
          "slug": "contrast-pairs",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-9b77-70d3-88b1-f34e26f60860",
          "version": 1,
          "bodyDocId": null,
          "description": "Creating tension through opposites: Before↔After, Problem↔Solution, Pain↔Relief",
          "familyLabel": null,
          "categoryName": "Loop",
          "categorySlug": "loop"
        },
        "agent": "Storyteller",
        "layer": "loop",
        "agents": [
          "Storyteller"
        ],
        "matchId": "019de947-cb57-759c-835e-6ce5b86afe71",
        "evidence": "loop contrasts price vs other purchase drivers",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": null,
        "confidence": 60,
        "extraction": {
          "at": "2026-05-02 15:21:26.736795+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 15,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Data Story Arc",
          "slug": "data-story-arc",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-9c30-728e-b974-d3fb123dcf5a",
          "version": 1,
          "bodyDocId": null,
          "description": "Context → Conflict → Insight → Implication structure for data narratives",
          "familyLabel": null,
          "categoryName": "Loop",
          "categorySlug": "loop"
        },
        "agent": "Storyteller",
        "layer": "loop",
        "agents": [
          "Storyteller"
        ],
        "matchId": "019de947-cb7d-7569-bf01-764b4175d02c",
        "evidence": "loop establishes price-sensitive context then drives to category outlook",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": null,
        "confidence": 60,
        "extraction": {
          "at": "2026-05-02 15:21:26.736795+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 15,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Contrast Pairs",
          "slug": "contrast-pairs",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-9b77-70d3-88b1-f34e26f60860",
          "version": 1,
          "bodyDocId": null,
          "description": "Creating tension through opposites: Before↔After, Problem↔Solution, Pain↔Relief",
          "familyLabel": null,
          "categoryName": "Loop",
          "categorySlug": "loop"
        },
        "agent": "Storyteller",
        "layer": "loop",
        "agents": [
          "Storyteller"
        ],
        "matchId": "019de947-ccfb-7000-acae-96fc07426861",
        "evidence": "loop contrasts cautious-vs-returning behaviour",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": null,
        "confidence": 65,
        "extraction": {
          "at": "2026-05-02 15:21:26.736795+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 18,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Data Story Arc",
          "slug": "data-story-arc",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-9c30-728e-b974-d3fb123dcf5a",
          "version": 1,
          "bodyDocId": null,
          "description": "Context → Conflict → Insight → Implication structure for data narratives",
          "familyLabel": null,
          "categoryName": "Loop",
          "categorySlug": "loop"
        },
        "agent": "Storyteller",
        "layer": "loop",
        "agents": [
          "Storyteller"
        ],
        "matchId": "019de947-cd20-7183-871b-8f831a68ec87",
        "evidence": "loop builds toward 'cautious return' synthesis",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": null,
        "confidence": 60,
        "extraction": {
          "at": "2026-05-02 15:21:26.736795+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 18,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Concrete Language",
          "slug": "concrete-language",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-bcd4-7398-9723-6aa72346170b",
          "version": 1,
          "bodyDocId": null,
          "description": "Using specific sensory details instead of abstract terms",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Storyteller",
        "layer": "slide",
        "agents": [
          "Storyteller"
        ],
        "matchId": "019de947-c2e6-774e-81d8-ebc1b85f3b56",
        "evidence": "callout pins claim: 'trends are sticking'",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 65,
        "extraction": {
          "at": "2026-05-02 15:21:26.736795+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 1,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Opening Hooks",
          "slug": "opening-hooks",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-aeb0-77d5-bfbd-9cd9a6be8186",
          "version": 1,
          "bodyDocId": null,
          "description": "Techniques to capture attention: Startling statistic, provocative question, short story, analogy, contrast",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Storyteller",
        "layer": "slide",
        "agents": [
          "Storyteller"
        ],
        "matchId": "019de947-c2bf-73cf-862f-81542e9d4296",
        "evidence": "title 'Changed for good' with shopping-bag motif",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 75,
        "extraction": {
          "at": "2026-05-02 15:21:26.736795+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 1,
        "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": "019de947-c30e-72d1-abc3-32c91fe64c97",
        "evidence": "stylised shopping-bag illustration anchors theme",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 60,
        "extraction": {
          "at": "2026-05-02 15:21:26.736795+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 1,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Slide recipe: Cover",
          "slug": "cover-slide",
          "status": "active",
          "bestFor": null,
          "canonId": "019df269-2a08-767d-9128-e7431e6fe8a3",
          "version": 1,
          "bodyDocId": "019df269-29e5-7738-b5fa-6892e5dc8e65",
          "description": "The first ten seconds. Build it deliberately.",
          "familyLabel": "slide-recipe",
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "designer",
        "layer": "slide",
        "agents": [
          "designer"
        ],
        "matchId": "9bbdda98-a0f4-4d92-b72a-056437a7a9a5",
        "evidence": "The global consumer: Changed for good",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.9,
        "extraction": {
          "at": "2026-07-16 21:19:21.253458+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 1,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Action Titles",
          "slug": "action-titles",
          "status": "active",
          "bestFor": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
          "canonId": "019dd956-ac70-700b-a608-ba58e78f5dcc",
          "version": 1,
          "bodyDocId": "816dad3c-9983-41c1-a86e-978ebd582841",
          "description": "The McKinsey-bred discipline of writing every slide title as a complete declarative sentence with a verb and an insight, not a topic label. Each title is a sub-claim that ladders up to the deck's governing thought; read in sequence, the titles reconstruct the executive summary.",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Architect",
        "layer": "slide",
        "agents": [
          "Architect"
        ],
        "matchId": "019de947-c333-719b-a8ea-6ad67e4a4c1e",
        "evidence": "title states insight: 'changing across many different dimensions'",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
        "confidence": 85,
        "extraction": {
          "at": "2026-05-02 15:21:26.736795+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 2,
        "whyItWorks": "Solves two failure modes at once. (1) The buried claim: action titles place the conclusion on the page before any analysis is read, so a busy reader doesn't reverse-engineer it from the chart. (2) The spineless deck: because each title is a claim, slides have to ladder up to the governing thought; logical gaps become visible as topic-shaped titles in a sequence that no longer reads as a story.",
        "antipattern": "Topic labels disguised as titles — Volume by quarter, Key findings, Pricing strategy, Margins have been impacted. No verb, or a passive verb with no agent, or a fact (Revenue grew 12%) without the so-what. Also: titles that overreach the chart's evidence, multi-claim X-grew-but-Y-fell welded titles, and mechanical repetition of the same X-drove-Y template across the deck.",
        "cardinality": null,
        "narrativePurpose": "Forces the deck to carry its argument in the title bar so a senior reader can extract the recommendation without opening a single slide; converts a binder of topics into a navigable pyramid where every slide is a node defending the apex."
      },
      {
        "tool": {
          "name": "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": "bdc75a0c-dcdd-465f-a75f-96006f4220b2",
        "evidence": "Stacked bar chart showing consumer sentiment changes across 8 categories.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.7,
        "extraction": {
          "at": "2026-07-16 21:19:21.327603+00",
          "model": "or:meta-llama/llama-4-scout",
          "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": "019de947-c3a7-77eb-bd25-70444a1f66e3",
        "evidence": "pink=more, gold=same, dark=less encodes sentiment",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 70,
        "extraction": {
          "at": "2026-05-02 15:21:26.736795+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 2,
        "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": "019de947-c35b-74ec-bbea-bf0481ecf7dc",
        "evidence": "clean 100% stacked bar, no chartjunk",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": null,
        "confidence": 75,
        "extraction": {
          "at": "2026-05-02 15:21:26.736795+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": "019de947-c382-761f-a537-7a0619dca1fb",
        "evidence": "yellow narrative panel vs white data panel",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 70,
        "extraction": {
          "at": "2026-05-02 15:21:26.736795+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 2,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Action Titles",
          "slug": "action-titles",
          "status": "active",
          "bestFor": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
          "canonId": "019dd956-ac70-700b-a608-ba58e78f5dcc",
          "version": 1,
          "bodyDocId": "816dad3c-9983-41c1-a86e-978ebd582841",
          "description": "The McKinsey-bred discipline of writing every slide title as a complete declarative sentence with a verb and an insight, not a topic label. Each title is a sub-claim that ladders up to the deck's governing thought; read in sequence, the titles reconstruct the executive summary.",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Architect",
        "layer": "slide",
        "agents": [
          "Architect"
        ],
        "matchId": "019de947-c41b-71ba-921f-28cef300e682",
        "evidence": "callout 'shift to digital has accelerated dramatically'",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
        "confidence": 70,
        "extraction": {
          "at": "2026-05-02 15:21:26.736795+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 3,
        "whyItWorks": "Solves two failure modes at once. (1) The buried claim: action titles place the conclusion on the page before any analysis is read, so a busy reader doesn't reverse-engineer it from the chart. (2) The spineless deck: because each title is a claim, slides have to ladder up to the governing thought; logical gaps become visible as topic-shaped titles in a sequence that no longer reads as a story.",
        "antipattern": "Topic labels disguised as titles — Volume by quarter, Key findings, Pricing strategy, Margins have been impacted. No verb, or a passive verb with no agent, or a fact (Revenue grew 12%) without the so-what. Also: titles that overreach the chart's evidence, multi-claim X-grew-but-Y-fell welded titles, and mechanical repetition of the same X-drove-Y template across the deck.",
        "cardinality": null,
        "narrativePurpose": "Forces the deck to carry its argument in the title bar so a senior reader can extract the recommendation without opening a single slide; converts a binder of topics into a navigable pyramid where every slide is a node defending the apex."
      },
      {
        "tool": {
          "name": "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": "slide",
        "agents": [
          "Storyteller"
        ],
        "matchId": "577ccacb-d3f3-43fe-ae24-4d72ae9c4577",
        "evidence": "Consumers' shift to digital has accelerated dramatically.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.6,
        "extraction": {
          "at": "2026-07-16 21:19:21.399903+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 3,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Emotional Appeal",
          "slug": "emotional-appeal",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-bde9-7668-8be7-0097678fec59",
          "version": 1,
          "bodyDocId": null,
          "description": "Connecting to audience feelings rather than just logic",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Storyteller",
        "layer": "slide",
        "agents": [
          "Storyteller"
        ],
        "matchId": "019de947-c43f-727a-86b0-c13b3b8552a5",
        "evidence": "lifestyle photo paired with section opener",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 60,
        "extraction": {
          "at": "2026-05-02 15:21:26.736795+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": "019de947-c464-749d-889e-86d383dcf519",
        "evidence": "section number '1' + bold theme title",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 65,
        "extraction": {
          "at": "2026-05-02 15:21:26.736795+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 3,
        "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": "019de947-c4d5-77fb-8f0f-3be833ae1801",
        "evidence": "title: 'Online shopping continues to grow, in-store has recovered somewhat'",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
        "confidence": 85,
        "extraction": {
          "at": "2026-05-02 15:21:26.736795+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 4,
        "whyItWorks": "Solves two failure modes at once. (1) The buried claim: action titles place the conclusion on the page before any analysis is read, so a busy reader doesn't reverse-engineer it from the chart. (2) The spineless deck: because each title is a claim, slides have to ladder up to the governing thought; logical gaps become visible as topic-shaped titles in a sequence that no longer reads as a story.",
        "antipattern": "Topic labels disguised as titles — Volume by quarter, Key findings, Pricing strategy, Margins have been impacted. No verb, or a passive verb with no agent, or a fact (Revenue grew 12%) without the so-what. Also: titles that overreach the chart's evidence, multi-claim X-grew-but-Y-fell welded titles, and mechanical repetition of the same X-drove-Y template across the deck.",
        "cardinality": null,
        "narrativePurpose": "Forces the deck to carry its argument in the title bar so a senior reader can extract the recommendation without opening a single slide; converts a binder of topics into a navigable pyramid where every slide is a node defending the apex."
      },
      {
        "tool": {
          "name": "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": "019de947-c548-721c-ba4b-c3ab5660e923",
        "evidence": "callout 'gap between mobile and in-store is closing' annotates the chart",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 65,
        "extraction": {
          "at": "2026-05-02 15:21:26.736795+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 4,
        "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": "019de947-c4fa-71eb-91af-24ffce78f1da",
        "evidence": "grouped bars chosen to compare channel frequencies",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 75,
        "extraction": {
          "at": "2026-05-02 15:21:26.736795+00",
          "model": "claude-cli",
          "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": "019de947-c520-708d-8e04-db2ecea65d9d",
        "evidence": "Exhibit 2+3 same chart pattern across categories/markets",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 70,
        "extraction": {
          "at": "2026-05-02 15:21:26.736795+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 4,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Action Titles",
          "slug": "action-titles",
          "status": "active",
          "bestFor": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
          "canonId": "019dd956-ac70-700b-a608-ba58e78f5dcc",
          "version": 1,
          "bodyDocId": "816dad3c-9983-41c1-a86e-978ebd582841",
          "description": "The McKinsey-bred discipline of writing every slide title as a complete declarative sentence with a verb and an insight, not a topic label. Each title is a sub-claim that ladders up to the deck's governing thought; read in sequence, the titles reconstruct the executive summary.",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Architect",
        "layer": "slide",
        "agents": [
          "Architect"
        ],
        "matchId": "019de947-c572-7051-8577-1538d7c6ebc1",
        "evidence": "title states insight on fast delivery and availability",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
        "confidence": 80,
        "extraction": {
          "at": "2026-05-02 15:21:26.736795+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 5,
        "whyItWorks": "Solves two failure modes at once. (1) The buried claim: action titles place the conclusion on the page before any analysis is read, so a busy reader doesn't reverse-engineer it from the chart. (2) The spineless deck: because each title is a claim, slides have to ladder up to the governing thought; logical gaps become visible as topic-shaped titles in a sequence that no longer reads as a story.",
        "antipattern": "Topic labels disguised as titles — Volume by quarter, Key findings, Pricing strategy, Margins have been impacted. No verb, or a passive verb with no agent, or a fact (Revenue grew 12%) without the so-what. Also: titles that overreach the chart's evidence, multi-claim X-grew-but-Y-fell welded titles, and mechanical repetition of the same X-drove-Y template across the deck.",
        "cardinality": null,
        "narrativePurpose": "Forces the deck to carry its argument in the title bar so a senior reader can extract the recommendation without opening a single slide; converts a binder of topics into a navigable pyramid where every slide is a node defending the apex."
      },
      {
        "tool": {
          "name": "Chart Selection Guide",
          "slug": "chart-selection-guide",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-b1a0-700b-ba17-0e16c4d5bcae",
          "version": 1,
          "bodyDocId": null,
          "description": "Choosing the right chart type for your data and message",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Designer",
        "layer": "slide",
        "agents": [
          "Designer"
        ],
        "matchId": "019de947-c5ba-707f-9a69-317ccd4037e8",
        "evidence": "comparison table for two time periods",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 70,
        "extraction": {
          "at": "2026-05-02 15:21:26.736795+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 5,
        "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": "019de947-c595-7689-90c3-637797f74150",
        "evidence": "explicit 'Our insight:' callout",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": "On every slide carrying a chart, number, list, or finding intended to inform a decision; whenever a draft title is descriptive rather than directive; whenever the deck will circulate without its author.",
        "confidence": 85,
        "extraction": {
          "at": "2026-05-02 15:21:26.736795+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 5,
        "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": "Table data",
          "slug": "table-data",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd9e1-4fab-7168-a82f-b847350a006d",
          "version": 1,
          "bodyDocId": null,
          "description": "Tabular layouts of structured data.",
          "familyLabel": null,
          "categoryName": null,
          "categorySlug": null
        },
        "agent": null,
        "layer": "slide",
        "agents": null,
        "matchId": "5b8615ed-4412-40b7-869c-9b0afd317e06",
        "evidence": "Ranking of online shopping attributes for June 2021 vs March 2021",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.7,
        "extraction": {
          "at": "2026-07-16 21:19:21.50877+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 5,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": "common",
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Action Titles",
          "slug": "action-titles",
          "status": "active",
          "bestFor": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
          "canonId": "019dd956-ac70-700b-a608-ba58e78f5dcc",
          "version": 1,
          "bodyDocId": "816dad3c-9983-41c1-a86e-978ebd582841",
          "description": "The McKinsey-bred discipline of writing every slide title as a complete declarative sentence with a verb and an insight, not a topic label. Each title is a sub-claim that ladders up to the deck's governing thought; read in sequence, the titles reconstruct the executive summary.",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Architect",
        "layer": "slide",
        "agents": [
          "Architect"
        ],
        "matchId": "019de947-c5e0-7628-9b6b-72408a435bae",
        "evidence": "section title pairs with callout asserting the trend",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
        "confidence": 70,
        "extraction": {
          "at": "2026-05-02 15:21:26.736795+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 6,
        "whyItWorks": "Solves two failure modes at once. (1) The buried claim: action titles place the conclusion on the page before any analysis is read, so a busy reader doesn't reverse-engineer it from the chart. (2) The spineless deck: because each title is a claim, slides have to ladder up to the governing thought; logical gaps become visible as topic-shaped titles in a sequence that no longer reads as a story.",
        "antipattern": "Topic labels disguised as titles — Volume by quarter, Key findings, Pricing strategy, Margins have been impacted. No verb, or a passive verb with no agent, or a fact (Revenue grew 12%) without the so-what. Also: titles that overreach the chart's evidence, multi-claim X-grew-but-Y-fell welded titles, and mechanical repetition of the same X-drove-Y template across the deck.",
        "cardinality": null,
        "narrativePurpose": "Forces the deck to carry its argument in the title bar so a senior reader can extract the recommendation without opening a single slide; converts a binder of topics into a navigable pyramid where every slide is a node defending the apex."
      },
      {
        "tool": {
          "name": "Emotional Appeal",
          "slug": "emotional-appeal",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-bde9-7668-8be7-0097678fec59",
          "version": 1,
          "bodyDocId": null,
          "description": "Connecting to audience feelings rather than just logic",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Storyteller",
        "layer": "slide",
        "agents": [
          "Storyteller"
        ],
        "matchId": "019de947-c608-7128-9f2a-b68fbe6df00b",
        "evidence": "aspirational runner photo + bold pink panel",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 75,
        "extraction": {
          "at": "2026-05-02 15:21:26.736795+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 6,
        "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": "019de947-c62d-76ab-abb0-5106a7e92336",
        "evidence": "large numeral '2' anchors section position",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 65,
        "extraction": {
          "at": "2026-05-02 15:21:26.736795+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": "019de947-c69d-732b-9723-20a8e9e8be14",
        "evidence": "title: 'those working at home expect to spend more in health-related categories'",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
        "confidence": 80,
        "extraction": {
          "at": "2026-05-02 15:21:26.736795+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": "019de947-c713-7089-b6d2-810d8da9799b",
        "evidence": "callout adds regional 25% concern context",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 60,
        "extraction": {
          "at": "2026-05-02 15:21:26.736795+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": "019de947-c6c3-71fc-8692-2c6f46610e1e",
        "evidence": "grouped bars for spend cohorts; table for regional concern",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 70,
        "extraction": {
          "at": "2026-05-02 15:21:26.736795+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": "922d9568-58e4-49ee-9f26-2c17d438fcb9",
        "evidence": "Comparison of spending expectations between working from home and working away from home across Grocery, Health and beauty, and Sports and fitness equipment.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.7,
        "extraction": {
          "at": "2026-07-16 21:19:21.618868+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 7,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Small Multiples",
          "slug": "small-multiples",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-b32d-7586-b368-baa1dd388ed4",
          "version": 1,
          "bodyDocId": null,
          "description": "Repeating similar charts for comparison across categories or time",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Designer",
        "layer": "slide",
        "agents": [
          "Designer"
        ],
        "matchId": "019de947-c6ee-744c-b701-d5a5189d431c",
        "evidence": "Exhibit 5 + Exhibit 6 paired exhibits",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 65,
        "extraction": {
          "at": "2026-05-02 15:21:26.736795+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": "019de947-c739-7713-bfbd-07e2b080a21c",
        "evidence": "title: 'health- and safety-conscious consumers report shopping less in physical stores'",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
        "confidence": 80,
        "extraction": {
          "at": "2026-05-02 15:21:26.736795+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": "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": "019de947-c786-7014-8a56-956fb34756fb",
        "evidence": "category icons annotate each bar pair",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 60,
        "extraction": {
          "at": "2026-05-02 15:21:26.736795+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 8,
        "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": "019de947-c760-741c-a603-5b69175e07f0",
        "evidence": "grouped bars across 7 categories",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 70,
        "extraction": {
          "at": "2026-05-02 15:21:26.736795+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 8,
        "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": "a6324b7d-d27a-4126-9c1b-8aac200efeae",
        "evidence": "The slide features a data table with a bar chart, which suggests an emphasis on presenting data in a clear and efficient manner, aligning with the data-ink-ratio principle.",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": null,
        "confidence": 0.7,
        "extraction": {
          "at": "2026-07-16 21:19:35.884169+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 8,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Action Titles",
          "slug": "action-titles",
          "status": "active",
          "bestFor": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
          "canonId": "019dd956-ac70-700b-a608-ba58e78f5dcc",
          "version": 1,
          "bodyDocId": "816dad3c-9983-41c1-a86e-978ebd582841",
          "description": "The McKinsey-bred discipline of writing every slide title as a complete declarative sentence with a verb and an insight, not a topic label. Each title is a sub-claim that ladders up to the deck's governing thought; read in sequence, the titles reconstruct the executive summary.",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Architect",
        "layer": "slide",
        "agents": [
          "Architect"
        ],
        "matchId": "019de947-c7aa-7642-9db2-1153b6b9b32c",
        "evidence": "title: 'Most shoppers put health and safety concerns above environmental concerns'",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
        "confidence": 80,
        "extraction": {
          "at": "2026-05-02 15:21:26.736795+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": "Audience Definition",
          "slug": "audience-definition",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-7f2a-775d-aeee-ff099bcb7756",
          "version": 1,
          "bodyDocId": null,
          "description": "Six key questions: Who are they? What do they know? What do they believe? What do they care about? What do they fear? What decisions can they make?",
          "familyLabel": null,
          "categoryName": "Block",
          "categorySlug": "block"
        },
        "agent": "Storyteller",
        "layer": "slide",
        "agents": [
          "Storyteller"
        ],
        "matchId": "ae2a7a54-4376-4921-8fcc-9b47a07456a1",
        "evidence": "The slide mentions 'consumer behaviour at the local level' and 'respondents in Southeast Asia and the Middle East', indicating consideration for the audience's demographics and geographic location.",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": null,
        "confidence": 0.7,
        "extraction": {
          "at": "2026-07-16 21:19:35.956423+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 9,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "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": "019de947-c7f6-765b-aa23-88890a65d0de",
        "evidence": "100% stacked bar for sentiment composition",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 65,
        "extraction": {
          "at": "2026-05-02 15:21:26.736795+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 9,
        "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": "019de947-c7ce-7238-9455-40604ad87b45",
        "evidence": "uncluttered 100% stacked bar with three bars",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": null,
        "confidence": 65,
        "extraction": {
          "at": "2026-05-02 15:21:26.736795+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 9,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Action Titles",
          "slug": "action-titles",
          "status": "active",
          "bestFor": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
          "canonId": "019dd956-ac70-700b-a608-ba58e78f5dcc",
          "version": 1,
          "bodyDocId": "816dad3c-9983-41c1-a86e-978ebd582841",
          "description": "The McKinsey-bred discipline of writing every slide title as a complete declarative sentence with a verb and an insight, not a topic label. Each title is a sub-claim that ladders up to the deck's governing thought; read in sequence, the titles reconstruct the executive summary.",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Architect",
        "layer": "slide",
        "agents": [
          "Architect"
        ],
        "matchId": "019de947-c81e-77fe-a742-bfb113b773f8",
        "evidence": "section title + 50% callout",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
        "confidence": 65,
        "extraction": {
          "at": "2026-05-02 15:21:26.736795+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 10,
        "whyItWorks": "Solves two failure modes at once. (1) The buried claim: action titles place the conclusion on the page before any analysis is read, so a busy reader doesn't reverse-engineer it from the chart. (2) The spineless deck: because each title is a claim, slides have to ladder up to the governing thought; logical gaps become visible as topic-shaped titles in a sequence that no longer reads as a story.",
        "antipattern": "Topic labels disguised as titles — Volume by quarter, Key findings, Pricing strategy, Margins have been impacted. No verb, or a passive verb with no agent, or a fact (Revenue grew 12%) without the so-what. Also: titles that overreach the chart's evidence, multi-claim X-grew-but-Y-fell welded titles, and mechanical repetition of the same X-drove-Y template across the deck.",
        "cardinality": null,
        "narrativePurpose": "Forces the deck to carry its argument in the title bar so a senior reader can extract the recommendation without opening a single slide; converts a binder of topics into a navigable pyramid where every slide is a node defending the apex."
      },
      {
        "tool": {
          "name": "Emotional Appeal",
          "slug": "emotional-appeal",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-bde9-7668-8be7-0097678fec59",
          "version": 1,
          "bodyDocId": null,
          "description": "Connecting to audience feelings rather than just logic",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Storyteller",
        "layer": "slide",
        "agents": [
          "Storyteller"
        ],
        "matchId": "019de947-c848-76de-88bc-a64611ea5d08",
        "evidence": "consumer-with-recycling-bag photo",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 70,
        "extraction": {
          "at": "2026-05-02 15:21:26.736795+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 10,
        "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": "019de947-c86d-75ac-b728-8171001e9dbb",
        "evidence": "recycling-bag visual reinforces theme",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 60,
        "extraction": {
          "at": "2026-05-02 15:21:26.736795+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 10,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Action Titles",
          "slug": "action-titles",
          "status": "active",
          "bestFor": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
          "canonId": "019dd956-ac70-700b-a608-ba58e78f5dcc",
          "version": 1,
          "bodyDocId": "816dad3c-9983-41c1-a86e-978ebd582841",
          "description": "The McKinsey-bred discipline of writing every slide title as a complete declarative sentence with a verb and an insight, not a topic label. Each title is a sub-claim that ladders up to the deck's governing thought; read in sequence, the titles reconstruct the executive summary.",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Architect",
        "layer": "slide",
        "agents": [
          "Architect"
        ],
        "matchId": "019de947-c8e0-7268-abf0-3d164e40f7b1",
        "evidence": "title: 'those working from home are more likely to engage in sustainable behaviours'",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
        "confidence": 80,
        "extraction": {
          "at": "2026-05-02 15:21:26.736795+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 11,
        "whyItWorks": "Solves two failure modes at once. (1) The buried claim: action titles place the conclusion on the page before any analysis is read, so a busy reader doesn't reverse-engineer it from the chart. (2) The spineless deck: because each title is a claim, slides have to ladder up to the governing thought; logical gaps become visible as topic-shaped titles in a sequence that no longer reads as a story.",
        "antipattern": "Topic labels disguised as titles — Volume by quarter, Key findings, Pricing strategy, Margins have been impacted. No verb, or a passive verb with no agent, or a fact (Revenue grew 12%) without the so-what. Also: titles that overreach the chart's evidence, multi-claim X-grew-but-Y-fell welded titles, and mechanical repetition of the same X-drove-Y template across the deck.",
        "cardinality": null,
        "narrativePurpose": "Forces the deck to carry its argument in the title bar so a senior reader can extract the recommendation without opening a single slide; converts a binder of topics into a navigable pyramid where every slide is a node defending the apex."
      },
      {
        "tool": {
          "name": "Annotation",
          "slug": "annotation",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-b5b9-7668-bf0e-3af99823ec5c",
          "version": 1,
          "bodyDocId": null,
          "description": "Adding explanatory labels to highlight key data points",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Designer",
        "layer": "slide",
        "agents": [
          "Designer"
        ],
        "matchId": "019de947-c92c-71e8-9ac6-e627741d5288",
        "evidence": "5 question labels annotate the lines",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 60,
        "extraction": {
          "at": "2026-05-02 15:21:26.736795+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 11,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Chart Selection Guide",
          "slug": "chart-selection-guide",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-b1a0-700b-ba17-0e16c4d5bcae",
          "version": 1,
          "bodyDocId": null,
          "description": "Choosing the right chart type for your data and message",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Designer",
        "layer": "slide",
        "agents": [
          "Designer"
        ],
        "matchId": "019de947-c907-7468-9d71-aa9e19ac7c75",
        "evidence": "two-line plot for cohort comparison",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 70,
        "extraction": {
          "at": "2026-05-02 15:21:26.736795+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 11,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Comparison frame",
          "slug": "comparison-frame",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd9e1-484b-7399-a4fc-d14644b99f93",
          "version": 1,
          "bodyDocId": null,
          "description": "Two or more states/subjects placed side by side to expose a gap.",
          "familyLabel": null,
          "categoryName": null,
          "categorySlug": null
        },
        "agent": null,
        "layer": "slide",
        "agents": null,
        "matchId": "ef9c8ea9-99a7-42fa-9176-0e32752654b8",
        "evidence": "The slide compares sustainable shopping behaviors between 'Work from home' and 'Work away from home' cohorts, using a line chart for visualization.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.7,
        "extraction": {
          "at": "2026-07-16 21:19:36.064058+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 11,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": "common",
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Action Titles",
          "slug": "action-titles",
          "status": "active",
          "bestFor": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
          "canonId": "019dd956-ac70-700b-a608-ba58e78f5dcc",
          "version": 1,
          "bodyDocId": "816dad3c-9983-41c1-a86e-978ebd582841",
          "description": "The McKinsey-bred discipline of writing every slide title as a complete declarative sentence with a verb and an insight, not a topic label. Each title is a sub-claim that ladders up to the deck's governing thought; read in sequence, the titles reconstruct the executive summary.",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Architect",
        "layer": "slide",
        "agents": [
          "Architect"
        ],
        "matchId": "019de947-c951-73f9-8830-3c5329222757",
        "evidence": "title: 'Price is the main blocker for those who don't shop sustainably'",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
        "confidence": 85,
        "extraction": {
          "at": "2026-05-02 15:21:26.736795+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 12,
        "whyItWorks": "Solves two failure modes at once. (1) The buried claim: action titles place the conclusion on the page before any analysis is read, so a busy reader doesn't reverse-engineer it from the chart. (2) The spineless deck: because each title is a claim, slides have to ladder up to the governing thought; logical gaps become visible as topic-shaped titles in a sequence that no longer reads as a story.",
        "antipattern": "Topic labels disguised as titles — Volume by quarter, Key findings, Pricing strategy, Margins have been impacted. No verb, or a passive verb with no agent, or a fact (Revenue grew 12%) without the so-what. Also: titles that overreach the chart's evidence, multi-claim X-grew-but-Y-fell welded titles, and mechanical repetition of the same X-drove-Y template across the deck.",
        "cardinality": null,
        "narrativePurpose": "Forces the deck to carry its argument in the title bar so a senior reader can extract the recommendation without opening a single slide; converts a binder of topics into a navigable pyramid where every slide is a node defending the apex."
      },
      {
        "tool": {
          "name": "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": "019de947-c99f-71aa-abed-12ad9a04170f",
        "evidence": "horizontal bar ranks barriers",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 65,
        "extraction": {
          "at": "2026-05-02 15:21:26.736795+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 12,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Pre-attentive Attributes",
          "slug": "pre-attentive-attributes",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-b61d-717f-a402-24ccbb4b60d8",
          "version": 1,
          "bodyDocId": null,
          "description": "Visual properties processed instantly: color, size, orientation, shape",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Designer",
        "layer": "slide",
        "agents": [
          "Designer"
        ],
        "matchId": "019de947-c9c4-716c-8370-15685fd0dd8b",
        "evidence": "oversized 44% pulls eye first",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 70,
        "extraction": {
          "at": "2026-05-02 15:21:26.736795+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 12,
        "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": "019de947-c97a-738c-a4d2-a97e160ef2e0",
        "evidence": "44% big number frames the diagnosis",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": "On every slide carrying a chart, number, list, or finding intended to inform a decision; whenever a draft title is descriptive rather than directive; whenever the deck will circulate without its author.",
        "confidence": 75,
        "extraction": {
          "at": "2026-05-02 15:21:26.736795+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 12,
        "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": "2x2 matrix",
          "slug": "matrix-2x2",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd9e1-50ab-72d1-8afb-3ab0a38e32a8",
          "version": 1,
          "bodyDocId": null,
          "description": "BCG matrix, importance/urgency, any axes-and-quadrants frame.",
          "familyLabel": null,
          "categoryName": null,
          "categorySlug": null
        },
        "agent": null,
        "layer": "slide",
        "agents": null,
        "matchId": "51ef399f-a719-4dca-80d6-48d4301de0e1",
        "evidence": "Although not a traditional 2x2 matrix, the slide presents a table with multiple loyalty drivers, which could be seen as a form of matrix.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.5,
        "extraction": {
          "at": "2026-07-16 21:19:36.17253+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 13,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": "common",
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Action Titles",
          "slug": "action-titles",
          "status": "active",
          "bestFor": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
          "canonId": "019dd956-ac70-700b-a608-ba58e78f5dcc",
          "version": 1,
          "bodyDocId": "816dad3c-9983-41c1-a86e-978ebd582841",
          "description": "The McKinsey-bred discipline of writing every slide title as a complete declarative sentence with a verb and an insight, not a topic label. Each title is a sub-claim that ladders up to the deck's governing thought; read in sequence, the titles reconstruct the executive summary.",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Architect",
        "layer": "slide",
        "agents": [
          "Architect"
        ],
        "matchId": "019de947-c9e8-715f-85d0-5a1fecd7df0e",
        "evidence": "title: 'Reliability is key to brand loyalty, but ethical/sustainable practices factor in'",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
        "confidence": 80,
        "extraction": {
          "at": "2026-05-02 15:21:26.736795+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 13,
        "whyItWorks": "Solves two failure modes at once. (1) The buried claim: action titles place the conclusion on the page before any analysis is read, so a busy reader doesn't reverse-engineer it from the chart. (2) The spineless deck: because each title is a claim, slides have to ladder up to the governing thought; logical gaps become visible as topic-shaped titles in a sequence that no longer reads as a story.",
        "antipattern": "Topic labels disguised as titles — Volume by quarter, Key findings, Pricing strategy, Margins have been impacted. No verb, or a passive verb with no agent, or a fact (Revenue grew 12%) without the so-what. Also: titles that overreach the chart's evidence, multi-claim X-grew-but-Y-fell welded titles, and mechanical repetition of the same X-drove-Y template across the deck.",
        "cardinality": null,
        "narrativePurpose": "Forces the deck to carry its argument in the title bar so a senior reader can extract the recommendation without opening a single slide; converts a binder of topics into a navigable pyramid where every slide is a node defending the apex."
      },
      {
        "tool": {
          "name": "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": "019de947-ca33-72de-a15a-73471ee8c585",
        "evidence": "callout discusses generational nuance vs the bars",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 55,
        "extraction": {
          "at": "2026-05-02 15:21:26.736795+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 13,
        "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": "019de947-ca0d-735e-826a-56c4c54237b7",
        "evidence": "horizontal bar ranks 10 loyalty drivers",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 70,
        "extraction": {
          "at": "2026-05-02 15:21:26.736795+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 13,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Action Titles",
          "slug": "action-titles",
          "status": "active",
          "bestFor": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
          "canonId": "019dd956-ac70-700b-a608-ba58e78f5dcc",
          "version": 1,
          "bodyDocId": "816dad3c-9983-41c1-a86e-978ebd582841",
          "description": "The McKinsey-bred discipline of writing every slide title as a complete declarative sentence with a verb and an insight, not a topic label. Each title is a sub-claim that ladders up to the deck's governing thought; read in sequence, the titles reconstruct the executive summary.",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Architect",
        "layer": "slide",
        "agents": [
          "Architect"
        ],
        "matchId": "019de947-ca57-71ed-bb06-e05aa2528cbc",
        "evidence": "title: 'Millennials are most likely to be thinking about sustainability while shopping'",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
        "confidence": 80,
        "extraction": {
          "at": "2026-05-02 15:21:26.736795+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 14,
        "whyItWorks": "Solves two failure modes at once. (1) The buried claim: action titles place the conclusion on the page before any analysis is read, so a busy reader doesn't reverse-engineer it from the chart. (2) The spineless deck: because each title is a claim, slides have to ladder up to the governing thought; logical gaps become visible as topic-shaped titles in a sequence that no longer reads as a story.",
        "antipattern": "Topic labels disguised as titles — Volume by quarter, Key findings, Pricing strategy, Margins have been impacted. No verb, or a passive verb with no agent, or a fact (Revenue grew 12%) without the so-what. Also: titles that overreach the chart's evidence, multi-claim X-grew-but-Y-fell welded titles, and mechanical repetition of the same X-drove-Y template across the deck.",
        "cardinality": null,
        "narrativePurpose": "Forces the deck to carry its argument in the title bar so a senior reader can extract the recommendation without opening a single slide; converts a binder of topics into a navigable pyramid where every slide is a node defending the apex."
      },
      {
        "tool": {
          "name": "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": "019de947-caa0-719f-9eb9-9cb44d99e76f",
        "evidence": "darker grey shades encode higher agreement",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 80,
        "extraction": {
          "at": "2026-05-02 15:21:26.736795+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 14,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Data Story Arc",
          "slug": "data-story-arc",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-9c30-728e-b974-d3fb123dcf5a",
          "version": 1,
          "bodyDocId": null,
          "description": "Context → Conflict → Insight → Implication structure for data narratives",
          "familyLabel": null,
          "categoryName": "Loop",
          "categorySlug": "loop"
        },
        "agent": "Storyteller",
        "layer": "slide",
        "agents": [
          "Storyteller"
        ],
        "matchId": "442a56d7-77eb-48c0-af77-3603e92fff86",
        "evidence": "The slide presents a narrative about Millennials being more likely to think about sustainability while shopping, using a table to show agreement percentages across generations.",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": null,
        "confidence": 0.7,
        "extraction": {
          "at": "2026-07-16 21:19:36.244077+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 14,
        "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": "019de947-ca7b-704b-a26e-8fecafce6d87",
        "evidence": "explicit 'Our insight:' callout warning of aspiration vs action",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": "On every slide carrying a chart, number, list, or finding intended to inform a decision; whenever a draft title is descriptive rather than directive; whenever the deck will circulate without its author.",
        "confidence": 85,
        "extraction": {
          "at": "2026-05-02 15:21:26.736795+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 14,
        "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": "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": "019de947-cac5-76ed-8e09-ce7e53ffcb7f",
        "evidence": "Millennial column outlined to direct the eye",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 65,
        "extraction": {
          "at": "2026-05-02 15:21:26.736795+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 14,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Action Titles",
          "slug": "action-titles",
          "status": "active",
          "bestFor": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
          "canonId": "019dd956-ac70-700b-a608-ba58e78f5dcc",
          "version": 1,
          "bodyDocId": "816dad3c-9983-41c1-a86e-978ebd582841",
          "description": "The McKinsey-bred discipline of writing every slide title as a complete declarative sentence with a verb and an insight, not a topic label. Each title is a sub-claim that ladders up to the deck's governing thought; read in sequence, the titles reconstruct the executive summary.",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Architect",
        "layer": "slide",
        "agents": [
          "Architect"
        ],
        "matchId": "019de947-cae9-72e9-873d-31cebf0d8260",
        "evidence": "section title + 'more focused on saving' callout",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
        "confidence": 65,
        "extraction": {
          "at": "2026-05-02 15:21:26.736795+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 15,
        "whyItWorks": "Solves two failure modes at once. (1) The buried claim: action titles place the conclusion on the page before any analysis is read, so a busy reader doesn't reverse-engineer it from the chart. (2) The spineless deck: because each title is a claim, slides have to ladder up to the governing thought; logical gaps become visible as topic-shaped titles in a sequence that no longer reads as a story.",
        "antipattern": "Topic labels disguised as titles — Volume by quarter, Key findings, Pricing strategy, Margins have been impacted. No verb, or a passive verb with no agent, or a fact (Revenue grew 12%) without the so-what. Also: titles that overreach the chart's evidence, multi-claim X-grew-but-Y-fell welded titles, and mechanical repetition of the same X-drove-Y template across the deck.",
        "cardinality": null,
        "narrativePurpose": "Forces the deck to carry its argument in the title bar so a senior reader can extract the recommendation without opening a single slide; converts a binder of topics into a navigable pyramid where every slide is a node defending the apex."
      },
      {
        "tool": {
          "name": "Emotional Appeal",
          "slug": "emotional-appeal",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-bde9-7668-8be7-0097678fec59",
          "version": 1,
          "bodyDocId": null,
          "description": "Connecting to audience feelings rather than just logic",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Storyteller",
        "layer": "slide",
        "agents": [
          "Storyteller"
        ],
        "matchId": "019de947-cb0e-722e-8145-89fbbd561d21",
        "evidence": "lifestyle photo on bold pink panel",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 65,
        "extraction": {
          "at": "2026-05-02 15:21:26.736795+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 15,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Monroe's Motivated Sequence",
          "slug": "monroes-motivated-sequence",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-8758-700f-83cf-d260a54ad24f",
          "version": 1,
          "bodyDocId": null,
          "description": "Five-step persuasion: Attention, Need, Satisfaction, Visualization, Action",
          "familyLabel": null,
          "categoryName": "Block",
          "categorySlug": "block"
        },
        "agent": "Storyteller",
        "layer": "slide",
        "agents": [
          "Storyteller"
        ],
        "matchId": "731cc676-9360-4c90-9487-74291769d219",
        "evidence": "The slide mentions consumers' increased focus on saving, which could be part of a larger narrative to persuade or motivate the audience.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.5,
        "extraction": {
          "at": "2026-07-16 21:19:36.31625+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 15,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "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": "019de947-cb32-76b9-9e4a-a1295ae0d5b8",
        "evidence": "consistent section-divider treatment",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 60,
        "extraction": {
          "at": "2026-05-02 15:21:26.736795+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 15,
        "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": "019de947-cba1-72c5-99e3-dfb28eb35aef",
        "evidence": "title: 'Price continues to dominate as the reason consumers shop online'",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
        "confidence": 80,
        "extraction": {
          "at": "2026-05-02 15:21:26.736795+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 16,
        "whyItWorks": "Solves two failure modes at once. (1) The buried claim: action titles place the conclusion on the page before any analysis is read, so a busy reader doesn't reverse-engineer it from the chart. (2) The spineless deck: because each title is a claim, slides have to ladder up to the governing thought; logical gaps become visible as topic-shaped titles in a sequence that no longer reads as a story.",
        "antipattern": "Topic labels disguised as titles — Volume by quarter, Key findings, Pricing strategy, Margins have been impacted. No verb, or a passive verb with no agent, or a fact (Revenue grew 12%) without the so-what. Also: titles that overreach the chart's evidence, multi-claim X-grew-but-Y-fell welded titles, and mechanical repetition of the same X-drove-Y template across the deck.",
        "cardinality": null,
        "narrativePurpose": "Forces the deck to carry its argument in the title bar so a senior reader can extract the recommendation without opening a single slide; converts a binder of topics into a navigable pyramid where every slide is a node defending the apex."
      },
      {
        "tool": {
          "name": "Chart Selection Guide",
          "slug": "chart-selection-guide",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-b1a0-700b-ba17-0e16c4d5bcae",
          "version": 1,
          "bodyDocId": null,
          "description": "Choosing the right chart type for your data and message",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Designer",
        "layer": "slide",
        "agents": [
          "Designer"
        ],
        "matchId": "019de947-cbc6-7758-9259-86782280145d",
        "evidence": "mini horizontal bars per category",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 65,
        "extraction": {
          "at": "2026-05-02 15:21:26.736795+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 16,
        "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": "e14e0d74-b31c-4415-9163-befdc127fa60",
        "evidence": "The slide features a bar chart comparing Price, Quality, and Convenience across categories, indicating consideration for effective chart selection.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.7,
        "extraction": {
          "at": "2026-07-16 21:19:36.386914+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 16,
        "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": "019de947-cbec-77ec-ac94-5a819cedf7f9",
        "evidence": "icon grid repeats same chart per category",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 80,
        "extraction": {
          "at": "2026-05-02 15:21:26.736795+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 16,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Action Titles",
          "slug": "action-titles",
          "status": "active",
          "bestFor": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
          "canonId": "019dd956-ac70-700b-a608-ba58e78f5dcc",
          "version": 1,
          "bodyDocId": "816dad3c-9983-41c1-a86e-978ebd582841",
          "description": "The McKinsey-bred discipline of writing every slide title as a complete declarative sentence with a verb and an insight, not a topic label. Each title is a sub-claim that ladders up to the deck's governing thought; read in sequence, the titles reconstruct the executive summary.",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Architect",
        "layer": "slide",
        "agents": [
          "Architect"
        ],
        "matchId": "019de947-cc11-77cd-b7cf-bd93c6123c50",
        "evidence": "title labels content; insight delivered in callout",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
        "confidence": 65,
        "extraction": {
          "at": "2026-05-02 15:21:26.736795+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 17,
        "whyItWorks": "Solves two failure modes at once. (1) The buried claim: action titles place the conclusion on the page before any analysis is read, so a busy reader doesn't reverse-engineer it from the chart. (2) The spineless deck: because each title is a claim, slides have to ladder up to the governing thought; logical gaps become visible as topic-shaped titles in a sequence that no longer reads as a story.",
        "antipattern": "Topic labels disguised as titles — Volume by quarter, Key findings, Pricing strategy, Margins have been impacted. No verb, or a passive verb with no agent, or a fact (Revenue grew 12%) without the so-what. Also: titles that overreach the chart's evidence, multi-claim X-grew-but-Y-fell welded titles, and mechanical repetition of the same X-drove-Y template across the deck.",
        "cardinality": null,
        "narrativePurpose": "Forces the deck to carry its argument in the title bar so a senior reader can extract the recommendation without opening a single slide; converts a binder of topics into a navigable pyramid where every slide is a node defending the apex."
      },
      {
        "tool": {
          "name": "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": "019de947-cc60-727d-aa0a-ea8e20941916",
        "evidence": "icon grid presents 12 categories uniformly",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 70,
        "extraction": {
          "at": "2026-05-02 15:21:26.736795+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 17,
        "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": "019de947-cc37-74ce-aac9-00b225cb4c4e",
        "evidence": "explicit 'Our insight:' callout on saving rates and dining shift",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": "On every slide carrying a chart, number, list, or finding intended to inform a decision; whenever a draft title is descriptive rather than directive; whenever the deck will circulate without its author.",
        "confidence": 80,
        "extraction": {
          "at": "2026-05-02 15:21:26.736795+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 17,
        "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": "019de947-cc86-7222-924c-7cc8ce1d6e1d",
        "evidence": "section header pairs with 43% callout",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
        "confidence": 65,
        "extraction": {
          "at": "2026-05-02 15:21:26.736795+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 18,
        "whyItWorks": "Solves two failure modes at once. (1) The buried claim: action titles place the conclusion on the page before any analysis is read, so a busy reader doesn't reverse-engineer it from the chart. (2) The spineless deck: because each title is a claim, slides have to ladder up to the governing thought; logical gaps become visible as topic-shaped titles in a sequence that no longer reads as a story.",
        "antipattern": "Topic labels disguised as titles — Volume by quarter, Key findings, Pricing strategy, Margins have been impacted. No verb, or a passive verb with no agent, or a fact (Revenue grew 12%) without the so-what. Also: titles that overreach the chart's evidence, multi-claim X-grew-but-Y-fell welded titles, and mechanical repetition of the same X-drove-Y template across the deck.",
        "cardinality": null,
        "narrativePurpose": "Forces the deck to carry its argument in the title bar so a senior reader can extract the recommendation without opening a single slide; converts a binder of topics into a navigable pyramid where every slide is a node defending the apex."
      },
      {
        "tool": {
          "name": "Audience Persona",
          "slug": "audience-persona",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-7fe3-74e9-88b8-be0bea34f219",
          "version": 1,
          "bodyDocId": null,
          "description": "Detailed fictional profile of typical audience member including goals, frustrations, and context",
          "familyLabel": null,
          "categoryName": "Block",
          "categorySlug": "block"
        },
        "agent": "Storyteller",
        "layer": "slide",
        "agents": [
          "Storyteller"
        ],
        "matchId": "04337b71-5442-43d0-afbd-94af74dcfffd",
        "evidence": "The slide mentions consumers' preferences for local activities, which could be related to understanding the audience's persona or demographics.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.5,
        "extraction": {
          "at": "2026-07-16 21:19:36.458418+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 18,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Emotional Appeal",
          "slug": "emotional-appeal",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-bde9-7668-8be7-0097678fec59",
          "version": 1,
          "bodyDocId": null,
          "description": "Connecting to audience feelings rather than just logic",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Storyteller",
        "layer": "slide",
        "agents": [
          "Storyteller"
        ],
        "matchId": "019de947-ccab-7278-9d0b-eb8958146957",
        "evidence": "lifestyle photo evokes local/at-home life",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 65,
        "extraction": {
          "at": "2026-05-02 15:21:26.736795+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 18,
        "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": "019de947-ccd4-72cf-9cdb-ff8568111105",
        "evidence": "section number '5' + bold theme title",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 60,
        "extraction": {
          "at": "2026-05-02 15:21:26.736795+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 18,
        "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": "019de947-cd49-7444-a6aa-82f13a618dd1",
        "evidence": "title: 'Consumers are more likely to say they go to big events'",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
        "confidence": 75,
        "extraction": {
          "at": "2026-05-02 15:21:26.736795+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 19,
        "whyItWorks": "Solves two failure modes at once. (1) The buried claim: action titles place the conclusion on the page before any analysis is read, so a busy reader doesn't reverse-engineer it from the chart. (2) The spineless deck: because each title is a claim, slides have to ladder up to the governing thought; logical gaps become visible as topic-shaped titles in a sequence that no longer reads as a story.",
        "antipattern": "Topic labels disguised as titles — Volume by quarter, Key findings, Pricing strategy, Margins have been impacted. No verb, or a passive verb with no agent, or a fact (Revenue grew 12%) without the so-what. Also: titles that overreach the chart's evidence, multi-claim X-grew-but-Y-fell welded titles, and mechanical repetition of the same X-drove-Y template across the deck.",
        "cardinality": null,
        "narrativePurpose": "Forces the deck to carry its argument in the title bar so a senior reader can extract the recommendation without opening a single slide; converts a binder of topics into a navigable pyramid where every slide is a node defending the apex."
      },
      {
        "tool": {
          "name": "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": "019de947-cd94-706a-b62f-2f48935c23fb",
        "evidence": "younger-cohort callout tied to demo table",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 60,
        "extraction": {
          "at": "2026-05-02 15:21:26.736795+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 19,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Call to action",
          "slug": "call-to-action",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd9e1-4bbb-702a-9ead-82daf188bb7c",
          "version": 1,
          "bodyDocId": null,
          "description": "Explicit prescription of what the audience should do next.",
          "familyLabel": null,
          "categoryName": null,
          "categorySlug": null
        },
        "agent": null,
        "layer": "slide",
        "agents": null,
        "matchId": "567a0cc3-14df-4ef7-8876-fe3a72cb20fc",
        "evidence": "The slide presents a finding about consumers' likelihood to attend events, which could be used to encourage or call to action the entertainment sector.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.5,
        "extraction": {
          "at": "2026-07-16 21:19:36.531449+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 19,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": "common",
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Chart Selection Guide",
          "slug": "chart-selection-guide",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-b1a0-700b-ba17-0e16c4d5bcae",
          "version": 1,
          "bodyDocId": null,
          "description": "Choosing the right chart type for your data and message",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Designer",
        "layer": "slide",
        "agents": [
          "Designer"
        ],
        "matchId": "019de947-cd6f-7552-b2b6-e351c763840c",
        "evidence": "stacked bars + demographic table",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 70,
        "extraction": {
          "at": "2026-05-02 15:21:26.736795+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 19,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Action Titles",
          "slug": "action-titles",
          "status": "active",
          "bestFor": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
          "canonId": "019dd956-ac70-700b-a608-ba58e78f5dcc",
          "version": 1,
          "bodyDocId": "816dad3c-9983-41c1-a86e-978ebd582841",
          "description": "The McKinsey-bred discipline of writing every slide title as a complete declarative sentence with a verb and an insight, not a topic label. Each title is a sub-claim that ladders up to the deck's governing thought; read in sequence, the titles reconstruct the executive summary.",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Architect",
        "layer": "slide",
        "agents": [
          "Architect"
        ],
        "matchId": "019de947-cdba-703f-88cf-cb5d29fab50a",
        "evidence": "title: 'Consumers are more willing to travel'",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
        "confidence": 80,
        "extraction": {
          "at": "2026-05-02 15:21:26.736795+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 20,
        "whyItWorks": "Solves two failure modes at once. (1) The buried claim: action titles place the conclusion on the page before any analysis is read, so a busy reader doesn't reverse-engineer it from the chart. (2) The spineless deck: because each title is a claim, slides have to ladder up to the governing thought; logical gaps become visible as topic-shaped titles in a sequence that no longer reads as a story.",
        "antipattern": "Topic labels disguised as titles — Volume by quarter, Key findings, Pricing strategy, Margins have been impacted. No verb, or a passive verb with no agent, or a fact (Revenue grew 12%) without the so-what. Also: titles that overreach the chart's evidence, multi-claim X-grew-but-Y-fell welded titles, and mechanical repetition of the same X-drove-Y template across the deck.",
        "cardinality": null,
        "narrativePurpose": "Forces the deck to carry its argument in the title bar so a senior reader can extract the recommendation without opening a single slide; converts a binder of topics into a navigable pyramid where every slide is a node defending the apex."
      },
      {
        "tool": {
          "name": "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": "019de947-ce06-74a7-8305-78ccd697544b",
        "evidence": "+%-point deltas annotate March vs June",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 65,
        "extraction": {
          "at": "2026-05-02 15:21:26.736795+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 20,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Before/after framing",
          "slug": "before-after-framing",
          "status": "active",
          "bestFor": "For turnaround / reform proposals",
          "canonId": "019dd9e1-528b-72ec-a563-e5dcb9410f67",
          "version": 1,
          "bodyDocId": "019dd9a1-80bf-72e9-980b-ccd1c0cd3488",
          "description": "You visualise two futures side by side: the trajectory the target is on\ntoday, and the trajectory under your proposed intervention. The reader\nhas to see the delta to feel the stakes.\n\nIt's the rhetorical cousin of the peer-gap — same visual grammar\n(comparison), but across **time** instead of across peers.",
          "familyLabel": null,
          "categoryName": null,
          "categorySlug": null
        },
        "agent": null,
        "layer": "slide",
        "agents": null,
        "matchId": "d9632f90-6aa6-446c-9ec1-8b7d2049b6f1",
        "evidence": "The slide shows a comparison of travel sentiment between two time periods, using a stacked bar chart to visualize the change.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": "For turnaround / reform proposals",
        "confidence": 0.7,
        "extraction": {
          "at": "2026-07-16 21:19:36.603909+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 20,
        "whyItWorks": "- It **quantifies the opportunity cost** of inaction. \"Doing nothing\"\n  becomes a concrete, visible path, not an abstraction.\n- It **makes the Answer tangible**. The prescription isn't a paragraph;\n  it's a trajectory the reader can point at.\n- It **pre-empts the status-quo defence**. Management usually argues \"we\n  have a plan\". Your chart shows what their plan looks like vs. yours.\n- It **satisfies both the Architect** (math adds up) **and the Storyteller**\n  (emotional delta between two futures).",
        "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": "019de947-cde2-7399-84f8-fa36b99fa49d",
        "evidence": "stacked bars compare 5 travel categories",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 70,
        "extraction": {
          "at": "2026-05-02 15:21:26.736795+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 20,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Action Titles",
          "slug": "action-titles",
          "status": "active",
          "bestFor": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
          "canonId": "019dd956-ac70-700b-a608-ba58e78f5dcc",
          "version": 1,
          "bodyDocId": "816dad3c-9983-41c1-a86e-978ebd582841",
          "description": "The McKinsey-bred discipline of writing every slide title as a complete declarative sentence with a verb and an insight, not a topic label. Each title is a sub-claim that ladders up to the deck's governing thought; read in sequence, the titles reconstruct the executive summary.",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Architect",
        "layer": "slide",
        "agents": [
          "Architect"
        ],
        "matchId": "019de947-ce50-776d-8a40-17a87ee144da",
        "evidence": "title: 'More consumers are shopping locally'",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
        "confidence": 80,
        "extraction": {
          "at": "2026-05-02 15:21:26.736795+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 21,
        "whyItWorks": "Solves two failure modes at once. (1) The buried claim: action titles place the conclusion on the page before any analysis is read, so a busy reader doesn't reverse-engineer it from the chart. (2) The spineless deck: because each title is a claim, slides have to ladder up to the governing thought; logical gaps become visible as topic-shaped titles in a sequence that no longer reads as a story.",
        "antipattern": "Topic labels disguised as titles — Volume by quarter, Key findings, Pricing strategy, Margins have been impacted. No verb, or a passive verb with no agent, or a fact (Revenue grew 12%) without the so-what. Also: titles that overreach the chart's evidence, multi-claim X-grew-but-Y-fell welded titles, and mechanical repetition of the same X-drove-Y template across the deck.",
        "cardinality": null,
        "narrativePurpose": "Forces the deck to carry its argument in the title bar so a senior reader can extract the recommendation without opening a single slide; converts a binder of topics into a navigable pyramid where every slide is a node defending the apex."
      },
      {
        "tool": {
          "name": "Audience Definition",
          "slug": "audience-definition",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-7f2a-775d-aeee-ff099bcb7756",
          "version": 1,
          "bodyDocId": null,
          "description": "Six key questions: Who are they? What do they know? What do they believe? What do they care about? What do they fear? What decisions can they make?",
          "familyLabel": null,
          "categoryName": "Block",
          "categorySlug": "block"
        },
        "agent": "Storyteller",
        "layer": "slide",
        "agents": [
          "Storyteller"
        ],
        "matchId": "efe0193d-2cd6-4e4c-a237-62650f05c1bb",
        "evidence": "Local can also be interpreted in terms of shopping in-store in one's neighbourhood or postal code.",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": null,
        "confidence": 0.7,
        "extraction": {
          "at": "2026-07-16 21:19:39.478955+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 21,
        "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": "019de947-ce76-752f-bf28-a96ce98658a1",
        "evidence": "two stacked bars compare two time points",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 65,
        "extraction": {
          "at": "2026-05-02 15:21:26.736795+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 21,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Pyramid Principle",
          "slug": "pyramid-principle",
          "status": "active",
          "bestFor": "When the document has a single governing decision or recommendation the reader is asked to accept, and the case can be decomposed into a small number of clean groups. Strategy decks, board memos, investment committee papers.",
          "canonId": "019dd956-7cbd-7219-a477-c871e2bc1aff",
          "version": 1,
          "bodyDocId": "88b6ac56-b880-46f9-8621-ef3491ab6235",
          "description": "Lead with the answer; group three to five MECE supports beneath it; recurse one level down. Top-down hierarchical structure for any document with a single recommendation.",
          "familyLabel": null,
          "categoryName": "Block",
          "categorySlug": "block"
        },
        "agent": "Architect",
        "layer": "slide",
        "agents": [
          "Architect"
        ],
        "matchId": "aa201899-9958-4a3f-af0f-42ef2d6cb000",
        "evidence": "Our insight: For the most part, consumers will be quite cautious about what they do in the world outside their home.",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": "When the document has a single governing decision or recommendation the reader is asked to accept, and the case can be decomposed into a small number of clean groups. Strategy decks, board memos, investment committee papers.",
        "confidence": 0.5,
        "extraction": {
          "at": "2026-07-16 21:19:39.512643+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 21,
        "whyItWorks": "Solves the two failure modes of expert communication at once: (1) the long climb where readers wait pages for the answer, and (2) logical mush from non-MECE groupings. Progressive disclosure lets a reader stop at any depth and get the right information.",
        "antipattern": "Chronological structure (\"what we did, what we found, what we conclude\") instead of logical hierarchy. Top-of-pyramid that is a topic (\"strategic options\") instead of an answer (\"pursue Option B because...\"). Non-MECE supports that overlap or fail to cover the universe.",
        "cardinality": null,
        "narrativePurpose": "Transfer conviction with minimum reader effort by mirroring how decision-makers consume information: answer first, scaffolding behind."
      },
      {
        "tool": {
          "name": "Before-After-Bridge",
          "slug": "before-after-bridge",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-8604-7188-883f-42370288ad05",
          "version": 1,
          "bodyDocId": null,
          "description": "Narrative structure: Paint the before, show the after, explain the bridge",
          "familyLabel": null,
          "categoryName": "Block",
          "categorySlug": "block"
        },
        "agent": "Storyteller",
        "layer": "slide",
        "agents": [
          "Storyteller"
        ],
        "matchId": "1fb5d13d-ef98-4ddf-b198-ad02ac64d052",
        "evidence": "And now the animal spirits of the economy are starting to stir.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.8,
        "extraction": {
          "at": "2026-07-16 21:19:39.579759+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 22,
        "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": "019de947-ce9a-7123-8c2a-d5b0a86101bb",
        "evidence": "memorable line 'Light at the end of the tunnel' + soft CTA to companies",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 80,
        "extraction": {
          "at": "2026-05-02 15:21:26.736795+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 22,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Concrete Language",
          "slug": "concrete-language",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-bcd4-7398-9723-6aa72346170b",
          "version": 1,
          "bodyDocId": null,
          "description": "Using specific sensory details instead of abstract terms",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Storyteller",
        "layer": "slide",
        "agents": [
          "Storyteller"
        ],
        "matchId": "019de947-cee7-71b3-9c2e-99451d78cc00",
        "evidence": "specific GDP/vaccine numbers anchor the close",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 65,
        "extraction": {
          "at": "2026-05-02 15:21:26.736795+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 22,
        "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": "7eea6d3d-d797-4c0b-bd71-e43e8dd50d85",
        "evidence": "Even though the pandemic continues to devastate nations such as India and Brazil, some light is appearing at the end of this long, dark tunnel.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.6,
        "extraction": {
          "at": "2026-07-16 21:19:39.612631+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 22,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Emotional Appeal",
          "slug": "emotional-appeal",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-bde9-7668-8be7-0097678fec59",
          "version": 1,
          "bodyDocId": null,
          "description": "Connecting to audience feelings rather than just logic",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Storyteller",
        "layer": "slide",
        "agents": [
          "Storyteller"
        ],
        "matchId": "019de947-cec0-745b-a725-3e9102b1bb8b",
        "evidence": "warm grocery-shopper photo + uplifting tone",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 70,
        "extraction": {
          "at": "2026-05-02 15:21:26.736795+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 22,
        "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": "019de947-cf0c-73bf-82a7-b244d22acfa1",
        "evidence": "italic display title above body copy",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 60,
        "extraction": {
          "at": "2026-05-02 15:21:26.736795+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 22,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Section divider",
          "slug": "section-divider",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd9e1-4c66-707d-8d1f-6e14547134c7",
          "version": 1,
          "bodyDocId": null,
          "description": "A transitional slide marking the start of a new section.",
          "familyLabel": null,
          "categoryName": null,
          "categorySlug": null
        },
        "agent": null,
        "layer": "slide",
        "agents": null,
        "matchId": "818844d0-9c04-44da-b6ca-c0b5dd59e430",
        "evidence": "Methodology / Contacts",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.9,
        "extraction": {
          "at": "2026-07-16 21:19:39.679186+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 23,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": "common",
        "narrativePurpose": null
      }
    ],
    "frameworks": [
      {
        "matchId": "019de947-cf31-7032-9ac0-66251be7b89d",
        "evidence": "6 generations x 5 sustainability statements with grey-shade encoding",
        "framework": null,
        "confidence": 90,
        "extraction": {
          "at": "2026-05-02 15:21:26.736795+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 14,
        "frameworkName": "Heatmap matrix"
      }
    ],
    "patterns": []
  },
  "storymakers": {
    "model": "claude-cli",
    "backend": "claude",
    "rawJson": {
      "arc": {
        "id": 11,
        "slug": "triple-take",
        "beats": [
          {
            "name": "The Facts (What)",
            "end_page": 21,
            "evidence": "p2 stacked-bar of 8 change dimensions then 5 trend buckets with charts/tables",
            "position": 1,
            "start_page": 2
          },
          {
            "name": "The Implications (So What)",
            "end_page": 22,
            "evidence": "p22 'behaviour changes will have become habit' synthesis",
            "position": 2,
            "start_page": 22
          },
          {
            "name": "The Action (Now What)",
            "end_page": 22,
            "evidence": "p22 closing 'savvy consumer companies will be alert... own adaptations'",
            "position": 3,
            "start_page": 22
          }
        ],
        "evidence": "p2 frames the facts (8 dimensions of consumer change), p3-21 supply data evidence, p22 delivers the implication and soft call to action.",
        "confidence": 70
      },
      "loops": [
        {
          "id": 6,
          "slug": "06-zoom-in",
          "end_page": 5,
          "evidence": "p3 thematic intro, p4 channel split chart, p5 online-shopper priorities table",
          "position": 1,
          "objective": "Zoom from 'more digital' theme into channel-mix and online-shopper priority data",
          "confidence": 75,
          "start_page": 3
        },
        {
          "id": 6,
          "slug": "06-zoom-in",
          "end_page": 9,
          "evidence": "p6 intro, p7 spending by work-location, p8 cohort vs global, p9 health-vs-eco priority",
          "position": 2,
          "objective": "Zoom from 'more health-conscious' theme into spending, cohort and trade-off data",
          "confidence": 80,
          "start_page": 6
        },
        {
          "id": 6,
          "slug": "06-zoom-in",
          "end_page": 14,
          "evidence": "p10 intro, p11 WFH vs onsite line chart, p12 price barrier, p13 loyalty drivers, p14 generational heatmap",
          "position": 3,
          "objective": "Zoom from 'more eco-friendly' theme into behaviour, blockers and generational nuance",
          "confidence": 80,
          "start_page": 10
        },
        {
          "id": 6,
          "slug": "06-zoom-in",
          "end_page": 17,
          "evidence": "p15 intro, p16 price-driver bars by category, p17 spending-intent icon grid",
          "position": 4,
          "objective": "Zoom from 'more price-sensitive' theme into purchase drivers and category outlook",
          "confidence": 78,
          "start_page": 15
        },
        {
          "id": 6,
          "slug": "06-zoom-in",
          "end_page": 21,
          "evidence": "p18 intro, p19 mass-events, p20 travel willingness, p21 local-shopping support",
          "position": 5,
          "objective": "Zoom from 'more local' theme into mass-event, travel and local-shopping deltas",
          "confidence": 78,
          "start_page": 18
        }
      ],
      "slide_tools": [
        {
          "tools": [
            {
              "id": 123,
              "slug": "opening-hooks",
              "layer": "Slide",
              "evidence": "title 'Changed for good' with shopping-bag motif",
              "confidence": 75
            },
            {
              "id": 154,
              "slug": "concrete-language",
              "layer": "Slide",
              "evidence": "callout pins claim: 'trends are sticking'",
              "confidence": 65
            },
            {
              "id": 165,
              "slug": "picture-superiority-effect",
              "layer": "Slide",
              "evidence": "stylised shopping-bag illustration anchors theme",
              "confidence": 60
            }
          ],
          "page_number": 1
        },
        {
          "tools": [
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "title states insight: 'changing across many different dimensions'",
              "confidence": 85
            },
            {
              "id": 125,
              "slug": "data-ink-ratio",
              "layer": "Slide",
              "evidence": "clean 100% stacked bar, no chartjunk",
              "confidence": 75
            },
            {
              "id": 132,
              "slug": "visual-hierarchy",
              "layer": "Slide",
              "evidence": "yellow narrative panel vs white data panel",
              "confidence": 70
            },
            {
              "id": 130,
              "slug": "color-strategy",
              "layer": "Slide",
              "evidence": "pink=more, gold=same, dark=less encodes sentiment",
              "confidence": 70
            },
            {
              "id": 2,
              "slug": "mece-principle",
              "layer": "Block",
              "evidence": "8 dimensions cover change without overlap",
              "confidence": 65
            },
            {
              "id": 80,
              "slug": "data-story-arc",
              "layer": "Loop",
              "evidence": "context-conflict-insight set up here",
              "confidence": 70
            }
          ],
          "page_number": 2
        },
        {
          "tools": [
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "callout 'shift to digital has accelerated dramatically'",
              "confidence": 70
            },
            {
              "id": 156,
              "slug": "emotional-appeal",
              "layer": "Slide",
              "evidence": "lifestyle photo paired with section opener",
              "confidence": 60
            },
            {
              "id": 132,
              "slug": "visual-hierarchy",
              "layer": "Slide",
              "evidence": "section number '1' + bold theme title",
              "confidence": 65
            },
            {
              "id": 78,
              "slug": "contrast-pairs",
              "layer": "Loop",
              "evidence": "loop opens digital-vs-in-store comparison thread",
              "confidence": 70
            },
            {
              "id": 26,
              "slug": "before-after-bridge",
              "layer": "Block",
              "evidence": "block compares pre-pandemic vs current digital habits",
              "confidence": 65
            }
          ],
          "page_number": 3
        },
        {
          "tools": [
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "title: 'Online shopping continues to grow, in-store has recovered somewhat'",
              "confidence": 85
            },
            {
              "id": 129,
              "slug": "chart-selection-guide",
              "layer": "Slide",
              "evidence": "grouped bars chosen to compare channel frequencies",
              "confidence": 75
            },
            {
              "id": 133,
              "slug": "small-multiples",
              "layer": "Slide",
              "evidence": "Exhibit 2+3 same chart pattern across categories/markets",
              "confidence": 70
            },
            {
              "id": 138,
              "slug": "annotation",
              "layer": "Slide",
              "evidence": "callout 'gap between mobile and in-store is closing' annotates the chart",
              "confidence": 65
            }
          ],
          "page_number": 4
        },
        {
          "tools": [
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "title states insight on fast delivery and availability",
              "confidence": 80
            },
            {
              "id": 119,
              "slug": "so-what-test",
              "layer": "Slide",
              "evidence": "explicit 'Our insight:' callout",
              "confidence": 85
            },
            {
              "id": 129,
              "slug": "chart-selection-guide",
              "layer": "Slide",
              "evidence": "comparison table for two time periods",
              "confidence": 70
            }
          ],
          "page_number": 5
        },
        {
          "tools": [
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "section title pairs with callout asserting the trend",
              "confidence": 70
            },
            {
              "id": 156,
              "slug": "emotional-appeal",
              "layer": "Slide",
              "evidence": "aspirational runner photo + bold pink panel",
              "confidence": 75
            },
            {
              "id": 132,
              "slug": "visual-hierarchy",
              "layer": "Slide",
              "evidence": "large numeral '2' anchors section position",
              "confidence": 65
            },
            {
              "id": 78,
              "slug": "contrast-pairs",
              "layer": "Loop",
              "evidence": "WFH vs WAFH thread opens in this loop",
              "confidence": 65
            },
            {
              "id": 80,
              "slug": "data-story-arc",
              "layer": "Loop",
              "evidence": "loop sets context-conflict-insight on health",
              "confidence": 65
            }
          ],
          "page_number": 6
        },
        {
          "tools": [
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "title: 'those working at home expect to spend more in health-related categories'",
              "confidence": 80
            },
            {
              "id": 129,
              "slug": "chart-selection-guide",
              "layer": "Slide",
              "evidence": "grouped bars for spend cohorts; table for regional concern",
              "confidence": 70
            },
            {
              "id": 133,
              "slug": "small-multiples",
              "layer": "Slide",
              "evidence": "Exhibit 5 + Exhibit 6 paired exhibits",
              "confidence": 65
            },
            {
              "id": 138,
              "slug": "annotation",
              "layer": "Slide",
              "evidence": "callout adds regional 25% concern context",
              "confidence": 60
            }
          ],
          "page_number": 7
        },
        {
          "tools": [
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "title: 'health- and safety-conscious consumers report shopping less in physical stores'",
              "confidence": 80
            },
            {
              "id": 129,
              "slug": "chart-selection-guide",
              "layer": "Slide",
              "evidence": "grouped bars across 7 categories",
              "confidence": 70
            },
            {
              "id": 138,
              "slug": "annotation",
              "layer": "Slide",
              "evidence": "category icons annotate each bar pair",
              "confidence": 60
            }
          ],
          "page_number": 8
        },
        {
          "tools": [
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "title: 'Most shoppers put health and safety concerns above environmental concerns'",
              "confidence": 80
            },
            {
              "id": 125,
              "slug": "data-ink-ratio",
              "layer": "Slide",
              "evidence": "uncluttered 100% stacked bar with three bars",
              "confidence": 65
            },
            {
              "id": 129,
              "slug": "chart-selection-guide",
              "layer": "Slide",
              "evidence": "100% stacked bar for sentiment composition",
              "confidence": 65
            }
          ],
          "page_number": 9
        },
        {
          "tools": [
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "section title + 50% callout",
              "confidence": 65
            },
            {
              "id": 156,
              "slug": "emotional-appeal",
              "layer": "Slide",
              "evidence": "consumer-with-recycling-bag photo",
              "confidence": 70
            },
            {
              "id": 165,
              "slug": "picture-superiority-effect",
              "layer": "Slide",
              "evidence": "recycling-bag visual reinforces theme",
              "confidence": 60
            },
            {
              "id": 78,
              "slug": "contrast-pairs",
              "layer": "Loop",
              "evidence": "eco loop contrasts aspiration vs action through p14",
              "confidence": 65
            },
            {
              "id": 80,
              "slug": "data-story-arc",
              "layer": "Loop",
              "evidence": "loop builds: claim-evidence-barrier-nuance",
              "confidence": 70
            }
          ],
          "page_number": 10
        },
        {
          "tools": [
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "title: 'those working from home are more likely to engage in sustainable behaviours'",
              "confidence": 80
            },
            {
              "id": 129,
              "slug": "chart-selection-guide",
              "layer": "Slide",
              "evidence": "two-line plot for cohort comparison",
              "confidence": 70
            },
            {
              "id": 138,
              "slug": "annotation",
              "layer": "Slide",
              "evidence": "5 question labels annotate the lines",
              "confidence": 60
            }
          ],
          "page_number": 11
        },
        {
          "tools": [
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "title: 'Price is the main blocker for those who don't shop sustainably'",
              "confidence": 85
            },
            {
              "id": 119,
              "slug": "so-what-test",
              "layer": "Slide",
              "evidence": "44% big number frames the diagnosis",
              "confidence": 75
            },
            {
              "id": 129,
              "slug": "chart-selection-guide",
              "layer": "Slide",
              "evidence": "horizontal bar ranks barriers",
              "confidence": 65
            },
            {
              "id": 139,
              "slug": "pre-attentive-attributes",
              "layer": "Slide",
              "evidence": "oversized 44% pulls eye first",
              "confidence": 70
            }
          ],
          "page_number": 12
        },
        {
          "tools": [
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "title: 'Reliability is key to brand loyalty, but ethical/sustainable practices factor in'",
              "confidence": 80
            },
            {
              "id": 129,
              "slug": "chart-selection-guide",
              "layer": "Slide",
              "evidence": "horizontal bar ranks 10 loyalty drivers",
              "confidence": 70
            },
            {
              "id": 138,
              "slug": "annotation",
              "layer": "Slide",
              "evidence": "callout discusses generational nuance vs the bars",
              "confidence": 55
            }
          ],
          "page_number": 13
        },
        {
          "tools": [
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "title: 'Millennials are most likely to be thinking about sustainability while shopping'",
              "confidence": 80
            },
            {
              "id": 119,
              "slug": "so-what-test",
              "layer": "Slide",
              "evidence": "explicit 'Our insight:' callout warning of aspiration vs action",
              "confidence": 85
            },
            {
              "id": 130,
              "slug": "color-strategy",
              "layer": "Slide",
              "evidence": "darker grey shades encode higher agreement",
              "confidence": 80
            },
            {
              "id": 132,
              "slug": "visual-hierarchy",
              "layer": "Slide",
              "evidence": "Millennial column outlined to direct the eye",
              "confidence": 65
            }
          ],
          "page_number": 14
        },
        {
          "tools": [
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "section title + 'more focused on saving' callout",
              "confidence": 65
            },
            {
              "id": 156,
              "slug": "emotional-appeal",
              "layer": "Slide",
              "evidence": "lifestyle photo on bold pink panel",
              "confidence": 65
            },
            {
              "id": 132,
              "slug": "visual-hierarchy",
              "layer": "Slide",
              "evidence": "consistent section-divider treatment",
              "confidence": 60
            },
            {
              "id": 78,
              "slug": "contrast-pairs",
              "layer": "Loop",
              "evidence": "loop contrasts price vs other purchase drivers",
              "confidence": 60
            },
            {
              "id": 80,
              "slug": "data-story-arc",
              "layer": "Loop",
              "evidence": "loop establishes price-sensitive context then drives to category outlook",
              "confidence": 60
            }
          ],
          "page_number": 15
        },
        {
          "tools": [
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "title: 'Price continues to dominate as the reason consumers shop online'",
              "confidence": 80
            },
            {
              "id": 129,
              "slug": "chart-selection-guide",
              "layer": "Slide",
              "evidence": "mini horizontal bars per category",
              "confidence": 65
            },
            {
              "id": 133,
              "slug": "small-multiples",
              "layer": "Slide",
              "evidence": "icon grid repeats same chart per category",
              "confidence": 80
            }
          ],
          "page_number": 16
        },
        {
          "tools": [
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "title labels content; insight delivered in callout",
              "confidence": 65
            },
            {
              "id": 119,
              "slug": "so-what-test",
              "layer": "Slide",
              "evidence": "explicit 'Our insight:' callout on saving rates and dining shift",
              "confidence": 80
            },
            {
              "id": 133,
              "slug": "small-multiples",
              "layer": "Slide",
              "evidence": "icon grid presents 12 categories uniformly",
              "confidence": 70
            }
          ],
          "page_number": 17
        },
        {
          "tools": [
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "section header pairs with 43% callout",
              "confidence": 65
            },
            {
              "id": 156,
              "slug": "emotional-appeal",
              "layer": "Slide",
              "evidence": "lifestyle photo evokes local/at-home life",
              "confidence": 65
            },
            {
              "id": 132,
              "slug": "visual-hierarchy",
              "layer": "Slide",
              "evidence": "section number '5' + bold theme title",
              "confidence": 60
            },
            {
              "id": 78,
              "slug": "contrast-pairs",
              "layer": "Loop",
              "evidence": "loop contrasts cautious-vs-returning behaviour",
              "confidence": 65
            },
            {
              "id": 80,
              "slug": "data-story-arc",
              "layer": "Loop",
              "evidence": "loop builds toward 'cautious return' synthesis",
              "confidence": 60
            }
          ],
          "page_number": 18
        },
        {
          "tools": [
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "title: 'Consumers are more likely to say they go to big events'",
              "confidence": 75
            },
            {
              "id": 129,
              "slug": "chart-selection-guide",
              "layer": "Slide",
              "evidence": "stacked bars + demographic table",
              "confidence": 70
            },
            {
              "id": 138,
              "slug": "annotation",
              "layer": "Slide",
              "evidence": "younger-cohort callout tied to demo table",
              "confidence": 60
            }
          ],
          "page_number": 19
        },
        {
          "tools": [
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "title: 'Consumers are more willing to travel'",
              "confidence": 80
            },
            {
              "id": 129,
              "slug": "chart-selection-guide",
              "layer": "Slide",
              "evidence": "stacked bars compare 5 travel categories",
              "confidence": 70
            },
            {
              "id": 138,
              "slug": "annotation",
              "layer": "Slide",
              "evidence": "+%-point deltas annotate March vs June",
              "confidence": 65
            },
            {
              "id": 26,
              "slug": "before-after-bridge",
              "layer": "Block",
              "evidence": "explicit March 2021 vs June 2021 comparison",
              "confidence": 65
            }
          ],
          "page_number": 20
        },
        {
          "tools": [
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "title: 'More consumers are shopping locally'",
              "confidence": 80
            },
            {
              "id": 129,
              "slug": "chart-selection-guide",
              "layer": "Slide",
              "evidence": "two stacked bars compare two time points",
              "confidence": 65
            }
          ],
          "page_number": 21
        },
        {
          "tools": [
            {
              "id": 124,
              "slug": "closing-techniques",
              "layer": "Slide",
              "evidence": "memorable line 'Light at the end of the tunnel' + soft CTA to companies",
              "confidence": 80
            },
            {
              "id": 156,
              "slug": "emotional-appeal",
              "layer": "Slide",
              "evidence": "warm grocery-shopper photo + uplifting tone",
              "confidence": 70
            },
            {
              "id": 154,
              "slug": "concrete-language",
              "layer": "Slide",
              "evidence": "specific GDP/vaccine numbers anchor the close",
              "confidence": 65
            },
            {
              "id": 132,
              "slug": "visual-hierarchy",
              "layer": "Slide",
              "evidence": "italic display title above body copy",
              "confidence": 60
            }
          ],
          "page_number": 22
        }
      ],
      "slides_seen": 24,
      "deck_summary": "Solid PwC research report: rigorous action titles, explicit 'Our insight' callouts, and clean charts give moderate Storymakers alignment, but the deck stays in pattern-hunter/zoom-in mode and never converts insight into a clear recommendation arc.",
      "secondary_arcs": [
        {
          "id": 13,
          "slug": "mountain",
          "beats": [
            {
              "name": "Setup & Stakes",
              "end_page": 2,
              "evidence": "p2 establishes change is happening across 8 dimensions",
              "position": 1,
              "start_page": 1
            },
            {
              "name": "Rising Action",
              "end_page": 17,
              "evidence": "trends 1-4 stack evidence: digital, health, eco, price",
              "position": 2,
              "start_page": 3
            },
            {
              "name": "Climax",
              "end_page": 21,
              "evidence": "fifth trend (local) caps the inductive set",
              "position": 3,
              "start_page": 18
            },
            {
              "name": "Resolution",
              "end_page": 22,
              "evidence": "p22 'Light at the end of the tunnel' resolves the arc",
              "position": 4,
              "start_page": 22
            }
          ],
          "evidence": "Setup at p1-2, rising evidence through 5 trend sections p3-21, resolution at p22.",
          "confidence": 45
        }
      ],
      "images_inspected": 3,
      "slide_frameworks": [
        {
          "frameworks": [
            {
              "name": "Heatmap matrix",
              "slug": "heatmap-matrix",
              "evidence": "6 generations x 5 sustainability statements with grey-shade encoding",
              "confidence": 90
            }
          ],
          "page_number": 14
        }
      ]
    },
    "matchedAt": "2026-05-02 15:21:26.909+00",
    "slidesSeen": 24,
    "deckSummary": "Solid PwC research report: rigorous action titles, explicit 'Our insight' callouts, and clean charts give moderate Storymakers alignment, but the deck stays in pattern-hunter/zoom-in mode and never converts insight into a clear recommendation arc.",
    "imagesInspected": 3,
    "extractionSeconds": 347.881
  },
  "score": {
    "backend": "codex",
    "scoredAt": "2026-05-02 17:31:16.117+00",
    "subScores": {
      "scqa_arc": 60,
      "action_titles": 74,
      "mece_structure": 72,
      "closing_strength": 45,
      "evidence_quality": 84,
      "clarity_of_thesis": 86,
      "production_quality": 69,
      "visual_storytelling": 78
    },
    "totalScore": 71,
    "coveragePct": 100,
    "explanations": {
      "scqa_arc": "The deck establishes situation and evidence in slides 1-2, then proceeds trend by trend, but it lacks a sharply stated complication and question, making it closer to an analytical survey dump than a full SCQA arc.",
      "action_titles": "Most analytical pages use insight-bearing titles, for example slide 4: \"Online shopping continues to grow, but in-store has recovered somewhat,\" but section pages such as slides 3, 10, 15, and 18 are topic labels.",
      "mece_structure": "The five-change structure across slides 3, 6, 10, 15, and 18 is clear, but it is not fully MECE because price, digital behavior, local shopping, and sustainability barriers overlap across slides 12, 16, and 21.",
      "closing_strength": "Slides 22-24 provide a recovery summary, methodology, contacts, and disclaimer, but the deck does not end with a clear recommendation, decision, or next-step agenda.",
      "evidence_quality": "Claims are strongly backed by survey data, charts, cohorts, and regional comparisons across slides 2, 4, 7, 11, 14, 16, 19, and 20, with methodology disclosed on slide 23.",
      "clarity_of_thesis": "The central thesis is identifiable by slide 1 in the claim that COVID-accelerated consumer trends are sticking, and slide 2 reinforces it with a multi-dimension change overview.",
      "production_quality": "Production is polished and branded, but the deck has inconsistent action-title discipline, dense exhibit pages such as slides 7, 14, and 17, and mixed footnote/callout discipline.",
      "visual_storytelling": "The deck usually chooses appropriate visuals such as grouped bars on slides 4 and 7, a heatmap on slide 14, and thematic photography on divider slides, though many exhibits are overcrowded."
    },
    "slidesAnalyzed": 24
  },
  "review": {
    "backend": null,
    "verdict": "A well-organised PwC research publication with clean MECE pillars and mostly declarative titles, but it is a survey readout — not a Storymakers exemplar — because it has no Complication and no recommendation; use the pillar architecture and action titles as a teaching example, not the overall arc.",
    "reviewedAt": "2026-04-25 08:09:46+00",
    "slidesSeen": 24,
    "suggestions": [
      "Add an explicit 'Implications for consumer goods leaders' slide between p.21 and p.22 with 3-5 prioritised actions per pillar",
      "Promote each 'Our insight' callout into the slide title (e.g., turn p.14's 'don't overestimate this green wave' into the action title) so the reader gets the verdict at the headline level",
      "Rewrite the five pillar dividers from labels to declarative claims, e.g. 'More digital — and it's sticking, especially among work-from-home cohorts' to set the act's thesis"
    ],
    "closingScore": 38,
    "openingScore": 70,
    "topStrengths": [
      "Clear MECE pillar architecture across 5 dividers (p.3, p.6, p.10, p.15, p.18) — easy to skim and remember",
      "Thesis stated on p.2 ('changes are sticking — historic and dramatic shift'), so the reader knows the point before any data",
      "Most data slides have declarative, finding-led titles (e.g., p.9, p.11, p.12, p.14, p.16) rather than chart labels"
    ],
    "topWeaknesses": [
      "No recommendation, action plan, or 'so what for the business' slide — closes with a poetic 'Light at the end of the tunnel' (p.22)",
      "No Complication act: the pillars are presented as parallel observations with no tension or strategic conflict to resolve",
      "Pillar dividers are nouns, not insights ('More digital', 'More health-conscious') — they label the section but waste the highest-attention slot in each act",
      "Some 'Our insight' callouts (p.5, p.14, p.17) carry sharper takes than the slide titles themselves — implications are buried in body text"
    ],
    "narrativeScore": 62,
    "pillarCritique": "The five 'More X' dividers (digital p.3, health-conscious p.6, eco-friendly p.10, price-sensitive p.15, local p.18) form a genuine MECE pillar structure — categorically distinct, jointly framed as the post-pandemic consumer, and signposted consistently.",
    "closingCritique": "The final non-appendix slide is 'Light at the end of the tunnel' (p.22) — an atmospheric reflection, not a call to action. There is no 'what to do next' slide, no priority recommendations, and no decision ask.",
    "openingCritique": "The thesis 'consumer trends accelerated by COVID-19 are sticking' lands on the cover and is reinforced on p.2, which is fast and clear; however, slides 1-5 read as a survey-results setup rather than a stakes-driven hook (no 'so what for the reader' statement).",
    "extractionSeconds": 73.699265,
    "narrativeCritique": "The deck has a clean Setup ('changes are sticking', p.2) and five MECE pillars of analysis, but no Complication or Resolution — it ends in observation, not recommendation, so the arc is S→A rather than S→C→A→R.",
    "titleQualityScore": 74,
    "titleQualityCritique": "Most analysis slides carry insight-bearing action titles ('Price is the main blocker for those who don't shop sustainably' p.12; 'Most shoppers put health and safety concerns above environmental concerns' p.9). The pillar dividers themselves ('More digital', 'More eco-friendly') are pure topic labels, and a few slides regress to descriptive ones ('Categories in which consumers expect to increase spending' p.17)."
  },
  "activistThesis": null,
  "pitchdeck": {
    "metadata": null,
    "profile": null
  },
  "slides": [
    {
      "page": 1,
      "type": "setup",
      "title": "The slide uses a shopping bag illustration to represent the consumer experience.",
      "function": "front_matter",
      "imagePath": "https://imgproxy.kitesheet.com/XbfOjC3GMUkC-n_TkE7O7bfzN6ROw79JuNC8LCUxd4M/rs:fit:1200:1200:0/q:82/f:webp/czM6Ly9raXRlc2hlZXQvY29ycHVzL3NsaWRlcy9lOGY5ZjQ3YjY4MDA4ZDY3L3AwMDEuanBn",
      "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": 32,
        "componentCount": 6,
        "textChars": 225,
        "nDataPoints": 0,
        "notes": "The slide uses a shopping bag illustration to represent the consumer experience.",
        "elementsJson": [
          "headline_text",
          "photo",
          "callout_box"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 19:12:41.608+00",
          "seconds": 5.304,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5ca1-7489-b63a-07f3cac110e0/1",
        "deck": "/decks/019dd923-5ca1-7489-b63a-07f3cac110e0",
        "deckAnchor": "/decks/019dd923-5ca1-7489-b63a-07f3cac110e0#slide-1",
        "deckJson": "/decks/019dd923-5ca1-7489-b63a-07f3cac110e0.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.1,
            "w": 0.35,
            "x": 0.05,
            "y": 0.68
          },
          "kind": "callout",
          "text": "PwC's June 2021 Global Consumer Insights Pulse Survey",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": null,
            "subkind": {
              "name": "Primary callout",
              "slug": "primary",
              "status": "active",
              "canonId": "019de52c-fbd1-70eb-a9ce-8997f8674c1d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:12:41.608+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "d44fa5ce-8e02-4501-8052-91b97a0f77d6",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "callout",
          "text": "Consumer trends accelerated by the COVID-19 pandemic are sticking.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": {
              "name": "Visual emphasis",
              "slug": "visual-emphasis",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-474b-736b-a8eb-a794dd88241c",
              "version": 1,
              "bodyDocId": null,
              "description": "Drawing the eye to one element above the rest of the slide.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:49:50+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-dfa4-712e-8332-c52c7a482da5",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.8,
            "w": 0.45,
            "x": 0.5,
            "y": 0.1
          },
          "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": "Illustration",
              "slug": "illustration",
              "status": "active",
              "canonId": "019de52c-fe76-7772-a5ac-c0b7294d7615",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "illustration",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:12:41.608+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "63cde02b-c204-4b3a-883e-de566a68c777",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.08,
            "w": 0.1,
            "x": 0.05,
            "y": 0.05
          },
          "kind": "image",
          "text": "pwc",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Image",
              "slug": "image",
              "status": "active",
              "canonId": "019de52c-f978-701f-a720-51d029d769e7",
              "version": 1,
              "description": "Photo, illustration, screenshot or icon."
            },
            "tool": null,
            "subkind": {
              "name": "Logo",
              "slug": "logo",
              "status": "active",
              "canonId": "019de52c-fdaf-743d-94c4-d7c6a0e55302",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "logo",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:12:41.608+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "27c717a5-6ac3-44b5-89b7-142c83553bd0",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.1,
            "w": 0.4,
            "x": 0.05,
            "y": 0.45
          },
          "kind": "paragraph",
          "text": "Consumer trends accelerated by the COVID-19 pandemic are sticking.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "5f2affc0-941d-4d07-959d-4bfc1930cea4",
              "version": 1,
              "description": "Single prose block in the body of a slide."
            },
            "tool": null,
            "subkind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "019de52c-fb80-75af-aa5c-a7a4bfac2433",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "paragraph",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:12:41.608+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "c08bc7b4-3145-4fb2-a1c7-c08d43706ff3",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.4,
            "x": 0.05,
            "y": 0.28
          },
          "kind": "title",
          "text": "The global consumer: Changed for good",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:12:41.608+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "2b5b5c3f-5ead-4500-8fc4-1e20cc143729",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "Concrete Language",
            "slug": "concrete-language",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-bcd4-7398-9723-6aa72346170b",
            "version": 1,
            "bodyDocId": null,
            "description": "Using specific sensory details instead of abstract terms",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Storyteller",
          "layer": "slide",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019de947-c2e6-774e-81d8-ebc1b85f3b56",
          "evidence": "callout pins claim: 'trends are sticking'",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 65,
          "extraction": {
            "at": "2026-05-02 15:21:26.736795+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 1,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Opening Hooks",
            "slug": "opening-hooks",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-aeb0-77d5-bfbd-9cd9a6be8186",
            "version": 1,
            "bodyDocId": null,
            "description": "Techniques to capture attention: Startling statistic, provocative question, short story, analogy, contrast",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Storyteller",
          "layer": "slide",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019de947-c2bf-73cf-862f-81542e9d4296",
          "evidence": "title 'Changed for good' with shopping-bag motif",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 75,
          "extraction": {
            "at": "2026-05-02 15:21:26.736795+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 1,
          "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": "019de947-c30e-72d1-abc3-32c91fe64c97",
          "evidence": "stylised shopping-bag illustration anchors theme",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 60,
          "extraction": {
            "at": "2026-05-02 15:21:26.736795+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 1,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Slide recipe: Cover",
            "slug": "cover-slide",
            "status": "active",
            "bestFor": null,
            "canonId": "019df269-2a08-767d-9128-e7431e6fe8a3",
            "version": 1,
            "bodyDocId": "019df269-29e5-7738-b5fa-6892e5dc8e65",
            "description": "The first ten seconds. Build it deliberately.",
            "familyLabel": "slide-recipe",
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "designer",
          "layer": "slide",
          "agents": [
            "designer"
          ],
          "matchId": "9bbdda98-a0f4-4d92-b72a-056437a7a9a5",
          "evidence": "The global consumer: Changed for good",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.9,
          "extraction": {
            "at": "2026-07-16 21:19:21.253458+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 1,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 2,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 1,
          "name": "Setup & Stakes",
          "beatId": "019de947-c16a-73c8-964c-ee4c7f0fe6d8",
          "matchId": "019de947-c144-71c9-9cfc-3c7fdadff369",
          "beatType": null,
          "evidence": "p2 establishes change is happening across 8 dimensions",
          "position": 1,
          "isPrimaryArc": false,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 45
        }
      ],
      "loops": [],
      "thumbSrc": "https://imgproxy.kitesheet.com/LRafaMy-CwOEUCH2NQy2Z7iX-17PidDX1IRDOTU13bI/rs:fit:480:480:0/q:78/f:webp/czM6Ly9raXRlc2hlZXQvY29ycHVzL3NsaWRlcy9lOGY5ZjQ3YjY4MDA4ZDY3L3AwMDEuanBn",
      "imagePathAlt": "https://imgproxy.kitesheet.com/n9BLxHTHfhCL6faoaQnBQJ0yjA7s1KU76CRZTRE9rgY/rs:fit:1200:1200:0/q:82/f:webp/czM6Ly9raXRlc2hlZXQvY29ycHVzL3NsaWRlcy9lOGY5ZjQ3YjY4MDA4ZDY3L3AwMDEucG5n",
      "thumbSrcAlt": "https://imgproxy.kitesheet.com/vidRBafMA9JXVF3MHL7IgkcuPDh6sEJg12yuvbWNgoY/rs:fit:480:480:0/q:78/f:webp/czM6Ly9raXRlc2hlZXQvY29ycHVzL3NsaWRlcy9lOGY5ZjQ3YjY4MDA4ZDY3L3AwMDEucG5n"
    },
    {
      "page": 2,
      "type": "analysis",
      "title": "PwC June 2021 Global Consumer Insights Pulse Survey.",
      "function": "analyze_data",
      "rawType": "industry_trends",
      "block": null,
      "metadata": {
        "slideType": "industry_trends",
        "slideTypeCanon": {
          "name": "Industry trends",
          "slug": "industry_trends",
          "status": "active",
          "canonId": "019de52d-0b1d-7705-a0e0-c663199cd1fa",
          "version": 1,
          "description": null
        },
        "function": "analyze_data",
        "functionCanon": {
          "name": "Analyze data",
          "slug": "analyze_data",
          "status": "active",
          "canonId": "019de52d-1590-7413-8c82-cc218cff40b4",
          "version": 1,
          "description": null
        },
        "density": "dense",
        "densityScore": 56,
        "componentCount": 6,
        "textChars": 594,
        "nDataPoints": 32,
        "notes": "PwC June 2021 Global Consumer Insights Pulse Survey.",
        "elementsJson": [
          "paragraph",
          "bar_chart_100pct"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 19:12:38.562+00",
          "seconds": 2.223,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5ca1-7489-b63a-07f3cac110e0/2",
        "deck": "/decks/019dd923-5ca1-7489-b63a-07f3cac110e0",
        "deckAnchor": "/decks/019dd923-5ca1-7489-b63a-07f3cac110e0#slide-2",
        "deckJson": "/decks/019dd923-5ca1-7489-b63a-07f3cac110e0.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "PwC's June 2021 Global Consumer Insights Pulse Survey, conducted in March 2021, reveals that the changes are sticking—signifying a historic and dramatic shift in consumer behaviour.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": {
              "name": "Visual emphasis",
              "slug": "visual-emphasis",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-474b-736b-a8eb-a794dd88241c",
              "version": 1,
              "bodyDocId": null,
              "description": "Drawing the eye to one element above the rest of the slide.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:49:50+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-dfa4-712e-8332-fb7fec948a00",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.55,
            "w": 0.48,
            "x": 0.46,
            "y": 0.34
          },
          "kind": "chart",
          "text": "Stacked bar chart showing consumer sentiment changes across 8 categories.",
          "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 19:12:38.562+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "e3b87a0e-da04-4a28-ac77-9d36fb99b499",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Consumer behavior change: 56%",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:49:50+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-dfa4-712e-8332-ffcc5c6b887b",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.35,
            "x": 0.05,
            "y": 0.228
          },
          "kind": "paragraph",
          "text": "The COVID-19 pandemic is one of the greatest health crises in modern history. But it has also taught us how resilient we are, individually and collectively, in all facets of our lives.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "5f2affc0-941d-4d07-959d-4bfc1930cea4",
              "version": 1,
              "description": "Single prose block in the body of a slide."
            },
            "tool": null,
            "subkind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "019de52c-fb80-75af-aa5c-a7a4bfac2433",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "paragraph",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:12:38.562+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "8ae8da00-a758-454e-bf9e-3c0e8d89067a",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.3,
            "x": 0.46,
            "y": 0.94
          },
          "kind": "source-note",
          "text": "Source: PwC's June 2021 Global Consumer Insights Pulse Survey",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Source note",
              "slug": "source-note",
              "status": "active",
              "canonId": "23484952-494b-4a5e-b1ad-550d0d70e948",
              "version": 1,
              "description": "Attribution / source / caveat placed at the slide footer. Numbered footnotes use attrs.numbered."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:12:38.562+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "9293db16-5dd3-4250-b660-5db2650ed18e",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.48,
            "x": 0.46,
            "y": 0.265
          },
          "kind": "title",
          "text": "Consumers see themselves changing across many different dimensions",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:12:38.562+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "5d71e88b-461d-481f-8aa3-4a516ab2bcaf",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "MECE Principle",
            "slug": "mece-principle",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-7c60-71a8-8758-c79d914489c9",
            "version": 1,
            "bodyDocId": null,
            "description": "Mutually Exclusive, Collectively Exhaustive - ensuring complete, non-overlapping structure",
            "familyLabel": null,
            "categoryName": "Block",
            "categorySlug": "block"
          },
          "agent": "Architect",
          "layer": "block",
          "agents": [
            "Architect"
          ],
          "matchId": "019de947-c3cc-710a-af6d-4099bbbf3cb9",
          "evidence": "8 dimensions cover change without overlap",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": null,
          "confidence": 65,
          "extraction": {
            "at": "2026-05-02 15:21:26.736795+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 2,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Data Story Arc",
            "slug": "data-story-arc",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-9c30-728e-b974-d3fb123dcf5a",
            "version": 1,
            "bodyDocId": null,
            "description": "Context → Conflict → Insight → Implication structure for data narratives",
            "familyLabel": null,
            "categoryName": "Loop",
            "categorySlug": "loop"
          },
          "agent": "Storyteller",
          "layer": "loop",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019de947-c3f5-718e-a5bb-910843300757",
          "evidence": "context-conflict-insight set up here",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": null,
          "confidence": 70,
          "extraction": {
            "at": "2026-05-02 15:21:26.736795+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 2,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Action Titles",
            "slug": "action-titles",
            "status": "active",
            "bestFor": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
            "canonId": "019dd956-ac70-700b-a608-ba58e78f5dcc",
            "version": 1,
            "bodyDocId": "816dad3c-9983-41c1-a86e-978ebd582841",
            "description": "The McKinsey-bred discipline of writing every slide title as a complete declarative sentence with a verb and an insight, not a topic label. Each title is a sub-claim that ladders up to the deck's governing thought; read in sequence, the titles reconstruct the executive summary.",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Architect",
          "layer": "slide",
          "agents": [
            "Architect"
          ],
          "matchId": "019de947-c333-719b-a8ea-6ad67e4a4c1e",
          "evidence": "title states insight: 'changing across many different dimensions'",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
          "confidence": 85,
          "extraction": {
            "at": "2026-05-02 15:21:26.736795+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 2,
          "whyItWorks": "Solves two failure modes at once. (1) The buried claim: action titles place the conclusion on the page before any analysis is read, so a busy reader doesn't reverse-engineer it from the chart. (2) The spineless deck: because each title is a claim, slides have to ladder up to the governing thought; logical gaps become visible as topic-shaped titles in a sequence that no longer reads as a story.",
          "antipattern": "Topic labels disguised as titles — Volume by quarter, Key findings, Pricing strategy, Margins have been impacted. No verb, or a passive verb with no agent, or a fact (Revenue grew 12%) without the so-what. Also: titles that overreach the chart's evidence, multi-claim X-grew-but-Y-fell welded titles, and mechanical repetition of the same X-drove-Y template across the deck.",
          "cardinality": null,
          "narrativePurpose": "Forces the deck to carry its argument in the title bar so a senior reader can extract the recommendation without opening a single slide; converts a binder of topics into a navigable pyramid where every slide is a node defending the apex."
        },
        {
          "tool": {
            "name": "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": "bdc75a0c-dcdd-465f-a75f-96006f4220b2",
          "evidence": "Stacked bar chart showing consumer sentiment changes across 8 categories.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 21:19:21.327603+00",
            "model": "or:meta-llama/llama-4-scout",
            "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": "019de947-c3a7-77eb-bd25-70444a1f66e3",
          "evidence": "pink=more, gold=same, dark=less encodes sentiment",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 70,
          "extraction": {
            "at": "2026-05-02 15:21:26.736795+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 2,
          "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": "019de947-c35b-74ec-bbea-bf0481ecf7dc",
          "evidence": "clean 100% stacked bar, no chartjunk",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": null,
          "confidence": 75,
          "extraction": {
            "at": "2026-05-02 15:21:26.736795+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": "019de947-c382-761f-a537-7a0619dca1fb",
          "evidence": "yellow narrative panel vs white data panel",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 70,
          "extraction": {
            "at": "2026-05-02 15:21:26.736795+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 2,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 21,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 2,
          "name": "The Facts (What)",
          "beatId": "019de947-c0d2-719f-92f0-5e2ca8a013db",
          "matchId": "019de947-c0a9-7449-9de2-493b61c69e0c",
          "beatType": null,
          "evidence": "p2 stacked-bar of 8 change dimensions then 5 trend buckets with charts/tables",
          "position": 1,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 70
        },
        {
          "to": 2,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 1,
          "name": "Setup & Stakes",
          "beatId": "019de947-c16a-73c8-964c-ee4c7f0fe6d8",
          "matchId": "019de947-c144-71c9-9cfc-3c7fdadff369",
          "beatType": null,
          "evidence": "p2 establishes change is happening across 8 dimensions",
          "position": 1,
          "isPrimaryArc": false,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 45
        }
      ],
      "loops": [],
      "locked": true
    },
    {
      "page": 3,
      "type": "setup",
      "title": "The slide introduces a series of findings, starting with 'More digital' as the first of five significant changes.",
      "function": "summarize",
      "rawType": "key_messages",
      "block": null,
      "metadata": {
        "slideType": "key_messages",
        "slideTypeCanon": {
          "name": "Key messages",
          "slug": "key_messages",
          "status": "active",
          "canonId": "019de52d-0712-703f-89f5-bda6688faf3f",
          "version": 1,
          "description": null
        },
        "function": "summarize",
        "functionCanon": {
          "name": "Summarize",
          "slug": "summarize",
          "status": "active",
          "canonId": "019de52d-1541-704f-b86f-bf7b75056373",
          "version": 1,
          "description": null
        },
        "density": "dense",
        "densityScore": 73,
        "componentCount": 7,
        "textChars": 1666,
        "nDataPoints": 1,
        "notes": "The slide introduces a series of findings, starting with 'More digital' as the first of five significant changes.",
        "elementsJson": [
          "paragraph",
          "photo"
        ],
        "confidence": 0.9,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 19:12:44.098+00",
          "seconds": 7.687,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5ca1-7489-b63a-07f3cac110e0/3",
        "deck": "/decks/019dd923-5ca1-7489-b63a-07f3cac110e0",
        "deckAnchor": "/decks/019dd923-5ca1-7489-b63a-07f3cac110e0#slide-3",
        "deckJson": "/decks/019dd923-5ca1-7489-b63a-07f3cac110e0.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "Consumers' shift to digital has accelerated dramatically.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": {
              "name": "Visual emphasis",
              "slug": "visual-emphasis",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-474b-736b-a8eb-a794dd88241c",
              "version": 1,
              "bodyDocId": null,
              "description": "Drawing the eye to one element above the rest of the slide.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:49:50+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-dfa4-712e-8333-341e7eb878ad",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 1,
            "w": 0.5,
            "x": 0.5,
            "y": 0
          },
          "kind": "image",
          "text": "Two women looking at a screen",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Image",
              "slug": "image",
              "status": "active",
              "canonId": "019de52c-f978-701f-a720-51d029d769e7",
              "version": 1,
              "description": "Photo, illustration, screenshot or icon."
            },
            "tool": null,
            "subkind": {
              "name": "Photo",
              "slug": "photo",
              "status": "active",
              "canonId": "019de52c-fd37-757f-b4a8-ca26d4888875",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "photo",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:12:44.098+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "ffaf598d-8a4e-4dfa-a166-d42b5846c3a6",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "mobile shopping growth: 2%",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:49:50+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-dfa4-712e-8333-3ae238a24cd1",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.35,
            "w": 0.45,
            "x": 0.05,
            "y": 0.13
          },
          "kind": "paragraph",
          "text": "Our previous Pulse survey pointed to four fault lines emerging between distinct groups of global consumers—and these distinctions are sticking, showing up clearly in our latest results, too. First, there are still marked differences between consumers who work primarily at home and those who mostly work elsewhere. Second, there's still a gap between younger and older consumers' behaviours. Third, shoppers who prioritise health and safety behave differently from those who don't. And finally, consumers in the Asia-Pacific region don't act in the same ways as those in other regions. Let's look at the five most significant changes exposed by the latest 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 19:12:44.098+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "699b4cd5-d2cf-4578-aa28-49c9aa7d78a0",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.35,
            "w": 0.45,
            "x": 0.05,
            "y": 0.58
          },
          "kind": "paragraph",
          "text": "Consumers' shift to digital has accelerated dramatically. They are buying more groceries online, Gen Z consumers have developed apps to find surplus COVID-19 shots, businesses have discovered that remote work really can work—the list goes on. More than half of the global consumers we surveyed in our most recent research say they've become more digital since our first Pulse survey was conducted. Consumers in Brazil, Egypt and Mexico say they've changed the most in this regard. And it's clear that more and more of that consumption is happening on mobile phones. Even though there's been a slight uptick in in-store commerce, shopping via smartphone keeps climbing steeply, gaining 2 percentage points on in-store shopping since our March 2021 Pulse survey was conducted (see Exhibit 2) and more than doubling since 2018.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "5f2affc0-941d-4d07-959d-4bfc1930cea4",
              "version": 1,
              "description": "Single prose block in the body of a slide."
            },
            "tool": null,
            "subkind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "019de52c-fb80-75af-aa5c-a7a4bfac2433",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "paragraph",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:12:44.098+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "75153f0b-0b74-4624-bccf-ab36e805571f",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.35,
            "x": 0.05,
            "y": 0.04
          },
          "kind": "title",
          "text": "PwC's June 2021 Global Consumer Insights Pulse Survey",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:12:44.098+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "60ab4c05-9b48-4363-ae6c-c0ae1051d3fa",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.17,
            "x": 0.05,
            "y": 0.51
          },
          "kind": "title",
          "text": "1 More digital",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:12:44.098+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "84267dd7-7634-41da-bec1-3c887dff9994",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "Before-After-Bridge",
            "slug": "before-after-bridge",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-8604-7188-883f-42370288ad05",
            "version": 1,
            "bodyDocId": null,
            "description": "Narrative structure: Paint the before, show the after, explain the bridge",
            "familyLabel": null,
            "categoryName": "Block",
            "categorySlug": "block"
          },
          "agent": "Storyteller",
          "layer": "block",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019de947-c4af-71d5-b20d-39060d89585e",
          "evidence": "block compares pre-pandemic vs current digital habits",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 65,
          "extraction": {
            "at": "2026-05-02 15:21:26.736795+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 3,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Contrast Pairs",
            "slug": "contrast-pairs",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-9b77-70d3-88b1-f34e26f60860",
            "version": 1,
            "bodyDocId": null,
            "description": "Creating tension through opposites: Before↔After, Problem↔Solution, Pain↔Relief",
            "familyLabel": null,
            "categoryName": "Loop",
            "categorySlug": "loop"
          },
          "agent": "Storyteller",
          "layer": "loop",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019de947-c488-72af-97f8-8c93ed5a69c9",
          "evidence": "loop opens digital-vs-in-store comparison thread",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": null,
          "confidence": 70,
          "extraction": {
            "at": "2026-05-02 15:21:26.736795+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 3,
          "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": "019de947-c41b-71ba-921f-28cef300e682",
          "evidence": "callout 'shift to digital has accelerated dramatically'",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
          "confidence": 70,
          "extraction": {
            "at": "2026-05-02 15:21:26.736795+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 3,
          "whyItWorks": "Solves two failure modes at once. (1) The buried claim: action titles place the conclusion on the page before any analysis is read, so a busy reader doesn't reverse-engineer it from the chart. (2) The spineless deck: because each title is a claim, slides have to ladder up to the governing thought; logical gaps become visible as topic-shaped titles in a sequence that no longer reads as a story.",
          "antipattern": "Topic labels disguised as titles — Volume by quarter, Key findings, Pricing strategy, Margins have been impacted. No verb, or a passive verb with no agent, or a fact (Revenue grew 12%) without the so-what. Also: titles that overreach the chart's evidence, multi-claim X-grew-but-Y-fell welded titles, and mechanical repetition of the same X-drove-Y template across the deck.",
          "cardinality": null,
          "narrativePurpose": "Forces the deck to carry its argument in the title bar so a senior reader can extract the recommendation without opening a single slide; converts a binder of topics into a navigable pyramid where every slide is a node defending the apex."
        },
        {
          "tool": {
            "name": "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": "slide",
          "agents": [
            "Storyteller"
          ],
          "matchId": "577ccacb-d3f3-43fe-ae24-4d72ae9c4577",
          "evidence": "Consumers' shift to digital has accelerated dramatically.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.6,
          "extraction": {
            "at": "2026-07-16 21:19:21.399903+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 3,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Emotional Appeal",
            "slug": "emotional-appeal",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-bde9-7668-8be7-0097678fec59",
            "version": 1,
            "bodyDocId": null,
            "description": "Connecting to audience feelings rather than just logic",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Storyteller",
          "layer": "slide",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019de947-c43f-727a-86b0-c13b3b8552a5",
          "evidence": "lifestyle photo paired with section opener",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 60,
          "extraction": {
            "at": "2026-05-02 15:21:26.736795+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": "019de947-c464-749d-889e-86d383dcf519",
          "evidence": "section number '1' + bold theme title",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 65,
          "extraction": {
            "at": "2026-05-02 15:21:26.736795+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 3,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 21,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 2,
          "name": "The Facts (What)",
          "beatId": "019de947-c0d2-719f-92f0-5e2ca8a013db",
          "matchId": "019de947-c0a9-7449-9de2-493b61c69e0c",
          "beatType": null,
          "evidence": "p2 stacked-bar of 8 change dimensions then 5 trend buckets with charts/tables",
          "position": 1,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 70
        },
        {
          "to": 17,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 3,
          "name": "Rising Action",
          "beatId": "019de947-c18f-7589-bcc5-91f7669d4484",
          "matchId": "019de947-c144-71c9-9cfc-3c7fdadff369",
          "beatType": null,
          "evidence": "trends 1-4 stack evidence: digital, health, eco, price",
          "position": 2,
          "isPrimaryArc": false,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 45
        }
      ],
      "loops": [
        {
          "to": 5,
          "from": 3,
          "loop": {
            "name": "06_zoom_in",
            "slug": "06-zoom-in",
            "status": "active",
            "bestFor": "Technical deep-dives, case studies, detailed analysis",
            "canonId": "019dd956-6846-74db-82be-dff5b058b072",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Big Picture -> Key Area of Focus -> Specific Detail -> Implication",
            "description": "Start broad, then progressively focus on specific details that prove your point",
            "familyLabel": null
          },
          "matchId": "019de947-c200-743e-b32c-bef2329fe060",
          "evidence": "p3 thematic intro, p4 channel split chart, p5 online-shopper priorities table",
          "position": 1,
          "objective": "Zoom from 'more digital' theme into channel-mix and online-shopper priority data",
          "confidence": 75,
          "extraction": {
            "at": "2026-05-02 15:21:26.736795+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 4,
      "type": "analysis",
      "title": "The slide uses a combination of bar charts and callout text to illustrate shifts in consumer behavior.",
      "function": "analyze_data",
      "rawType": "data_table",
      "block": null,
      "metadata": {
        "slideType": "data_table",
        "slideTypeCanon": {
          "name": "Data table",
          "slug": "data_table",
          "status": "active",
          "canonId": "019de52d-0bbd-71b9-9918-417f904abbf8",
          "version": 1,
          "description": null
        },
        "function": "analyze_data",
        "functionCanon": {
          "name": "Analyze data",
          "slug": "analyze_data",
          "status": "active",
          "canonId": "019de52d-1590-7413-8c82-cc218cff40b4",
          "version": 1,
          "description": null
        },
        "density": "dense",
        "densityScore": 72,
        "componentCount": 8,
        "textChars": 638,
        "nDataPoints": 14,
        "notes": "The slide uses a combination of bar charts and callout text to illustrate shifts in consumer behavior.",
        "elementsJson": [
          "bar_chart_grouped",
          "bar_chart_vertical",
          "paragraph",
          "icon_grid",
          "photo"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 19:12:43.218+00",
          "seconds": 6.802,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5ca1-7489-b63a-07f3cac110e0/4",
        "deck": "/decks/019dd923-5ca1-7489-b63a-07f3cac110e0",
        "deckAnchor": "/decks/019dd923-5ca1-7489-b63a-07f3cac110e0#slide-4",
        "deckJson": "/decks/019dd923-5ca1-7489-b63a-07f3cac110e0.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.25,
            "w": 0.25,
            "x": 0.68,
            "y": 0.52
          },
          "kind": "callout",
          "text": "Biggest increases: +6-7 percentage points (Egypt, France, Malaysia, Netherlands, US, South Africa), +8-9 percentage points (Mexico, Singapore), More than 10 percentage points (Thailand, Indonesia, UAE)",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": null,
            "subkind": {
              "name": "Primary callout",
              "slug": "primary",
              "status": "active",
              "canonId": "019de52c-fbd1-70eb-a9ce-8997f8674c1d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:12:43.218+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "70e77eb6-0a19-4db5-bd16-44f31f66c75d",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "callout",
          "text": "The gap between mobile and in-store is closing.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": {
              "name": "Visual emphasis",
              "slug": "visual-emphasis",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-474b-736b-a8eb-a794dd88241c",
              "version": 1,
              "bodyDocId": null,
              "description": "Drawing the eye to one element above the rest of the slide.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:49:50+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-dfa4-712e-8331-9d890dfaff23",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.55,
            "w": 0.45,
            "x": 0.05,
            "y": 0.33
          },
          "kind": "chart",
          "text": "Shopping channel frequency by device/method",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Chart",
              "slug": "chart",
              "status": "active",
              "canonId": "019de52c-f9a0-76ef-adc6-0b859109d1f8",
              "version": 1,
              "description": "Quantitative chart."
            },
            "tool": null,
            "subkind": {
              "name": "Grouped bar chart",
              "slug": "bar-grouped",
              "status": "active",
              "canonId": "019de52c-ff3b-751e-a8ff-f21ff11097b1",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bar-grouped",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:12:43.218+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "91d2a706-cdcf-4281-8ce8-478799efad28",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.45,
            "w": 0.15,
            "x": 0.52,
            "y": 0.43
          },
          "kind": "chart",
          "text": "Daily online shopping frequency comparison",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Chart",
              "slug": "chart",
              "status": "active",
              "canonId": "019de52c-f9a0-76ef-adc6-0b859109d1f8",
              "version": 1,
              "description": "Quantitative chart."
            },
            "tool": null,
            "subkind": {
              "name": "Grouped bar chart",
              "slug": "bar-grouped",
              "status": "active",
              "canonId": "019de52c-ff3b-751e-a8ff-f21ff11097b1",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bar-grouped",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:12:43.218+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "aeac9223-8a52-4210-98e5-9e2025c08793",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Shopping frequency: 23%",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:49:50+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-dfa4-712e-8331-a3cdfc34896a",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.08,
            "w": 0.45,
            "x": 0.52,
            "y": 0.13
          },
          "kind": "paragraph",
          "text": "There's been an uptick in the frequency of e-commerce, too: compared to when our first Pulse survey was conducted, more people say they're buying online at least daily.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "5f2affc0-941d-4d07-959d-4bfc1930cea4",
              "version": 1,
              "description": "Single prose block in the body of a slide."
            },
            "tool": null,
            "subkind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "019de52c-fb80-75af-aa5c-a7a4bfac2433",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "paragraph",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:12:43.218+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "4da6b0e3-34c9-4d20-9070-12fb88ed055e",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.9,
            "x": 0.05,
            "y": 0.95
          },
          "kind": "source-note",
          "text": "Source: PwC's June 2021 Global Consumer Insights Pulse Survey",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Source note",
              "slug": "source-note",
              "status": "active",
              "canonId": "23484952-494b-4a5e-b1ad-550d0d70e948",
              "version": 1,
              "description": "Attribution / source / caveat placed at the slide footer. Numbered footnotes use attrs.numbered."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:12:43.218+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "0769f71d-8326-431c-bc7c-b2b5e547a2ef",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.35,
            "x": 0.05,
            "y": 0.04
          },
          "kind": "title",
          "text": "PwC's June 2021 Global Consumer Insights Pulse Survey",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:12:43.218+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "a114a4f1-ff5c-4998-af71-0d0a6a12f957",
          "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": "019de947-c4d5-77fb-8f0f-3be833ae1801",
          "evidence": "title: 'Online shopping continues to grow, in-store has recovered somewhat'",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
          "confidence": 85,
          "extraction": {
            "at": "2026-05-02 15:21:26.736795+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 4,
          "whyItWorks": "Solves two failure modes at once. (1) The buried claim: action titles place the conclusion on the page before any analysis is read, so a busy reader doesn't reverse-engineer it from the chart. (2) The spineless deck: because each title is a claim, slides have to ladder up to the governing thought; logical gaps become visible as topic-shaped titles in a sequence that no longer reads as a story.",
          "antipattern": "Topic labels disguised as titles — Volume by quarter, Key findings, Pricing strategy, Margins have been impacted. No verb, or a passive verb with no agent, or a fact (Revenue grew 12%) without the so-what. Also: titles that overreach the chart's evidence, multi-claim X-grew-but-Y-fell welded titles, and mechanical repetition of the same X-drove-Y template across the deck.",
          "cardinality": null,
          "narrativePurpose": "Forces the deck to carry its argument in the title bar so a senior reader can extract the recommendation without opening a single slide; converts a binder of topics into a navigable pyramid where every slide is a node defending the apex."
        },
        {
          "tool": {
            "name": "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": "019de947-c548-721c-ba4b-c3ab5660e923",
          "evidence": "callout 'gap between mobile and in-store is closing' annotates the chart",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 65,
          "extraction": {
            "at": "2026-05-02 15:21:26.736795+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 4,
          "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": "019de947-c4fa-71eb-91af-24ffce78f1da",
          "evidence": "grouped bars chosen to compare channel frequencies",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 75,
          "extraction": {
            "at": "2026-05-02 15:21:26.736795+00",
            "model": "claude-cli",
            "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": "019de947-c520-708d-8e04-db2ecea65d9d",
          "evidence": "Exhibit 2+3 same chart pattern across categories/markets",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 70,
          "extraction": {
            "at": "2026-05-02 15:21:26.736795+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 4,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 21,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 2,
          "name": "The Facts (What)",
          "beatId": "019de947-c0d2-719f-92f0-5e2ca8a013db",
          "matchId": "019de947-c0a9-7449-9de2-493b61c69e0c",
          "beatType": null,
          "evidence": "p2 stacked-bar of 8 change dimensions then 5 trend buckets with charts/tables",
          "position": 1,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 70
        },
        {
          "to": 17,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 3,
          "name": "Rising Action",
          "beatId": "019de947-c18f-7589-bcc5-91f7669d4484",
          "matchId": "019de947-c144-71c9-9cfc-3c7fdadff369",
          "beatType": null,
          "evidence": "trends 1-4 stack evidence: digital, health, eco, price",
          "position": 2,
          "isPrimaryArc": false,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 45
        }
      ],
      "loops": [
        {
          "to": 5,
          "from": 3,
          "loop": {
            "name": "06_zoom_in",
            "slug": "06-zoom-in",
            "status": "active",
            "bestFor": "Technical deep-dives, case studies, detailed analysis",
            "canonId": "019dd956-6846-74db-82be-dff5b058b072",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Big Picture -> Key Area of Focus -> Specific Detail -> Implication",
            "description": "Start broad, then progressively focus on specific details that prove your point",
            "familyLabel": null
          },
          "matchId": "019de947-c200-743e-b32c-bef2329fe060",
          "evidence": "p3 thematic intro, p4 channel split chart, p5 online-shopper priorities table",
          "position": 1,
          "objective": "Zoom from 'more digital' theme into channel-mix and online-shopper priority data",
          "confidence": 75,
          "extraction": {
            "at": "2026-05-02 15:21:26.736795+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 5,
      "type": "analysis",
      "title": "The slide uses a ranking table to compare survey results across two time periods.",
      "function": "analyze_data",
      "rawType": "industry_trends",
      "block": null,
      "metadata": {
        "slideType": "industry_trends",
        "slideTypeCanon": {
          "name": "Industry trends",
          "slug": "industry_trends",
          "status": "active",
          "canonId": "019de52d-0b1d-7705-a0e0-c663199cd1fa",
          "version": 1,
          "description": null
        },
        "function": "analyze_data",
        "functionCanon": {
          "name": "Analyze data",
          "slug": "analyze_data",
          "status": "active",
          "canonId": "019de52d-1590-7413-8c82-cc218cff40b4",
          "version": 1,
          "description": null
        },
        "density": "dense",
        "densityScore": 57,
        "componentCount": 6,
        "textChars": 708,
        "nDataPoints": 6,
        "notes": "The slide uses a ranking table to compare survey results across two time periods.",
        "elementsJson": [
          "paragraph",
          "callout_box",
          "bar_chart_horizontal",
          "footnote"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 19:12:40.279+00",
          "seconds": 3.107,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5ca1-7489-b63a-07f3cac110e0/5",
        "deck": "/decks/019dd923-5ca1-7489-b63a-07f3cac110e0",
        "deckAnchor": "/decks/019dd923-5ca1-7489-b63a-07f3cac110e0#slide-5",
        "deckJson": "/decks/019dd923-5ca1-7489-b63a-07f3cac110e0.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.25,
            "w": 0.27,
            "x": 0.048,
            "y": 0.635
          },
          "kind": "callout",
          "text": "Our insight: The shift to online shopping will continue, particularly among those who now work more often—or all the time—from home.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": null,
            "subkind": {
              "name": "Primary callout",
              "slug": "primary",
              "status": "active",
              "canonId": "019de52c-fbd1-70eb-a9ce-8997f8674c1d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:12:40.279+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "2cc93868-5876-4d82-ab98-e20ef1a77c21",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Consumer preference percentage: 41%",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:49:50+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-dfa4-712e-8332-63a47ef47dbe",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.27,
            "x": 0.048,
            "y": 0.135
          },
          "kind": "paragraph",
          "text": "Although price is the highest-ranking reason that consumers in our most recent survey say they're shopping online, they still consider fast and reliable delivery and availability to be important.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "5f2affc0-941d-4d07-959d-4bfc1930cea4",
              "version": 1,
              "description": "Single prose block in the body of a slide."
            },
            "tool": null,
            "subkind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "019de52c-fb80-75af-aa5c-a7a4bfac2433",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "paragraph",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:12:40.279+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "63487af1-3c34-4dab-af8a-df25e6651da2",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.45,
            "x": 0.377,
            "y": 0.7
          },
          "kind": "source-note",
          "text": "Base: All respondents: March 2021 survey (8,738); June 2021 survey (8,681). Note: Responses shown are limited to the options provided. Source: PwC's June 2021 Global Consumer Insights Pulse Survey",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Source note",
              "slug": "source-note",
              "status": "active",
              "canonId": "23484952-494b-4a5e-b1ad-550d0d70e948",
              "version": 1,
              "description": "Attribution / source / caveat placed at the slide footer. Numbered footnotes use attrs.numbered."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:12:40.279+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "92f9d7c2-c81c-478f-a1bc-54cbe4d146db",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.38,
            "w": 0.55,
            "x": 0.377,
            "y": 0.26
          },
          "kind": "table",
          "text": "Ranking of online shopping attributes for June 2021 vs March 2021",
          "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 19:12:40.279+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "b12844ff-4e7b-4381-9f00-b1d80cce7936",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.55,
            "x": 0.377,
            "y": 0.175
          },
          "kind": "title",
          "text": "Fast delivery and availability continue to be most important to those shopping online",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:12:40.279+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "6a0f7db8-1524-4f7c-8256-2898f7378f75",
          "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": "019de947-c572-7051-8577-1538d7c6ebc1",
          "evidence": "title states insight on fast delivery and availability",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
          "confidence": 80,
          "extraction": {
            "at": "2026-05-02 15:21:26.736795+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 5,
          "whyItWorks": "Solves two failure modes at once. (1) The buried claim: action titles place the conclusion on the page before any analysis is read, so a busy reader doesn't reverse-engineer it from the chart. (2) The spineless deck: because each title is a claim, slides have to ladder up to the governing thought; logical gaps become visible as topic-shaped titles in a sequence that no longer reads as a story.",
          "antipattern": "Topic labels disguised as titles — Volume by quarter, Key findings, Pricing strategy, Margins have been impacted. No verb, or a passive verb with no agent, or a fact (Revenue grew 12%) without the so-what. Also: titles that overreach the chart's evidence, multi-claim X-grew-but-Y-fell welded titles, and mechanical repetition of the same X-drove-Y template across the deck.",
          "cardinality": null,
          "narrativePurpose": "Forces the deck to carry its argument in the title bar so a senior reader can extract the recommendation without opening a single slide; converts a binder of topics into a navigable pyramid where every slide is a node defending the apex."
        },
        {
          "tool": {
            "name": "Chart Selection Guide",
            "slug": "chart-selection-guide",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-b1a0-700b-ba17-0e16c4d5bcae",
            "version": 1,
            "bodyDocId": null,
            "description": "Choosing the right chart type for your data and message",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "019de947-c5ba-707f-9a69-317ccd4037e8",
          "evidence": "comparison table for two time periods",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 70,
          "extraction": {
            "at": "2026-05-02 15:21:26.736795+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 5,
          "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": "019de947-c595-7689-90c3-637797f74150",
          "evidence": "explicit 'Our insight:' callout",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": "On every slide carrying a chart, number, list, or finding intended to inform a decision; whenever a draft title is descriptive rather than directive; whenever the deck will circulate without its author.",
          "confidence": 85,
          "extraction": {
            "at": "2026-05-02 15:21:26.736795+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 5,
          "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": "Table data",
            "slug": "table-data",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd9e1-4fab-7168-a82f-b847350a006d",
            "version": 1,
            "bodyDocId": null,
            "description": "Tabular layouts of structured data.",
            "familyLabel": null,
            "categoryName": null,
            "categorySlug": null
          },
          "agent": null,
          "layer": "slide",
          "agents": null,
          "matchId": "5b8615ed-4412-40b7-869c-9b0afd317e06",
          "evidence": "Ranking of online shopping attributes for June 2021 vs March 2021",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 21:19:21.50877+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 5,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": "common",
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 21,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 2,
          "name": "The Facts (What)",
          "beatId": "019de947-c0d2-719f-92f0-5e2ca8a013db",
          "matchId": "019de947-c0a9-7449-9de2-493b61c69e0c",
          "beatType": null,
          "evidence": "p2 stacked-bar of 8 change dimensions then 5 trend buckets with charts/tables",
          "position": 1,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 70
        },
        {
          "to": 17,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 3,
          "name": "Rising Action",
          "beatId": "019de947-c18f-7589-bcc5-91f7669d4484",
          "matchId": "019de947-c144-71c9-9cfc-3c7fdadff369",
          "beatType": null,
          "evidence": "trends 1-4 stack evidence: digital, health, eco, price",
          "position": 2,
          "isPrimaryArc": false,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 45
        }
      ],
      "loops": [
        {
          "to": 5,
          "from": 3,
          "loop": {
            "name": "06_zoom_in",
            "slug": "06-zoom-in",
            "status": "active",
            "bestFor": "Technical deep-dives, case studies, detailed analysis",
            "canonId": "019dd956-6846-74db-82be-dff5b058b072",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Big Picture -> Key Area of Focus -> Specific Detail -> Implication",
            "description": "Start broad, then progressively focus on specific details that prove your point",
            "familyLabel": null
          },
          "matchId": "019de947-c200-743e-b32c-bef2329fe060",
          "evidence": "p3 thematic intro, p4 channel split chart, p5 online-shopper priorities table",
          "position": 1,
          "objective": "Zoom from 'more digital' theme into channel-mix and online-shopper priority data",
          "confidence": 75,
          "extraction": {
            "at": "2026-05-02 15:21:26.736795+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 6,
      "type": "resolution",
      "title": "Part of a PwC consumer insights survey deck.",
      "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": 57,
        "componentCount": 6,
        "textChars": 761,
        "nDataPoints": 2,
        "notes": "Part of a PwC consumer insights survey deck.",
        "elementsJson": [
          "paragraph",
          "photo"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 19:12:39.848+00",
          "seconds": 2.595,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5ca1-7489-b63a-07f3cac110e0/6",
        "deck": "/decks/019dd923-5ca1-7489-b63a-07f3cac110e0",
        "deckAnchor": "/decks/019dd923-5ca1-7489-b63a-07f3cac110e0#slide-6",
        "deckJson": "/decks/019dd923-5ca1-7489-b63a-07f3cac110e0.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "In fact, more of the work-at-home group say they have better health now (55%) than do those who work away from home (46%).",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": {
              "name": "Visual emphasis",
              "slug": "visual-emphasis",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-474b-736b-a8eb-a794dd88241c",
              "version": 1,
              "bodyDocId": null,
              "description": "Drawing the eye to one element above the rest of the slide.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:49:50+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-dfa4-712e-8332-ab03640cb1d9",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 1,
            "w": 0.57,
            "x": 0.43,
            "y": 0
          },
          "kind": "image",
          "text": "Woman running",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Image",
              "slug": "image",
              "status": "active",
              "canonId": "019de52c-f978-701f-a720-51d029d769e7",
              "version": 1,
              "description": "Photo, illustration, screenshot or icon."
            },
            "tool": null,
            "subkind": {
              "name": "Photo",
              "slug": "photo",
              "status": "active",
              "canonId": "019de52c-fd37-757f-b4a8-ca26d4888875",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "photo",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:12:39.848+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "f728752b-252a-4e95-ba56-59ec39fd5993",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "health improvement: 55%",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:49:50+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-dfa4-712e-8332-aced1712ac8d",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.35,
            "w": 0.38,
            "x": 0.05,
            "y": 0.41
          },
          "kind": "paragraph",
          "text": "Given that many people have been shut indoors for such a long time, it might seem surprising to hear anyone claiming they've become healthier since we conducted our first Pulse survey. But that's what most consumers are saying. Even more eye-opening, perhaps, is that among those working from home, being close to the refrigerator and the TV remote doesn't seem to have had adverse effects on health. In fact, more of the work-at-home group say they have better health now (55%) than do those who work away from home (46%).",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "5f2affc0-941d-4d07-959d-4bfc1930cea4",
              "version": 1,
              "description": "Single prose block in the body of a slide."
            },
            "tool": null,
            "subkind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "019de52c-fb80-75af-aa5c-a7a4bfac2433",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "paragraph",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:12:39.848+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "c3e6d188-dc1b-460c-a85a-692e03d72fe3",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.25,
            "x": 0.05,
            "y": 0.32
          },
          "kind": "title",
          "text": "2 More health-conscious",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:12:39.848+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "3fcd67a1-0181-4bc3-a8e8-ad6b732b92c7",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.35,
            "x": 0.05,
            "y": 0.04
          },
          "kind": "title",
          "text": "6 | PwC's June 2021 Global Consumer Insights Pulse Survey",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:12:39.848+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "e6c43ba5-c186-49cd-8d0f-0d74340bafbe",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "Contrast Pairs",
            "slug": "contrast-pairs",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-9b77-70d3-88b1-f34e26f60860",
            "version": 1,
            "bodyDocId": null,
            "description": "Creating tension through opposites: Before↔After, Problem↔Solution, Pain↔Relief",
            "familyLabel": null,
            "categoryName": "Loop",
            "categorySlug": "loop"
          },
          "agent": "Storyteller",
          "layer": "loop",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019de947-c653-71c7-a2af-da3e474cb732",
          "evidence": "WFH vs WAFH thread opens in this loop",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": null,
          "confidence": 65,
          "extraction": {
            "at": "2026-05-02 15:21:26.736795+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 6,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Data Story Arc",
            "slug": "data-story-arc",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-9c30-728e-b974-d3fb123dcf5a",
            "version": 1,
            "bodyDocId": null,
            "description": "Context → Conflict → Insight → Implication structure for data narratives",
            "familyLabel": null,
            "categoryName": "Loop",
            "categorySlug": "loop"
          },
          "agent": "Storyteller",
          "layer": "loop",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019de947-c679-75dd-8522-75746381db91",
          "evidence": "loop sets context-conflict-insight on health",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": null,
          "confidence": 65,
          "extraction": {
            "at": "2026-05-02 15:21:26.736795+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": "019de947-c5e0-7628-9b6b-72408a435bae",
          "evidence": "section title pairs with callout asserting the trend",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
          "confidence": 70,
          "extraction": {
            "at": "2026-05-02 15:21:26.736795+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 6,
          "whyItWorks": "Solves two failure modes at once. (1) The buried claim: action titles place the conclusion on the page before any analysis is read, so a busy reader doesn't reverse-engineer it from the chart. (2) The spineless deck: because each title is a claim, slides have to ladder up to the governing thought; logical gaps become visible as topic-shaped titles in a sequence that no longer reads as a story.",
          "antipattern": "Topic labels disguised as titles — Volume by quarter, Key findings, Pricing strategy, Margins have been impacted. No verb, or a passive verb with no agent, or a fact (Revenue grew 12%) without the so-what. Also: titles that overreach the chart's evidence, multi-claim X-grew-but-Y-fell welded titles, and mechanical repetition of the same X-drove-Y template across the deck.",
          "cardinality": null,
          "narrativePurpose": "Forces the deck to carry its argument in the title bar so a senior reader can extract the recommendation without opening a single slide; converts a binder of topics into a navigable pyramid where every slide is a node defending the apex."
        },
        {
          "tool": {
            "name": "Emotional Appeal",
            "slug": "emotional-appeal",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-bde9-7668-8be7-0097678fec59",
            "version": 1,
            "bodyDocId": null,
            "description": "Connecting to audience feelings rather than just logic",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Storyteller",
          "layer": "slide",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019de947-c608-7128-9f2a-b68fbe6df00b",
          "evidence": "aspirational runner photo + bold pink panel",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 75,
          "extraction": {
            "at": "2026-05-02 15:21:26.736795+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 6,
          "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": "019de947-c62d-76ab-abb0-5106a7e92336",
          "evidence": "large numeral '2' anchors section position",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 65,
          "extraction": {
            "at": "2026-05-02 15:21:26.736795+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 6,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 21,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 2,
          "name": "The Facts (What)",
          "beatId": "019de947-c0d2-719f-92f0-5e2ca8a013db",
          "matchId": "019de947-c0a9-7449-9de2-493b61c69e0c",
          "beatType": null,
          "evidence": "p2 stacked-bar of 8 change dimensions then 5 trend buckets with charts/tables",
          "position": 1,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 70
        },
        {
          "to": 17,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 3,
          "name": "Rising Action",
          "beatId": "019de947-c18f-7589-bcc5-91f7669d4484",
          "matchId": "019de947-c144-71c9-9cfc-3c7fdadff369",
          "beatType": null,
          "evidence": "trends 1-4 stack evidence: digital, health, eco, price",
          "position": 2,
          "isPrimaryArc": false,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 45
        }
      ],
      "loops": [
        {
          "to": 9,
          "from": 6,
          "loop": {
            "name": "06_zoom_in",
            "slug": "06-zoom-in",
            "status": "active",
            "bestFor": "Technical deep-dives, case studies, detailed analysis",
            "canonId": "019dd956-6846-74db-82be-dff5b058b072",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Big Picture -> Key Area of Focus -> Specific Detail -> Implication",
            "description": "Start broad, then progressively focus on specific details that prove your point",
            "familyLabel": null
          },
          "matchId": "019de947-c22c-71fc-8251-533d40b6981e",
          "evidence": "p6 intro, p7 spending by work-location, p8 cohort vs global, p9 health-vs-eco priority",
          "position": 2,
          "objective": "Zoom from 'more health-conscious' theme into spending, cohort and trade-off data",
          "confidence": 80,
          "extraction": {
            "at": "2026-05-02 15:21:26.736795+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 7,
      "type": "analysis",
      "title": "The slide contains two distinct exhibits (5 and 6) analyzing consumer behavior post-pandemic.",
      "function": "analyze_data",
      "rawType": "regional_insights",
      "block": null,
      "metadata": {
        "slideType": "regional_insights",
        "slideTypeCanon": {
          "name": "Regional insights",
          "slug": "regional_insights",
          "status": "active",
          "canonId": "019de52d-0e65-708b-a079-0bf65f43c5c6",
          "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": 88,
        "componentCount": 10,
        "textChars": 1110,
        "nDataPoints": 16,
        "notes": "The slide contains two distinct exhibits (5 and 6) analyzing consumer behavior post-pandemic.",
        "elementsJson": [
          "paragraph",
          "bar_chart_grouped",
          "data_table",
          "big_number",
          "icon_grid"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 19:12:45.464+00",
          "seconds": 8.001,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5ca1-7489-b63a-07f3cac110e0/7",
        "deck": "/decks/019dd923-5ca1-7489-b63a-07f3cac110e0",
        "deckAnchor": "/decks/019dd923-5ca1-7489-b63a-07f3cac110e0#slide-7",
        "deckJson": "/decks/019dd923-5ca1-7489-b63a-07f3cac110e0.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "One-quarter of consumers are concerned about health and safety, but there are regional differences.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": {
              "name": "Visual emphasis",
              "slug": "visual-emphasis",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-474b-736b-a8eb-a794dd88241c",
              "version": 1,
              "bodyDocId": null,
              "description": "Drawing the eye to one element above the rest of the slide.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:49:50+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-dfa4-712e-8332-2bdb89905f0f",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.25,
            "w": 0.42,
            "x": 0.05,
            "y": 0.52
          },
          "kind": "chart",
          "text": "Comparison of spending expectations between working from home and working away from home across Grocery, Health and beauty, and Sports and fitness equipment.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Chart",
              "slug": "chart",
              "status": "active",
              "canonId": "019de52c-f9a0-76ef-adc6-0b859109d1f8",
              "version": 1,
              "description": "Quantitative chart."
            },
            "tool": null,
            "subkind": {
              "name": "Grouped bar chart",
              "slug": "bar-grouped",
              "status": "active",
              "canonId": "019de52c-ff3b-751e-a8ff-f21ff11097b1",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bar-grouped",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:12:45.464+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "c8029be2-71b0-48e4-ae20-7521bfb6943a",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.15,
            "x": 0.78,
            "y": 0.55
          },
          "kind": "metric",
          "text": "25% rank increased health and safety as most or second-most important when shopping in-store",
          "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 19:12:45.464+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "cc7df407-e459-4589-b18d-d4680ff0d213",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Consumer spending expectations: 25%",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:49:50+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-dfa4-712e-8332-2e3aa857e5ae",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.12,
            "w": 0.42,
            "x": 0.05,
            "y": 0.13
          },
          "kind": "paragraph",
          "text": "Change the perspective, though, and those responses make sense. Those workers who no longer have to commute and who have more control over their days have time to focus on eating better and exercising more...",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "5f2affc0-941d-4d07-959d-4bfc1930cea4",
              "version": 1,
              "description": "Single prose block in the body of a slide."
            },
            "tool": null,
            "subkind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "019de52c-fb80-75af-aa5c-a7a4bfac2433",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "paragraph",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:12:45.464+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "11ab502b-c98c-4f77-99f3-ae6d6be53e52",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.25,
            "w": 0.42,
            "x": 0.53,
            "y": 0.13
          },
          "kind": "paragraph",
          "text": "Health-consciousness also shows up in consumers’ attitudes about in-store shopping. Our most recent Pulse survey reveals that a quarter of consumers are concerned about health and safety...",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "5f2affc0-941d-4d07-959d-4bfc1930cea4",
              "version": 1,
              "description": "Single prose block in the body of a slide."
            },
            "tool": null,
            "subkind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "019de52c-fb80-75af-aa5c-a7a4bfac2433",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "paragraph",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:12:45.464+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "e0ad2c8e-40f3-47f8-a4bf-7fb297800f35",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.35,
            "w": 0.25,
            "x": 0.53,
            "y": 0.53
          },
          "kind": "table",
          "text": "Territories in which 'increased health and safety' was ranked first vs least inclined.",
          "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 19:12:45.464+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "9f64ecf4-2bfb-478d-8695-278db7a26df3",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.42,
            "x": 0.05,
            "y": 0.41
          },
          "kind": "title",
          "text": "Exhibit 5: Those working at home expect to spend more in health-related categories",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:12:45.464+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "7779acbe-c7a6-42d9-a750-d97df7cc36f7",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.35,
            "x": 0.05,
            "y": 0.04
          },
          "kind": "title",
          "text": "PwC's June 2021 Global Consumer Insights Pulse Survey",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:12:45.464+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "8206e9e1-e6a2-46d6-8d03-533bf410dca2",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.42,
            "x": 0.53,
            "y": 0.41
          },
          "kind": "title",
          "text": "Exhibit 6: One-quarter of consumers are concerned about health and safety, but there are regional differences",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:12:45.464+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "a197f78c-083d-442e-86ed-a5338a0755f1",
          "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": "019de947-c69d-732b-9723-20a8e9e8be14",
          "evidence": "title: 'those working at home expect to spend more in health-related categories'",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
          "confidence": 80,
          "extraction": {
            "at": "2026-05-02 15:21:26.736795+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": "019de947-c713-7089-b6d2-810d8da9799b",
          "evidence": "callout adds regional 25% concern context",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 60,
          "extraction": {
            "at": "2026-05-02 15:21:26.736795+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": "019de947-c6c3-71fc-8692-2c6f46610e1e",
          "evidence": "grouped bars for spend cohorts; table for regional concern",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 70,
          "extraction": {
            "at": "2026-05-02 15:21:26.736795+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": "922d9568-58e4-49ee-9f26-2c17d438fcb9",
          "evidence": "Comparison of spending expectations between working from home and working away from home across Grocery, Health and beauty, and Sports and fitness equipment.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 21:19:21.618868+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 7,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Small Multiples",
            "slug": "small-multiples",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-b32d-7586-b368-baa1dd388ed4",
            "version": 1,
            "bodyDocId": null,
            "description": "Repeating similar charts for comparison across categories or time",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "019de947-c6ee-744c-b701-d5a5189d431c",
          "evidence": "Exhibit 5 + Exhibit 6 paired exhibits",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 65,
          "extraction": {
            "at": "2026-05-02 15:21:26.736795+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 7,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 21,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 2,
          "name": "The Facts (What)",
          "beatId": "019de947-c0d2-719f-92f0-5e2ca8a013db",
          "matchId": "019de947-c0a9-7449-9de2-493b61c69e0c",
          "beatType": null,
          "evidence": "p2 stacked-bar of 8 change dimensions then 5 trend buckets with charts/tables",
          "position": 1,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 70
        },
        {
          "to": 17,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 3,
          "name": "Rising Action",
          "beatId": "019de947-c18f-7589-bcc5-91f7669d4484",
          "matchId": "019de947-c144-71c9-9cfc-3c7fdadff369",
          "beatType": null,
          "evidence": "trends 1-4 stack evidence: digital, health, eco, price",
          "position": 2,
          "isPrimaryArc": false,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 45
        }
      ],
      "loops": [
        {
          "to": 9,
          "from": 6,
          "loop": {
            "name": "06_zoom_in",
            "slug": "06-zoom-in",
            "status": "active",
            "bestFor": "Technical deep-dives, case studies, detailed analysis",
            "canonId": "019dd956-6846-74db-82be-dff5b058b072",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Big Picture -> Key Area of Focus -> Specific Detail -> Implication",
            "description": "Start broad, then progressively focus on specific details that prove your point",
            "familyLabel": null
          },
          "matchId": "019de947-c22c-71fc-8251-533d40b6981e",
          "evidence": "p6 intro, p7 spending by work-location, p8 cohort vs global, p9 health-vs-eco priority",
          "position": 2,
          "objective": "Zoom from 'more health-conscious' theme into spending, cohort and trade-off data",
          "confidence": 80,
          "extraction": {
            "at": "2026-05-02 15:21:26.736795+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 8,
      "type": "analysis",
      "title": "The chart uses a split-bar design where the top half represents 'shopping more online' and the bottom half represents 'shopping less in-store'.",
      "function": "analyze_data",
      "rawType": "data_table",
      "block": null,
      "metadata": {
        "slideType": "data_table",
        "slideTypeCanon": {
          "name": "Data table",
          "slug": "data_table",
          "status": "active",
          "canonId": "019de52d-0bbd-71b9-9918-417f904abbf8",
          "version": 1,
          "description": null
        },
        "function": "analyze_data",
        "functionCanon": {
          "name": "Analyze data",
          "slug": "analyze_data",
          "status": "active",
          "canonId": "019de52d-1590-7413-8c82-cc218cff40b4",
          "version": 1,
          "description": null
        },
        "density": "dense",
        "densityScore": 71,
        "componentCount": 7,
        "textChars": 851,
        "nDataPoints": 28,
        "notes": "The chart uses a split-bar design where the top half represents 'shopping more online' and the bottom half represents 'shopping less in-store'.",
        "elementsJson": [
          "bar_chart_grouped",
          "paragraph",
          "icon_grid"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 19:12:40.602+00",
          "seconds": 2.97,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5ca1-7489-b63a-07f3cac110e0/8",
        "deck": "/decks/019dd923-5ca1-7489-b63a-07f3cac110e0",
        "deckAnchor": "/decks/019dd923-5ca1-7489-b63a-07f3cac110e0#slide-8",
        "deckJson": "/decks/019dd923-5ca1-7489-b63a-07f3cac110e0.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "As seen in our earlier Pulse survey, consumers in the cohort we’ve identified as health- and safety-conscious are still noticeably less likely to shop in-store—including in grocery stores—than others.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": {
              "name": "Visual emphasis",
              "slug": "visual-emphasis",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-474b-736b-a8eb-a794dd88241c",
              "version": 1,
              "bodyDocId": null,
              "description": "Drawing the eye to one element above the rest of the slide.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:49:50+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-dfa4-712e-8333-150214c940d2",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.45,
            "w": 0.585,
            "x": 0.401,
            "y": 0.38
          },
          "kind": "chart",
          "text": "Comparison of shopping behavior changes across 7 categories",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Chart",
              "slug": "chart",
              "status": "active",
              "canonId": "019de52c-f9a0-76ef-adc6-0b859109d1f8",
              "version": 1,
              "description": "Quantitative chart."
            },
            "tool": null,
            "subkind": {
              "name": "Grouped bar chart",
              "slug": "bar-grouped",
              "status": "active",
              "canonId": "019de52c-ff3b-751e-a8ff-f21ff11097b1",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bar-grouped",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:12:40.602+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "1469de03-caac-4aec-9bb0-b6c18c7aac05",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Percentage of consumers shopping more online/less in-store: 43%",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:49:50+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-dfa4-712e-8333-1b88f06c654a",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.115,
            "w": 0.335,
            "x": 0.05,
            "y": 0.23
          },
          "kind": "paragraph",
          "text": "As seen in our earlier Pulse survey, consumers in the cohort we've identified as health- and safety-conscious are still noticeably less likely to shop in-store—including in grocery stores—than others. They do more of their buying on their laptop, tablet or mobile phone (see Exhibit 7).",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "5f2affc0-941d-4d07-959d-4bfc1930cea4",
              "version": 1,
              "description": "Single prose block in the body of a slide."
            },
            "tool": null,
            "subkind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "019de52c-fb80-75af-aa5c-a7a4bfac2433",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "paragraph",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:12:40.602+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "d4629aac-ae84-4b34-88dd-869578492d77",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.45,
            "x": 0.401,
            "y": 0.915
          },
          "kind": "source-note",
          "text": "Base: All respondents (8,681); 'health- and safety-conscious' cohort (2,203). Source: PwC's June 2021 Global Consumer Insights Pulse Survey",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Source note",
              "slug": "source-note",
              "status": "active",
              "canonId": "23484952-494b-4a5e-b1ad-550d0d70e948",
              "version": 1,
              "description": "Attribution / source / caveat placed at the slide footer. Numbered footnotes use attrs.numbered."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:12:40.602+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "3c542d71-9b51-4788-aa3f-690fe1b3a27e",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.585,
            "x": 0.401,
            "y": 0.268
          },
          "kind": "title",
          "text": "'Health- and safety-conscious' consumers report they are still shopping less in physical stores",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Action title",
              "slug": "action-title",
              "status": "active",
              "canonId": "019de52c-fb31-734c-a0f5-a3935b73135d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "action-title",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:12:40.602+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "f9168bd6-ec1e-4729-a8fe-64a9793a9a29",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.018,
            "w": 0.065,
            "x": 0.401,
            "y": 0.238
          },
          "kind": "title",
          "text": "Exhibit 7",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:12:40.602+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "1dfa4d61-3c0d-4930-b4b5-6d62c1b540f1",
          "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": "019de947-c739-7713-bfbd-07e2b080a21c",
          "evidence": "title: 'health- and safety-conscious consumers report shopping less in physical stores'",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
          "confidence": 80,
          "extraction": {
            "at": "2026-05-02 15:21:26.736795+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": "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": "019de947-c786-7014-8a56-956fb34756fb",
          "evidence": "category icons annotate each bar pair",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 60,
          "extraction": {
            "at": "2026-05-02 15:21:26.736795+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 8,
          "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": "019de947-c760-741c-a603-5b69175e07f0",
          "evidence": "grouped bars across 7 categories",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 70,
          "extraction": {
            "at": "2026-05-02 15:21:26.736795+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 8,
          "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": "a6324b7d-d27a-4126-9c1b-8aac200efeae",
          "evidence": "The slide features a data table with a bar chart, which suggests an emphasis on presenting data in a clear and efficient manner, aligning with the data-ink-ratio principle.",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": null,
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 21:19:35.884169+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 8,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 21,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 2,
          "name": "The Facts (What)",
          "beatId": "019de947-c0d2-719f-92f0-5e2ca8a013db",
          "matchId": "019de947-c0a9-7449-9de2-493b61c69e0c",
          "beatType": null,
          "evidence": "p2 stacked-bar of 8 change dimensions then 5 trend buckets with charts/tables",
          "position": 1,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 70
        },
        {
          "to": 17,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 3,
          "name": "Rising Action",
          "beatId": "019de947-c18f-7589-bcc5-91f7669d4484",
          "matchId": "019de947-c144-71c9-9cfc-3c7fdadff369",
          "beatType": null,
          "evidence": "trends 1-4 stack evidence: digital, health, eco, price",
          "position": 2,
          "isPrimaryArc": false,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 45
        }
      ],
      "loops": [
        {
          "to": 9,
          "from": 6,
          "loop": {
            "name": "06_zoom_in",
            "slug": "06-zoom-in",
            "status": "active",
            "bestFor": "Technical deep-dives, case studies, detailed analysis",
            "canonId": "019dd956-6846-74db-82be-dff5b058b072",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Big Picture -> Key Area of Focus -> Specific Detail -> Implication",
            "description": "Start broad, then progressively focus on specific details that prove your point",
            "familyLabel": null
          },
          "matchId": "019de947-c22c-71fc-8251-533d40b6981e",
          "evidence": "p6 intro, p7 spending by work-location, p8 cohort vs global, p9 health-vs-eco priority",
          "position": 2,
          "objective": "Zoom from 'more health-conscious' theme into spending, cohort and trade-off data",
          "confidence": 80,
          "extraction": {
            "at": "2026-05-02 15:21:26.736795+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 9,
      "type": "analysis",
      "title": "The slide uses a stacked bar chart to compare survey results across three time periods/cohorts.",
      "function": "analyze_data",
      "rawType": "industry_trends",
      "block": null,
      "metadata": {
        "slideType": "industry_trends",
        "slideTypeCanon": {
          "name": "Industry trends",
          "slug": "industry_trends",
          "status": "active",
          "canonId": "019de52d-0b1d-7705-a0e0-c663199cd1fa",
          "version": 1,
          "description": null
        },
        "function": "analyze_data",
        "functionCanon": {
          "name": "Analyze data",
          "slug": "analyze_data",
          "status": "active",
          "canonId": "019de52d-1590-7413-8c82-cc218cff40b4",
          "version": 1,
          "description": null
        },
        "density": "overcrowded",
        "densityScore": 78,
        "componentCount": 8,
        "textChars": 884,
        "nDataPoints": 15,
        "notes": "The slide uses a stacked bar chart to compare survey results across three time periods/cohorts.",
        "elementsJson": [
          "callout_box",
          "paragraph",
          "bar_chart_100pct"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 19:12:44.311+00",
          "seconds": 6.552,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5ca1-7489-b63a-07f3cac110e0/9",
        "deck": "/decks/019dd923-5ca1-7489-b63a-07f3cac110e0",
        "deckAnchor": "/decks/019dd923-5ca1-7489-b63a-07f3cac110e0#slide-9",
        "deckJson": "/decks/019dd923-5ca1-7489-b63a-07f3cac110e0.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.12,
            "w": 0.58,
            "x": 0.394,
            "y": 0.125
          },
          "kind": "callout",
          "text": "Our insight: For now, and perhaps for months to come, shoppers might continue to put health and safety concerns above other issues, such as environmental sustainability.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": null,
            "subkind": {
              "name": "Primary callout",
              "slug": "primary",
              "status": "active",
              "canonId": "019de52c-fbd1-70eb-a9ce-8997f8674c1d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:12:44.311+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "045d51f2-c760-44d2-9d4b-26fb8df7f33f",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "callout",
          "text": "For now, and perhaps for months to come, shoppers might continue to put health and safety concerns above other issues, such as environmental sustainability.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": {
              "name": "Visual emphasis",
              "slug": "visual-emphasis",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-474b-736b-a8eb-a794dd88241c",
              "version": 1,
              "bodyDocId": null,
              "description": "Drawing the eye to one element above the rest of the slide.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:49:51+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-dfa4-712e-8333-810e6cdcba62",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.45,
            "w": 0.41,
            "x": 0.394,
            "y": 0.445
          },
          "kind": "chart",
          "text": "Stacked bar chart showing survey responses from June 2021, March 2021, and the health-and-safety-conscious cohort.",
          "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 19:12:44.311+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "496822be-774e-4198-a4e3-1ca6fcf07bbd",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.1,
            "x": 0.81,
            "y": 0.445
          },
          "kind": "legend",
          "text": "Strongly agree, Agree, Neither, Disagree, Strongly disagree, Don't know",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Legend",
              "slug": "legend",
              "status": "active",
              "canonId": "31361933-3d22-4c70-bbad-0801e9fffc0c",
              "version": 1,
              "description": "Color/symbol decoder placed adjacent to a chart or diagram."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:12:44.311+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "a9b02ebf-a59c-417b-91d0-5637f86c29a7",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Consumer sentiment: 52%",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:49:51+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-dfa4-712e-8333-84cb0a550492",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.3,
            "w": 0.32,
            "x": 0.05,
            "y": 0.315
          },
          "kind": "paragraph",
          "text": "When examining consumer behaviour at the local level, we notice that respondents in Southeast Asia and the Middle East overwhelmingly state that they've become more healthy since we conducted our first Pulse 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 19:12:44.311+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "3648963a-b899-42b6-aee8-654af420b7f8",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.15,
            "x": 0.81,
            "y": 0.865
          },
          "kind": "source-note",
          "text": "Source: PwC's June 2021 Global Consumer Insights Pulse Survey",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Source note",
              "slug": "source-note",
              "status": "active",
              "canonId": "23484952-494b-4a5e-b1ad-550d0d70e948",
              "version": 1,
              "description": "Attribution / source / caveat placed at the slide footer. Numbered footnotes use attrs.numbered."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:12:44.311+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "2b28529b-3b42-4469-93bf-67eab5a430f0",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.5,
            "x": 0.394,
            "y": 0.322
          },
          "kind": "title",
          "text": "Most shoppers put health and safety concerns above environmental concerns",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:12:44.311+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "e8ae25c5-d69b-42ab-a4a3-4517d833e878",
          "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": "019de947-c7aa-7642-9db2-1153b6b9b32c",
          "evidence": "title: 'Most shoppers put health and safety concerns above environmental concerns'",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
          "confidence": 80,
          "extraction": {
            "at": "2026-05-02 15:21:26.736795+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": "Audience Definition",
            "slug": "audience-definition",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-7f2a-775d-aeee-ff099bcb7756",
            "version": 1,
            "bodyDocId": null,
            "description": "Six key questions: Who are they? What do they know? What do they believe? What do they care about? What do they fear? What decisions can they make?",
            "familyLabel": null,
            "categoryName": "Block",
            "categorySlug": "block"
          },
          "agent": "Storyteller",
          "layer": "slide",
          "agents": [
            "Storyteller"
          ],
          "matchId": "ae2a7a54-4376-4921-8fcc-9b47a07456a1",
          "evidence": "The slide mentions 'consumer behaviour at the local level' and 'respondents in Southeast Asia and the Middle East', indicating consideration for the audience's demographics and geographic location.",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": null,
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 21:19:35.956423+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 9,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "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": "019de947-c7f6-765b-aa23-88890a65d0de",
          "evidence": "100% stacked bar for sentiment composition",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 65,
          "extraction": {
            "at": "2026-05-02 15:21:26.736795+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 9,
          "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": "019de947-c7ce-7238-9455-40604ad87b45",
          "evidence": "uncluttered 100% stacked bar with three bars",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": null,
          "confidence": 65,
          "extraction": {
            "at": "2026-05-02 15:21:26.736795+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 9,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 21,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 2,
          "name": "The Facts (What)",
          "beatId": "019de947-c0d2-719f-92f0-5e2ca8a013db",
          "matchId": "019de947-c0a9-7449-9de2-493b61c69e0c",
          "beatType": null,
          "evidence": "p2 stacked-bar of 8 change dimensions then 5 trend buckets with charts/tables",
          "position": 1,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 70
        },
        {
          "to": 17,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 3,
          "name": "Rising Action",
          "beatId": "019de947-c18f-7589-bcc5-91f7669d4484",
          "matchId": "019de947-c144-71c9-9cfc-3c7fdadff369",
          "beatType": null,
          "evidence": "trends 1-4 stack evidence: digital, health, eco, price",
          "position": 2,
          "isPrimaryArc": false,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 45
        }
      ],
      "loops": [
        {
          "to": 9,
          "from": 6,
          "loop": {
            "name": "06_zoom_in",
            "slug": "06-zoom-in",
            "status": "active",
            "bestFor": "Technical deep-dives, case studies, detailed analysis",
            "canonId": "019dd956-6846-74db-82be-dff5b058b072",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Big Picture -> Key Area of Focus -> Specific Detail -> Implication",
            "description": "Start broad, then progressively focus on specific details that prove your point",
            "familyLabel": null
          },
          "matchId": "019de947-c22c-71fc-8251-533d40b6981e",
          "evidence": "p6 intro, p7 spending by work-location, p8 cohort vs global, p9 health-vs-eco priority",
          "position": 2,
          "objective": "Zoom from 'more health-conscious' theme into spending, cohort and trade-off data",
          "confidence": 80,
          "extraction": {
            "at": "2026-05-02 15:21:26.736795+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 10,
      "type": "resolution",
      "title": "PwC Global Consumer Insights Pulse Survey slide.",
      "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": 59,
        "componentCount": 6,
        "textChars": 834,
        "nDataPoints": 5,
        "notes": "PwC Global Consumer Insights Pulse Survey slide.",
        "elementsJson": [
          "headline_text",
          "paragraph",
          "photo"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 19:12:40.478+00",
          "seconds": 2.695,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5ca1-7489-b63a-07f3cac110e0/10",
        "deck": "/decks/019dd923-5ca1-7489-b63a-07f3cac110e0",
        "deckAnchor": "/decks/019dd923-5ca1-7489-b63a-07f3cac110e0#slide-10",
        "deckJson": "/decks/019dd923-5ca1-7489-b63a-07f3cac110e0.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "Globally, 50% of consumers say they’re more eco-friendly, but in Indonesia it’s 86%; Vietnam and the Philippines, 74%; Egypt, 68%; and the United Arab Emirates, 67%.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": {
              "name": "Visual emphasis",
              "slug": "visual-emphasis",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-474b-736b-a8eb-a794dd88241c",
              "version": 1,
              "bodyDocId": null,
              "description": "Drawing the eye to one element above the rest of the slide.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:49:50+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-dfa4-712e-8332-7f0a3be5bab0",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 1,
            "w": 0.57,
            "x": 0.43,
            "y": 0
          },
          "kind": "image",
          "text": "Person holding a paper bag with a recycling symbol",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Image",
              "slug": "image",
              "status": "active",
              "canonId": "019de52c-f978-701f-a720-51d029d769e7",
              "version": 1,
              "description": "Photo, illustration, screenshot or icon."
            },
            "tool": null,
            "subkind": {
              "name": "Photo",
              "slug": "photo",
              "status": "active",
              "canonId": "019de52c-fd37-757f-b4a8-ca26d4888875",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "photo",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:12:40.478+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "e3756e5e-7cdb-4f14-b00c-ed0e8130f3b2",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Percentage of consumers reporting more eco-friendly behavior: 50%",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:49:50+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-dfa4-712e-8332-82df4259a2d7",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.25,
            "w": 0.38,
            "x": 0.05,
            "y": 0.41
          },
          "kind": "paragraph",
          "text": "It would hearten environmental activists everywhere to know that fully half of all global consumers we surveyed say they've become more eco-friendly since we conducted our first Pulse survey. And, continuing a trend from our first Pulse survey, consumers in Southeast Asia and the Middle East are leading the way. Globally, 50% of consumers say they're more eco-friendly, but in Indonesia it's 86%; Vietnam and the Philippines, 74%; Egypt, 68%; and the United Arab Emirates, 67%.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "5f2affc0-941d-4d07-959d-4bfc1930cea4",
              "version": 1,
              "description": "Single prose block in the body of a slide."
            },
            "tool": null,
            "subkind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "019de52c-fb80-75af-aa5c-a7a4bfac2433",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "paragraph",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:12:40.478+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "31677d99-9bad-4cef-b145-96dc439d8dbe",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.04,
            "w": 0.22,
            "x": 0.05,
            "y": 0.33
          },
          "kind": "title",
          "text": "More eco-friendly",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:12:40.478+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "a2e75eda-5636-4f7d-9c5c-86162d44a629",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.33,
            "x": 0.05,
            "y": 0.04
          },
          "kind": "title",
          "text": "10 | PwC's June 2021 Global Consumer Insights Pulse Survey",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Subtitle",
              "slug": "subtitle",
              "status": "active",
              "canonId": "019de52c-fb09-739d-900c-815b0d9ac526",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "subtitle",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:12:40.478+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "7f5d7d65-831e-4a8f-90ef-3dcc1411707b",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "Contrast Pairs",
            "slug": "contrast-pairs",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-9b77-70d3-88b1-f34e26f60860",
            "version": 1,
            "bodyDocId": null,
            "description": "Creating tension through opposites: Before↔After, Problem↔Solution, Pain↔Relief",
            "familyLabel": null,
            "categoryName": "Loop",
            "categorySlug": "loop"
          },
          "agent": "Storyteller",
          "layer": "loop",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019de947-c893-70f0-af01-9112f718f8d6",
          "evidence": "eco loop contrasts aspiration vs action through p14",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": null,
          "confidence": 65,
          "extraction": {
            "at": "2026-05-02 15:21:26.736795+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 10,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Data Story Arc",
            "slug": "data-story-arc",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-9c30-728e-b974-d3fb123dcf5a",
            "version": 1,
            "bodyDocId": null,
            "description": "Context → Conflict → Insight → Implication structure for data narratives",
            "familyLabel": null,
            "categoryName": "Loop",
            "categorySlug": "loop"
          },
          "agent": "Storyteller",
          "layer": "loop",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019de947-c8b7-741c-8a14-11ef77945045",
          "evidence": "loop builds: claim-evidence-barrier-nuance",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": null,
          "confidence": 70,
          "extraction": {
            "at": "2026-05-02 15:21:26.736795+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 10,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Action Titles",
            "slug": "action-titles",
            "status": "active",
            "bestFor": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
            "canonId": "019dd956-ac70-700b-a608-ba58e78f5dcc",
            "version": 1,
            "bodyDocId": "816dad3c-9983-41c1-a86e-978ebd582841",
            "description": "The McKinsey-bred discipline of writing every slide title as a complete declarative sentence with a verb and an insight, not a topic label. Each title is a sub-claim that ladders up to the deck's governing thought; read in sequence, the titles reconstruct the executive summary.",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Architect",
          "layer": "slide",
          "agents": [
            "Architect"
          ],
          "matchId": "019de947-c81e-77fe-a742-bfb113b773f8",
          "evidence": "section title + 50% callout",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
          "confidence": 65,
          "extraction": {
            "at": "2026-05-02 15:21:26.736795+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 10,
          "whyItWorks": "Solves two failure modes at once. (1) The buried claim: action titles place the conclusion on the page before any analysis is read, so a busy reader doesn't reverse-engineer it from the chart. (2) The spineless deck: because each title is a claim, slides have to ladder up to the governing thought; logical gaps become visible as topic-shaped titles in a sequence that no longer reads as a story.",
          "antipattern": "Topic labels disguised as titles — Volume by quarter, Key findings, Pricing strategy, Margins have been impacted. No verb, or a passive verb with no agent, or a fact (Revenue grew 12%) without the so-what. Also: titles that overreach the chart's evidence, multi-claim X-grew-but-Y-fell welded titles, and mechanical repetition of the same X-drove-Y template across the deck.",
          "cardinality": null,
          "narrativePurpose": "Forces the deck to carry its argument in the title bar so a senior reader can extract the recommendation without opening a single slide; converts a binder of topics into a navigable pyramid where every slide is a node defending the apex."
        },
        {
          "tool": {
            "name": "Emotional Appeal",
            "slug": "emotional-appeal",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-bde9-7668-8be7-0097678fec59",
            "version": 1,
            "bodyDocId": null,
            "description": "Connecting to audience feelings rather than just logic",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Storyteller",
          "layer": "slide",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019de947-c848-76de-88bc-a64611ea5d08",
          "evidence": "consumer-with-recycling-bag photo",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 70,
          "extraction": {
            "at": "2026-05-02 15:21:26.736795+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 10,
          "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": "019de947-c86d-75ac-b728-8171001e9dbb",
          "evidence": "recycling-bag visual reinforces theme",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 60,
          "extraction": {
            "at": "2026-05-02 15:21:26.736795+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 10,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 21,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 2,
          "name": "The Facts (What)",
          "beatId": "019de947-c0d2-719f-92f0-5e2ca8a013db",
          "matchId": "019de947-c0a9-7449-9de2-493b61c69e0c",
          "beatType": null,
          "evidence": "p2 stacked-bar of 8 change dimensions then 5 trend buckets with charts/tables",
          "position": 1,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 70
        },
        {
          "to": 17,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 3,
          "name": "Rising Action",
          "beatId": "019de947-c18f-7589-bcc5-91f7669d4484",
          "matchId": "019de947-c144-71c9-9cfc-3c7fdadff369",
          "beatType": null,
          "evidence": "trends 1-4 stack evidence: digital, health, eco, price",
          "position": 2,
          "isPrimaryArc": false,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 45
        }
      ],
      "loops": [
        {
          "to": 14,
          "from": 10,
          "loop": {
            "name": "06_zoom_in",
            "slug": "06-zoom-in",
            "status": "active",
            "bestFor": "Technical deep-dives, case studies, detailed analysis",
            "canonId": "019dd956-6846-74db-82be-dff5b058b072",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Big Picture -> Key Area of Focus -> Specific Detail -> Implication",
            "description": "Start broad, then progressively focus on specific details that prove your point",
            "familyLabel": null
          },
          "matchId": "019de947-c251-70a8-a17e-c2cc9eed84a7",
          "evidence": "p10 intro, p11 WFH vs onsite line chart, p12 price barrier, p13 loyalty drivers, p14 generational heatmap",
          "position": 3,
          "objective": "Zoom from 'more eco-friendly' theme into behaviour, blockers and generational nuance",
          "confidence": 80,
          "extraction": {
            "at": "2026-05-02 15:21:26.736795+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 11,
      "type": "analysis",
      "title": "The chart uses a line-dot hybrid visualization to compare two cohorts across five survey statements.",
      "function": "analyze_data",
      "rawType": "data_table",
      "block": null,
      "metadata": {
        "slideType": "data_table",
        "slideTypeCanon": {
          "name": "Data table",
          "slug": "data_table",
          "status": "active",
          "canonId": "019de52d-0bbd-71b9-9918-417f904abbf8",
          "version": 1,
          "description": null
        },
        "function": "analyze_data",
        "functionCanon": {
          "name": "Analyze data",
          "slug": "analyze_data",
          "status": "active",
          "canonId": "019de52d-1590-7413-8c82-cc218cff40b4",
          "version": 1,
          "description": null
        },
        "density": "dense",
        "densityScore": 59,
        "componentCount": 6,
        "textChars": 766,
        "nDataPoints": 10,
        "notes": "The chart uses a line-dot hybrid visualization to compare two cohorts across five survey statements.",
        "elementsJson": [
          "paragraph",
          "line_chart"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 19:12:40.624+00",
          "seconds": 2.74,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5ca1-7489-b63a-07f3cac110e0/11",
        "deck": "/decks/019dd923-5ca1-7489-b63a-07f3cac110e0",
        "deckAnchor": "/decks/019dd923-5ca1-7489-b63a-07f3cac110e0#slide-11",
        "deckJson": "/decks/019dd923-5ca1-7489-b63a-07f3cac110e0.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "Overall, those working at home appear to shop more sustainably than those still going into a workplace.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": {
              "name": "Visual emphasis",
              "slug": "visual-emphasis",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-474b-736b-a8eb-a794dd88241c",
              "version": 1,
              "bodyDocId": null,
              "description": "Drawing the eye to one element above the rest of the slide.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:49:51+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-dfa4-712e-8333-6616824f9e8a",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.45,
            "w": 0.55,
            "x": 0.4,
            "y": 0.35
          },
          "kind": "chart",
          "text": "Comparison of sustainable shopping behaviors between 'Work from home' and 'Work away from home' cohorts.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Chart",
              "slug": "chart",
              "status": "active",
              "canonId": "019de52c-f9a0-76ef-adc6-0b859109d1f8",
              "version": 1,
              "description": "Quantitative chart."
            },
            "tool": null,
            "subkind": {
              "name": "Line chart",
              "slug": "line",
              "status": "active",
              "canonId": "019de52c-ff62-778f-8f6c-a952ceae8677",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "line",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:12:40.624+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "03e13712-0a2f-4c5b-b7e7-7b7078866bfb",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Percentage of consumers agreeing with sustainable shopping statements: 62%",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:49:51+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-dfa4-712e-8333-6bba411a7d44",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.3,
            "x": 0.05,
            "y": 0.23
          },
          "kind": "paragraph",
          "text": "There's a marked difference in responses between those who've been working at home and those whose work is still outside the home: more at-home consumers say they've become more environmentally sensitive compared with those working away from home (see Exhibit 9).",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "5f2affc0-941d-4d07-959d-4bfc1930cea4",
              "version": 1,
              "description": "Single prose block in the body of a slide."
            },
            "tool": null,
            "subkind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "019de52c-fb80-75af-aa5c-a7a4bfac2433",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "paragraph",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:12:40.624+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "8d943cef-922b-44fb-94d1-20b3ffe4e530",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.5,
            "x": 0.39,
            "y": 0.87
          },
          "kind": "source-note",
          "text": "Base: 'Work from home' cohort (3,416); 'work away from home' cohort (2,513). Source: PwC's June 2021 Global Consumer Insights Pulse Survey",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Source note",
              "slug": "source-note",
              "status": "active",
              "canonId": "23484952-494b-4a5e-b1ad-550d0d70e948",
              "version": 1,
              "description": "Attribution / source / caveat placed at the slide footer. Numbered footnotes use attrs.numbered."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:12:40.624+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "0cc68697-1e30-4fa7-9693-b3a129b7b9c1",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.55,
            "x": 0.39,
            "y": 0.26
          },
          "kind": "title",
          "text": "Those working from home are more likely to say they engage in sustainable behaviours",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:12:40.624+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "e0666523-8875-4002-88d3-6f5bfdfafd0a",
          "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": "019de947-c8e0-7268-abf0-3d164e40f7b1",
          "evidence": "title: 'those working from home are more likely to engage in sustainable behaviours'",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
          "confidence": 80,
          "extraction": {
            "at": "2026-05-02 15:21:26.736795+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 11,
          "whyItWorks": "Solves two failure modes at once. (1) The buried claim: action titles place the conclusion on the page before any analysis is read, so a busy reader doesn't reverse-engineer it from the chart. (2) The spineless deck: because each title is a claim, slides have to ladder up to the governing thought; logical gaps become visible as topic-shaped titles in a sequence that no longer reads as a story.",
          "antipattern": "Topic labels disguised as titles — Volume by quarter, Key findings, Pricing strategy, Margins have been impacted. No verb, or a passive verb with no agent, or a fact (Revenue grew 12%) without the so-what. Also: titles that overreach the chart's evidence, multi-claim X-grew-but-Y-fell welded titles, and mechanical repetition of the same X-drove-Y template across the deck.",
          "cardinality": null,
          "narrativePurpose": "Forces the deck to carry its argument in the title bar so a senior reader can extract the recommendation without opening a single slide; converts a binder of topics into a navigable pyramid where every slide is a node defending the apex."
        },
        {
          "tool": {
            "name": "Annotation",
            "slug": "annotation",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-b5b9-7668-bf0e-3af99823ec5c",
            "version": 1,
            "bodyDocId": null,
            "description": "Adding explanatory labels to highlight key data points",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "019de947-c92c-71e8-9ac6-e627741d5288",
          "evidence": "5 question labels annotate the lines",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 60,
          "extraction": {
            "at": "2026-05-02 15:21:26.736795+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 11,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Chart Selection Guide",
            "slug": "chart-selection-guide",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-b1a0-700b-ba17-0e16c4d5bcae",
            "version": 1,
            "bodyDocId": null,
            "description": "Choosing the right chart type for your data and message",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "019de947-c907-7468-9d71-aa9e19ac7c75",
          "evidence": "two-line plot for cohort comparison",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 70,
          "extraction": {
            "at": "2026-05-02 15:21:26.736795+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 11,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Comparison frame",
            "slug": "comparison-frame",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd9e1-484b-7399-a4fc-d14644b99f93",
            "version": 1,
            "bodyDocId": null,
            "description": "Two or more states/subjects placed side by side to expose a gap.",
            "familyLabel": null,
            "categoryName": null,
            "categorySlug": null
          },
          "agent": null,
          "layer": "slide",
          "agents": null,
          "matchId": "ef9c8ea9-99a7-42fa-9176-0e32752654b8",
          "evidence": "The slide compares sustainable shopping behaviors between 'Work from home' and 'Work away from home' cohorts, using a line chart for visualization.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 21:19:36.064058+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 11,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": "common",
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 21,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 2,
          "name": "The Facts (What)",
          "beatId": "019de947-c0d2-719f-92f0-5e2ca8a013db",
          "matchId": "019de947-c0a9-7449-9de2-493b61c69e0c",
          "beatType": null,
          "evidence": "p2 stacked-bar of 8 change dimensions then 5 trend buckets with charts/tables",
          "position": 1,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 70
        },
        {
          "to": 17,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 3,
          "name": "Rising Action",
          "beatId": "019de947-c18f-7589-bcc5-91f7669d4484",
          "matchId": "019de947-c144-71c9-9cfc-3c7fdadff369",
          "beatType": null,
          "evidence": "trends 1-4 stack evidence: digital, health, eco, price",
          "position": 2,
          "isPrimaryArc": false,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 45
        }
      ],
      "loops": [
        {
          "to": 14,
          "from": 10,
          "loop": {
            "name": "06_zoom_in",
            "slug": "06-zoom-in",
            "status": "active",
            "bestFor": "Technical deep-dives, case studies, detailed analysis",
            "canonId": "019dd956-6846-74db-82be-dff5b058b072",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Big Picture -> Key Area of Focus -> Specific Detail -> Implication",
            "description": "Start broad, then progressively focus on specific details that prove your point",
            "familyLabel": null
          },
          "matchId": "019de947-c251-70a8-a17e-c2cc9eed84a7",
          "evidence": "p10 intro, p11 WFH vs onsite line chart, p12 price barrier, p13 loyalty drivers, p14 generational heatmap",
          "position": 3,
          "objective": "Zoom from 'more eco-friendly' theme into behaviour, blockers and generational nuance",
          "confidence": 80,
          "extraction": {
            "at": "2026-05-02 15:21:26.736795+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 12,
      "type": "analysis",
      "title": "Exhibit 10 from PwC's June 2021 Global Consumer Insights Pulse Survey.",
      "function": "analyze_data",
      "rawType": "data_table",
      "block": null,
      "metadata": {
        "slideType": "data_table",
        "slideTypeCanon": {
          "name": "Data table",
          "slug": "data_table",
          "status": "active",
          "canonId": "019de52d-0bbd-71b9-9918-417f904abbf8",
          "version": 1,
          "description": null
        },
        "function": "analyze_data",
        "functionCanon": {
          "name": "Analyze data",
          "slug": "analyze_data",
          "status": "active",
          "canonId": "019de52d-1590-7413-8c82-cc218cff40b4",
          "version": 1,
          "description": null
        },
        "density": "dense",
        "densityScore": 68,
        "componentCount": 7,
        "textChars": 827,
        "nDataPoints": 7,
        "notes": "Exhibit 10 from PwC's June 2021 Global Consumer Insights Pulse Survey.",
        "elementsJson": [
          "headline_text",
          "action_title",
          "big_number",
          "bar_chart_horizontal",
          "paragraph",
          "footnote"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 19:12:45.751+00",
          "seconds": 7.812,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5ca1-7489-b63a-07f3cac110e0/12",
        "deck": "/decks/019dd923-5ca1-7489-b63a-07f3cac110e0",
        "deckAnchor": "/decks/019dd923-5ca1-7489-b63a-07f3cac110e0#slide-12",
        "deckJson": "/decks/019dd923-5ca1-7489-b63a-07f3cac110e0.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "Forty-four percent of those demonstrating less interest in sustainable shopping—those who either disagree with sustainability statements or have no opinion—contend that sustainable products cost too much.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": {
              "name": "Visual emphasis",
              "slug": "visual-emphasis",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-474b-736b-a8eb-a794dd88241c",
              "version": 1,
              "bodyDocId": null,
              "description": "Drawing the eye to one element above the rest of the slide.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:49:50+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-dfa4-712e-8331-c5f028fd3366",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.45,
            "w": 0.26,
            "x": 0.34,
            "y": 0.41
          },
          "kind": "chart",
          "text": "Bar chart showing reasons for not shopping sustainably, led by 'Sustainable products are priced too high' at 44%.",
          "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 19:12:45.751+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "e4601d93-4872-4227-ae2c-a02e926efe64",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.08,
            "w": 0.1,
            "x": 0.15,
            "y": 0.415
          },
          "kind": "metric",
          "text": "44%",
          "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 19:12:45.751+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "75e7cd7f-3c60-47ec-98cd-0d089967c0d1",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Percentage of respondents: 44%",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:49:50+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-dfa4-712e-8331-c9fcde6ea9a1",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.65,
            "w": 0.28,
            "x": 0.67,
            "y": 0.23
          },
          "kind": "paragraph",
          "text": "And yet our most recent Pulse survey reveals that a sizeable proportion of shoppers don't necessarily prioritise eco-anything. Forty-four percent of those demonstrating less interest in sustainable shopping...",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "5f2affc0-941d-4d07-959d-4bfc1930cea4",
              "version": 1,
              "description": "Single prose block in the body of a slide."
            },
            "tool": null,
            "subkind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "019de52c-fb80-75af-aa5c-a7a4bfac2433",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "paragraph",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:12:45.751+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "30a0c052-9819-48a2-95db-f0a131f400ba",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.6,
            "x": 0.05,
            "y": 0.87
          },
          "kind": "source-note",
          "text": "Base: All respondents (8,681); respondents who had no opinion or disagreed with three or more statements around shopping sustainability (3,815). Source: PwC's June 2021 Global Consumer Insights Pulse Survey",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Source note",
              "slug": "source-note",
              "status": "active",
              "canonId": "23484952-494b-4a5e-b1ad-550d0d70e948",
              "version": 1,
              "description": "Attribution / source / caveat placed at the slide footer. Numbered footnotes use attrs.numbered."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:12:45.751+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "69252ed1-64ec-40d5-b933-bde42d38cc8d",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.45,
            "x": 0.05,
            "y": 0.23
          },
          "kind": "title",
          "text": "Price is the main blocker for those who don't shop sustainably",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:12:45.751+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "dbe7c528-b51b-4c95-ad97-7ac021cfb3a2",
          "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": "019de947-c951-73f9-8830-3c5329222757",
          "evidence": "title: 'Price is the main blocker for those who don't shop sustainably'",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
          "confidence": 85,
          "extraction": {
            "at": "2026-05-02 15:21:26.736795+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 12,
          "whyItWorks": "Solves two failure modes at once. (1) The buried claim: action titles place the conclusion on the page before any analysis is read, so a busy reader doesn't reverse-engineer it from the chart. (2) The spineless deck: because each title is a claim, slides have to ladder up to the governing thought; logical gaps become visible as topic-shaped titles in a sequence that no longer reads as a story.",
          "antipattern": "Topic labels disguised as titles — Volume by quarter, Key findings, Pricing strategy, Margins have been impacted. No verb, or a passive verb with no agent, or a fact (Revenue grew 12%) without the so-what. Also: titles that overreach the chart's evidence, multi-claim X-grew-but-Y-fell welded titles, and mechanical repetition of the same X-drove-Y template across the deck.",
          "cardinality": null,
          "narrativePurpose": "Forces the deck to carry its argument in the title bar so a senior reader can extract the recommendation without opening a single slide; converts a binder of topics into a navigable pyramid where every slide is a node defending the apex."
        },
        {
          "tool": {
            "name": "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": "019de947-c99f-71aa-abed-12ad9a04170f",
          "evidence": "horizontal bar ranks barriers",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 65,
          "extraction": {
            "at": "2026-05-02 15:21:26.736795+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 12,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Pre-attentive Attributes",
            "slug": "pre-attentive-attributes",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-b61d-717f-a402-24ccbb4b60d8",
            "version": 1,
            "bodyDocId": null,
            "description": "Visual properties processed instantly: color, size, orientation, shape",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "019de947-c9c4-716c-8370-15685fd0dd8b",
          "evidence": "oversized 44% pulls eye first",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 70,
          "extraction": {
            "at": "2026-05-02 15:21:26.736795+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 12,
          "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": "019de947-c97a-738c-a4d2-a97e160ef2e0",
          "evidence": "44% big number frames the diagnosis",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": "On every slide carrying a chart, number, list, or finding intended to inform a decision; whenever a draft title is descriptive rather than directive; whenever the deck will circulate without its author.",
          "confidence": 75,
          "extraction": {
            "at": "2026-05-02 15:21:26.736795+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 12,
          "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": 21,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 2,
          "name": "The Facts (What)",
          "beatId": "019de947-c0d2-719f-92f0-5e2ca8a013db",
          "matchId": "019de947-c0a9-7449-9de2-493b61c69e0c",
          "beatType": null,
          "evidence": "p2 stacked-bar of 8 change dimensions then 5 trend buckets with charts/tables",
          "position": 1,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 70
        },
        {
          "to": 17,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 3,
          "name": "Rising Action",
          "beatId": "019de947-c18f-7589-bcc5-91f7669d4484",
          "matchId": "019de947-c144-71c9-9cfc-3c7fdadff369",
          "beatType": null,
          "evidence": "trends 1-4 stack evidence: digital, health, eco, price",
          "position": 2,
          "isPrimaryArc": false,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 45
        }
      ],
      "loops": [
        {
          "to": 14,
          "from": 10,
          "loop": {
            "name": "06_zoom_in",
            "slug": "06-zoom-in",
            "status": "active",
            "bestFor": "Technical deep-dives, case studies, detailed analysis",
            "canonId": "019dd956-6846-74db-82be-dff5b058b072",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Big Picture -> Key Area of Focus -> Specific Detail -> Implication",
            "description": "Start broad, then progressively focus on specific details that prove your point",
            "familyLabel": null
          },
          "matchId": "019de947-c251-70a8-a17e-c2cc9eed84a7",
          "evidence": "p10 intro, p11 WFH vs onsite line chart, p12 price barrier, p13 loyalty drivers, p14 generational heatmap",
          "position": 3,
          "objective": "Zoom from 'more eco-friendly' theme into behaviour, blockers and generational nuance",
          "confidence": 80,
          "extraction": {
            "at": "2026-05-02 15:21:26.736795+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 13,
      "type": "analysis",
      "title": "The slide includes a narrative analysis of survey results regarding brand loyalty drivers and generational differences in eco-sensitivity.",
      "function": "analyze_data",
      "rawType": "data_table",
      "block": null,
      "metadata": {
        "slideType": "data_table",
        "slideTypeCanon": {
          "name": "Data table",
          "slug": "data_table",
          "status": "active",
          "canonId": "019de52d-0bbd-71b9-9918-417f904abbf8",
          "version": 1,
          "description": null
        },
        "function": "analyze_data",
        "functionCanon": {
          "name": "Analyze data",
          "slug": "analyze_data",
          "status": "active",
          "canonId": "019de52d-1590-7413-8c82-cc218cff40b4",
          "version": 1,
          "description": null
        },
        "density": "dense",
        "densityScore": 71,
        "componentCount": 7,
        "textChars": 963,
        "nDataPoints": 11,
        "notes": "The slide includes a narrative analysis of survey results regarding brand loyalty drivers and generational differences in eco-sensitivity.",
        "elementsJson": [
          "paragraph",
          "bar_chart_horizontal",
          "callout_box",
          "footnote"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 19:12:43.956+00",
          "seconds": 5.976,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5ca1-7489-b63a-07f3cac110e0/13",
        "deck": "/decks/019dd923-5ca1-7489-b63a-07f3cac110e0",
        "deckAnchor": "/decks/019dd923-5ca1-7489-b63a-07f3cac110e0#slide-13",
        "deckJson": "/decks/019dd923-5ca1-7489-b63a-07f3cac110e0.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "Interestingly, our most recent Pulse survey found that the greenness of a brand has an impact on how loyal shoppers are to that product or service.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": {
              "name": "Visual emphasis",
              "slug": "visual-emphasis",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-474b-736b-a8eb-a794dd88241c",
              "version": 1,
              "bodyDocId": null,
              "description": "Drawing the eye to one element above the rest of the slide.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:49:50+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-dfa4-712e-8332-db4852a2aa86",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.55,
            "w": 0.58,
            "x": 0.38,
            "y": 0.275
          },
          "kind": "chart",
          "text": "Bar chart showing loyalty drivers: Reliability (46%), Availability (31%), Customer Service (26%), Loyalty programs (26%), Ethical practices (24%), Fun experience (20%), Sustainable practices (19%), Exclusivity (18%), Personalisation (17%), Giving back (15%), Engaging content (14%), Seamless digital (12%)",
          "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 19:12:43.956+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "a9ad5613-268d-4cac-bfe1-5b7af805bd99",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.38,
            "w": 0.22,
            "x": 0.74,
            "y": 0.475
          },
          "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": "Illustration",
              "slug": "illustration",
              "status": "active",
              "canonId": "019de52c-fe76-7772-a5ac-c0b7294d7615",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "illustration",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:12:43.956+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "f299e34e-7559-4904-a696-706cb0e769a6",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Percentage of consumers choosing brand attribute: 46%",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:49:50+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-dfa4-712e-8332-de7e8f144770",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.75,
            "w": 0.32,
            "x": 0.05,
            "y": 0.135
          },
          "kind": "paragraph",
          "text": "Interestingly, our most recent Pulse survey found that the greenness of a brand has an impact on how loyal shoppers are to that product or service. Sustainable experiences aren't among the two top drivers of loyalty...",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "5f2affc0-941d-4d07-959d-4bfc1930cea4",
              "version": 1,
              "description": "Single prose block in the body of a slide."
            },
            "tool": null,
            "subkind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "019de52c-fb80-75af-aa5c-a7a4bfac2433",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "paragraph",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:12:43.956+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "9b2b6592-ad51-4b7c-8cb4-7abaa06ee729",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.58,
            "x": 0.38,
            "y": 0.9
          },
          "kind": "source-note",
          "text": "Base: All respondents (8,681). Note: Responses shown are limited to the options provided. Source: PwC's June 2021 Global Consumer Insights Pulse Survey",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Source note",
              "slug": "source-note",
              "status": "active",
              "canonId": "23484952-494b-4a5e-b1ad-550d0d70e948",
              "version": 1,
              "description": "Attribution / source / caveat placed at the slide footer. Numbered footnotes use attrs.numbered."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:12:43.956+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "bc5c4de6-0391-4742-b470-10c37c6bd3fe",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.04,
            "w": 0.58,
            "x": 0.38,
            "y": 0.175
          },
          "kind": "title",
          "text": "Reliability is key to brand loyalty, but ethical and sustainable practices also factor in",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:12:43.956+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "0db51e7d-988a-4676-8c7b-cf4e66ab7599",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "2x2 matrix",
            "slug": "matrix-2x2",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd9e1-50ab-72d1-8afb-3ab0a38e32a8",
            "version": 1,
            "bodyDocId": null,
            "description": "BCG matrix, importance/urgency, any axes-and-quadrants frame.",
            "familyLabel": null,
            "categoryName": null,
            "categorySlug": null
          },
          "agent": null,
          "layer": "slide",
          "agents": null,
          "matchId": "51ef399f-a719-4dca-80d6-48d4301de0e1",
          "evidence": "Although not a traditional 2x2 matrix, the slide presents a table with multiple loyalty drivers, which could be seen as a form of matrix.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.5,
          "extraction": {
            "at": "2026-07-16 21:19:36.17253+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 13,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": "common",
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Action Titles",
            "slug": "action-titles",
            "status": "active",
            "bestFor": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
            "canonId": "019dd956-ac70-700b-a608-ba58e78f5dcc",
            "version": 1,
            "bodyDocId": "816dad3c-9983-41c1-a86e-978ebd582841",
            "description": "The McKinsey-bred discipline of writing every slide title as a complete declarative sentence with a verb and an insight, not a topic label. Each title is a sub-claim that ladders up to the deck's governing thought; read in sequence, the titles reconstruct the executive summary.",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Architect",
          "layer": "slide",
          "agents": [
            "Architect"
          ],
          "matchId": "019de947-c9e8-715f-85d0-5a1fecd7df0e",
          "evidence": "title: 'Reliability is key to brand loyalty, but ethical/sustainable practices factor in'",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
          "confidence": 80,
          "extraction": {
            "at": "2026-05-02 15:21:26.736795+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 13,
          "whyItWorks": "Solves two failure modes at once. (1) The buried claim: action titles place the conclusion on the page before any analysis is read, so a busy reader doesn't reverse-engineer it from the chart. (2) The spineless deck: because each title is a claim, slides have to ladder up to the governing thought; logical gaps become visible as topic-shaped titles in a sequence that no longer reads as a story.",
          "antipattern": "Topic labels disguised as titles — Volume by quarter, Key findings, Pricing strategy, Margins have been impacted. No verb, or a passive verb with no agent, or a fact (Revenue grew 12%) without the so-what. Also: titles that overreach the chart's evidence, multi-claim X-grew-but-Y-fell welded titles, and mechanical repetition of the same X-drove-Y template across the deck.",
          "cardinality": null,
          "narrativePurpose": "Forces the deck to carry its argument in the title bar so a senior reader can extract the recommendation without opening a single slide; converts a binder of topics into a navigable pyramid where every slide is a node defending the apex."
        },
        {
          "tool": {
            "name": "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": "019de947-ca33-72de-a15a-73471ee8c585",
          "evidence": "callout discusses generational nuance vs the bars",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 55,
          "extraction": {
            "at": "2026-05-02 15:21:26.736795+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 13,
          "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": "019de947-ca0d-735e-826a-56c4c54237b7",
          "evidence": "horizontal bar ranks 10 loyalty drivers",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 70,
          "extraction": {
            "at": "2026-05-02 15:21:26.736795+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 13,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 21,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 2,
          "name": "The Facts (What)",
          "beatId": "019de947-c0d2-719f-92f0-5e2ca8a013db",
          "matchId": "019de947-c0a9-7449-9de2-493b61c69e0c",
          "beatType": null,
          "evidence": "p2 stacked-bar of 8 change dimensions then 5 trend buckets with charts/tables",
          "position": 1,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 70
        },
        {
          "to": 17,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 3,
          "name": "Rising Action",
          "beatId": "019de947-c18f-7589-bcc5-91f7669d4484",
          "matchId": "019de947-c144-71c9-9cfc-3c7fdadff369",
          "beatType": null,
          "evidence": "trends 1-4 stack evidence: digital, health, eco, price",
          "position": 2,
          "isPrimaryArc": false,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 45
        }
      ],
      "loops": [
        {
          "to": 14,
          "from": 10,
          "loop": {
            "name": "06_zoom_in",
            "slug": "06-zoom-in",
            "status": "active",
            "bestFor": "Technical deep-dives, case studies, detailed analysis",
            "canonId": "019dd956-6846-74db-82be-dff5b058b072",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Big Picture -> Key Area of Focus -> Specific Detail -> Implication",
            "description": "Start broad, then progressively focus on specific details that prove your point",
            "familyLabel": null
          },
          "matchId": "019de947-c251-70a8-a17e-c2cc9eed84a7",
          "evidence": "p10 intro, p11 WFH vs onsite line chart, p12 price barrier, p13 loyalty drivers, p14 generational heatmap",
          "position": 3,
          "objective": "Zoom from 'more eco-friendly' theme into behaviour, blockers and generational nuance",
          "confidence": 80,
          "extraction": {
            "at": "2026-05-02 15:21:26.736795+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 14,
      "type": "analysis",
      "title": "The table highlights that Millennials (Young, Core, and Mature) show higher agreement rates across all five sustainability-related shopping behaviors compared t",
      "function": "analyze_data",
      "rawType": "data_table",
      "block": null,
      "metadata": {
        "slideType": "data_table",
        "slideTypeCanon": {
          "name": "Data table",
          "slug": "data_table",
          "status": "active",
          "canonId": "019de52d-0bbd-71b9-9918-417f904abbf8",
          "version": 1,
          "description": null
        },
        "function": "analyze_data",
        "functionCanon": {
          "name": "Analyze data",
          "slug": "analyze_data",
          "status": "active",
          "canonId": "019de52d-1590-7413-8c82-cc218cff40b4",
          "version": 1,
          "description": null
        },
        "density": "dense",
        "densityScore": 66,
        "componentCount": 6,
        "textChars": 1061,
        "nDataPoints": 30,
        "notes": "The table highlights that Millennials (Young, Core, and Mature) show higher agreement rates across all five sustainability-related shopping behaviors compared to Gen Z, Gen X, and Baby Boomers.",
        "elementsJson": [
          "paragraph",
          "callout_box",
          "heatmap",
          "footnote"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 19:12:43.545+00",
          "seconds": 5.442,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5ca1-7489-b63a-07f3cac110e0/14",
        "deck": "/decks/019dd923-5ca1-7489-b63a-07f3cac110e0",
        "deckAnchor": "/decks/019dd923-5ca1-7489-b63a-07f3cac110e0#slide-14",
        "deckJson": "/decks/019dd923-5ca1-7489-b63a-07f3cac110e0.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.3,
            "w": 0.3,
            "x": 0.05,
            "y": 0.58
          },
          "kind": "callout",
          "text": "Our insight: Consumers are definitely expressing increased interest in sustainability. But our data also shows that consumer goods companies and retailers shouldn't overestimate this green wave.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": null,
            "subkind": {
              "name": "Primary callout",
              "slug": "primary",
              "status": "active",
              "canonId": "019de52c-fbd1-70eb-a9ce-8997f8674c1d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:12:43.545+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "5e8738f3-e680-4029-93f4-e88cefb0e43f",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Percentage of agreement: 62%",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:49:50+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-dfa4-712e-8332-0cda34e9b585",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.2,
            "w": 0.3,
            "x": 0.05,
            "y": 0.135
          },
          "kind": "paragraph",
          "text": "But a closer look at our most recent Pulse findings shows that even if younger generations are not all becoming more eco-friendly, they still tilt towards eco-sensitive behaviours—Millennials in particular.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "5f2affc0-941d-4d07-959d-4bfc1930cea4",
              "version": 1,
              "description": "Single prose block in the body of a slide."
            },
            "tool": null,
            "subkind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "019de52c-fb80-75af-aa5c-a7a4bfac2433",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "paragraph",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:12:43.545+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "6af1569c-c8ce-4057-bb05-97e380496029",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.1,
            "w": 0.55,
            "x": 0.39,
            "y": 0.78
          },
          "kind": "source-note",
          "text": "Base: Generation Z (1,360); Young Millennials (933); Core Millennials (1,588); Mature Millennials (919); Generation X (2,848); Baby Boomers (975). Note: Respondents between the ages of 23 and 26 are considered young Millennials. Those between ages 27 and 32 are core Millennials, and those between ages 33 and 36 are mature or older Millennials. The Greatest Generation is not shown, because the base is too low. Source: PwC's June 2021 Global Consumer Insights Pulse Survey",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Source note",
              "slug": "source-note",
              "status": "active",
              "canonId": "23484952-494b-4a5e-b1ad-550d0d70e948",
              "version": 1,
              "description": "Attribution / source / caveat placed at the slide footer. Numbered footnotes use attrs.numbered."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:12:43.545+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "54e3cffd-f55b-469f-a5bb-c617d491e40a",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.45,
            "w": 0.55,
            "x": 0.39,
            "y": 0.31
          },
          "kind": "table",
          "text": "Table showing agreement percentages across 6 generations and 5 survey statements.",
          "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 19:12:43.545+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "d4b08ff7-9b6e-4b3e-880d-0a619f9a9b00",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.5,
            "x": 0.39,
            "y": 0.135
          },
          "kind": "title",
          "text": "Millennials are most likely to be thinking about sustainability while shopping",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:12:43.545+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "e877d74b-24c6-4553-8a49-d62ce0781b58",
          "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": "019de947-ca57-71ed-bb06-e05aa2528cbc",
          "evidence": "title: 'Millennials are most likely to be thinking about sustainability while shopping'",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
          "confidence": 80,
          "extraction": {
            "at": "2026-05-02 15:21:26.736795+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 14,
          "whyItWorks": "Solves two failure modes at once. (1) The buried claim: action titles place the conclusion on the page before any analysis is read, so a busy reader doesn't reverse-engineer it from the chart. (2) The spineless deck: because each title is a claim, slides have to ladder up to the governing thought; logical gaps become visible as topic-shaped titles in a sequence that no longer reads as a story.",
          "antipattern": "Topic labels disguised as titles — Volume by quarter, Key findings, Pricing strategy, Margins have been impacted. No verb, or a passive verb with no agent, or a fact (Revenue grew 12%) without the so-what. Also: titles that overreach the chart's evidence, multi-claim X-grew-but-Y-fell welded titles, and mechanical repetition of the same X-drove-Y template across the deck.",
          "cardinality": null,
          "narrativePurpose": "Forces the deck to carry its argument in the title bar so a senior reader can extract the recommendation without opening a single slide; converts a binder of topics into a navigable pyramid where every slide is a node defending the apex."
        },
        {
          "tool": {
            "name": "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": "019de947-caa0-719f-9eb9-9cb44d99e76f",
          "evidence": "darker grey shades encode higher agreement",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 80,
          "extraction": {
            "at": "2026-05-02 15:21:26.736795+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 14,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Data Story Arc",
            "slug": "data-story-arc",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-9c30-728e-b974-d3fb123dcf5a",
            "version": 1,
            "bodyDocId": null,
            "description": "Context → Conflict → Insight → Implication structure for data narratives",
            "familyLabel": null,
            "categoryName": "Loop",
            "categorySlug": "loop"
          },
          "agent": "Storyteller",
          "layer": "slide",
          "agents": [
            "Storyteller"
          ],
          "matchId": "442a56d7-77eb-48c0-af77-3603e92fff86",
          "evidence": "The slide presents a narrative about Millennials being more likely to think about sustainability while shopping, using a table to show agreement percentages across generations.",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": null,
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 21:19:36.244077+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 14,
          "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": "019de947-ca7b-704b-a26e-8fecafce6d87",
          "evidence": "explicit 'Our insight:' callout warning of aspiration vs action",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": "On every slide carrying a chart, number, list, or finding intended to inform a decision; whenever a draft title is descriptive rather than directive; whenever the deck will circulate without its author.",
          "confidence": 85,
          "extraction": {
            "at": "2026-05-02 15:21:26.736795+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 14,
          "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": "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": "019de947-cac5-76ed-8e09-ce7e53ffcb7f",
          "evidence": "Millennial column outlined to direct the eye",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 65,
          "extraction": {
            "at": "2026-05-02 15:21:26.736795+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 14,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [
        {
          "matchId": "019de947-cf31-7032-9ac0-66251be7b89d",
          "evidence": "6 generations x 5 sustainability statements with grey-shade encoding",
          "framework": null,
          "confidence": 90,
          "extraction": {
            "at": "2026-05-02 15:21:26.736795+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 14,
          "frameworkName": "Heatmap matrix"
        }
      ],
      "arcBeats": [
        {
          "to": 21,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 2,
          "name": "The Facts (What)",
          "beatId": "019de947-c0d2-719f-92f0-5e2ca8a013db",
          "matchId": "019de947-c0a9-7449-9de2-493b61c69e0c",
          "beatType": null,
          "evidence": "p2 stacked-bar of 8 change dimensions then 5 trend buckets with charts/tables",
          "position": 1,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 70
        },
        {
          "to": 17,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 3,
          "name": "Rising Action",
          "beatId": "019de947-c18f-7589-bcc5-91f7669d4484",
          "matchId": "019de947-c144-71c9-9cfc-3c7fdadff369",
          "beatType": null,
          "evidence": "trends 1-4 stack evidence: digital, health, eco, price",
          "position": 2,
          "isPrimaryArc": false,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 45
        }
      ],
      "loops": [
        {
          "to": 14,
          "from": 10,
          "loop": {
            "name": "06_zoom_in",
            "slug": "06-zoom-in",
            "status": "active",
            "bestFor": "Technical deep-dives, case studies, detailed analysis",
            "canonId": "019dd956-6846-74db-82be-dff5b058b072",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Big Picture -> Key Area of Focus -> Specific Detail -> Implication",
            "description": "Start broad, then progressively focus on specific details that prove your point",
            "familyLabel": null
          },
          "matchId": "019de947-c251-70a8-a17e-c2cc9eed84a7",
          "evidence": "p10 intro, p11 WFH vs onsite line chart, p12 price barrier, p13 loyalty drivers, p14 generational heatmap",
          "position": 3,
          "objective": "Zoom from 'more eco-friendly' theme into behaviour, blockers and generational nuance",
          "confidence": 80,
          "extraction": {
            "at": "2026-05-02 15:21:26.736795+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 15,
      "type": "setup",
      "title": "Part of a series of key findings from the PwC Global Consumer Insights Pulse Survey.",
      "function": "summarize",
      "rawType": "key_messages",
      "block": null,
      "metadata": {
        "slideType": "key_messages",
        "slideTypeCanon": {
          "name": "Key messages",
          "slug": "key_messages",
          "status": "active",
          "canonId": "019de52d-0712-703f-89f5-bda6688faf3f",
          "version": 1,
          "description": null
        },
        "function": "summarize",
        "functionCanon": {
          "name": "Summarize",
          "slug": "summarize",
          "status": "active",
          "canonId": "019de52d-1541-704f-b86f-bf7b75056373",
          "version": 1,
          "description": null
        },
        "density": "balanced",
        "densityScore": 40,
        "componentCount": 5,
        "textChars": 613,
        "nDataPoints": 0,
        "notes": "Part of a series of key findings from the PwC Global Consumer Insights Pulse Survey.",
        "elementsJson": [
          "paragraph",
          "photo"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 19:12:40.819+00",
          "seconds": 2.704,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5ca1-7489-b63a-07f3cac110e0/15",
        "deck": "/decks/019dd923-5ca1-7489-b63a-07f3cac110e0",
        "deckAnchor": "/decks/019dd923-5ca1-7489-b63a-07f3cac110e0#slide-15",
        "deckJson": "/decks/019dd923-5ca1-7489-b63a-07f3cac110e0.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "More than half of the respondents in our most recent Pulse survey say they’ve become more focused on saving than they were when our first Pulse survey was conducted.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": {
              "name": "Visual emphasis",
              "slug": "visual-emphasis",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-474b-736b-a8eb-a794dd88241c",
              "version": 1,
              "bodyDocId": null,
              "description": "Drawing the eye to one element above the rest of the slide.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:49:50+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-dfa4-712e-8331-f3edfd5292be",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 1,
            "w": 0.57,
            "x": 0.43,
            "y": 0
          },
          "kind": "image",
          "text": null,
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Image",
              "slug": "image",
              "status": "active",
              "canonId": "019de52c-f978-701f-a720-51d029d769e7",
              "version": 1,
              "description": "Photo, illustration, screenshot or icon."
            },
            "tool": null,
            "subkind": {
              "name": "Photo",
              "slug": "photo",
              "status": "active",
              "canonId": "019de52c-fd37-757f-b4a8-ca26d4888875",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "photo",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:12:40.819+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "7f0c3eba-a4cd-4d48-9293-50aeba325a30",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.2,
            "w": 0.39,
            "x": 0.05,
            "y": 0.41
          },
          "kind": "paragraph",
          "text": "Even though many people are now receiving vaccinations, and signs of recovery are appearing in some economies, consumers’ money anxieties have not yet eased. More than half of the respondents in our most recent Pulse survey say they’ve become more focused on saving than they were when our first Pulse survey was conducted. Even more say they’re now more price-oriented.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "5f2affc0-941d-4d07-959d-4bfc1930cea4",
              "version": 1,
              "description": "Single prose block in the body of a slide."
            },
            "tool": null,
            "subkind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "019de52c-fb80-75af-aa5c-a7a4bfac2433",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "paragraph",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:12:40.819+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "531ad7c6-ba6e-4a5c-8961-85ee94c5566c",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.04,
            "w": 0.24,
            "x": 0.05,
            "y": 0.32
          },
          "kind": "title",
          "text": "More price-sensitive",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:12:40.819+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "e4fe383f-92cf-450f-885d-ab9baa82588c",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.33,
            "x": 0.05,
            "y": 0.04
          },
          "kind": "title",
          "text": "15 | PwC’s June 2021 Global Consumer Insights Pulse Survey",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Subtitle",
              "slug": "subtitle",
              "status": "active",
              "canonId": "019de52c-fb09-739d-900c-815b0d9ac526",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "subtitle",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:12:40.819+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "e1200952-a546-4a77-bba1-7bb8c33c830b",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "Contrast Pairs",
            "slug": "contrast-pairs",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-9b77-70d3-88b1-f34e26f60860",
            "version": 1,
            "bodyDocId": null,
            "description": "Creating tension through opposites: Before↔After, Problem↔Solution, Pain↔Relief",
            "familyLabel": null,
            "categoryName": "Loop",
            "categorySlug": "loop"
          },
          "agent": "Storyteller",
          "layer": "loop",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019de947-cb57-759c-835e-6ce5b86afe71",
          "evidence": "loop contrasts price vs other purchase drivers",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": null,
          "confidence": 60,
          "extraction": {
            "at": "2026-05-02 15:21:26.736795+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 15,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Data Story Arc",
            "slug": "data-story-arc",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-9c30-728e-b974-d3fb123dcf5a",
            "version": 1,
            "bodyDocId": null,
            "description": "Context → Conflict → Insight → Implication structure for data narratives",
            "familyLabel": null,
            "categoryName": "Loop",
            "categorySlug": "loop"
          },
          "agent": "Storyteller",
          "layer": "loop",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019de947-cb7d-7569-bf01-764b4175d02c",
          "evidence": "loop establishes price-sensitive context then drives to category outlook",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": null,
          "confidence": 60,
          "extraction": {
            "at": "2026-05-02 15:21:26.736795+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 15,
          "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": "019de947-cae9-72e9-873d-31cebf0d8260",
          "evidence": "section title + 'more focused on saving' callout",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
          "confidence": 65,
          "extraction": {
            "at": "2026-05-02 15:21:26.736795+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 15,
          "whyItWorks": "Solves two failure modes at once. (1) The buried claim: action titles place the conclusion on the page before any analysis is read, so a busy reader doesn't reverse-engineer it from the chart. (2) The spineless deck: because each title is a claim, slides have to ladder up to the governing thought; logical gaps become visible as topic-shaped titles in a sequence that no longer reads as a story.",
          "antipattern": "Topic labels disguised as titles — Volume by quarter, Key findings, Pricing strategy, Margins have been impacted. No verb, or a passive verb with no agent, or a fact (Revenue grew 12%) without the so-what. Also: titles that overreach the chart's evidence, multi-claim X-grew-but-Y-fell welded titles, and mechanical repetition of the same X-drove-Y template across the deck.",
          "cardinality": null,
          "narrativePurpose": "Forces the deck to carry its argument in the title bar so a senior reader can extract the recommendation without opening a single slide; converts a binder of topics into a navigable pyramid where every slide is a node defending the apex."
        },
        {
          "tool": {
            "name": "Emotional Appeal",
            "slug": "emotional-appeal",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-bde9-7668-8be7-0097678fec59",
            "version": 1,
            "bodyDocId": null,
            "description": "Connecting to audience feelings rather than just logic",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Storyteller",
          "layer": "slide",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019de947-cb0e-722e-8145-89fbbd561d21",
          "evidence": "lifestyle photo on bold pink panel",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 65,
          "extraction": {
            "at": "2026-05-02 15:21:26.736795+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 15,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Monroe's Motivated Sequence",
            "slug": "monroes-motivated-sequence",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-8758-700f-83cf-d260a54ad24f",
            "version": 1,
            "bodyDocId": null,
            "description": "Five-step persuasion: Attention, Need, Satisfaction, Visualization, Action",
            "familyLabel": null,
            "categoryName": "Block",
            "categorySlug": "block"
          },
          "agent": "Storyteller",
          "layer": "slide",
          "agents": [
            "Storyteller"
          ],
          "matchId": "731cc676-9360-4c90-9487-74291769d219",
          "evidence": "The slide mentions consumers' increased focus on saving, which could be part of a larger narrative to persuade or motivate the audience.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.5,
          "extraction": {
            "at": "2026-07-16 21:19:36.31625+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 15,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "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": "019de947-cb32-76b9-9e4a-a1295ae0d5b8",
          "evidence": "consistent section-divider treatment",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 60,
          "extraction": {
            "at": "2026-05-02 15:21:26.736795+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 15,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 21,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 2,
          "name": "The Facts (What)",
          "beatId": "019de947-c0d2-719f-92f0-5e2ca8a013db",
          "matchId": "019de947-c0a9-7449-9de2-493b61c69e0c",
          "beatType": null,
          "evidence": "p2 stacked-bar of 8 change dimensions then 5 trend buckets with charts/tables",
          "position": 1,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 70
        },
        {
          "to": 17,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 3,
          "name": "Rising Action",
          "beatId": "019de947-c18f-7589-bcc5-91f7669d4484",
          "matchId": "019de947-c144-71c9-9cfc-3c7fdadff369",
          "beatType": null,
          "evidence": "trends 1-4 stack evidence: digital, health, eco, price",
          "position": 2,
          "isPrimaryArc": false,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 45
        }
      ],
      "loops": [
        {
          "to": 17,
          "from": 15,
          "loop": {
            "name": "06_zoom_in",
            "slug": "06-zoom-in",
            "status": "active",
            "bestFor": "Technical deep-dives, case studies, detailed analysis",
            "canonId": "019dd956-6846-74db-82be-dff5b058b072",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Big Picture -> Key Area of Focus -> Specific Detail -> Implication",
            "description": "Start broad, then progressively focus on specific details that prove your point",
            "familyLabel": null
          },
          "matchId": "019de947-c276-77f1-a3fc-26c95b8caf01",
          "evidence": "p15 intro, p16 price-driver bars by category, p17 spending-intent icon grid",
          "position": 4,
          "objective": "Zoom from 'more price-sensitive' theme into purchase drivers and category outlook",
          "confidence": 78,
          "extraction": {
            "at": "2026-05-02 15:21:26.736795+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 16,
      "type": "analysis",
      "title": "The slide uses a series of small bar charts grouped by category icons to compare three key drivers: Price, Quality, and Convenience.",
      "function": "analyze_data",
      "rawType": "industry_trends",
      "block": null,
      "metadata": {
        "slideType": "industry_trends",
        "slideTypeCanon": {
          "name": "Industry trends",
          "slug": "industry_trends",
          "status": "active",
          "canonId": "019de52d-0b1d-7705-a0e0-c663199cd1fa",
          "version": 1,
          "description": null
        },
        "function": "analyze_data",
        "functionCanon": {
          "name": "Analyze data",
          "slug": "analyze_data",
          "status": "active",
          "canonId": "019de52d-1590-7413-8c82-cc218cff40b4",
          "version": 1,
          "description": null
        },
        "density": "dense",
        "densityScore": 59,
        "componentCount": 6,
        "textChars": 692,
        "nDataPoints": 21,
        "notes": "The slide uses a series of small bar charts grouped by category icons to compare three key drivers: Price, Quality, and Convenience.",
        "elementsJson": [
          "paragraph",
          "bar_chart_horizontal",
          "icon_grid"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 19:12:43.888+00",
          "seconds": 5.621,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5ca1-7489-b63a-07f3cac110e0/16",
        "deck": "/decks/019dd923-5ca1-7489-b63a-07f3cac110e0",
        "deckAnchor": "/decks/019dd923-5ca1-7489-b63a-07f3cac110e0#slide-16",
        "deckJson": "/decks/019dd923-5ca1-7489-b63a-07f3cac110e0.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "Price outpaces quality and convenience by wide margins in every category except grocery, in which it still prevails but by smaller margins.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": {
              "name": "Visual emphasis",
              "slug": "visual-emphasis",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-474b-736b-a8eb-a794dd88241c",
              "version": 1,
              "bodyDocId": null,
              "description": "Drawing the eye to one element above the rest of the slide.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:49:52+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-dfa4-712e-8333-a9b135a15aa7",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.45,
            "w": 0.55,
            "x": 0.36,
            "y": 0.36
          },
          "kind": "chart",
          "text": "Comparison of Price, Quality, and Convenience across 7 categories",
          "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 19:12:43.888+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "3463afc0-9d10-4051-b95d-935a0e90d46d",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Consumer purchase drivers: 47%",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:49:52+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-dfa4-712e-8333-affee0d6ca69",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.28,
            "x": 0.05,
            "y": 0.22
          },
          "kind": "paragraph",
          "text": "In fact, consumers tell us that in the time since our first Pulse survey was conducted, price is the dominant reason they've shopped online more or maintained their level of online shopping.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "5f2affc0-941d-4d07-959d-4bfc1930cea4",
              "version": 1,
              "description": "Single prose block in the body of a slide."
            },
            "tool": null,
            "subkind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "019de52c-fb80-75af-aa5c-a7a4bfac2433",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "paragraph",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:12:43.888+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "309264c9-fd63-4741-b5ff-8ab5b5b2cefd",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.35,
            "x": 0.36,
            "y": 0.83
          },
          "kind": "source-note",
          "text": "Base: All respondents who have shopped online more or the same amount (5,292-6,934). Note: Responses shown are limited to the options provided. Source: PwC's June 2021 Global Consumer Insights Pulse Survey",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Source note",
              "slug": "source-note",
              "status": "active",
              "canonId": "23484952-494b-4a5e-b1ad-550d0d70e948",
              "version": 1,
              "description": "Attribution / source / caveat placed at the slide footer. Numbered footnotes use attrs.numbered."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:12:43.888+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "36b95406-54af-4aa4-a7ac-c99644a63fae",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.4,
            "x": 0.36,
            "y": 0.26
          },
          "kind": "title",
          "text": "Price continues to dominate as the reason consumers shop online",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:12:43.888+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "464568b8-5c3a-4fe4-ac27-5ac17bc50899",
          "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": "019de947-cba1-72c5-99e3-dfb28eb35aef",
          "evidence": "title: 'Price continues to dominate as the reason consumers shop online'",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
          "confidence": 80,
          "extraction": {
            "at": "2026-05-02 15:21:26.736795+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 16,
          "whyItWorks": "Solves two failure modes at once. (1) The buried claim: action titles place the conclusion on the page before any analysis is read, so a busy reader doesn't reverse-engineer it from the chart. (2) The spineless deck: because each title is a claim, slides have to ladder up to the governing thought; logical gaps become visible as topic-shaped titles in a sequence that no longer reads as a story.",
          "antipattern": "Topic labels disguised as titles — Volume by quarter, Key findings, Pricing strategy, Margins have been impacted. No verb, or a passive verb with no agent, or a fact (Revenue grew 12%) without the so-what. Also: titles that overreach the chart's evidence, multi-claim X-grew-but-Y-fell welded titles, and mechanical repetition of the same X-drove-Y template across the deck.",
          "cardinality": null,
          "narrativePurpose": "Forces the deck to carry its argument in the title bar so a senior reader can extract the recommendation without opening a single slide; converts a binder of topics into a navigable pyramid where every slide is a node defending the apex."
        },
        {
          "tool": {
            "name": "Chart Selection Guide",
            "slug": "chart-selection-guide",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-b1a0-700b-ba17-0e16c4d5bcae",
            "version": 1,
            "bodyDocId": null,
            "description": "Choosing the right chart type for your data and message",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "019de947-cbc6-7758-9259-86782280145d",
          "evidence": "mini horizontal bars per category",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 65,
          "extraction": {
            "at": "2026-05-02 15:21:26.736795+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 16,
          "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": "e14e0d74-b31c-4415-9163-befdc127fa60",
          "evidence": "The slide features a bar chart comparing Price, Quality, and Convenience across categories, indicating consideration for effective chart selection.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 21:19:36.386914+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 16,
          "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": "019de947-cbec-77ec-ac94-5a819cedf7f9",
          "evidence": "icon grid repeats same chart per category",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 80,
          "extraction": {
            "at": "2026-05-02 15:21:26.736795+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 16,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 21,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 2,
          "name": "The Facts (What)",
          "beatId": "019de947-c0d2-719f-92f0-5e2ca8a013db",
          "matchId": "019de947-c0a9-7449-9de2-493b61c69e0c",
          "beatType": null,
          "evidence": "p2 stacked-bar of 8 change dimensions then 5 trend buckets with charts/tables",
          "position": 1,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 70
        },
        {
          "to": 17,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 3,
          "name": "Rising Action",
          "beatId": "019de947-c18f-7589-bcc5-91f7669d4484",
          "matchId": "019de947-c144-71c9-9cfc-3c7fdadff369",
          "beatType": null,
          "evidence": "trends 1-4 stack evidence: digital, health, eco, price",
          "position": 2,
          "isPrimaryArc": false,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 45
        }
      ],
      "loops": [
        {
          "to": 17,
          "from": 15,
          "loop": {
            "name": "06_zoom_in",
            "slug": "06-zoom-in",
            "status": "active",
            "bestFor": "Technical deep-dives, case studies, detailed analysis",
            "canonId": "019dd956-6846-74db-82be-dff5b058b072",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Big Picture -> Key Area of Focus -> Specific Detail -> Implication",
            "description": "Start broad, then progressively focus on specific details that prove your point",
            "familyLabel": null
          },
          "matchId": "019de947-c276-77f1-a3fc-26c95b8caf01",
          "evidence": "p15 intro, p16 price-driver bars by category, p17 spending-intent icon grid",
          "position": 4,
          "objective": "Zoom from 'more price-sensitive' theme into purchase drivers and category outlook",
          "confidence": 78,
          "extraction": {
            "at": "2026-05-02 15:21:26.736795+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 17,
      "type": "analysis",
      "title": "Exhibit 14. Data from PwC's June 2021 Global Consumer Insights Pulse Survey.",
      "function": "analyze_data",
      "rawType": "industry_trends",
      "block": null,
      "metadata": {
        "slideType": "industry_trends",
        "slideTypeCanon": {
          "name": "Industry trends",
          "slug": "industry_trends",
          "status": "active",
          "canonId": "019de52d-0b1d-7705-a0e0-c663199cd1fa",
          "version": 1,
          "description": null
        },
        "function": "analyze_data",
        "functionCanon": {
          "name": "Analyze data",
          "slug": "analyze_data",
          "status": "active",
          "canonId": "019de52d-1590-7413-8c82-cc218cff40b4",
          "version": 1,
          "description": null
        },
        "density": "overcrowded",
        "densityScore": 89,
        "componentCount": 10,
        "textChars": 1169,
        "nDataPoints": 14,
        "notes": "Exhibit 14. Data from PwC's June 2021 Global Consumer Insights Pulse Survey.",
        "elementsJson": [
          "paragraph",
          "icon_grid",
          "callout_box",
          "big_number",
          "footnote"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview",
          "runId": null,
          "at": "2026-07-17 03:23:51.099+00",
          "seconds": 2.943,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5ca1-7489-b63a-07f3cac110e0/17",
        "deck": "/decks/019dd923-5ca1-7489-b63a-07f3cac110e0",
        "deckAnchor": "/decks/019dd923-5ca1-7489-b63a-07f3cac110e0#slide-17",
        "deckJson": "/decks/019dd923-5ca1-7489-b63a-07f3cac110e0.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.25,
            "w": 0.28,
            "x": 0.68,
            "y": 0.05
          },
          "kind": "callout",
          "text": "Our insight: At the time this second Pulse survey closed in March 2021, consumers were still hesitant about spending, especially on nonessentials.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": null,
            "subkind": {
              "name": "Primary callout",
              "slug": "primary",
              "status": "active",
              "canonId": "019de52c-fbd1-70eb-a9ce-8997f8674c1d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-07-17 03:23:51.099+00",
            "model": "google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "69f7e125-7d82-4419-a7ac-6fb4ccfd01b5",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "callout",
          "text": "Our insight: At the time this second Pulse survey closed in March 2021, consumers were still hesitant about spending, especially on nonessentials. But we do expect consumers' disposition towards spending to eventually improve as the economic recovery continues.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": {
              "name": "Visual emphasis",
              "slug": "visual-emphasis",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-474b-736b-a8eb-a794dd88241c",
              "version": 1,
              "bodyDocId": null,
              "description": "Drawing the eye to one element above the rest of the slide.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:49:52+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-dfa4-712e-8333-f74fdb5de442",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.45,
            "w": 0.5,
            "x": 0.05,
            "y": 0.4
          },
          "kind": "chart",
          "text": "Grid of 12 spending categories with percentages",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Chart",
              "slug": "chart",
              "status": "active",
              "canonId": "019de52c-f9a0-76ef-adc6-0b859109d1f8",
              "version": 1,
              "description": "Quantitative chart."
            },
            "tool": null,
            "subkind": {
              "name": "Vertical bar chart",
              "slug": "bar-vertical",
              "status": "active",
              "canonId": "019de52c-fe9d-70f2-b3b7-a9ae294f5917",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bar-vertical",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-07-17 03:23:51.099+00",
            "model": "google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "cada8b5c-3cee-4524-ae5e-7675682dc4e2",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.1,
            "w": 0.1,
            "x": 0.58,
            "y": 0.58
          },
          "kind": "metric",
          "text": "24% of global consumers do not expect to increase their spending in any category.",
          "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-07-17 03:23:51.099+00",
            "model": "google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "4b7c3114-6f3f-40be-a0a5-44de7b6b5afb",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.1,
            "w": 0.1,
            "x": 0.58,
            "y": 0.4
          },
          "kind": "metric",
          "text": "23% of global consumers predicted an increase in spending across six or more categories.",
          "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-07-17 03:23:51.099+00",
            "model": "google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "f955f0fe-1850-49f6-be0c-092f4de4d1c9",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Percentage of consumers expecting to increase spending: 37%",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:49:52+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-dfa4-712e-8333-faa0be35cea4",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.1,
            "w": 0.55,
            "x": 0.05,
            "y": 0.13
          },
          "kind": "paragraph",
          "text": "And yet the survey results indicate that in many households, spending power has actually increased, in part because there have been fewer outlets for spending in the past year.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "5f2affc0-941d-4d07-959d-4bfc1930cea4",
              "version": 1,
              "description": "Single prose block in the body of a slide."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": "description",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-07-17 03:23:51.099+00",
            "model": "google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "59183aa8-5f01-4b04-aeb3-94bfa14b7537",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.3,
            "w": 0.28,
            "x": 0.68,
            "y": 0.4
          },
          "kind": "paragraph",
          "text": "Some of that spending will surely go to necessities, such as food and household goods. But our most recent Pulse survey shows that spending on most at-home activities will hardly change at all.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "5f2affc0-941d-4d07-959d-4bfc1930cea4",
              "version": 1,
              "description": "Single prose block in the body of a slide."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": "paragraph",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-07-17 03:23:51.099+00",
            "model": "google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "3b447dc5-c076-4ed7-8e94-7e55131a9414",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.3,
            "x": 0.05,
            "y": 0.94
          },
          "kind": "source-note",
          "text": "Source: PwC's June 2021 Global Consumer Insights Pulse Survey",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Source note",
              "slug": "source-note",
              "status": "active",
              "canonId": "23484952-494b-4a5e-b1ad-550d0d70e948",
              "version": 1,
              "description": "Attribution / source / caveat placed at the slide footer. Numbered footnotes use attrs.numbered."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": "source-note",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-07-17 03:23:51.099+00",
            "model": "google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "36bbf740-14b5-4d71-8776-74651010dc57",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.4,
            "x": 0.05,
            "y": 0.33
          },
          "kind": "title",
          "text": "Categories in which consumers expect to increase spending",
          "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-07-17 03:23:51.099+00",
            "model": "google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "a404e8a3-54c0-437b-8ec0-e67893a31683",
          "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": "019de947-cc11-77cd-b7cf-bd93c6123c50",
          "evidence": "title labels content; insight delivered in callout",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
          "confidence": 65,
          "extraction": {
            "at": "2026-05-02 15:21:26.736795+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 17,
          "whyItWorks": "Solves two failure modes at once. (1) The buried claim: action titles place the conclusion on the page before any analysis is read, so a busy reader doesn't reverse-engineer it from the chart. (2) The spineless deck: because each title is a claim, slides have to ladder up to the governing thought; logical gaps become visible as topic-shaped titles in a sequence that no longer reads as a story.",
          "antipattern": "Topic labels disguised as titles — Volume by quarter, Key findings, Pricing strategy, Margins have been impacted. No verb, or a passive verb with no agent, or a fact (Revenue grew 12%) without the so-what. Also: titles that overreach the chart's evidence, multi-claim X-grew-but-Y-fell welded titles, and mechanical repetition of the same X-drove-Y template across the deck.",
          "cardinality": null,
          "narrativePurpose": "Forces the deck to carry its argument in the title bar so a senior reader can extract the recommendation without opening a single slide; converts a binder of topics into a navigable pyramid where every slide is a node defending the apex."
        },
        {
          "tool": {
            "name": "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": "019de947-cc60-727d-aa0a-ea8e20941916",
          "evidence": "icon grid presents 12 categories uniformly",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 70,
          "extraction": {
            "at": "2026-05-02 15:21:26.736795+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 17,
          "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": "019de947-cc37-74ce-aac9-00b225cb4c4e",
          "evidence": "explicit 'Our insight:' callout on saving rates and dining shift",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": "On every slide carrying a chart, number, list, or finding intended to inform a decision; whenever a draft title is descriptive rather than directive; whenever the deck will circulate without its author.",
          "confidence": 80,
          "extraction": {
            "at": "2026-05-02 15:21:26.736795+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 17,
          "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": 21,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 2,
          "name": "The Facts (What)",
          "beatId": "019de947-c0d2-719f-92f0-5e2ca8a013db",
          "matchId": "019de947-c0a9-7449-9de2-493b61c69e0c",
          "beatType": null,
          "evidence": "p2 stacked-bar of 8 change dimensions then 5 trend buckets with charts/tables",
          "position": 1,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 70
        },
        {
          "to": 17,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 3,
          "name": "Rising Action",
          "beatId": "019de947-c18f-7589-bcc5-91f7669d4484",
          "matchId": "019de947-c144-71c9-9cfc-3c7fdadff369",
          "beatType": null,
          "evidence": "trends 1-4 stack evidence: digital, health, eco, price",
          "position": 2,
          "isPrimaryArc": false,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 45
        }
      ],
      "loops": [
        {
          "to": 17,
          "from": 15,
          "loop": {
            "name": "06_zoom_in",
            "slug": "06-zoom-in",
            "status": "active",
            "bestFor": "Technical deep-dives, case studies, detailed analysis",
            "canonId": "019dd956-6846-74db-82be-dff5b058b072",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Big Picture -> Key Area of Focus -> Specific Detail -> Implication",
            "description": "Start broad, then progressively focus on specific details that prove your point",
            "familyLabel": null
          },
          "matchId": "019de947-c276-77f1-a3fc-26c95b8caf01",
          "evidence": "p15 intro, p16 price-driver bars by category, p17 spending-intent icon grid",
          "position": 4,
          "objective": "Zoom from 'more price-sensitive' theme into purchase drivers and category outlook",
          "confidence": 78,
          "extraction": {
            "at": "2026-05-02 15:21:26.736795+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 18,
      "type": "analysis",
      "title": "Part of PwC's June 2021 Global Consumer Insights Pulse Survey.",
      "function": "summarize",
      "rawType": "industry_trends",
      "block": null,
      "metadata": {
        "slideType": "industry_trends",
        "slideTypeCanon": {
          "name": "Industry trends",
          "slug": "industry_trends",
          "status": "active",
          "canonId": "019de52d-0b1d-7705-a0e0-c663199cd1fa",
          "version": 1,
          "description": null
        },
        "function": "summarize",
        "functionCanon": {
          "name": "Summarize",
          "slug": "summarize",
          "status": "active",
          "canonId": "019de52d-1541-704f-b86f-bf7b75056373",
          "version": 1,
          "description": null
        },
        "density": "dense",
        "densityScore": 56,
        "componentCount": 5,
        "textChars": 1165,
        "nDataPoints": 6,
        "notes": "Part of PwC's June 2021 Global Consumer Insights Pulse Survey.",
        "elementsJson": [
          "paragraph",
          "photo"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 19:12:45.313+00",
          "seconds": 6.868,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5ca1-7489-b63a-07f3cac110e0/18",
        "deck": "/decks/019dd923-5ca1-7489-b63a-07f3cac110e0",
        "deckAnchor": "/decks/019dd923-5ca1-7489-b63a-07f3cac110e0#slide-18",
        "deckJson": "/decks/019dd923-5ca1-7489-b63a-07f3cac110e0.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "43% of those polled in our most recent Pulse survey say their activities have become more local since our first Pulse survey was conducted.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": {
              "name": "Visual emphasis",
              "slug": "visual-emphasis",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-474b-736b-a8eb-a794dd88241c",
              "version": 1,
              "bodyDocId": null,
              "description": "Drawing the eye to one element above the rest of the slide.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:49:52+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-dfa4-712e-8334-406e71cfb131",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 1,
            "w": 0.57,
            "x": 0.43,
            "y": 0
          },
          "kind": "image",
          "text": "Couple paying for groceries at a local market",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Image",
              "slug": "image",
              "status": "active",
              "canonId": "019de52c-f978-701f-a720-51d029d769e7",
              "version": 1,
              "description": "Photo, illustration, screenshot or icon."
            },
            "tool": null,
            "subkind": {
              "name": "Photo",
              "slug": "photo",
              "status": "active",
              "canonId": "019de52c-fd37-757f-b4a8-ca26d4888875",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "photo",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:12:45.313+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "23e9338e-6a3f-4d4c-9e9b-27092a9faf80",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "consumer preference for local activities: 43%",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:49:52+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-dfa4-712e-8334-451e3f67cdd4",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.5,
            "w": 0.38,
            "x": 0.05,
            "y": 0.4
          },
          "kind": "paragraph",
          "text": "Everything seemed to ‘go local’ during the pandemic. Those who couldn’t travel far afield began exploring their own regions with renewed interest, ordering food from local restaurants and finding creative ways to entertain and celebrate milestones in a socially distanced way. Even though horizons for many people are beginning to widen, ‘going local’ is still popular: 43% of those polled in our most recent Pulse survey say their activities have become more local since our first Pulse survey was conducted. Regional differences are stark with this trend; some territories are more than 20 percentage points higher than the global average. In Indonesia, 69% say they’re more local; in Russia, 63%; the Philippines, 58%; South Africa, 57%; and Malaysia, 54%. To nobody’s surprise, that local emphasis is more marked among those who say they’re planning to spend more on at-home activities than on activities outside the home.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "5f2affc0-941d-4d07-959d-4bfc1930cea4",
              "version": 1,
              "description": "Single prose block in the body of a slide."
            },
            "tool": null,
            "subkind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "019de52c-fb80-75af-aa5c-a7a4bfac2433",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "paragraph",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:12:45.313+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "eed8f71f-1df0-4732-8a04-603bda734815",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.04,
            "w": 0.15,
            "x": 0.05,
            "y": 0.32
          },
          "kind": "title",
          "text": "More local",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:12:45.313+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "5cec6a44-8c41-4107-8eb5-04af3d847719",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "Contrast Pairs",
            "slug": "contrast-pairs",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-9b77-70d3-88b1-f34e26f60860",
            "version": 1,
            "bodyDocId": null,
            "description": "Creating tension through opposites: Before↔After, Problem↔Solution, Pain↔Relief",
            "familyLabel": null,
            "categoryName": "Loop",
            "categorySlug": "loop"
          },
          "agent": "Storyteller",
          "layer": "loop",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019de947-ccfb-7000-acae-96fc07426861",
          "evidence": "loop contrasts cautious-vs-returning behaviour",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": null,
          "confidence": 65,
          "extraction": {
            "at": "2026-05-02 15:21:26.736795+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 18,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Data Story Arc",
            "slug": "data-story-arc",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-9c30-728e-b974-d3fb123dcf5a",
            "version": 1,
            "bodyDocId": null,
            "description": "Context → Conflict → Insight → Implication structure for data narratives",
            "familyLabel": null,
            "categoryName": "Loop",
            "categorySlug": "loop"
          },
          "agent": "Storyteller",
          "layer": "loop",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019de947-cd20-7183-871b-8f831a68ec87",
          "evidence": "loop builds toward 'cautious return' synthesis",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": null,
          "confidence": 60,
          "extraction": {
            "at": "2026-05-02 15:21:26.736795+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 18,
          "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": "019de947-cc86-7222-924c-7cc8ce1d6e1d",
          "evidence": "section header pairs with 43% callout",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
          "confidence": 65,
          "extraction": {
            "at": "2026-05-02 15:21:26.736795+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 18,
          "whyItWorks": "Solves two failure modes at once. (1) The buried claim: action titles place the conclusion on the page before any analysis is read, so a busy reader doesn't reverse-engineer it from the chart. (2) The spineless deck: because each title is a claim, slides have to ladder up to the governing thought; logical gaps become visible as topic-shaped titles in a sequence that no longer reads as a story.",
          "antipattern": "Topic labels disguised as titles — Volume by quarter, Key findings, Pricing strategy, Margins have been impacted. No verb, or a passive verb with no agent, or a fact (Revenue grew 12%) without the so-what. Also: titles that overreach the chart's evidence, multi-claim X-grew-but-Y-fell welded titles, and mechanical repetition of the same X-drove-Y template across the deck.",
          "cardinality": null,
          "narrativePurpose": "Forces the deck to carry its argument in the title bar so a senior reader can extract the recommendation without opening a single slide; converts a binder of topics into a navigable pyramid where every slide is a node defending the apex."
        },
        {
          "tool": {
            "name": "Audience Persona",
            "slug": "audience-persona",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-7fe3-74e9-88b8-be0bea34f219",
            "version": 1,
            "bodyDocId": null,
            "description": "Detailed fictional profile of typical audience member including goals, frustrations, and context",
            "familyLabel": null,
            "categoryName": "Block",
            "categorySlug": "block"
          },
          "agent": "Storyteller",
          "layer": "slide",
          "agents": [
            "Storyteller"
          ],
          "matchId": "04337b71-5442-43d0-afbd-94af74dcfffd",
          "evidence": "The slide mentions consumers' preferences for local activities, which could be related to understanding the audience's persona or demographics.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.5,
          "extraction": {
            "at": "2026-07-16 21:19:36.458418+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 18,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Emotional Appeal",
            "slug": "emotional-appeal",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-bde9-7668-8be7-0097678fec59",
            "version": 1,
            "bodyDocId": null,
            "description": "Connecting to audience feelings rather than just logic",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Storyteller",
          "layer": "slide",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019de947-ccab-7278-9d0b-eb8958146957",
          "evidence": "lifestyle photo evokes local/at-home life",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 65,
          "extraction": {
            "at": "2026-05-02 15:21:26.736795+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 18,
          "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": "019de947-ccd4-72cf-9cdb-ff8568111105",
          "evidence": "section number '5' + bold theme title",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 60,
          "extraction": {
            "at": "2026-05-02 15:21:26.736795+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 18,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 21,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 2,
          "name": "The Facts (What)",
          "beatId": "019de947-c0d2-719f-92f0-5e2ca8a013db",
          "matchId": "019de947-c0a9-7449-9de2-493b61c69e0c",
          "beatType": null,
          "evidence": "p2 stacked-bar of 8 change dimensions then 5 trend buckets with charts/tables",
          "position": 1,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 70
        },
        {
          "to": 21,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 18,
          "name": "Climax",
          "beatId": "019de947-c1b3-76d8-9704-5934601347f4",
          "matchId": "019de947-c144-71c9-9cfc-3c7fdadff369",
          "beatType": null,
          "evidence": "fifth trend (local) caps the inductive set",
          "position": 3,
          "isPrimaryArc": false,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 45
        }
      ],
      "loops": [
        {
          "to": 21,
          "from": 18,
          "loop": {
            "name": "06_zoom_in",
            "slug": "06-zoom-in",
            "status": "active",
            "bestFor": "Technical deep-dives, case studies, detailed analysis",
            "canonId": "019dd956-6846-74db-82be-dff5b058b072",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Big Picture -> Key Area of Focus -> Specific Detail -> Implication",
            "description": "Start broad, then progressively focus on specific details that prove your point",
            "familyLabel": null
          },
          "matchId": "019de947-c29b-730f-8d76-7283ff03a9f0",
          "evidence": "p18 intro, p19 mass-events, p20 travel willingness, p21 local-shopping support",
          "position": 5,
          "objective": "Zoom from 'more local' theme into mass-event, travel and local-shopping deltas",
          "confidence": 78,
          "extraction": {
            "at": "2026-05-02 15:21:26.736795+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 19,
      "type": "analysis",
      "title": "Includes a comparison between June 2021 and March 2021 data for specific categories.",
      "function": "analyze_data",
      "rawType": "data_table",
      "block": null,
      "metadata": {
        "slideType": "data_table",
        "slideTypeCanon": {
          "name": "Data table",
          "slug": "data_table",
          "status": "active",
          "canonId": "019de52d-0bbd-71b9-9918-417f904abbf8",
          "version": 1,
          "description": null
        },
        "function": "analyze_data",
        "functionCanon": {
          "name": "Analyze data",
          "slug": "analyze_data",
          "status": "active",
          "canonId": "019de52d-1590-7413-8c82-cc218cff40b4",
          "version": 1,
          "description": null
        },
        "density": "dense",
        "densityScore": 61,
        "componentCount": 7,
        "textChars": 509,
        "nDataPoints": 24,
        "notes": "Includes a comparison between June 2021 and March 2021 data for specific categories.",
        "elementsJson": [
          "paragraph",
          "bar_chart_stacked",
          "kpi_table",
          "icon_grid"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 19:12:41.13+00",
          "seconds": 2.587,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5ca1-7489-b63a-07f3cac110e0/19",
        "deck": "/decks/019dd923-5ca1-7489-b63a-07f3cac110e0",
        "deckAnchor": "/decks/019dd923-5ca1-7489-b63a-07f3cac110e0#slide-19",
        "deckJson": "/decks/019dd923-5ca1-7489-b63a-07f3cac110e0.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "Younger generations consider themselves more likely to go to a sporting or mass event.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": {
              "name": "Visual emphasis",
              "slug": "visual-emphasis",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-474b-736b-a8eb-a794dd88241c",
              "version": 1,
              "bodyDocId": null,
              "description": "Drawing the eye to one element above the rest of the slide.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:49:52+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-dfa4-712e-8334-22d1357c00f7",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.35,
            "w": 0.35,
            "x": 0.429,
            "y": 0.275
          },
          "kind": "chart",
          "text": "Likelihood to attend Restaurant, Gym, Sporting or mass event",
          "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 19:12:41.13+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "5ecc4470-e772-49c9-b0ef-126c916f6b6b",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Likelihood to attend mass events: 38%",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:49:52+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-dfa4-712e-8334-2682d154e05b",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.25,
            "w": 0.35,
            "x": 0.05,
            "y": 0.135
          },
          "kind": "paragraph",
          "text": "The entertainment sector should be encouraged by the latest results—though it shouldn't expect a stampede towards sports stadiums or centres for the arts...",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "5f2affc0-941d-4d07-959d-4bfc1930cea4",
              "version": 1,
              "description": "Single prose block in the body of a slide."
            },
            "tool": null,
            "subkind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "019de52c-fb80-75af-aa5c-a7a4bfac2433",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "paragraph",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:12:41.13+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "0b6b700e-12eb-4fdf-96e6-69cc7814634a",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.3,
            "x": 0.429,
            "y": 0.755
          },
          "kind": "source-note",
          "text": "Source: PwC's June 2021 Global Consumer Insights Pulse Survey",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Source note",
              "slug": "source-note",
              "status": "active",
              "canonId": "23484952-494b-4a5e-b1ad-550d0d70e948",
              "version": 1,
              "description": "Attribution / source / caveat placed at the slide footer. Numbered footnotes use attrs.numbered."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:12:41.13+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "d9a8d1a6-eee0-40d4-b85e-9089203f5f14",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.25,
            "w": 0.15,
            "x": 0.82,
            "y": 0.31
          },
          "kind": "table",
          "text": "Likelihood by generation for sporting or mass events",
          "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 19:12:41.13+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "fd33168e-92de-4adb-b76b-b3c68e6a2f4f",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.35,
            "x": 0.429,
            "y": 0.178
          },
          "kind": "title",
          "text": "Consumers are more likely to say they'll go to big events",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:12:41.13+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "597cac42-2dd7-4b86-be01-9af3c74fa83e",
          "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": "019de947-cd49-7444-a6aa-82f13a618dd1",
          "evidence": "title: 'Consumers are more likely to say they go to big events'",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
          "confidence": 75,
          "extraction": {
            "at": "2026-05-02 15:21:26.736795+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 19,
          "whyItWorks": "Solves two failure modes at once. (1) The buried claim: action titles place the conclusion on the page before any analysis is read, so a busy reader doesn't reverse-engineer it from the chart. (2) The spineless deck: because each title is a claim, slides have to ladder up to the governing thought; logical gaps become visible as topic-shaped titles in a sequence that no longer reads as a story.",
          "antipattern": "Topic labels disguised as titles — Volume by quarter, Key findings, Pricing strategy, Margins have been impacted. No verb, or a passive verb with no agent, or a fact (Revenue grew 12%) without the so-what. Also: titles that overreach the chart's evidence, multi-claim X-grew-but-Y-fell welded titles, and mechanical repetition of the same X-drove-Y template across the deck.",
          "cardinality": null,
          "narrativePurpose": "Forces the deck to carry its argument in the title bar so a senior reader can extract the recommendation without opening a single slide; converts a binder of topics into a navigable pyramid where every slide is a node defending the apex."
        },
        {
          "tool": {
            "name": "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": "019de947-cd94-706a-b62f-2f48935c23fb",
          "evidence": "younger-cohort callout tied to demo table",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 60,
          "extraction": {
            "at": "2026-05-02 15:21:26.736795+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 19,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Call to action",
            "slug": "call-to-action",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd9e1-4bbb-702a-9ead-82daf188bb7c",
            "version": 1,
            "bodyDocId": null,
            "description": "Explicit prescription of what the audience should do next.",
            "familyLabel": null,
            "categoryName": null,
            "categorySlug": null
          },
          "agent": null,
          "layer": "slide",
          "agents": null,
          "matchId": "567a0cc3-14df-4ef7-8876-fe3a72cb20fc",
          "evidence": "The slide presents a finding about consumers' likelihood to attend events, which could be used to encourage or call to action the entertainment sector.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.5,
          "extraction": {
            "at": "2026-07-16 21:19:36.531449+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 19,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": "common",
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Chart Selection Guide",
            "slug": "chart-selection-guide",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-b1a0-700b-ba17-0e16c4d5bcae",
            "version": 1,
            "bodyDocId": null,
            "description": "Choosing the right chart type for your data and message",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "019de947-cd6f-7552-b2b6-e351c763840c",
          "evidence": "stacked bars + demographic table",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 70,
          "extraction": {
            "at": "2026-05-02 15:21:26.736795+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 19,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 21,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 2,
          "name": "The Facts (What)",
          "beatId": "019de947-c0d2-719f-92f0-5e2ca8a013db",
          "matchId": "019de947-c0a9-7449-9de2-493b61c69e0c",
          "beatType": null,
          "evidence": "p2 stacked-bar of 8 change dimensions then 5 trend buckets with charts/tables",
          "position": 1,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 70
        },
        {
          "to": 21,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 18,
          "name": "Climax",
          "beatId": "019de947-c1b3-76d8-9704-5934601347f4",
          "matchId": "019de947-c144-71c9-9cfc-3c7fdadff369",
          "beatType": null,
          "evidence": "fifth trend (local) caps the inductive set",
          "position": 3,
          "isPrimaryArc": false,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 45
        }
      ],
      "loops": [
        {
          "to": 21,
          "from": 18,
          "loop": {
            "name": "06_zoom_in",
            "slug": "06-zoom-in",
            "status": "active",
            "bestFor": "Technical deep-dives, case studies, detailed analysis",
            "canonId": "019dd956-6846-74db-82be-dff5b058b072",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Big Picture -> Key Area of Focus -> Specific Detail -> Implication",
            "description": "Start broad, then progressively focus on specific details that prove your point",
            "familyLabel": null
          },
          "matchId": "019de947-c29b-730f-8d76-7283ff03a9f0",
          "evidence": "p18 intro, p19 mass-events, p20 travel willingness, p21 local-shopping support",
          "position": 5,
          "objective": "Zoom from 'more local' theme into mass-event, travel and local-shopping deltas",
          "confidence": 78,
          "extraction": {
            "at": "2026-05-02 15:21:26.736795+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 20,
      "type": "analysis",
      "title": "The chart uses a stacked bar format to compare 'Likely', 'Neither', and 'Unlikely' responses for five travel activities.",
      "function": "analyze_data",
      "rawType": "industry_trends",
      "block": null,
      "metadata": {
        "slideType": "industry_trends",
        "slideTypeCanon": {
          "name": "Industry trends",
          "slug": "industry_trends",
          "status": "active",
          "canonId": "019de52d-0b1d-7705-a0e0-c663199cd1fa",
          "version": 1,
          "description": null
        },
        "function": "analyze_data",
        "functionCanon": {
          "name": "Analyze data",
          "slug": "analyze_data",
          "status": "active",
          "canonId": "019de52d-1590-7413-8c82-cc218cff40b4",
          "version": 1,
          "description": null
        },
        "density": "dense",
        "densityScore": 65,
        "componentCount": 7,
        "textChars": 619,
        "nDataPoints": 30,
        "notes": "The chart uses a stacked bar format to compare 'Likely', 'Neither', and 'Unlikely' responses for five travel activities.",
        "elementsJson": [
          "bar_chart_stacked",
          "paragraph",
          "photo"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 19:12:41.393+00",
          "seconds": 2.556,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5ca1-7489-b63a-07f3cac110e0/20",
        "deck": "/decks/019dd923-5ca1-7489-b63a-07f3cac110e0",
        "deckAnchor": "/decks/019dd923-5ca1-7489-b63a-07f3cac110e0#slide-20",
        "deckJson": "/decks/019dd923-5ca1-7489-b63a-07f3cac110e0.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "But since our last survey, there's been a definite pickup in the percentages of consumers saying they're ready—or getting ready—to travel again.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": {
              "name": "Visual emphasis",
              "slug": "visual-emphasis",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-474b-736b-a8eb-a794dd88241c",
              "version": 1,
              "bodyDocId": null,
              "description": "Drawing the eye to one element above the rest of the slide.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:49:52+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-dfa4-712e-8333-cb28b6ced912",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.4,
            "w": 0.6,
            "x": 0.36,
            "y": 0.43
          },
          "kind": "chart",
          "text": "Stacked bar chart showing travel sentiment for 5 categories across two time periods.",
          "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 19:12:41.393+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "b02d1307-8710-47ab-a3c2-668a850c5d5c",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.7,
            "w": 0.3,
            "x": 0.05,
            "y": 0.15
          },
          "kind": "image",
          "text": "Illustration of a plane and a couple with luggage.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Image",
              "slug": "image",
              "status": "active",
              "canonId": "019de52c-f978-701f-a720-51d029d769e7",
              "version": 1,
              "description": "Photo, illustration, screenshot or icon."
            },
            "tool": null,
            "subkind": {
              "name": "Illustration",
              "slug": "illustration",
              "status": "active",
              "canonId": "019de52c-fe76-7772-a5ac-c0b7294d7615",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "illustration",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:12:41.393+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "623fcf0b-097b-4a8f-83d7-c5d71d8b73e2",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Likelihood to travel: +7",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:49:52+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-dfa4-712e-8333-cf029f4e163f",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.1,
            "w": 0.6,
            "x": 0.36,
            "y": 0.1
          },
          "kind": "paragraph",
          "text": "But since our last survey, there’s been a definite pickup in the percentages of consumers saying they’re ready—or getting ready—to travel again.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "5f2affc0-941d-4d07-959d-4bfc1930cea4",
              "version": 1,
              "description": "Single prose block in the body of a slide."
            },
            "tool": null,
            "subkind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "019de52c-fb80-75af-aa5c-a7a4bfac2433",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "paragraph",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:12:41.393+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "9711ba20-06f4-4260-8a44-3a4039163c3e",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.4,
            "x": 0.36,
            "y": 0.92
          },
          "kind": "source-note",
          "text": "Base: All respondents: March 2021 survey (8,738); June 2021 survey (8,681). Source: PwC's June 2021 Global Consumer Insights Pulse Survey",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Source note",
              "slug": "source-note",
              "status": "active",
              "canonId": "23484952-494b-4a5e-b1ad-550d0d70e948",
              "version": 1,
              "description": "Attribution / source / caveat placed at the slide footer. Numbered footnotes use attrs.numbered."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:12:41.393+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "1383ebf6-2cd3-4c3d-b6c8-cbe58b377718",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.25,
            "x": 0.36,
            "y": 0.355
          },
          "kind": "title",
          "text": "Consumers are more willing to travel",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:12:41.393+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "2655cf9b-7b97-42c5-92d9-c7ad3f01bcad",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "Before-After-Bridge",
            "slug": "before-after-bridge",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-8604-7188-883f-42370288ad05",
            "version": 1,
            "bodyDocId": null,
            "description": "Narrative structure: Paint the before, show the after, explain the bridge",
            "familyLabel": null,
            "categoryName": "Block",
            "categorySlug": "block"
          },
          "agent": "Storyteller",
          "layer": "block",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019de947-ce2b-745d-9c8c-6a1431db5ad6",
          "evidence": "explicit March 2021 vs June 2021 comparison",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 65,
          "extraction": {
            "at": "2026-05-02 15:21:26.736795+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 20,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Action Titles",
            "slug": "action-titles",
            "status": "active",
            "bestFor": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
            "canonId": "019dd956-ac70-700b-a608-ba58e78f5dcc",
            "version": 1,
            "bodyDocId": "816dad3c-9983-41c1-a86e-978ebd582841",
            "description": "The McKinsey-bred discipline of writing every slide title as a complete declarative sentence with a verb and an insight, not a topic label. Each title is a sub-claim that ladders up to the deck's governing thought; read in sequence, the titles reconstruct the executive summary.",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Architect",
          "layer": "slide",
          "agents": [
            "Architect"
          ],
          "matchId": "019de947-cdba-703f-88cf-cb5d29fab50a",
          "evidence": "title: 'Consumers are more willing to travel'",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
          "confidence": 80,
          "extraction": {
            "at": "2026-05-02 15:21:26.736795+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 20,
          "whyItWorks": "Solves two failure modes at once. (1) The buried claim: action titles place the conclusion on the page before any analysis is read, so a busy reader doesn't reverse-engineer it from the chart. (2) The spineless deck: because each title is a claim, slides have to ladder up to the governing thought; logical gaps become visible as topic-shaped titles in a sequence that no longer reads as a story.",
          "antipattern": "Topic labels disguised as titles — Volume by quarter, Key findings, Pricing strategy, Margins have been impacted. No verb, or a passive verb with no agent, or a fact (Revenue grew 12%) without the so-what. Also: titles that overreach the chart's evidence, multi-claim X-grew-but-Y-fell welded titles, and mechanical repetition of the same X-drove-Y template across the deck.",
          "cardinality": null,
          "narrativePurpose": "Forces the deck to carry its argument in the title bar so a senior reader can extract the recommendation without opening a single slide; converts a binder of topics into a navigable pyramid where every slide is a node defending the apex."
        },
        {
          "tool": {
            "name": "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": "019de947-ce06-74a7-8305-78ccd697544b",
          "evidence": "+%-point deltas annotate March vs June",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 65,
          "extraction": {
            "at": "2026-05-02 15:21:26.736795+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 20,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Before/after framing",
            "slug": "before-after-framing",
            "status": "active",
            "bestFor": "For turnaround / reform proposals",
            "canonId": "019dd9e1-528b-72ec-a563-e5dcb9410f67",
            "version": 1,
            "bodyDocId": "019dd9a1-80bf-72e9-980b-ccd1c0cd3488",
            "description": "You visualise two futures side by side: the trajectory the target is on\ntoday, and the trajectory under your proposed intervention. The reader\nhas to see the delta to feel the stakes.\n\nIt's the rhetorical cousin of the peer-gap — same visual grammar\n(comparison), but across **time** instead of across peers.",
            "familyLabel": null,
            "categoryName": null,
            "categorySlug": null
          },
          "agent": null,
          "layer": "slide",
          "agents": null,
          "matchId": "d9632f90-6aa6-446c-9ec1-8b7d2049b6f1",
          "evidence": "The slide shows a comparison of travel sentiment between two time periods, using a stacked bar chart to visualize the change.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": "For turnaround / reform proposals",
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 21:19:36.603909+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 20,
          "whyItWorks": "- It **quantifies the opportunity cost** of inaction. \"Doing nothing\"\n  becomes a concrete, visible path, not an abstraction.\n- It **makes the Answer tangible**. The prescription isn't a paragraph;\n  it's a trajectory the reader can point at.\n- It **pre-empts the status-quo defence**. Management usually argues \"we\n  have a plan\". Your chart shows what their plan looks like vs. yours.\n- It **satisfies both the Architect** (math adds up) **and the Storyteller**\n  (emotional delta between two futures).",
          "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": "019de947-cde2-7399-84f8-fa36b99fa49d",
          "evidence": "stacked bars compare 5 travel categories",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 70,
          "extraction": {
            "at": "2026-05-02 15:21:26.736795+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 20,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 21,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 2,
          "name": "The Facts (What)",
          "beatId": "019de947-c0d2-719f-92f0-5e2ca8a013db",
          "matchId": "019de947-c0a9-7449-9de2-493b61c69e0c",
          "beatType": null,
          "evidence": "p2 stacked-bar of 8 change dimensions then 5 trend buckets with charts/tables",
          "position": 1,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 70
        },
        {
          "to": 21,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 18,
          "name": "Climax",
          "beatId": "019de947-c1b3-76d8-9704-5934601347f4",
          "matchId": "019de947-c144-71c9-9cfc-3c7fdadff369",
          "beatType": null,
          "evidence": "fifth trend (local) caps the inductive set",
          "position": 3,
          "isPrimaryArc": false,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 45
        }
      ],
      "loops": [
        {
          "to": 21,
          "from": 18,
          "loop": {
            "name": "06_zoom_in",
            "slug": "06-zoom-in",
            "status": "active",
            "bestFor": "Technical deep-dives, case studies, detailed analysis",
            "canonId": "019dd956-6846-74db-82be-dff5b058b072",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Big Picture -> Key Area of Focus -> Specific Detail -> Implication",
            "description": "Start broad, then progressively focus on specific details that prove your point",
            "familyLabel": null
          },
          "matchId": "019de947-c29b-730f-8d76-7283ff03a9f0",
          "evidence": "p18 intro, p19 mass-events, p20 travel willingness, p21 local-shopping support",
          "position": 5,
          "objective": "Zoom from 'more local' theme into mass-event, travel and local-shopping deltas",
          "confidence": 78,
          "extraction": {
            "at": "2026-05-02 15:21:26.736795+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 21,
      "type": "analysis",
      "title": "PwC Global Consumer Insights Pulse Survey, Exhibit 17.",
      "function": "analyze_data",
      "rawType": "industry_trends",
      "block": null,
      "metadata": {
        "slideType": "industry_trends",
        "slideTypeCanon": {
          "name": "Industry trends",
          "slug": "industry_trends",
          "status": "active",
          "canonId": "019de52d-0b1d-7705-a0e0-c663199cd1fa",
          "version": 1,
          "description": null
        },
        "function": "analyze_data",
        "functionCanon": {
          "name": "Analyze data",
          "slug": "analyze_data",
          "status": "active",
          "canonId": "019de52d-1590-7413-8c82-cc218cff40b4",
          "version": 1,
          "description": null
        },
        "density": "dense",
        "densityScore": 73,
        "componentCount": 7,
        "textChars": 1030,
        "nDataPoints": 20,
        "notes": "PwC Global Consumer Insights Pulse Survey, Exhibit 17.",
        "elementsJson": [
          "callout_box",
          "paragraph",
          "bar_chart_stacked"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 19:12:41.258+00",
          "seconds": 2.395,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5ca1-7489-b63a-07f3cac110e0/21",
        "deck": "/decks/019dd923-5ca1-7489-b63a-07f3cac110e0",
        "deckAnchor": "/decks/019dd923-5ca1-7489-b63a-07f3cac110e0#slide-21",
        "deckJson": "/decks/019dd923-5ca1-7489-b63a-07f3cac110e0.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.08,
            "w": 0.522,
            "x": 0.429,
            "y": 0.138
          },
          "kind": "callout",
          "text": "Our insight: For the most part, consumers will be quite cautious about what they do in the world outside their home. Just as mask-wearing will likely continue to some degree long after most people have been fully vaccinated, consumers probably also will remain more parochial than they've been for years.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": null,
            "subkind": {
              "name": "Primary callout",
              "slug": "primary",
              "status": "active",
              "canonId": "019de52c-fbd1-70eb-a9ce-8997f8674c1d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:12:41.258+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "bddc6685-add0-4b87-999f-2d392ce2764b",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "callout",
          "text": "For the most part, consumers will be quite cautious about what they do in the world outside their home. Just as mask-wearing will likely continue to some degree long after most people have been fully vaccinated, consumers probably also will remain more parochial than they've been for years.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": {
              "name": "Visual emphasis",
              "slug": "visual-emphasis",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-474b-736b-a8eb-a794dd88241c",
              "version": 1,
              "bodyDocId": null,
              "description": "Drawing the eye to one element above the rest of the slide.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:49:52+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-dfa4-712e-8334-5ea56ec92f03",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.22,
            "w": 0.522,
            "x": 0.429,
            "y": 0.475
          },
          "kind": "chart",
          "text": "Stacked bar charts showing agreement levels for supporting local businesses and buying from local retailers.",
          "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 19:12:41.258+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "97567c2d-556f-4748-b996-f9207bbda70b",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Net percentage who agree: 51%",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:49:52+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-dfa4-712e-8334-63382e91bddf",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.2,
            "w": 0.34,
            "x": 0.049,
            "y": 0.314
          },
          "kind": "paragraph",
          "text": "Local can also be interpreted in terms of shopping in-store in one's neighbourhood or postal code. Small, independent providers and retailers will be pleased to see a solid 6 percentage point step-up...",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "5f2affc0-941d-4d07-959d-4bfc1930cea4",
              "version": 1,
              "description": "Single prose block in the body of a slide."
            },
            "tool": null,
            "subkind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "019de52c-fb80-75af-aa5c-a7a4bfac2433",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "paragraph",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:12:41.258+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "80c4e898-e968-46a1-b74f-bc07b8acf73d",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.01,
            "w": 0.3,
            "x": 0.429,
            "y": 0.95
          },
          "kind": "source-note",
          "text": "Source: PwC's June 2021 Global Consumer Insights Pulse Survey",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Source note",
              "slug": "source-note",
              "status": "active",
              "canonId": "23484952-494b-4a5e-b1ad-550d0d70e948",
              "version": 1,
              "description": "Attribution / source / caveat placed at the slide footer. Numbered footnotes use attrs.numbered."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:12:41.258+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "ab569f99-c76e-44b9-bbe7-0f2dfe65c12f",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.015,
            "w": 0.25,
            "x": 0.429,
            "y": 0.354
          },
          "kind": "title",
          "text": "More consumers are shopping locally",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:12:41.258+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "9441cc04-044b-43c6-94ea-4f6cdf096f4f",
          "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": "019de947-ce50-776d-8a40-17a87ee144da",
          "evidence": "title: 'More consumers are shopping locally'",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
          "confidence": 80,
          "extraction": {
            "at": "2026-05-02 15:21:26.736795+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 21,
          "whyItWorks": "Solves two failure modes at once. (1) The buried claim: action titles place the conclusion on the page before any analysis is read, so a busy reader doesn't reverse-engineer it from the chart. (2) The spineless deck: because each title is a claim, slides have to ladder up to the governing thought; logical gaps become visible as topic-shaped titles in a sequence that no longer reads as a story.",
          "antipattern": "Topic labels disguised as titles — Volume by quarter, Key findings, Pricing strategy, Margins have been impacted. No verb, or a passive verb with no agent, or a fact (Revenue grew 12%) without the so-what. Also: titles that overreach the chart's evidence, multi-claim X-grew-but-Y-fell welded titles, and mechanical repetition of the same X-drove-Y template across the deck.",
          "cardinality": null,
          "narrativePurpose": "Forces the deck to carry its argument in the title bar so a senior reader can extract the recommendation without opening a single slide; converts a binder of topics into a navigable pyramid where every slide is a node defending the apex."
        },
        {
          "tool": {
            "name": "Audience Definition",
            "slug": "audience-definition",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-7f2a-775d-aeee-ff099bcb7756",
            "version": 1,
            "bodyDocId": null,
            "description": "Six key questions: Who are they? What do they know? What do they believe? What do they care about? What do they fear? What decisions can they make?",
            "familyLabel": null,
            "categoryName": "Block",
            "categorySlug": "block"
          },
          "agent": "Storyteller",
          "layer": "slide",
          "agents": [
            "Storyteller"
          ],
          "matchId": "efe0193d-2cd6-4e4c-a237-62650f05c1bb",
          "evidence": "Local can also be interpreted in terms of shopping in-store in one's neighbourhood or postal code.",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": null,
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 21:19:39.478955+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 21,
          "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": "019de947-ce76-752f-bf28-a96ce98658a1",
          "evidence": "two stacked bars compare two time points",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 65,
          "extraction": {
            "at": "2026-05-02 15:21:26.736795+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 21,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Pyramid Principle",
            "slug": "pyramid-principle",
            "status": "active",
            "bestFor": "When the document has a single governing decision or recommendation the reader is asked to accept, and the case can be decomposed into a small number of clean groups. Strategy decks, board memos, investment committee papers.",
            "canonId": "019dd956-7cbd-7219-a477-c871e2bc1aff",
            "version": 1,
            "bodyDocId": "88b6ac56-b880-46f9-8621-ef3491ab6235",
            "description": "Lead with the answer; group three to five MECE supports beneath it; recurse one level down. Top-down hierarchical structure for any document with a single recommendation.",
            "familyLabel": null,
            "categoryName": "Block",
            "categorySlug": "block"
          },
          "agent": "Architect",
          "layer": "slide",
          "agents": [
            "Architect"
          ],
          "matchId": "aa201899-9958-4a3f-af0f-42ef2d6cb000",
          "evidence": "Our insight: For the most part, consumers will be quite cautious about what they do in the world outside their home.",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": "When the document has a single governing decision or recommendation the reader is asked to accept, and the case can be decomposed into a small number of clean groups. Strategy decks, board memos, investment committee papers.",
          "confidence": 0.5,
          "extraction": {
            "at": "2026-07-16 21:19:39.512643+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 21,
          "whyItWorks": "Solves the two failure modes of expert communication at once: (1) the long climb where readers wait pages for the answer, and (2) logical mush from non-MECE groupings. Progressive disclosure lets a reader stop at any depth and get the right information.",
          "antipattern": "Chronological structure (\"what we did, what we found, what we conclude\") instead of logical hierarchy. Top-of-pyramid that is a topic (\"strategic options\") instead of an answer (\"pursue Option B because...\"). Non-MECE supports that overlap or fail to cover the universe.",
          "cardinality": null,
          "narrativePurpose": "Transfer conviction with minimum reader effort by mirroring how decision-makers consume information: answer first, scaffolding behind."
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 21,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 2,
          "name": "The Facts (What)",
          "beatId": "019de947-c0d2-719f-92f0-5e2ca8a013db",
          "matchId": "019de947-c0a9-7449-9de2-493b61c69e0c",
          "beatType": null,
          "evidence": "p2 stacked-bar of 8 change dimensions then 5 trend buckets with charts/tables",
          "position": 1,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 70
        },
        {
          "to": 21,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 18,
          "name": "Climax",
          "beatId": "019de947-c1b3-76d8-9704-5934601347f4",
          "matchId": "019de947-c144-71c9-9cfc-3c7fdadff369",
          "beatType": null,
          "evidence": "fifth trend (local) caps the inductive set",
          "position": 3,
          "isPrimaryArc": false,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 45
        }
      ],
      "loops": [
        {
          "to": 21,
          "from": 18,
          "loop": {
            "name": "06_zoom_in",
            "slug": "06-zoom-in",
            "status": "active",
            "bestFor": "Technical deep-dives, case studies, detailed analysis",
            "canonId": "019dd956-6846-74db-82be-dff5b058b072",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Big Picture -> Key Area of Focus -> Specific Detail -> Implication",
            "description": "Start broad, then progressively focus on specific details that prove your point",
            "familyLabel": null
          },
          "matchId": "019de947-c29b-730f-8d76-7283ff03a9f0",
          "evidence": "p18 intro, p19 mass-events, p20 travel willingness, p21 local-shopping support",
          "position": 5,
          "objective": "Zoom from 'more local' theme into mass-event, travel and local-shopping deltas",
          "confidence": 78,
          "extraction": {
            "at": "2026-05-02 15:21:26.736795+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 22,
      "type": "setup",
      "title": "PwC Global Consumer Insights Pulse Survey page 22.",
      "function": "establish_context",
      "rawType": "situation_overview",
      "block": null,
      "metadata": {
        "slideType": "situation_overview",
        "slideTypeCanon": {
          "name": "Situation overview",
          "slug": "situation_overview",
          "status": "active",
          "canonId": "019de52d-0cfe-7769-99aa-9a2fe82a4039",
          "version": 1,
          "description": null
        },
        "function": "establish_context",
        "functionCanon": {
          "name": "Establish context",
          "slug": "establish_context",
          "status": "active",
          "canonId": "019de52d-1314-74e6-9074-d213dc0bdcdf",
          "version": 1,
          "description": null
        },
        "density": "dense",
        "densityScore": 74,
        "componentCount": 7,
        "textChars": 1497,
        "nDataPoints": 6,
        "notes": "PwC Global Consumer Insights Pulse Survey page 22.",
        "elementsJson": [
          "headline_text",
          "paragraph",
          "photo"
        ],
        "confidence": 0.95,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 19:12:42.298+00",
          "seconds": 3.384,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5ca1-7489-b63a-07f3cac110e0/22",
        "deck": "/decks/019dd923-5ca1-7489-b63a-07f3cac110e0",
        "deckAnchor": "/decks/019dd923-5ca1-7489-b63a-07f3cac110e0#slide-22",
        "deckJson": "/decks/019dd923-5ca1-7489-b63a-07f3cac110e0.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "For many, behaviour changes, both forced and voluntary, will have become habit. Savvy consumer companies will be alert to these permanent changes and will be making their own adaptations.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": {
              "name": "Visual emphasis",
              "slug": "visual-emphasis",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-474b-736b-a8eb-a794dd88241c",
              "version": 1,
              "bodyDocId": null,
              "description": "Drawing the eye to one element above the rest of the slide.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:49:53+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-dfa4-712e-8334-e3bfca9e07b6",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 1,
            "w": 0.5,
            "x": 0.5,
            "y": 0
          },
          "kind": "image",
          "text": "Elderly couple shopping in a grocery store",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Image",
              "slug": "image",
              "status": "active",
              "canonId": "019de52c-f978-701f-a720-51d029d769e7",
              "version": 1,
              "description": "Photo, illustration, screenshot or icon."
            },
            "tool": null,
            "subkind": {
              "name": "Photo",
              "slug": "photo",
              "status": "active",
              "canonId": "019de52c-fd37-757f-b4a8-ca26d4888875",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "photo",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:12:42.298+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "cb026dd2-d193-4271-8557-481c8fd3bf2a",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Global GDP growth: 6.4%",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:49:53+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-dfa4-712e-8334-e49950163c2d",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.45,
            "x": 0.05,
            "y": 0.75
          },
          "kind": "paragraph",
          "text": "But nobody alive today will ever forget the year-plus that was dominated by the coronavirus. For many, behaviour changes, both forced and voluntary, will have become habit. Savvy consumer companies will be alert to these permanent changes and will be making their own adaptations.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "5f2affc0-941d-4d07-959d-4bfc1930cea4",
              "version": 1,
              "description": "Single prose block in the body of a slide."
            },
            "tool": null,
            "subkind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "019de52c-fb80-75af-aa5c-a7a4bfac2433",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "paragraph",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:12:42.298+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "11925e9f-5775-4666-8bee-e59e6472de35",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.2,
            "w": 0.45,
            "x": 0.05,
            "y": 0.3
          },
          "kind": "paragraph",
          "text": "Even though the pandemic continues to devastate nations such as India and Brazil, some light is appearing at the end of this long, dark tunnel. COVID-19 vaccinations are clearly a positive: for instance, 56% of the Israeli population had been fully vaccinated by mid-May 2021; 38% of Chileans, 27% of Britons and 26% of Qataris had obtained the same relief.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "5f2affc0-941d-4d07-959d-4bfc1930cea4",
              "version": 1,
              "description": "Single prose block in the body of a slide."
            },
            "tool": null,
            "subkind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "019de52c-fb80-75af-aa5c-a7a4bfac2433",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "paragraph",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:12:42.298+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "40b25bf9-a14c-490b-b11c-539fef63976a",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.25,
            "w": 0.45,
            "x": 0.05,
            "y": 0.5
          },
          "kind": "paragraph",
          "text": "And now the animal spirits of the economy are starting to stir. The International Monetary Fund projects a 6.4% expansion for the global economy in 2021, and the Organisation for Economic Co-operation and Development forecasts a 5.6% rise in global GDP growth this year—a 1.5% lift over what the intergovernmental body had expected as recently as December 2020. Our most recent Pulse survey mirrors those sentiments, with 36% of consumers saying they’ve become more optimistic about the economy since late last year. As ever, it’s the young who are most upbeat about the future.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "5f2affc0-941d-4d07-959d-4bfc1930cea4",
              "version": 1,
              "description": "Single prose block in the body of a slide."
            },
            "tool": null,
            "subkind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "019de52c-fb80-75af-aa5c-a7a4bfac2433",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "paragraph",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:12:42.298+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "e151c7bb-63f6-406c-89dc-8298d6d4593c",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.4,
            "x": 0.05,
            "y": 0.22
          },
          "kind": "title",
          "text": "Light at the end of the tunnel",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:12:42.298+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "a5dbd9f9-034b-4ae2-a5b1-515e25acfac6",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "Before-After-Bridge",
            "slug": "before-after-bridge",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-8604-7188-883f-42370288ad05",
            "version": 1,
            "bodyDocId": null,
            "description": "Narrative structure: Paint the before, show the after, explain the bridge",
            "familyLabel": null,
            "categoryName": "Block",
            "categorySlug": "block"
          },
          "agent": "Storyteller",
          "layer": "slide",
          "agents": [
            "Storyteller"
          ],
          "matchId": "1fb5d13d-ef98-4ddf-b198-ad02ac64d052",
          "evidence": "And now the animal spirits of the economy are starting to stir.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.8,
          "extraction": {
            "at": "2026-07-16 21:19:39.579759+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 22,
          "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": "019de947-ce9a-7123-8c2a-d5b0a86101bb",
          "evidence": "memorable line 'Light at the end of the tunnel' + soft CTA to companies",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 80,
          "extraction": {
            "at": "2026-05-02 15:21:26.736795+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 22,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Concrete Language",
            "slug": "concrete-language",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-bcd4-7398-9723-6aa72346170b",
            "version": 1,
            "bodyDocId": null,
            "description": "Using specific sensory details instead of abstract terms",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Storyteller",
          "layer": "slide",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019de947-cee7-71b3-9c2e-99451d78cc00",
          "evidence": "specific GDP/vaccine numbers anchor the close",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 65,
          "extraction": {
            "at": "2026-05-02 15:21:26.736795+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 22,
          "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": "7eea6d3d-d797-4c0b-bd71-e43e8dd50d85",
          "evidence": "Even though the pandemic continues to devastate nations such as India and Brazil, some light is appearing at the end of this long, dark tunnel.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.6,
          "extraction": {
            "at": "2026-07-16 21:19:39.612631+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 22,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Emotional Appeal",
            "slug": "emotional-appeal",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-bde9-7668-8be7-0097678fec59",
            "version": 1,
            "bodyDocId": null,
            "description": "Connecting to audience feelings rather than just logic",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Storyteller",
          "layer": "slide",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019de947-cec0-745b-a725-3e9102b1bb8b",
          "evidence": "warm grocery-shopper photo + uplifting tone",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 70,
          "extraction": {
            "at": "2026-05-02 15:21:26.736795+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 22,
          "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": "019de947-cf0c-73bf-82a7-b244d22acfa1",
          "evidence": "italic display title above body copy",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 60,
          "extraction": {
            "at": "2026-05-02 15:21:26.736795+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 22,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 22,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 22,
          "name": "The Implications (So What)",
          "beatId": "019de947-c0f8-76cf-a2fd-1f59398b41e8",
          "matchId": "019de947-c0a9-7449-9de2-493b61c69e0c",
          "beatType": null,
          "evidence": "p22 'behaviour changes will have become habit' synthesis",
          "position": 2,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 70
        },
        {
          "to": 22,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 22,
          "name": "The Action (Now What)",
          "beatId": "019de947-c11f-743a-8f0f-014a1403d036",
          "matchId": "019de947-c0a9-7449-9de2-493b61c69e0c",
          "beatType": null,
          "evidence": "p22 closing 'savvy consumer companies will be alert... own adaptations'",
          "position": 3,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 70
        },
        {
          "to": 22,
          "arc": {
            "name": "The Mountain",
            "slug": "mountain",
            "status": "active",
            "bestFor": "Case studies, success stories, dramatic reveals",
            "canonId": "019dd956-62dc-71fd-9964-679ce4773319",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Setup & Stakes -> Rising Action -> Climax -> Resolution",
            "description": null,
            "familyLabel": null
          },
          "from": 22,
          "name": "Resolution",
          "beatId": "019de947-c1db-773d-83e2-b9ddca1ba03b",
          "matchId": "019de947-c144-71c9-9cfc-3c7fdadff369",
          "beatType": null,
          "evidence": "p22 'Light at the end of the tunnel' resolves the arc",
          "position": 4,
          "isPrimaryArc": false,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 45
        }
      ],
      "loops": [],
      "locked": true
    },
    {
      "page": 23,
      "type": "appendix",
      "title": "The slide is split into two distinct sections: methodology description on the left and a contact list on the right.",
      "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": "balanced",
        "densityScore": 26,
        "componentCount": 4,
        "textChars": 295,
        "nDataPoints": 3,
        "notes": "The slide is split into two distinct sections: methodology description on the left and a contact list on the right.",
        "elementsJson": [
          "paragraph",
          "other"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 19:12:41.837+00",
          "seconds": 2.698,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5ca1-7489-b63a-07f3cac110e0/23",
        "deck": "/decks/019dd923-5ca1-7489-b63a-07f3cac110e0",
        "deckAnchor": "/decks/019dd923-5ca1-7489-b63a-07f3cac110e0#slide-23",
        "deckJson": "/decks/019dd923-5ca1-7489-b63a-07f3cac110e0.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.6,
            "w": 0.45,
            "x": 0.51,
            "y": 0.31
          },
          "kind": "list",
          "text": "List of PwC regional contacts including names, titles, and email addresses.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "List",
              "slug": "list",
              "status": "active",
              "canonId": "019de52c-f94b-779b-a53b-fd4904a5f4d2",
              "version": 1,
              "description": "Bullet or numbered list."
            },
            "tool": null,
            "subkind": {
              "name": "Bullet list",
              "slug": "bullet",
              "status": "active",
              "canonId": "019de52c-fc98-7169-a083-5cab805076ca",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bullet",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:12:41.837+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "29c2ff10-79f0-4fd7-85fb-40bf85daee67",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.35,
            "w": 0.35,
            "x": 0.05,
            "y": 0.31
          },
          "kind": "paragraph",
          "text": "For the 2021 Global Consumer Insights Survey, PwC adopted a ‘pulse’ approach... We polled 8,681 consumers across 22 territories... The survey was translated into 16 languages and fielded in March 2021.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "5f2affc0-941d-4d07-959d-4bfc1930cea4",
              "version": 1,
              "description": "Single prose block in the body of a slide."
            },
            "tool": null,
            "subkind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "019de52c-fb80-75af-aa5c-a7a4bfac2433",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "paragraph",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:12:41.837+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "c1676ebb-5481-4b24-8678-d6a75d7d5757",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.04,
            "w": 0.2,
            "x": 0.05,
            "y": 0.22
          },
          "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 19:12:41.837+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "2bf85c22-8d5f-4752-98a7-12caf935132a",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.04,
            "w": 0.15,
            "x": 0.51,
            "y": 0.22
          },
          "kind": "title",
          "text": "Contacts",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:12:41.837+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "49dead86-d59d-461d-893c-4ef2e122fd0f",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "Section divider",
            "slug": "section-divider",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd9e1-4c66-707d-8d1f-6e14547134c7",
            "version": 1,
            "bodyDocId": null,
            "description": "A transitional slide marking the start of a new section.",
            "familyLabel": null,
            "categoryName": null,
            "categorySlug": null
          },
          "agent": null,
          "layer": "slide",
          "agents": null,
          "matchId": "818844d0-9c04-44da-b6ca-c0b5dd59e430",
          "evidence": "Methodology / Contacts",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.9,
          "extraction": {
            "at": "2026-07-16 21:19:39.679186+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 23,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": "common",
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [],
      "loops": [],
      "locked": true
    },
    {
      "page": 24,
      "type": "setup",
      "function": "other",
      "rawType": "disclaimer",
      "block": null,
      "metadata": {
        "slideType": "disclaimer",
        "slideTypeCanon": {
          "name": "Disclaimer",
          "slug": "disclaimer",
          "status": "active",
          "canonId": "019de52d-0801-727b-b98a-5ed095aeee78",
          "version": 1,
          "description": null
        },
        "function": "other",
        "functionCanon": {
          "name": "Other (fallback)",
          "slug": "other",
          "status": "active",
          "canonId": "019de52d-15e1-75bc-99dc-07732380e2ce",
          "version": 1,
          "description": null
        },
        "density": "balanced",
        "densityScore": 40,
        "componentCount": 5,
        "textChars": 594,
        "nDataPoints": 0,
        "notes": null,
        "elementsJson": [
          "paragraph",
          "logo_grid"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 19:12:42.1+00",
          "seconds": 2.936,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5ca1-7489-b63a-07f3cac110e0/24",
        "deck": "/decks/019dd923-5ca1-7489-b63a-07f3cac110e0",
        "deckAnchor": "/decks/019dd923-5ca1-7489-b63a-07f3cac110e0#slide-24",
        "deckJson": "/decks/019dd923-5ca1-7489-b63a-07f3cac110e0.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.03,
            "w": 0.65,
            "x": 0.05,
            "y": 0.91
          },
          "kind": "disclaimer",
          "text": "© 2021 PwC. All rights reserved. PwC refers to the PwC network and/or one or more of its member firms, each of which is a separate legal entity. Please see www.pwc.com/structure for further details.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Disclaimer",
              "slug": "disclaimer",
              "status": "active",
              "canonId": "91173477-d91f-4024-bbaf-d4f93e3f82dc",
              "version": 1,
              "description": "Legal/cautionary text that occupies most of the body of its slide."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:12:42.1+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "2e80db62-6197-4dd1-8364-4edf131fb841",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.65,
            "x": 0.05,
            "y": 0.94
          },
          "kind": "disclaimer",
          "text": "This content is for general information purposes only, and should not be used as a substitute for consultation with professional advisers.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Disclaimer",
              "slug": "disclaimer",
              "status": "active",
              "canonId": "91173477-d91f-4024-bbaf-d4f93e3f82dc",
              "version": 1,
              "description": "Legal/cautionary text that occupies most of the body of its slide."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:12:42.1+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "c81a0043-fe1f-457f-853a-346fbfd7dd33",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.65,
            "x": 0.05,
            "y": 0.87
          },
          "kind": "disclaimer",
          "text": "At PwC, our purpose is to build trust in society and solve important problems. We're a network of firms in 155 countries with over 284,000 people who are committed to delivering quality in assurance, advisory and tax services.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Disclaimer",
              "slug": "disclaimer",
              "status": "active",
              "canonId": "91173477-d91f-4024-bbaf-d4f93e3f82dc",
              "version": 1,
              "description": "Legal/cautionary text that occupies most of the body of its slide."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:12:42.1+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "f5df7153-3719-4ed0-98cf-538c7e05dbe4",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.11,
            "w": 0.12,
            "x": 0.05,
            "y": 0.72
          },
          "kind": "image",
          "text": "PwC logo",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Image",
              "slug": "image",
              "status": "active",
              "canonId": "019de52c-f978-701f-a720-51d029d769e7",
              "version": 1,
              "description": "Photo, illustration, screenshot or icon."
            },
            "tool": null,
            "subkind": {
              "name": "Logo",
              "slug": "logo",
              "status": "active",
              "canonId": "019de52c-fdaf-743d-94c4-d7c6a0e55302",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "logo",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:12:42.1+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "d5cb0a06-a755-4866-b60e-81ef6c98ea5b",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.3,
            "x": 0.05,
            "y": 0.13
          },
          "kind": "paragraph",
          "text": "pwc.com/consumerinsights",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "5f2affc0-941d-4d07-959d-4bfc1930cea4",
              "version": 1,
              "description": "Single prose block in the body of a slide."
            },
            "tool": null,
            "subkind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "019de52c-fb80-75af-aa5c-a7a4bfac2433",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "paragraph",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:12:42.1+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "573d8bcb-f46b-48bf-bab6-f988d2deec3a",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [],
      "frameworks": [],
      "arcBeats": [],
      "loops": [],
      "locked": true
    }
  ],
  "arcBeats": [
    {
      "from": 2,
      "to": 21,
      "label": "The Facts (What)",
      "description": "p2 stacked-bar of 8 change dimensions then 5 trend buckets with charts/tables"
    },
    {
      "from": 22,
      "to": 22,
      "label": "The Implications (So What)",
      "description": "p22 'behaviour changes will have become habit' synthesis"
    },
    {
      "from": 22,
      "to": 22,
      "label": "The Action (Now What)",
      "description": "p22 closing 'savvy consumer companies will be alert... own adaptations'"
    }
  ],
  "loops": [
    {
      "from": 3,
      "to": 5,
      "label": "Zoom In",
      "description": "Zoom from 'more digital' theme into channel-mix and online-shopper priority data"
    },
    {
      "from": 6,
      "to": 9,
      "label": "Zoom In",
      "description": "Zoom from 'more health-conscious' theme into spending, cohort and trade-off data"
    },
    {
      "from": 10,
      "to": 14,
      "label": "Zoom In",
      "description": "Zoom from 'more eco-friendly' theme into behaviour, blockers and generational nuance"
    },
    {
      "from": 15,
      "to": 17,
      "label": "Zoom In",
      "description": "Zoom from 'more price-sensitive' theme into purchase drivers and category outlook"
    },
    {
      "from": 18,
      "to": 21,
      "label": "Zoom In",
      "description": "Zoom from 'more local' theme into mass-event, travel and local-shopping deltas"
    }
  ]
}