{
  "schemaVersion": "deck-intelligence.v1",
  "id": "019dd923-5ca1-7489-b63a-7ccef3b8a931",
  "slug": "f64cf2e0c6f2c2df",
  "title": "Global Consumer Insights Survey 2023 ME",
  "subtitle": "PwC",
  "author": "PwC",
  "pageCount": 22,
  "kind": "consulting-deck",
  "orientation": "landscape",
  "aspectRatio": 1.414,
  "document": {
    "id": "019dd923-5ca1-7489-b63a-7ccef3b8a931",
    "slug": "f64cf2e0c6f2c2df",
    "title": "Global Consumer Insights Survey 2023 ME",
    "rawTitle": "Global Consumer Insights Survey 2023 ME",
    "authorId": "PwC",
    "authorName": "PwC",
    "authorDisplay": "PwC",
    "kind": {
      "slug": "consulting-deck",
      "label": "Consulting deck"
    },
    "sourceType": {
      "slug": "strategy_consulting",
      "label": "Strategy consulting"
    },
    "fileName": "2023-Global-Consumer-Insights-Survey-2023-ME.pdf",
    "sourceUrl": "https://www.pwc.com/m1/en/publications/images-new/gcis-pulse-5-2023/global-consumer-insights-survey-2023-pulse-5-middle-east-findings.pdf",
    "sourceDate": "2023-01-01 00:00:00",
    "presentationDate": null,
    "ingestedAt": "2026-04-23 20:51:43+00",
    "status": "ready",
    "pageCount": 22,
    "orientation": "landscape",
    "aspectRatio": 1.414,
    "targetCompany": null,
    "targetTicker": null,
    "metadata": {
      "local_root": "/tmp/legacy-images/f64cf2e0c6f2c2df",
      "origin_corpus": "consulting"
    }
  },
  "coverage": {
    "pageCount": 22,
    "pagesIndexed": 22,
    "pagesWithImages": 22,
    "pagesWithMetadata": 22,
    "imageCoveragePct": 100,
    "metadataCoveragePct": 100,
    "componentCount": 139,
    "chartCount": 21,
    "metricSlides": 0,
    "toolMatches": 55,
    "documentToolMatches": 0,
    "frameworkMatches": 1,
    "arcMatches": 2,
    "beatMatches": 8,
    "loopMatches": 3,
    "patternMatches": 0,
    "storymakersMatch": true,
    "scoreAvailable": true,
    "reviewAvailable": true,
    "activistThesisAvailable": false,
    "pitchdeckMetadataAvailable": false,
    "pitchdeckProfileAvailable": false
  },
  "blocks": [],
  "matches": {
    "arcs": [
      {
        "arc": {
          "name": "The Consultant's Gambit",
          "slug": "consultants-gambit",
          "status": "active",
          "bestFor": "Business cases, project proposals, strategic recommendations",
          "canonId": "019dd956-5e0a-73c8-b305-81c38c959e9c",
          "version": 1,
          "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
          "structure": "Situation & Context -> Problem & Complication -> Solution & Approach -> Evidence & Proof -> Impact & Next Steps",
          "description": null,
          "familyLabel": null,
          "categoryName": "Strategy & Business",
          "categorySlug": "strategy-business"
        },
        "matchId": "019de9cb-10ad-72ad-97ae-369c40567c2d",
        "evidence": "Classic consulting structure: ME setup (p.1-3), problem (p.4-7), adaptation (p.8-17), conclusion + contact (p.18-22)",
        "isPrimary": true,
        "confidence": 65,
        "extraction": {
          "at": "2026-05-02 17:44:52.402928+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        }
      },
      {
        "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": "019de9cb-11a9-76b9-bb36-24bf00efb157",
        "evidence": "Data-heavy report: facts (p.1-17), implications in conclusion (p.18-19), call to engage (p.21)",
        "isPrimary": false,
        "confidence": 55,
        "extraction": {
          "at": "2026-05-02 17:44:52.402928+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        }
      }
    ],
    "beats": [
      {
        "to": 3,
        "arc": {
          "name": "The Consultant's Gambit",
          "slug": "consultants-gambit",
          "status": "active",
          "bestFor": "Business cases, project proposals, strategic recommendations",
          "canonId": "019dd956-5e0a-73c8-b305-81c38c959e9c",
          "version": 1,
          "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
          "structure": "Situation & Context -> Problem & Complication -> Solution & Approach -> Evidence & Proof -> Impact & Next Steps",
          "description": null,
          "familyLabel": null,
          "categoryName": "Strategy & Business",
          "categorySlug": "strategy-business"
        },
        "from": 1,
        "name": "Situation & Context",
        "beatId": "019de9cb-10d5-75f5-bf16-c96ffaebd02d",
        "matchId": "019de9cb-10ad-72ad-97ae-369c40567c2d",
        "beatType": null,
        "evidence": "Cover, executive summary, four key findings frame the ME consumer landscape",
        "position": 1,
        "isPrimaryArc": true,
        "parentBeatType": null,
        "alignedBlockIds": null,
        "matchConfidence": 65
      },
      {
        "to": 7,
        "arc": {
          "name": "The Consultant's Gambit",
          "slug": "consultants-gambit",
          "status": "active",
          "bestFor": "Business cases, project proposals, strategic recommendations",
          "canonId": "019dd956-5e0a-73c8-b305-81c38c959e9c",
          "version": 1,
          "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
          "structure": "Situation & Context -> Problem & Complication -> Solution & Approach -> Evidence & Proof -> Impact & Next Steps",
          "description": null,
          "familyLabel": null,
          "categoryName": "Strategy & Business",
          "categorySlug": "strategy-business"
        },
        "from": 4,
        "name": "Problem & Complication",
        "beatId": "019de9cb-10fe-73f9-a7a5-9303bf66aee8",
        "matchId": "019de9cb-10ad-72ad-97ae-369c40567c2d",
        "beatType": null,
        "evidence": "Section explicitly titled 'Higher prices and supply chain delays hinder sales'",
        "position": 2,
        "isPrimaryArc": true,
        "parentBeatType": null,
        "alignedBlockIds": null,
        "matchConfidence": 65
      },
      {
        "to": 11,
        "arc": {
          "name": "The Consultant's Gambit",
          "slug": "consultants-gambit",
          "status": "active",
          "bestFor": "Business cases, project proposals, strategic recommendations",
          "canonId": "019dd956-5e0a-73c8-b305-81c38c959e9c",
          "version": 1,
          "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
          "structure": "Situation & Context -> Problem & Complication -> Solution & Approach -> Evidence & Proof -> Impact & Next Steps",
          "description": null,
          "familyLabel": null,
          "categoryName": "Strategy & Business",
          "categorySlug": "strategy-business"
        },
        "from": 8,
        "name": "Solution & Approach",
        "beatId": "019de9cb-1129-740b-8ab0-a14bb08611db",
        "matchId": "019de9cb-10ad-72ad-97ae-369c40567c2d",
        "beatType": null,
        "evidence": "Consumer behaviour shifts toward essentials as the adaptive response",
        "position": 3,
        "isPrimaryArc": true,
        "parentBeatType": null,
        "alignedBlockIds": null,
        "matchConfidence": 65
      },
      {
        "to": 17,
        "arc": {
          "name": "The Consultant's Gambit",
          "slug": "consultants-gambit",
          "status": "active",
          "bestFor": "Business cases, project proposals, strategic recommendations",
          "canonId": "019dd956-5e0a-73c8-b305-81c38c959e9c",
          "version": 1,
          "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
          "structure": "Situation & Context -> Problem & Complication -> Solution & Approach -> Evidence & Proof -> Impact & Next Steps",
          "description": null,
          "familyLabel": null,
          "categoryName": "Strategy & Business",
          "categorySlug": "strategy-business"
        },
        "from": 12,
        "name": "Evidence & Proof",
        "beatId": "019de9cb-1157-767e-aaf0-613ad840f3f7",
        "matchId": "019de9cb-10ad-72ad-97ae-369c40567c2d",
        "beatType": null,
        "evidence": "Multiple data points on phygital retail, channels, privacy, metaverse",
        "position": 4,
        "isPrimaryArc": true,
        "parentBeatType": null,
        "alignedBlockIds": null,
        "matchConfidence": 65
      },
      {
        "to": 22,
        "arc": {
          "name": "The Consultant's Gambit",
          "slug": "consultants-gambit",
          "status": "active",
          "bestFor": "Business cases, project proposals, strategic recommendations",
          "canonId": "019dd956-5e0a-73c8-b305-81c38c959e9c",
          "version": 1,
          "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
          "structure": "Situation & Context -> Problem & Complication -> Solution & Approach -> Evidence & Proof -> Impact & Next Steps",
          "description": null,
          "familyLabel": null,
          "categoryName": "Strategy & Business",
          "categorySlug": "strategy-business"
        },
        "from": 18,
        "name": "Impact & Next Steps",
        "beatId": "019de9cb-117f-77ee-b14a-59f1925daaed",
        "matchId": "019de9cb-10ad-72ad-97ae-369c40567c2d",
        "beatType": null,
        "evidence": "Conclusion synthesizes phygital implications; methodology + Get-in-touch close",
        "position": 5,
        "isPrimaryArc": true,
        "parentBeatType": null,
        "alignedBlockIds": null,
        "matchConfidence": 65
      },
      {
        "to": 17,
        "arc": {
          "name": "The Triple Take",
          "slug": "triple-take",
          "status": "active",
          "bestFor": "Data-driven presentations, research findings",
          "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
          "version": 1,
          "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
          "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
          "description": null,
          "familyLabel": null,
          "categoryName": "Analysis & Information",
          "categorySlug": "analysis-information"
        },
        "from": 1,
        "name": "The Facts (What)",
        "beatId": "019de9cb-11d1-72db-ad70-209cd8443f3b",
        "matchId": "019de9cb-11a9-76b9-bb36-24bf00efb157",
        "beatType": null,
        "evidence": "Survey data on prices, behaviour, channels, privacy, metaverse",
        "position": 1,
        "isPrimaryArc": false,
        "parentBeatType": null,
        "alignedBlockIds": null,
        "matchConfidence": 55
      },
      {
        "to": 19,
        "arc": {
          "name": "The Triple Take",
          "slug": "triple-take",
          "status": "active",
          "bestFor": "Data-driven presentations, research findings",
          "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
          "version": 1,
          "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
          "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
          "description": null,
          "familyLabel": null,
          "categoryName": "Analysis & Information",
          "categorySlug": "analysis-information"
        },
        "from": 18,
        "name": "The Implications (So What)",
        "beatId": "019de9cb-11fa-76ac-ad69-2af51cdc28f1",
        "matchId": "019de9cb-11a9-76b9-bb36-24bf00efb157",
        "beatType": null,
        "evidence": "Conclusion synthesizes implications around phygital and customer priorities",
        "position": 2,
        "isPrimaryArc": false,
        "parentBeatType": null,
        "alignedBlockIds": null,
        "matchConfidence": 55
      },
      {
        "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": 21,
        "name": "The Action (Now What)",
        "beatId": "019de9cb-1222-70e9-869f-83952d6a57a4",
        "matchId": "019de9cb-11a9-76b9-bb36-24bf00efb157",
        "beatType": null,
        "evidence": "Get-in-touch CTA invites readers to engage PwC",
        "position": 3,
        "isPrimaryArc": false,
        "parentBeatType": null,
        "alignedBlockIds": null,
        "matchConfidence": 55
      }
    ],
    "loops": [
      {
        "to": 7,
        "from": 4,
        "loop": {
          "name": "03_aha_moment",
          "slug": "03-aha-moment",
          "status": "active",
          "bestFor": "Data-heavy sections, research findings, analytical arguments",
          "canonId": "019dd956-66f4-7668-ab25-cec9c996c0bc",
          "version": 1,
          "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
          "structure": "The Problem/Question -> What the Data Shows -> The Insight",
          "description": "Establish a tension, present data, then deliver the insight that changes everything",
          "familyLabel": null,
          "categoryName": "Narrative",
          "categorySlug": "narrative"
        },
        "matchId": "019de9cb-1249-733f-8b5b-174a2daf3993",
        "evidence": "Problem statement (p.5) -> frequency chart (p.6) -> action chart with so-what callout (p.7)",
        "position": 1,
        "objective": "Frame inflation/supply-chain pain and the retailer opportunity",
        "confidence": 75,
        "extraction": {
          "at": "2026-05-02 17:44:52.402928+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        }
      },
      {
        "to": 11,
        "from": 8,
        "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": "019de9cb-1270-70c0-8b26-d209208ead6f",
        "evidence": "Broad spend changes (p.9) -> why less luxury (p.10) -> why buy luxury (p.11)",
        "position": 2,
        "objective": "Zoom from overall spend shifts into luxury motivations",
        "confidence": 70,
        "extraction": {
          "at": "2026-05-02 17:44:52.402928+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        }
      },
      {
        "to": 17,
        "from": 12,
        "loop": {
          "name": "02_pattern_hunter",
          "slug": "02-pattern-hunter",
          "status": "active",
          "bestFor": "Time-pressed audiences, building consensus, when data is strong",
          "canonId": "019dd956-6695-771a-be2e-f1748ef041a4",
          "version": 1,
          "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
          "structure": "Evidence A -> Evidence B -> Evidence C -> Pattern/Conclusion",
          "description": "Group multiple pieces of evidence that together point to a pattern or conclusion",
          "familyLabel": null,
          "categoryName": "Logical Reasoning",
          "categorySlug": "logical-reasoning"
        },
        "matchId": "019de9cb-1296-76cd-b512-a597069f9bdc",
        "evidence": "In-store appeal, click-and-collect, privacy, sector privacy, metaverse data accumulate the pattern",
        "position": 3,
        "objective": "Stack evidence pointing toward phygital, smarter retail",
        "confidence": 70,
        "extraction": {
          "at": "2026-05-02 17:44:52.402928+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        }
      }
    ],
    "tools": [
      {
        "tool": {
          "name": "Governing Thought",
          "slug": "governing-thought",
          "status": "active",
          "bestFor": "When the deck makes a recommendation, decision, or argues a position; when defining the top of a pyramid before structuring supports; when an SCQA opening needs an Answer; when stripping topic-style titles in favour of action titles.",
          "canonId": "019dd956-8286-760e-8638-77558a0d71ba",
          "version": 1,
          "bodyDocId": "06f7d5a5-daab-44c1-9d67-63c52ba03962",
          "description": "The single declarative sentence at the apex of a Minto pyramid that summarises and is supported by everything beneath it — the answer the deck exists to defend.",
          "familyLabel": null,
          "categoryName": "Block",
          "categorySlug": "block"
        },
        "agent": "Architect",
        "layer": "block",
        "agents": [
          "Architect"
        ],
        "matchId": "019de9cb-1310-75ce-a95a-977741f7ee79",
        "evidence": "Executive summary establishes the central thesis for the report",
        "pageRefs": null,
        "priority": null,
        "whenToUse": "When the deck makes a recommendation, decision, or argues a position; when defining the top of a pyramid before structuring supports; when an SCQA opening needs an Answer; when stripping topic-style titles in favour of action titles.",
        "confidence": 75,
        "extraction": {
          "at": "2026-05-02 17:44:52.402928+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 2,
        "whyItWorks": "Forces the writer to commit to a position before structuring the case — exposes muddled thinking that hides safely inside topic-style headings. Gives busy readers the answer in the first cognitive beat and enables progressive disclosure of the supporting case.",
        "antipattern": "Topic-style headings ('Strategic options for growth', 'Considerations for Europe') instead of declarative claims with verbs. Multi-sentence apex statements. Qualifier-laden hedges. Noun-phrase labels ('Recommendation: acquisition of Target B') pretending to be sentences. Fake governing thoughts — confident apex the supports don't actually force.",
        "cardinality": null,
        "narrativePurpose": "Anchor the document in one defensible claim with a working verb, so the audience knows the answer before they read the proof and the entire structure ladders up to it."
      },
      {
        "tool": {
          "name": "Pyramid Principle",
          "slug": "pyramid-principle",
          "status": "active",
          "bestFor": "When the document has a single governing decision or recommendation the reader is asked to accept, and the case can be decomposed into a small number of clean groups. Strategy decks, board memos, investment committee papers.",
          "canonId": "019dd956-7cbd-7219-a477-c871e2bc1aff",
          "version": 1,
          "bodyDocId": "88b6ac56-b880-46f9-8621-ef3491ab6235",
          "description": "Lead with the answer; group three to five MECE supports beneath it; recurse one level down. Top-down hierarchical structure for any document with a single recommendation.",
          "familyLabel": null,
          "categoryName": "Block",
          "categorySlug": "block"
        },
        "agent": "Architect",
        "layer": "block",
        "agents": [
          "Architect"
        ],
        "matchId": "019de9cb-1339-742a-8792-35d9e4ac1448",
        "evidence": "Top-down summary precedes detailed evidence sections",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": "When the document has a single governing decision or recommendation the reader is asked to accept, and the case can be decomposed into a small number of clean groups. Strategy decks, board memos, investment committee papers.",
        "confidence": 70,
        "extraction": {
          "at": "2026-05-02 17:44:52.402928+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 2,
        "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": "Pyramid Principle",
          "slug": "pyramid-principle",
          "status": "active",
          "bestFor": "When the document has a single governing decision or recommendation the reader is asked to accept, and the case can be decomposed into a small number of clean groups. Strategy decks, board memos, investment committee papers.",
          "canonId": "019dd956-7cbd-7219-a477-c871e2bc1aff",
          "version": 1,
          "bodyDocId": "88b6ac56-b880-46f9-8621-ef3491ab6235",
          "description": "Lead with the answer; group three to five MECE supports beneath it; recurse one level down. Top-down hierarchical structure for any document with a single recommendation.",
          "familyLabel": null,
          "categoryName": "Block",
          "categorySlug": "block"
        },
        "agent": "Architect",
        "layer": "block",
        "agents": [
          "Architect"
        ],
        "matchId": "019de9cb-18aa-7559-ba22-88dd947c210e",
        "evidence": "Conclusion leads with phygital thesis, then supporting points",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": "When the document has a single governing decision or recommendation the reader is asked to accept, and the case can be decomposed into a small number of clean groups. Strategy decks, board memos, investment committee papers.",
        "confidence": 70,
        "extraction": {
          "at": "2026-05-02 17:44:52.402928+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 19,
        "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": "Chunking",
          "slug": "chunking",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-abab-72ce-b64c-2924cc83cf39",
          "version": 1,
          "bodyDocId": null,
          "description": "Information grouped into chunks is remembered better - structure content in digestible units",
          "familyLabel": null,
          "categoryName": "Loop",
          "categorySlug": "loop"
        },
        "agent": "Architect",
        "layer": "loop",
        "agents": [
          "Architect"
        ],
        "matchId": "019de9cb-13ae-7528-a7b0-1efa6090ff37",
        "evidence": "Four findings chunked into discrete numbered items",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 65,
        "extraction": {
          "at": "2026-05-02 17:44:52.402928+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 3,
        "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": "019de9cb-13ff-71fc-a46e-94c6679a9255",
        "evidence": "Loop opens context -> conflict -> insight -> implication on supply chain",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": null,
        "confidence": 70,
        "extraction": {
          "at": "2026-05-02 17:44:52.402928+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 4,
        "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": "019de9cb-15b6-77ed-8a6b-1d6042f34030",
        "evidence": "Spend more on essentials vs spend less on discretionary as paired contrast",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": null,
        "confidence": 70,
        "extraction": {
          "at": "2026-05-02 17:44:52.402928+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 9,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Inductive Reasoning",
          "slug": "inductive-reasoning",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-99c6-705e-94cc-76a504c3da37",
          "version": 1,
          "bodyDocId": null,
          "description": "Grouping similar evidence to form a conclusion (Evidence → Pattern → Conclusion)",
          "familyLabel": null,
          "categoryName": "Loop",
          "categorySlug": "loop"
        },
        "agent": "Architect",
        "layer": "loop",
        "agents": [
          "Architect"
        ],
        "matchId": "019de9cb-16ce-718a-bb55-c3d8bb71bcae",
        "evidence": "Loop accumulates evidence points to conclude phygital pattern",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": null,
        "confidence": 70,
        "extraction": {
          "at": "2026-05-02 17:44:52.402928+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 12,
        "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": "019de9cb-12c0-76cb-bb38-49bf00ae4fee",
        "evidence": "Cover headline states the insight, not the topic",
        "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 17:44:52.402928+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 1,
        "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": "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": "019de9cb-12e7-7392-8580-2b4b8c884095",
        "evidence": "Provocative phrase 'new hybrid Middle East consumer' as hook",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 75,
        "extraction": {
          "at": "2026-05-02 17:44:52.402928+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": "e94a294b-dc1d-4d91-9b7a-9abb740cf74c",
        "evidence": "The slide is titled 'Inflation and rising prices shape a new hybrid Middle East consumer' and contains a callout.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.9,
        "extraction": {
          "at": "2026-07-17 03:16:36.255589+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": "Executive summary",
          "slug": "executive-summary",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd9e1-4b63-72d5-9734-da757d91ca61",
          "version": 1,
          "bodyDocId": null,
          "description": "A condensed view of the entire argument on a single slide / block.",
          "familyLabel": null,
          "categoryName": null,
          "categorySlug": null
        },
        "agent": null,
        "layer": "slide",
        "agents": null,
        "matchId": "4d9be5d8-ea53-438f-9297-2546a13b0116",
        "evidence": "The slide is titled 'Executive summary' and contains a summary of key findings.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.9,
        "extraction": {
          "at": "2026-07-17 03:16:36.335016+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 2,
        "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": "019de9cb-1360-7576-a4d4-22aad995b052",
        "evidence": "Each numbered finding is an insight statement, not a topic",
        "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 17:44:52.402928+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": "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": "019de9cb-1388-76f7-9374-c737a40636b2",
        "evidence": "Numbered hexagons + bold metrics create clear reading order",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 75,
        "extraction": {
          "at": "2026-05-02 17:44:52.402928+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": "019de9cb-13d6-7776-939d-9dfb97434013",
        "evidence": "Divider title states the insight 'higher prices...hinder sales'",
        "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 17:44:52.402928+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": "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": "019de9cb-1426-74fd-b3b8-5f795e2909e3",
        "evidence": "Title repeats the insight that prices/supply chain hinder sales",
        "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 17:44:52.402928+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": "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": "019de9cb-1476-725a-9edc-7e5df688497b",
        "evidence": "Specific terms like 'rising price of household goods'",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 60,
        "extraction": {
          "at": "2026-05-02 17:44:52.402928+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": "019de9cb-144f-7089-8240-65afc8690470",
        "evidence": "Callout names the biggest issue facing ME consumers",
        "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 17:44:52.402928+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": "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": "019de9cb-149d-75c4-a2d9-36d36f0ad2de",
        "evidence": "Horizontal bar charts appropriate for ranked frequency data",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 80,
        "extraction": {
          "at": "2026-05-02 17:44:52.402928+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 6,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Small Multiples",
          "slug": "small-multiples",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-b32d-7586-b368-baa1dd388ed4",
          "version": 1,
          "bodyDocId": null,
          "description": "Repeating similar charts for comparison across categories or time",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Designer",
        "layer": "slide",
        "agents": [
          "Designer"
        ],
        "matchId": "019de9cb-14c9-74e7-8fa5-59a1159d9c58",
        "evidence": "Side-by-side in-store vs online charts repeated structure",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 80,
        "extraction": {
          "at": "2026-05-02 17:44:52.402928+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": "019de9cb-1518-749f-8bda-1ba084a3ac1e",
        "evidence": "Callout converts data to retailer market-share opportunity",
        "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 17:44:52.402928+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": "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": "d3751153-03e9-4008-a1d5-470bae553a68",
        "evidence": "Base: Those who have rated frequently or almost always for at least one option online or in a physical store, Middle East (771)",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": null,
        "confidence": 0.7,
        "extraction": {
          "at": "2026-07-16 21:20:39.73942+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": "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": "019de9cb-14f1-760a-bca2-4684375ea1a5",
        "evidence": "Vertical bar chart for ranked consumer actions",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 75,
        "extraction": {
          "at": "2026-05-02 17:44:52.402928+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 7,
        "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": "12714f78-a6e3-4172-bcf4-d0bd5121a1b0",
        "evidence": "Faced with these supply chain and logistics issues, consumers employ a range of actions to address and overcome them (Figure 2).",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": null,
        "confidence": 0.5,
        "extraction": {
          "at": "2026-07-16 21:20:39.78406+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": "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": "019de9cb-1540-701c-87be-99d0f1ddebcf",
        "evidence": "Callout: 'opportunity for retailers...to take market share'",
        "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 17:44:52.402928+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 7,
        "whyItWorks": "Solves the two failure modes of analytical communication at once: stopping at description (analyst-confidence problem) and leaving insight stranded in the analyst's head (translation problem). The recursion is what guarantees the implication makes it into ink.",
        "antipattern": "Stopping at the first tighter description (still a fact, not an implication), regressing past the audience's decision space into philosophy, smuggling the so-what into speaker notes, or re-using an implication aimed at a previous audience.",
        "cardinality": null,
        "narrativePurpose": "Forces every analytical artefact to close the gap between fact and decision, so the reader holds the recommendation by reading titles alone rather than reconstructing the analyst's mental model from raw evidence."
      },
      {
        "tool": {
          "name": "Action Titles",
          "slug": "action-titles",
          "status": "active",
          "bestFor": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
          "canonId": "019dd956-ac70-700b-a608-ba58e78f5dcc",
          "version": 1,
          "bodyDocId": "816dad3c-9983-41c1-a86e-978ebd582841",
          "description": "The McKinsey-bred discipline of writing every slide title as a complete declarative sentence with a verb and an insight, not a topic label. Each title is a sub-claim that ladders up to the deck's governing thought; read in sequence, the titles reconstruct the executive summary.",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Architect",
        "layer": "slide",
        "agents": [
          "Architect"
        ],
        "matchId": "8f3c61f6-1abd-4251-9432-dbc89ba99a45",
        "evidence": "title/action-title: Consumer habits are changing in response to higher prices",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
        "confidence": 0.9,
        "extraction": {
          "at": "2026-07-16 21:20:39.861335+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 8,
        "whyItWorks": "Solves two failure modes at once. (1) The buried claim: action titles place the conclusion on the page before any analysis is read, so a busy reader doesn't reverse-engineer it from the chart. (2) The spineless deck: because each title is a claim, slides have to ladder up to the governing thought; logical gaps become visible as topic-shaped titles in a sequence that no longer reads as a story.",
        "antipattern": "Topic labels disguised as titles — Volume by quarter, Key findings, Pricing strategy, Margins have been impacted. No verb, or a passive verb with no agent, or a fact (Revenue grew 12%) without the so-what. Also: titles that overreach the chart's evidence, multi-claim X-grew-but-Y-fell welded titles, and mechanical repetition of the same X-drove-Y template across the deck.",
        "cardinality": null,
        "narrativePurpose": "Forces the deck to carry its argument in the title bar so a senior reader can extract the recommendation without opening a single slide; converts a binder of topics into a navigable pyramid where every slide is a node defending the apex."
      },
      {
        "tool": {
          "name": "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": "019de9cb-1568-7675-8270-7d47876b6c7a",
        "evidence": "Divider title: 'habits are changing in response to higher prices'",
        "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 17:44:52.402928+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 8,
        "whyItWorks": "Solves two failure modes at once. (1) The buried claim: action titles place the conclusion on the page before any analysis is read, so a busy reader doesn't reverse-engineer it from the chart. (2) The spineless deck: because each title is a claim, slides have to ladder up to the governing thought; logical gaps become visible as topic-shaped titles in a sequence that no longer reads as a story.",
        "antipattern": "Topic labels disguised as titles — Volume by quarter, Key findings, Pricing strategy, Margins have been impacted. No verb, or a passive verb with no agent, or a fact (Revenue grew 12%) without the so-what. Also: titles that overreach the chart's evidence, multi-claim X-grew-but-Y-fell welded titles, and mechanical repetition of the same X-drove-Y template across the deck.",
        "cardinality": null,
        "narrativePurpose": "Forces the deck to carry its argument in the title bar so a senior reader can extract the recommendation without opening a single slide; converts a binder of topics into a navigable pyramid where every slide is a node defending the apex."
      },
      {
        "tool": {
          "name": "Action Titles",
          "slug": "action-titles",
          "status": "active",
          "bestFor": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
          "canonId": "019dd956-ac70-700b-a608-ba58e78f5dcc",
          "version": 1,
          "bodyDocId": "816dad3c-9983-41c1-a86e-978ebd582841",
          "description": "The McKinsey-bred discipline of writing every slide title as a complete declarative sentence with a verb and an insight, not a topic label. Each title is a sub-claim that ladders up to the deck's governing thought; read in sequence, the titles reconstruct the executive summary.",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Architect",
        "layer": "slide",
        "agents": [
          "Architect"
        ],
        "matchId": "019de9cb-15de-72ab-b141-8f176f768ede",
        "evidence": "Headline asserts the shift toward essentials",
        "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 17:44:52.402928+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 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": "ac14b305-7379-48d3-a444-34cfef09743d",
        "evidence": "Base: Middle East respondents (771)",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.7,
        "extraction": {
          "at": "2026-07-16 21:20:39.935997+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": "a28becd8-595e-44a3-84aa-583fcc705426",
        "evidence": "chart/bar-vertical: Decrease in spend, chart/bar-vertical: Increase in spend",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.5,
        "extraction": {
          "at": "2026-07-16 21:20:39.976336+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": "019de9cb-158f-734a-aff3-e6ca70e6eb32",
        "evidence": "Vertical bar charts to compare spend-up vs spend-down categories",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 75,
        "extraction": {
          "at": "2026-05-02 17:44:52.402928+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 9,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Chartjunk Elimination",
          "slug": "chartjunk-elimination",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-b49e-7453-ab01-b60f338eeda1",
          "version": 1,
          "bodyDocId": null,
          "description": "Remove decorative elements that don't convey data: 3D effects, shadows, unnecessary gridlines",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Designer",
        "layer": "slide",
        "agents": [
          "Designer"
        ],
        "matchId": "5dfae130-a054-4d4b-be34-2bca9bfd39eb",
        "evidence": "chart/donut: 47% - I am no longer able/want to spend same amount on luxury items due to my personal finances",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.7,
        "extraction": {
          "at": "2026-07-16 21:20:40.060958+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 10,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Chart Selection Guide",
          "slug": "chart-selection-guide",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-b1a0-700b-ba17-0e16c4d5bcae",
          "version": 1,
          "bodyDocId": null,
          "description": "Choosing the right chart type for your data and message",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Designer",
        "layer": "slide",
        "agents": [
          "Designer"
        ],
        "matchId": "019de9cb-1630-714e-a16d-a378ba13eec1",
        "evidence": "Donut charts express single-percentage answers",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 70,
        "extraction": {
          "at": "2026-05-02 17:44:52.402928+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 10,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Small Multiples",
          "slug": "small-multiples",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-b32d-7586-b368-baa1dd388ed4",
          "version": 1,
          "bodyDocId": null,
          "description": "Repeating similar charts for comparison across categories or time",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Designer",
        "layer": "slide",
        "agents": [
          "Designer"
        ],
        "matchId": "019de9cb-1605-76df-9bb3-186752f5f684",
        "evidence": "Six donut charts repeated for reasons consumers cut luxury",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 85,
        "extraction": {
          "at": "2026-05-02 17:44:52.402928+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 10,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Audience Segmentation",
          "slug": "audience-segmentation",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-8079-7046-8e6b-ecdf1bf15590",
          "version": 1,
          "bodyDocId": null,
          "description": "Grouping audience by attitude toward your message: Champions, Neutrals, Skeptics",
          "familyLabel": null,
          "categoryName": "Block",
          "categorySlug": "block"
        },
        "agent": "Storyteller",
        "layer": "slide",
        "agents": [
          "Storyteller"
        ],
        "matchId": "e82f1613-75d1-4933-9a58-9543ef61dc7c",
        "evidence": "Base: Those who are going to spend money on luxury or designer products, Middle East (696)",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.7,
        "extraction": {
          "at": "2026-07-16 21:20:40.132402+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 11,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "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": "019de9cb-167e-7379-823e-62f0e0108a8f",
        "evidence": "Donut grid for percentage motivations",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 65,
        "extraction": {
          "at": "2026-05-02 17:44:52.402928+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 11,
        "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": "019de9cb-1658-71bd-83ee-b032782421de",
        "evidence": "Seven donut charts for parallel motivation drivers",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 85,
        "extraction": {
          "at": "2026-05-02 17:44:52.402928+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 11,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Action Titles",
          "slug": "action-titles",
          "status": "active",
          "bestFor": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
          "canonId": "019dd956-ac70-700b-a608-ba58e78f5dcc",
          "version": 1,
          "bodyDocId": "816dad3c-9983-41c1-a86e-978ebd582841",
          "description": "The McKinsey-bred discipline of writing every slide title as a complete declarative sentence with a verb and an insight, not a topic label. Each title is a sub-claim that ladders up to the deck's governing thought; read in sequence, the titles reconstruct the executive summary.",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Architect",
        "layer": "slide",
        "agents": [
          "Architect"
        ],
        "matchId": "019de9cb-16a6-768d-95c6-1615ca45a99d",
        "evidence": "Divider title: 'Multiple sales routes in a smarter retail world'",
        "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 17:44:52.402928+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": "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": "019de9cb-171e-7759-aa4d-ae923e025b56",
        "evidence": "Title asserts physical retail still critical alongside 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": 70,
        "extraction": {
          "at": "2026-05-02 17:44:52.402928+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": "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": "bff0316a-5685-4c68-83f3-4a07c429bda2",
        "evidence": "chart/bar-horizontal: Horizontal bar chart showing consumer preference percentages for 8 in-store attributes ranging from 49% to 25%.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.5,
        "extraction": {
          "at": "2026-07-16 21:20:40.253094+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 13,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "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": "019de9cb-16f6-73d5-bcc4-6ceb2fdbf612",
        "evidence": "Horizontal bar chart ranks in-store appeal attributes",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 75,
        "extraction": {
          "at": "2026-05-02 17:44:52.402928+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": "019de9cb-176b-7028-a13f-07ac13afb13a",
        "evidence": "Callout states staff training implication",
        "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 17:44:52.402928+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": "AIDA Model",
          "slug": "aida-model",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-86fc-773c-813f-d416714b8413",
          "version": 1,
          "bodyDocId": null,
          "description": "Attention, Interest, Desire, Action - classic persuasion sequence",
          "familyLabel": null,
          "categoryName": "Block",
          "categorySlug": "block"
        },
        "agent": "Storyteller",
        "layer": "slide",
        "agents": [
          "Storyteller"
        ],
        "matchId": "854e7520-87df-4097-b3e1-ebc83e0cd5c2",
        "evidence": "Our survey found a range of reasons why the region's shoppers value in-store experiences: 55% shop in physical stores or use click-and-collect services mainly to check if the product is the correct one.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.5,
        "extraction": {
          "at": "2026-07-16 21:20:40.337295+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": "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": "019de9cb-1744-7649-bd19-b6824bd89612",
        "evidence": "Horizontal bar chart for click-and-collect motivations",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 75,
        "extraction": {
          "at": "2026-05-02 17:44:52.402928+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": "019de9cb-1793-720f-9b30-d3b119e92a12",
        "evidence": "Title states consumers are changing where and when they shop",
        "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 17:44:52.402928+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": "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": "019de9cb-17bb-70f8-91cc-10f0a9f87bef",
        "evidence": "Callout makes privacy concern by country concrete",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": "On every slide carrying a chart, number, list, or finding intended to inform a decision; whenever a draft title is descriptive rather than directive; whenever the deck will circulate without its author.",
        "confidence": 70,
        "extraction": {
          "at": "2026-05-02 17:44:52.402928+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 15,
        "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": "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": "019de9cb-180a-74bd-9283-8c144bcdb44b",
        "evidence": "Yellow tag highlights percentage against pink hex labels",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 75,
        "extraction": {
          "at": "2026-05-02 17:44:52.402928+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 16,
        "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": "019de9cb-1831-7108-8dd4-cd111092f3a8",
        "evidence": "Color and number size process instantly",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 65,
        "extraction": {
          "at": "2026-05-02 17:44:52.402928+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 16,
        "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": "019de9cb-17e1-706e-ac2d-5b1b6733d2d7",
        "evidence": "Hexagons sequenced by percentage with social media leading",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 80,
        "extraction": {
          "at": "2026-05-02 17:44:52.402928+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": "019de9cb-1880-76eb-b003-a89d3fd6cad0",
        "evidence": "Donut format for percentage participation",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 65,
        "extraction": {
          "at": "2026-05-02 17:44:52.402928+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 17,
        "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": "019de9cb-1858-7629-8784-08beae94fefa",
        "evidence": "Donut chart series for metaverse activity types",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 80,
        "extraction": {
          "at": "2026-05-02 17:44:52.402928+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 17,
        "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": "6ac21f81-c9c2-48b4-8b24-271aba03f7fd",
        "evidence": "title/headline: Conclusion",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.9,
        "extraction": {
          "at": "2026-07-16 21:20:40.559557+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 18,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": "common",
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "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": "019de9cb-18fa-71df-b269-0062fda2d07e",
        "evidence": "Vision close on phygital plus retailer to-do list",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 70,
        "extraction": {
          "at": "2026-05-02 17:44:52.402928+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 19,
        "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": "019de9cb-18d2-731a-8b9f-d9729dd86bcc",
        "evidence": "Callout: 'retailers need to keep a laser focus on customer priorities'",
        "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 17:44:52.402928+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 19,
        "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": "Story Moments",
          "slug": "story-moments",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-ae4e-768d-a18b-108e6cda511e",
          "version": 1,
          "bodyDocId": null,
          "description": "Design key emotional beats: The Shock, The Vision, The Proof, The Choice, The Call",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Storyteller",
        "layer": "slide",
        "agents": [
          "Storyteller"
        ],
        "matchId": "1630184f-3977-4ccd-ab5b-036dcea130b8",
        "evidence": "The slide contains paragraphs describing a narrative about the future of retail, which can be considered a story moment.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.5,
        "extraction": {
          "at": "2026-07-17 03:52:58.943649+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 19,
        "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": "019de9cb-1923-75fc-98f7-fb611843d9a2",
        "evidence": "Clear CTA: 'visit us at www.pwc.com/me or get in touch'",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 80,
        "extraction": {
          "at": "2026-05-02 17:44:52.402928+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 21,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      }
    ],
    "frameworks": [
      {
        "matchId": "8ea799da-5db7-423b-b86b-e3be8d9ac6b8",
        "evidence": "Chronological representation of survey events",
        "framework": null,
        "confidence": 1,
        "extraction": {
          "at": "2026-05-02 19:10:12.279+00",
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 20,
        "frameworkName": "timeline"
      }
    ],
    "patterns": []
  },
  "storymakers": {
    "model": "claude-cli",
    "backend": "claude",
    "rawJson": {
      "arc": {
        "id": 1,
        "slug": "consultants-gambit",
        "beats": [
          {
            "name": "Situation & Context",
            "end_page": 3,
            "evidence": "Cover, executive summary, four key findings frame the ME consumer landscape",
            "position": 1,
            "start_page": 1
          },
          {
            "name": "Problem & Complication",
            "end_page": 7,
            "evidence": "Section explicitly titled 'Higher prices and supply chain delays hinder sales'",
            "position": 2,
            "start_page": 4
          },
          {
            "name": "Solution & Approach",
            "end_page": 11,
            "evidence": "Consumer behaviour shifts toward essentials as the adaptive response",
            "position": 3,
            "start_page": 8
          },
          {
            "name": "Evidence & Proof",
            "end_page": 17,
            "evidence": "Multiple data points on phygital retail, channels, privacy, metaverse",
            "position": 4,
            "start_page": 12
          },
          {
            "name": "Impact & Next Steps",
            "end_page": 22,
            "evidence": "Conclusion synthesizes phygital implications; methodology + Get-in-touch close",
            "position": 5,
            "start_page": 18
          }
        ],
        "evidence": "Classic consulting structure: ME setup (p.1-3), problem (p.4-7), adaptation (p.8-17), conclusion + contact (p.18-22)",
        "confidence": 65
      },
      "loops": [
        {
          "id": 3,
          "slug": "03-aha-moment",
          "end_page": 7,
          "evidence": "Problem statement (p.5) -> frequency chart (p.6) -> action chart with so-what callout (p.7)",
          "position": 1,
          "objective": "Frame inflation/supply-chain pain and the retailer opportunity",
          "confidence": 75,
          "start_page": 4
        },
        {
          "id": 6,
          "slug": "06-zoom-in",
          "end_page": 11,
          "evidence": "Broad spend changes (p.9) -> why less luxury (p.10) -> why buy luxury (p.11)",
          "position": 2,
          "objective": "Zoom from overall spend shifts into luxury motivations",
          "confidence": 70,
          "start_page": 8
        },
        {
          "id": 2,
          "slug": "02-pattern-hunter",
          "end_page": 17,
          "evidence": "In-store appeal, click-and-collect, privacy, sector privacy, metaverse data accumulate the pattern",
          "position": 3,
          "objective": "Stack evidence pointing toward phygital, smarter retail",
          "confidence": 70,
          "start_page": 12
        }
      ],
      "slide_tools": [
        {
          "tools": [
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "Cover headline states the insight, not the topic",
              "confidence": 85
            },
            {
              "id": 123,
              "slug": "opening-hooks",
              "layer": "Slide",
              "evidence": "Provocative phrase 'new hybrid Middle East consumer' as hook",
              "confidence": 75
            }
          ],
          "page_number": 1
        },
        {
          "tools": [
            {
              "id": 17,
              "slug": "governing-thought",
              "layer": "Block",
              "evidence": "Executive summary establishes the central thesis for the report",
              "confidence": 75
            },
            {
              "id": 3,
              "slug": "pyramid-principle",
              "layer": "Block",
              "evidence": "Top-down summary precedes detailed evidence sections",
              "confidence": 70
            }
          ],
          "page_number": 2
        },
        {
          "tools": [
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "Each numbered finding is an insight statement, not a topic",
              "confidence": 80
            },
            {
              "id": 132,
              "slug": "visual-hierarchy",
              "layer": "Slide",
              "evidence": "Numbered hexagons + bold metrics create clear reading order",
              "confidence": 75
            },
            {
              "id": 116,
              "slug": "chunking",
              "layer": "Loop",
              "evidence": "Four findings chunked into discrete numbered items",
              "confidence": 65
            }
          ],
          "page_number": 3
        },
        {
          "tools": [
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "Divider title states the insight 'higher prices...hinder sales'",
              "confidence": 80
            },
            {
              "id": 80,
              "slug": "data-story-arc",
              "layer": "Loop",
              "evidence": "Loop opens context -> conflict -> insight -> implication on supply chain",
              "confidence": 70
            }
          ],
          "page_number": 4
        },
        {
          "tools": [
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "Title repeats the insight that prices/supply chain hinder sales",
              "confidence": 80
            },
            {
              "id": 119,
              "slug": "so-what-test",
              "layer": "Slide",
              "evidence": "Callout names the biggest issue facing ME consumers",
              "confidence": 75
            },
            {
              "id": 154,
              "slug": "concrete-language",
              "layer": "Slide",
              "evidence": "Specific terms like 'rising price of household goods'",
              "confidence": 60
            }
          ],
          "page_number": 5
        },
        {
          "tools": [
            {
              "id": 129,
              "slug": "chart-selection-guide",
              "layer": "Slide",
              "evidence": "Horizontal bar charts appropriate for ranked frequency data",
              "confidence": 80
            },
            {
              "id": 133,
              "slug": "small-multiples",
              "layer": "Slide",
              "evidence": "Side-by-side in-store vs online charts repeated structure",
              "confidence": 80
            }
          ],
          "page_number": 6
        },
        {
          "tools": [
            {
              "id": 129,
              "slug": "chart-selection-guide",
              "layer": "Slide",
              "evidence": "Vertical bar chart for ranked consumer actions",
              "confidence": 75
            },
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "Callout converts data to retailer market-share opportunity",
              "confidence": 70
            },
            {
              "id": 119,
              "slug": "so-what-test",
              "layer": "Slide",
              "evidence": "Callout: 'opportunity for retailers...to take market share'",
              "confidence": 80
            }
          ],
          "page_number": 7
        },
        {
          "tools": [
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "Divider title: 'habits are changing in response to higher prices'",
              "confidence": 80
            }
          ],
          "page_number": 8
        },
        {
          "tools": [
            {
              "id": 129,
              "slug": "chart-selection-guide",
              "layer": "Slide",
              "evidence": "Vertical bar charts to compare spend-up vs spend-down categories",
              "confidence": 75
            },
            {
              "id": 78,
              "slug": "contrast-pairs",
              "layer": "Loop",
              "evidence": "Spend more on essentials vs spend less on discretionary as paired contrast",
              "confidence": 70
            },
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "Headline asserts the shift toward essentials",
              "confidence": 70
            }
          ],
          "page_number": 9
        },
        {
          "tools": [
            {
              "id": 133,
              "slug": "small-multiples",
              "layer": "Slide",
              "evidence": "Six donut charts repeated for reasons consumers cut luxury",
              "confidence": 85
            },
            {
              "id": 129,
              "slug": "chart-selection-guide",
              "layer": "Slide",
              "evidence": "Donut charts express single-percentage answers",
              "confidence": 70
            }
          ],
          "page_number": 10
        },
        {
          "tools": [
            {
              "id": 133,
              "slug": "small-multiples",
              "layer": "Slide",
              "evidence": "Seven donut charts for parallel motivation drivers",
              "confidence": 85
            },
            {
              "id": 129,
              "slug": "chart-selection-guide",
              "layer": "Slide",
              "evidence": "Donut grid for percentage motivations",
              "confidence": 65
            }
          ],
          "page_number": 11
        },
        {
          "tools": [
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "Divider title: 'Multiple sales routes in a smarter retail world'",
              "confidence": 75
            },
            {
              "id": 74,
              "slug": "inductive-reasoning",
              "layer": "Loop",
              "evidence": "Loop accumulates evidence points to conclude phygital pattern",
              "confidence": 70
            }
          ],
          "page_number": 12
        },
        {
          "tools": [
            {
              "id": 129,
              "slug": "chart-selection-guide",
              "layer": "Slide",
              "evidence": "Horizontal bar chart ranks in-store appeal attributes",
              "confidence": 75
            },
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "Title asserts physical retail still critical alongside online",
              "confidence": 70
            }
          ],
          "page_number": 13
        },
        {
          "tools": [
            {
              "id": 129,
              "slug": "chart-selection-guide",
              "layer": "Slide",
              "evidence": "Horizontal bar chart for click-and-collect motivations",
              "confidence": 75
            },
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "Callout states staff training implication",
              "confidence": 70
            }
          ],
          "page_number": 14
        },
        {
          "tools": [
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "Title states consumers are changing where and when they shop",
              "confidence": 75
            },
            {
              "id": 119,
              "slug": "so-what-test",
              "layer": "Slide",
              "evidence": "Callout makes privacy concern by country concrete",
              "confidence": 70
            }
          ],
          "page_number": 15
        },
        {
          "tools": [
            {
              "id": 132,
              "slug": "visual-hierarchy",
              "layer": "Slide",
              "evidence": "Hexagons sequenced by percentage with social media leading",
              "confidence": 80
            },
            {
              "id": 130,
              "slug": "color-strategy",
              "layer": "Slide",
              "evidence": "Yellow tag highlights percentage against pink hex labels",
              "confidence": 75
            },
            {
              "id": 139,
              "slug": "pre-attentive-attributes",
              "layer": "Slide",
              "evidence": "Color and number size process instantly",
              "confidence": 65
            }
          ],
          "page_number": 16
        },
        {
          "tools": [
            {
              "id": 133,
              "slug": "small-multiples",
              "layer": "Slide",
              "evidence": "Donut chart series for metaverse activity types",
              "confidence": 80
            },
            {
              "id": 129,
              "slug": "chart-selection-guide",
              "layer": "Slide",
              "evidence": "Donut format for percentage participation",
              "confidence": 65
            }
          ],
          "page_number": 17
        },
        {
          "tools": [
            {
              "id": 3,
              "slug": "pyramid-principle",
              "layer": "Block",
              "evidence": "Conclusion leads with phygital thesis, then supporting points",
              "confidence": 70
            },
            {
              "id": 119,
              "slug": "so-what-test",
              "layer": "Slide",
              "evidence": "Callout: 'retailers need to keep a laser focus on customer priorities'",
              "confidence": 75
            },
            {
              "id": 124,
              "slug": "closing-techniques",
              "layer": "Slide",
              "evidence": "Vision close on phygital plus retailer to-do list",
              "confidence": 70
            }
          ],
          "page_number": 19
        },
        {
          "tools": [
            {
              "id": 124,
              "slug": "closing-techniques",
              "layer": "Slide",
              "evidence": "Clear CTA: 'visit us at www.pwc.com/me or get in touch'",
              "confidence": 80
            }
          ],
          "page_number": 21
        }
      ],
      "slides_seen": 22,
      "deck_summary": "PwC research report with solid consulting bones (clear sections, action titles, callouts) but light on prescriptive recommendation - closer to a Triple-Take research narrative than a tight Consultant's Gambit.",
      "secondary_arcs": [
        {
          "id": 11,
          "slug": "triple-take",
          "beats": [
            {
              "name": "The Facts (What)",
              "end_page": 17,
              "evidence": "Survey data on prices, behaviour, channels, privacy, metaverse",
              "position": 1,
              "start_page": 1
            },
            {
              "name": "The Implications (So What)",
              "end_page": 19,
              "evidence": "Conclusion synthesizes implications around phygital and customer priorities",
              "position": 2,
              "start_page": 18
            },
            {
              "name": "The Action (Now What)",
              "end_page": 21,
              "evidence": "Get-in-touch CTA invites readers to engage PwC",
              "position": 3,
              "start_page": 21
            }
          ],
          "evidence": "Data-heavy report: facts (p.1-17), implications in conclusion (p.18-19), call to engage (p.21)",
          "confidence": 55
        }
      ],
      "images_inspected": 3,
      "slide_frameworks": []
    },
    "matchedAt": "2026-05-02 17:44:52.61+00",
    "slidesSeen": 22,
    "deckSummary": "PwC research report with solid consulting bones (clear sections, action titles, callouts) but light on prescriptive recommendation - closer to a Triple-Take research narrative than a tight Consultant's Gambit.",
    "imagesInspected": 3,
    "extractionSeconds": 282.078
  },
  "score": {
    "backend": "codex",
    "scoredAt": "2026-05-02 17:34:34.081+00",
    "subScores": {
      "scqa_arc": 56,
      "action_titles": 48,
      "mece_structure": 64,
      "closing_strength": 60,
      "evidence_quality": 82,
      "clarity_of_thesis": 78,
      "production_quality": 70,
      "visual_storytelling": 74
    },
    "totalScore": 67,
    "coveragePct": 100,
    "explanations": {
      "scqa_arc": "The deck has a Situation and Complication around inflation and supply friction by slides 1-7, but the Question is mostly implicit and the Answer arrives as a report-style synthesis on slide 19.",
      "action_titles": "Several slides use insight-bearing titles, but many revert to topic or survey-question labels; example weak title: slide 6, \"Figure 1: In the last 3 months, please indicate how often you have experienced any of the following while purchasing a product.\"",
      "mece_structure": "The major sections are broadly coherent, but inflation, supply chain, changing habits, physical retail, privacy, and metaverse themes overlap rather than forming a clean MECE issue tree.",
      "closing_strength": "Slide 19 gives a clear but broad recommendation to focus on price, customer priorities, privacy, and supply friction, while slide 21 is mainly a contact page rather than concrete next steps.",
      "evidence_quality": "Most claims are backed by survey figures, charts, or quantified callouts across slides 6-17, with methodology support on slide 20.",
      "clarity_of_thesis": "The central argument is identifiable by slides 1-3, especially slide 1's declarative thesis that inflation is shaping a new hybrid Middle East consumer.",
      "production_quality": "PwC branding, whitespace, footnotes, and visual consistency are generally disciplined, but action-title density is uneven and several analytical slides are overcrowded.",
      "visual_storytelling": "The deck usually matches visuals to messages through charts, callouts, photos, and big metrics, though slides 10-11 and 14-17 become dense or chart-heavy."
    },
    "slidesAnalyzed": 22
  },
  "review": {
    "backend": null,
    "verdict": "A structurally sound SCQA spine wrapped around chart-label titles and a deflated ending — useful as a teaching example for section architecture and a cautionary example for action titles and closes.",
    "reviewedAt": "2026-04-25 07:07:54+00",
    "slidesSeen": 22,
    "suggestions": [
      "Rewrite every 'Figure X' title as an insight sentence (e.g., p.10 → '60% of luxury shoppers are pulling back, driven by price not taste')",
      "Replace the single 'Conclusion' slide with a 3-bullet 'So what for retailers' page that maps each pillar to a prioritized action with an owner or timeframe",
      "Collapse each section divider + restated title pair into one slide to save three pages and force the divider to carry a sharper claim"
    ],
    "closingScore": 45,
    "openingScore": 72,
    "topStrengths": [
      "Cover (p.1) states a full thesis sentence rather than a topic — strong Storymakers opener",
      "Three section dividers (pp. 4, 8, 12) form a coherent SCQA-style spine: pain → behavior shift → channel response",
      "p.3 leads with a quantified takeaway ('62% will adopt cost-saving behaviours') instead of an agenda"
    ],
    "topWeaknesses": [
      "Body slides repeatedly use 'Figure X: <question>' as the action title (pp. 6, 7, 10, 11, 14, 16) — descriptive, not insight-bearing",
      "Conclusion (p.19) is labeled 'Conclusion' with a generic platitude — no ranked recommendations or next steps",
      "Section divider titles are duplicated verbatim by the next slide (pp. 4↔5, 8↔9, 12↔13), wasting three pages to repetition",
      "p.2 is an 'Executive summary' title slide rather than the actual summary — the answer-first principle is broken at the most expensive slot"
    ],
    "narrativeScore": 68,
    "pillarCritique": "The three section dividers (pp. 4, 8, 12) read as MECE-adjacent pillars — supply/price pressure, habit shifts, and omnichannel/data — and each is restated verbatim as the first content slide, which gives structure but wastes a page per section to redundancy.",
    "closingCritique": "The deck ends with a generic 'Conclusion' title and a platitude callout ('keep a laser focus on customer priorities') followed by 'About the survey' and 'Get in touch' — there is no prioritized recommendation list, no next-steps build, and no memorable close.",
    "openingCritique": "The cover thesis ('Inflation and rising prices shape a new hybrid Middle East consumer') is crisp and p.3 leads with a quantified headline ('62% will adopt cost-saving behaviours'), giving the answer up front; however, p.2's generic 'Executive summary' label wastes a high-value slot that should restate the so-what.",
    "extractionSeconds": 59.27806,
    "narrativeCritique": "The deck follows a recognizable Situation→Complication→Analysis→Resolution arc via three labeled sections (price pressure → habit shifts → omnichannel/data) capped by a Conclusion, but the resolution is a single soft slide rather than a built recommendation, so the arc lands flat after a strong setup.",
    "titleQualityScore": 62,
    "titleQualityCritique": "Section and narrative titles are declarative and insight-bearing ('Higher prices and supply chain delays hinder sales', 'Consumer habits are changing in response to higher prices'), but roughly half the body slides default to chart labels ('Figure 4: Why are you expecting to spend less on luxury…', 'Figure 8: To what extent…'), forcing the reader to extract the insight themselves."
  },
  "activistThesis": null,
  "pitchdeck": {
    "metadata": null,
    "profile": null
  },
  "slides": [
    {
      "page": 1,
      "type": "setup",
      "title": "Features a robot with 'SMART RETAIL' on its screen, suggesting a focus on retail technology.",
      "function": "front_matter",
      "imagePath": "https://imgproxy.kitesheet.com/MxqRC43GZT6uYw7stbWK-4eYPsPE7QGgjuCFXBfL3EU/rs:fit:1200:1200:0/q:82/f:webp/czM6Ly9raXRlc2hlZXQvY29ycHVzL3NsaWRlcy9mNjRjZjJlMGM2ZjJjMmRmL3AwMDEuanBn",
      "rawType": "cover",
      "block": null,
      "metadata": {
        "slideType": "cover",
        "slideTypeCanon": {
          "name": "Cover",
          "slug": "cover",
          "status": "active",
          "canonId": "019de52d-05f2-729d-9f93-e0504f0a2410",
          "version": 1,
          "description": null
        },
        "function": "front_matter",
        "functionCanon": {
          "name": "Front matter",
          "slug": "front_matter",
          "status": "active",
          "canonId": "019de52d-133d-73f0-9e26-201eda96b098",
          "version": 1,
          "description": null
        },
        "density": "sparse",
        "densityScore": 14,
        "componentCount": 4,
        "textChars": 134,
        "nDataPoints": 0,
        "notes": "Features a robot with 'SMART RETAIL' on its screen, suggesting a focus on retail technology.",
        "elementsJson": [
          "photo",
          "headline_text"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 19:09:57.373+00",
          "seconds": 2.549,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5ca1-7489-b63a-7ccef3b8a931/1",
        "deck": "/decks/019dd923-5ca1-7489-b63a-7ccef3b8a931",
        "deckAnchor": "/decks/019dd923-5ca1-7489-b63a-7ccef3b8a931#slide-1",
        "deckJson": "/decks/019dd923-5ca1-7489-b63a-7ccef3b8a931.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.16,
            "w": 0.16,
            "x": 0.715,
            "y": 0.025
          },
          "kind": "callout",
          "text": "Pulse 5",
          "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:09:57.373+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "afbcd315-02f5-4a9b-a2f1-2d8498b37d27",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.1,
            "w": 0.1,
            "x": 0.05,
            "y": 0.85
          },
          "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:09:57.373+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "cb535cef-1efa-4107-bee0-be572bf9a97d",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.4,
            "x": 0.05,
            "y": 0.68
          },
          "kind": "paragraph",
          "text": "Global Consumer Insights Survey 2023 Middle East findings",
          "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:09:57.373+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "a79506d5-abb0-4937-b308-072bdc8773d5",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.5,
            "x": 0.05,
            "y": 0.5
          },
          "kind": "title",
          "text": "Inflation and rising prices shape a new hybrid Middle East consumer",
          "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:09:57.373+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "5aeceef4-8c04-436a-8cf0-742a2e740679",
          "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": "019de9cb-12c0-76cb-bb38-49bf00ae4fee",
          "evidence": "Cover headline states the insight, not the topic",
          "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 17:44:52.402928+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 1,
          "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": "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": "019de9cb-12e7-7392-8580-2b4b8c884095",
          "evidence": "Provocative phrase 'new hybrid Middle East consumer' as hook",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 75,
          "extraction": {
            "at": "2026-05-02 17:44:52.402928+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": "e94a294b-dc1d-4d91-9b7a-9abb740cf74c",
          "evidence": "The slide is titled 'Inflation and rising prices shape a new hybrid Middle East consumer' and contains a callout.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.9,
          "extraction": {
            "at": "2026-07-17 03:16:36.255589+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 1,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 3,
          "arc": {
            "name": "The Consultant's Gambit",
            "slug": "consultants-gambit",
            "status": "active",
            "bestFor": "Business cases, project proposals, strategic recommendations",
            "canonId": "019dd956-5e0a-73c8-b305-81c38c959e9c",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Situation & Context -> Problem & Complication -> Solution & Approach -> Evidence & Proof -> Impact & Next Steps",
            "description": null,
            "familyLabel": null
          },
          "from": 1,
          "name": "Situation & Context",
          "beatId": "019de9cb-10d5-75f5-bf16-c96ffaebd02d",
          "matchId": "019de9cb-10ad-72ad-97ae-369c40567c2d",
          "beatType": null,
          "evidence": "Cover, executive summary, four key findings frame the ME consumer landscape",
          "position": 1,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 65
        },
        {
          "to": 17,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 1,
          "name": "The Facts (What)",
          "beatId": "019de9cb-11d1-72db-ad70-209cd8443f3b",
          "matchId": "019de9cb-11a9-76b9-bb36-24bf00efb157",
          "beatType": null,
          "evidence": "Survey data on prices, behaviour, channels, privacy, metaverse",
          "position": 1,
          "isPrimaryArc": false,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 55
        }
      ],
      "loops": [],
      "thumbSrc": "https://imgproxy.kitesheet.com/HZMBJ-a1W9z4UIM_rH_ZzH3wNX2pROM3rV_ttWVosBE/rs:fit:480:480:0/q:78/f:webp/czM6Ly9raXRlc2hlZXQvY29ycHVzL3NsaWRlcy9mNjRjZjJlMGM2ZjJjMmRmL3AwMDEuanBn",
      "imagePathAlt": "https://imgproxy.kitesheet.com/nKJ12wuZNBk2-ejk3kfhUH4NOqMgIX2TFZBu-Vapj8E/rs:fit:1200:1200:0/q:82/f:webp/czM6Ly9raXRlc2hlZXQvY29ycHVzL3NsaWRlcy9mNjRjZjJlMGM2ZjJjMmRmL3AwMDEucG5n",
      "thumbSrcAlt": "https://imgproxy.kitesheet.com/rPiNXnm5yMS0CGT_Nvvc8cJcrWTPWLRzJEyxfSLQYRo/rs:fit:480:480:0/q:78/f:webp/czM6Ly9raXRlc2hlZXQvY29ycHVzL3NsaWRlcy9mNjRjZjJlMGM2ZjJjMmRmL3AwMDEucG5n"
    },
    {
      "page": 2,
      "type": "setup",
      "title": "The slide uses a red background with a right-hand image and decorative dashed-line shapes.",
      "function": "summarize",
      "rawType": "executive_summary",
      "block": null,
      "metadata": {
        "slideType": "executive_summary",
        "slideTypeCanon": {
          "name": "Executive summary",
          "slug": "executive_summary",
          "status": "active",
          "canonId": "019de52d-06be-73ff-81b3-f99fe7f0025e",
          "version": 1,
          "description": null
        },
        "function": "summarize",
        "functionCanon": {
          "name": "Summarize",
          "slug": "summarize",
          "status": "active",
          "canonId": "019de52d-1541-704f-b86f-bf7b75056373",
          "version": 1,
          "description": null
        },
        "density": "overcrowded",
        "densityScore": 77,
        "componentCount": 8,
        "textChars": 1971,
        "nDataPoints": 0,
        "notes": "The slide uses a red background with a right-hand image and decorative dashed-line shapes.",
        "elementsJson": [
          "headline_text",
          "paragraph",
          "photo"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 19:10:09.517+00",
          "seconds": 14.544,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5ca1-7489-b63a-7ccef3b8a931/2",
        "deck": "/decks/019dd923-5ca1-7489-b63a-7ccef3b8a931",
        "deckAnchor": "/decks/019dd923-5ca1-7489-b63a-7ccef3b8a931#slide-2",
        "deckJson": "/decks/019dd923-5ca1-7489-b63a-7ccef3b8a931.json"
      },
      "components": [
        {
          "bbox": {
            "h": 1,
            "w": 0.27,
            "x": 0.73,
            "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:10:09.517+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "200bbdf1-497e-4b33-a342-413a6f0b654a",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.12,
            "w": 0.65,
            "x": 0.047,
            "y": 0.52
          },
          "kind": "paragraph",
          "text": "Other trends to note in the Middle East are the pride exhibited by shoppers in buying locally produced items - people are happy to spend more buying these products than imported goods - and the fact that environmental, social and governance (ESG) factors are now a permanent feature of consumer choices. Our previous Pulse 4 survey showed how shopping decisions were increasingly being influenced by sustainability concerns.",
          "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:10:09.517+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "179133d8-80fa-40ee-813e-95da88ddf7fb",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.08,
            "w": 0.65,
            "x": 0.047,
            "y": 0.41
          },
          "kind": "paragraph",
          "text": "When it comes to where customers are shopping, online continues to go from strength to strength, following the mass shift during the pandemic. Yet in-store shopping is not disappearing - many customers still want to see the product in front of them before making a purchase.",
          "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:10:09.517+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "615cc5e8-6830-4ba8-82a8-916418d3fbf9",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.14,
            "w": 0.65,
            "x": 0.047,
            "y": 0.24
          },
          "kind": "paragraph",
          "text": "Price-conscious shoppers are hunting for bargains, and the region's consumers are willing to desert their preferred brands to purchase cheaper alternatives. One interesting trend in the Middle East is the sizable number of consumers that now choose a store's own product range, because of the lower price. Retailers that don't yet have an own-label offering should take this shift away from established brands into consideration, as they look at ways to retain customer 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:10:09.517+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "7160a56f-4e97-4342-a2b2-077389edc7a5",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.06,
            "w": 0.65,
            "x": 0.047,
            "y": 0.78
          },
          "kind": "paragraph",
          "text": "Technology also continues to influence how consumers shop. While the metaverse and its applications are still in their early stages of development, they are gaining popularity among millennials in the Middle East.",
          "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:10:09.517+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "7483aa45-b600-4fc0-99e0-86ba6c54de01",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.08,
            "w": 0.65,
            "x": 0.047,
            "y": 0.145
          },
          "kind": "paragraph",
          "text": "For Middle East respondents to PwC's Global Consumer Insights Survey, high inflation and the cost of living are the two main factors influencing consumer behaviour. That reflects the pattern seen in other parts of the world, as consumers find their spending power squeezed.",
          "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:10:09.517+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "bc000f78-a22d-4023-9f67-a4b06115dd63",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.08,
            "w": 0.65,
            "x": 0.047,
            "y": 0.67
          },
          "kind": "paragraph",
          "text": "The UAE government's policy of mandating shoppers to pay for carrier bags, for example, has spurred progress and innovation, with stores introducing express lanes for customers who bring their bags. The change serves as a testament to the widespread acceptance and adoption of ESG principles.",
          "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:10:09.517+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "c2c211de-53db-4176-9970-4865fa64fb8d",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.04,
            "w": 0.27,
            "x": 0.047,
            "y": 0.09
          },
          "kind": "title",
          "text": "Executive summary",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:10:09.517+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "006524d3-fe46-4539-aba4-5c791e147e45",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "Governing Thought",
            "slug": "governing-thought",
            "status": "active",
            "bestFor": "When the deck makes a recommendation, decision, or argues a position; when defining the top of a pyramid before structuring supports; when an SCQA opening needs an Answer; when stripping topic-style titles in favour of action titles.",
            "canonId": "019dd956-8286-760e-8638-77558a0d71ba",
            "version": 1,
            "bodyDocId": "06f7d5a5-daab-44c1-9d67-63c52ba03962",
            "description": "The single declarative sentence at the apex of a Minto pyramid that summarises and is supported by everything beneath it — the answer the deck exists to defend.",
            "familyLabel": null,
            "categoryName": "Block",
            "categorySlug": "block"
          },
          "agent": "Architect",
          "layer": "block",
          "agents": [
            "Architect"
          ],
          "matchId": "019de9cb-1310-75ce-a95a-977741f7ee79",
          "evidence": "Executive summary establishes the central thesis for the report",
          "pageRefs": null,
          "priority": null,
          "whenToUse": "When the deck makes a recommendation, decision, or argues a position; when defining the top of a pyramid before structuring supports; when an SCQA opening needs an Answer; when stripping topic-style titles in favour of action titles.",
          "confidence": 75,
          "extraction": {
            "at": "2026-05-02 17:44:52.402928+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 2,
          "whyItWorks": "Forces the writer to commit to a position before structuring the case — exposes muddled thinking that hides safely inside topic-style headings. Gives busy readers the answer in the first cognitive beat and enables progressive disclosure of the supporting case.",
          "antipattern": "Topic-style headings ('Strategic options for growth', 'Considerations for Europe') instead of declarative claims with verbs. Multi-sentence apex statements. Qualifier-laden hedges. Noun-phrase labels ('Recommendation: acquisition of Target B') pretending to be sentences. Fake governing thoughts — confident apex the supports don't actually force.",
          "cardinality": null,
          "narrativePurpose": "Anchor the document in one defensible claim with a working verb, so the audience knows the answer before they read the proof and the entire structure ladders up to it."
        },
        {
          "tool": {
            "name": "Pyramid Principle",
            "slug": "pyramid-principle",
            "status": "active",
            "bestFor": "When the document has a single governing decision or recommendation the reader is asked to accept, and the case can be decomposed into a small number of clean groups. Strategy decks, board memos, investment committee papers.",
            "canonId": "019dd956-7cbd-7219-a477-c871e2bc1aff",
            "version": 1,
            "bodyDocId": "88b6ac56-b880-46f9-8621-ef3491ab6235",
            "description": "Lead with the answer; group three to five MECE supports beneath it; recurse one level down. Top-down hierarchical structure for any document with a single recommendation.",
            "familyLabel": null,
            "categoryName": "Block",
            "categorySlug": "block"
          },
          "agent": "Architect",
          "layer": "block",
          "agents": [
            "Architect"
          ],
          "matchId": "019de9cb-1339-742a-8792-35d9e4ac1448",
          "evidence": "Top-down summary precedes detailed evidence sections",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": "When the document has a single governing decision or recommendation the reader is asked to accept, and the case can be decomposed into a small number of clean groups. Strategy decks, board memos, investment committee papers.",
          "confidence": 70,
          "extraction": {
            "at": "2026-05-02 17:44:52.402928+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 2,
          "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": "Executive summary",
            "slug": "executive-summary",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd9e1-4b63-72d5-9734-da757d91ca61",
            "version": 1,
            "bodyDocId": null,
            "description": "A condensed view of the entire argument on a single slide / block.",
            "familyLabel": null,
            "categoryName": null,
            "categorySlug": null
          },
          "agent": null,
          "layer": "slide",
          "agents": null,
          "matchId": "4d9be5d8-ea53-438f-9297-2546a13b0116",
          "evidence": "The slide is titled 'Executive summary' and contains a summary of key findings.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.9,
          "extraction": {
            "at": "2026-07-17 03:16:36.335016+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 2,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": "common",
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 3,
          "arc": {
            "name": "The Consultant's Gambit",
            "slug": "consultants-gambit",
            "status": "active",
            "bestFor": "Business cases, project proposals, strategic recommendations",
            "canonId": "019dd956-5e0a-73c8-b305-81c38c959e9c",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Situation & Context -> Problem & Complication -> Solution & Approach -> Evidence & Proof -> Impact & Next Steps",
            "description": null,
            "familyLabel": null
          },
          "from": 1,
          "name": "Situation & Context",
          "beatId": "019de9cb-10d5-75f5-bf16-c96ffaebd02d",
          "matchId": "019de9cb-10ad-72ad-97ae-369c40567c2d",
          "beatType": null,
          "evidence": "Cover, executive summary, four key findings frame the ME consumer landscape",
          "position": 1,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 65
        },
        {
          "to": 17,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 1,
          "name": "The Facts (What)",
          "beatId": "019de9cb-11d1-72db-ad70-209cd8443f3b",
          "matchId": "019de9cb-11a9-76b9-bb36-24bf00efb157",
          "beatType": null,
          "evidence": "Survey data on prices, behaviour, channels, privacy, metaverse",
          "position": 1,
          "isPrimaryArc": false,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 55
        }
      ],
      "loops": [],
      "locked": true
    },
    {
      "page": 3,
      "type": "resolution",
      "title": "The slide uses a numbered list with hexagonal icons to present key findings.",
      "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": "balanced",
        "densityScore": 44,
        "componentCount": 5,
        "textChars": 566,
        "nDataPoints": 4,
        "notes": "The slide uses a numbered list with hexagonal icons to present key findings.",
        "elementsJson": [
          "photo",
          "numbered_list",
          "infographic"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 19:10:02.102+00",
          "seconds": 6.916,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5ca1-7489-b63a-7ccef3b8a931/3",
        "deck": "/decks/019dd923-5ca1-7489-b63a-7ccef3b8a931",
        "deckAnchor": "/decks/019dd923-5ca1-7489-b63a-7ccef3b8a931#slide-3",
        "deckJson": "/decks/019dd923-5ca1-7489-b63a-7ccef3b8a931.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "Consumers feel the squeeze of inflation and 62% will adopt cost-saving behaviours",
          "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:55+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-dfa4-712e-8335-d3d2ddfc1744",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 1,
            "w": 0.45,
            "x": 0,
            "y": 0
          },
          "kind": "image",
          "text": null,
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Image",
              "slug": "image",
              "status": "active",
              "canonId": "019de52c-f978-701f-a720-51d029d769e7",
              "version": 1,
              "description": "Photo, illustration, screenshot or icon."
            },
            "tool": null,
            "subkind": {
              "name": "Photo",
              "slug": "photo",
              "status": "active",
              "canonId": "019de52c-fd37-757f-b4a8-ca26d4888875",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "photo",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:10:02.102+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "cb1eedb1-5973-4bcd-be95-14da065f8258",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.6,
            "w": 0.45,
            "x": 0.49,
            "y": 0.215
          },
          "kind": "list",
          "text": "1. Rising prices rated as the biggest issue for 34% of in-store shoppers and 27% of online shoppers\n2. Consumers feel the squeeze of inflation and 62% will adopt cost-saving behaviours\n3. Over 30% of consumers are switching channels, between online and in-store shops, or using a mixture of both\n4. 10% of consumers have purchased products in the metaverse, as it becomes one of the tools retailers can use to fuse online and in-store shopping",
          "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": "Numbered list",
              "slug": "numbered",
              "status": "active",
              "canonId": "019de52c-fcc0-7718-a284-a4250c805df2",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "numbered",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:10:02.102+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "cf01b862-a6ed-4f52-8c44-967a43e5e294",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "inflation impact: 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:55+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-dfa4-712e-8335-d681d598981a",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.04,
            "w": 0.2,
            "x": 0.49,
            "y": 0.12
          },
          "kind": "title",
          "text": "Our key findings are:",
          "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:10:02.102+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "a3771798-8fed-4719-a635-48fb5cbf259f",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "Chunking",
            "slug": "chunking",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-abab-72ce-b64c-2924cc83cf39",
            "version": 1,
            "bodyDocId": null,
            "description": "Information grouped into chunks is remembered better - structure content in digestible units",
            "familyLabel": null,
            "categoryName": "Loop",
            "categorySlug": "loop"
          },
          "agent": "Architect",
          "layer": "loop",
          "agents": [
            "Architect"
          ],
          "matchId": "019de9cb-13ae-7528-a7b0-1efa6090ff37",
          "evidence": "Four findings chunked into discrete numbered items",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 65,
          "extraction": {
            "at": "2026-05-02 17:44:52.402928+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": "019de9cb-1360-7576-a4d4-22aad995b052",
          "evidence": "Each numbered finding is an insight statement, not a topic",
          "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 17:44:52.402928+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": "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": "019de9cb-1388-76f7-9374-c737a40636b2",
          "evidence": "Numbered hexagons + bold metrics create clear reading order",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 75,
          "extraction": {
            "at": "2026-05-02 17:44:52.402928+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 3,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 3,
          "arc": {
            "name": "The Consultant's Gambit",
            "slug": "consultants-gambit",
            "status": "active",
            "bestFor": "Business cases, project proposals, strategic recommendations",
            "canonId": "019dd956-5e0a-73c8-b305-81c38c959e9c",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Situation & Context -> Problem & Complication -> Solution & Approach -> Evidence & Proof -> Impact & Next Steps",
            "description": null,
            "familyLabel": null
          },
          "from": 1,
          "name": "Situation & Context",
          "beatId": "019de9cb-10d5-75f5-bf16-c96ffaebd02d",
          "matchId": "019de9cb-10ad-72ad-97ae-369c40567c2d",
          "beatType": null,
          "evidence": "Cover, executive summary, four key findings frame the ME consumer landscape",
          "position": 1,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 65
        },
        {
          "to": 17,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 1,
          "name": "The Facts (What)",
          "beatId": "019de9cb-11d1-72db-ad70-209cd8443f3b",
          "matchId": "019de9cb-11a9-76b9-bb36-24bf00efb157",
          "beatType": null,
          "evidence": "Survey data on prices, behaviour, channels, privacy, metaverse",
          "position": 1,
          "isPrimaryArc": false,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 55
        }
      ],
      "loops": [],
      "locked": true
    },
    {
      "page": 4,
      "type": "setup",
      "title": "The slide uses a full-bleed background image of a shipping port to visually reinforce the supply chain theme.",
      "function": "establish_context",
      "rawType": "thesis_headline",
      "block": null,
      "metadata": {
        "slideType": "thesis_headline",
        "slideTypeCanon": {
          "name": "Thesis headline",
          "slug": "thesis_headline",
          "status": "active",
          "canonId": "019de52d-073a-70cb-b9f6-772a597bb5af",
          "version": 1,
          "description": null
        },
        "function": "establish_context",
        "functionCanon": {
          "name": "Establish context",
          "slug": "establish_context",
          "status": "active",
          "canonId": "019de52d-1314-74e6-9074-d213dc0bdcdf",
          "version": 1,
          "description": null
        },
        "density": "sparse",
        "densityScore": 3,
        "componentCount": 2,
        "textChars": 50,
        "nDataPoints": 0,
        "notes": "The slide uses a full-bleed background image of a shipping port to visually reinforce the supply chain theme.",
        "elementsJson": [
          "photo"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 19:09:59.235+00",
          "seconds": 3.914,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5ca1-7489-b63a-7ccef3b8a931/4",
        "deck": "/decks/019dd923-5ca1-7489-b63a-7ccef3b8a931",
        "deckAnchor": "/decks/019dd923-5ca1-7489-b63a-7ccef3b8a931#slide-4",
        "deckJson": "/decks/019dd923-5ca1-7489-b63a-7ccef3b8a931.json"
      },
      "components": [
        {
          "bbox": {
            "h": 1,
            "w": 1,
            "x": 0,
            "y": 0
          },
          "kind": "image",
          "text": null,
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Image",
              "slug": "image",
              "status": "active",
              "canonId": "019de52c-f978-701f-a720-51d029d769e7",
              "version": 1,
              "description": "Photo, illustration, screenshot or icon."
            },
            "tool": null,
            "subkind": {
              "name": "Photo",
              "slug": "photo",
              "status": "active",
              "canonId": "019de52c-fd37-757f-b4a8-ca26d4888875",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "photo",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:09:59.235+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "69f4865d-b9fd-45bb-86c7-89be0c0c757d",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.2,
            "w": 0.65,
            "x": 0.31,
            "y": 0.61
          },
          "kind": "title",
          "text": "Higher prices and supply chain delays hinder sales",
          "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:09:59.235+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "80533f82-aa25-4fb3-b198-095bf0b9721f",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "Data Story Arc",
            "slug": "data-story-arc",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-9c30-728e-b974-d3fb123dcf5a",
            "version": 1,
            "bodyDocId": null,
            "description": "Context → Conflict → Insight → Implication structure for data narratives",
            "familyLabel": null,
            "categoryName": "Loop",
            "categorySlug": "loop"
          },
          "agent": "Storyteller",
          "layer": "loop",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019de9cb-13ff-71fc-a46e-94c6679a9255",
          "evidence": "Loop opens context -> conflict -> insight -> implication on supply chain",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": null,
          "confidence": 70,
          "extraction": {
            "at": "2026-05-02 17:44:52.402928+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": "019de9cb-13d6-7776-939d-9dfb97434013",
          "evidence": "Divider title states the insight 'higher prices...hinder sales'",
          "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 17:44:52.402928+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."
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 7,
          "arc": {
            "name": "The Consultant's Gambit",
            "slug": "consultants-gambit",
            "status": "active",
            "bestFor": "Business cases, project proposals, strategic recommendations",
            "canonId": "019dd956-5e0a-73c8-b305-81c38c959e9c",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Situation & Context -> Problem & Complication -> Solution & Approach -> Evidence & Proof -> Impact & Next Steps",
            "description": null,
            "familyLabel": null
          },
          "from": 4,
          "name": "Problem & Complication",
          "beatId": "019de9cb-10fe-73f9-a7a5-9303bf66aee8",
          "matchId": "019de9cb-10ad-72ad-97ae-369c40567c2d",
          "beatType": null,
          "evidence": "Section explicitly titled 'Higher prices and supply chain delays hinder sales'",
          "position": 2,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 65
        },
        {
          "to": 17,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 1,
          "name": "The Facts (What)",
          "beatId": "019de9cb-11d1-72db-ad70-209cd8443f3b",
          "matchId": "019de9cb-11a9-76b9-bb36-24bf00efb157",
          "beatType": null,
          "evidence": "Survey data on prices, behaviour, channels, privacy, metaverse",
          "position": 1,
          "isPrimaryArc": false,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 55
        }
      ],
      "loops": [
        {
          "to": 7,
          "from": 4,
          "loop": {
            "name": "03_aha_moment",
            "slug": "03-aha-moment",
            "status": "active",
            "bestFor": "Data-heavy sections, research findings, analytical arguments",
            "canonId": "019dd956-66f4-7668-ab25-cec9c996c0bc",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Problem/Question -> What the Data Shows -> The Insight",
            "description": "Establish a tension, present data, then deliver the insight that changes everything",
            "familyLabel": null
          },
          "matchId": "019de9cb-1249-733f-8b5b-174a2daf3993",
          "evidence": "Problem statement (p.5) -> frequency chart (p.6) -> action chart with so-what callout (p.7)",
          "position": 1,
          "objective": "Frame inflation/supply-chain pain and the retailer opportunity",
          "confidence": 75,
          "extraction": {
            "at": "2026-05-02 17:44:52.402928+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 5,
      "type": "analysis",
      "title": "The slide uses a split-screen layout with text on the left and a thematic photo on the right.",
      "function": "diagnose",
      "rawType": "pain_points",
      "block": null,
      "metadata": {
        "slideType": "pain_points",
        "slideTypeCanon": {
          "name": "Pain points",
          "slug": "pain_points",
          "status": "active",
          "canonId": "019de52d-08a0-761d-a14f-1dbc5e447381",
          "version": 1,
          "description": null
        },
        "function": "diagnose",
        "functionCanon": {
          "name": "Diagnose",
          "slug": "diagnose",
          "status": "active",
          "canonId": "019de52d-1657-7223-acc5-7437d878c850",
          "version": 1,
          "description": null
        },
        "density": "dense",
        "densityScore": 56,
        "componentCount": 5,
        "textChars": 1189,
        "nDataPoints": 5,
        "notes": "The slide uses a split-screen layout with text on the left and a thematic photo on the right.",
        "elementsJson": [
          "headline_text",
          "paragraph",
          "photo"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 19:09:58.143+00",
          "seconds": 2.288,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5ca1-7489-b63a-7ccef3b8a931/5",
        "deck": "/decks/019dd923-5ca1-7489-b63a-7ccef3b8a931",
        "deckAnchor": "/decks/019dd923-5ca1-7489-b63a-7ccef3b8a931#slide-5",
        "deckJson": "/decks/019dd923-5ca1-7489-b63a-7ccef3b8a931.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "Our study shows that the biggest issue facing Middle East consumers is the rising price of household goods.",
          "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:50:01+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-dfa4-712e-8336-cadeaed1e7b9",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 1,
            "w": 0.47,
            "x": 0.53,
            "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:09:58.143+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "5fcfa546-7e62-449b-bfb9-537d737ba09c",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "consumer concern: 34%",
          "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:50:01+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-dfa4-712e-8336-ceb6100eb8fa",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.5,
            "w": 0.45,
            "x": 0.04,
            "y": 0.18
          },
          "kind": "paragraph",
          "text": "Our study shows that the biggest issue facing Middle East consumers is the rising price of household goods. It’s ranked as the most pressing challenge by 34% of respondents. It is also identified as the most challenging issue in the global survey, with more than 50% of consumers frequently experiencing price hikes when they go out shopping. Within the Middle East, Egyptian consumers are most concerned, with 40% of shoppers naming it their number one issue, compared with 35% of consumers in Saudi Arabia and 28% in the UAE. Longer queues and busier stores are the second most significant issue for 31% of shoppers visiting physical shops, with UAE and Saudi consumers placing the former as second most commonly experienced issue. This contrasted with Egypt where supply chain issues including out-of-stock products, reduced product ranges and quality are the second-most common issues in-store for consumers. Longer delivery times and unavailability of products are also affecting 27% of regional consumers.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "5f2affc0-941d-4d07-959d-4bfc1930cea4",
              "version": 1,
              "description": "Single prose block in the body of a slide."
            },
            "tool": null,
            "subkind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "019de52c-fb80-75af-aa5c-a7a4bfac2433",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "paragraph",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:09:58.143+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "408362ad-360c-466f-a45b-f114b2a952ee",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.1,
            "w": 0.4,
            "x": 0.04,
            "y": 0.08
          },
          "kind": "title",
          "text": "Higher prices and supply chain delays hinder sales",
          "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:09:58.143+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "bf2a90d7-ab6c-43dc-8283-b557f8a088db",
          "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": "019de9cb-1426-74fd-b3b8-5f795e2909e3",
          "evidence": "Title repeats the insight that prices/supply chain hinder sales",
          "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 17:44:52.402928+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": "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": "019de9cb-1476-725a-9edc-7e5df688497b",
          "evidence": "Specific terms like 'rising price of household goods'",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 60,
          "extraction": {
            "at": "2026-05-02 17:44:52.402928+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": "019de9cb-144f-7089-8240-65afc8690470",
          "evidence": "Callout names the biggest issue facing ME consumers",
          "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 17:44:52.402928+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."
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 7,
          "arc": {
            "name": "The Consultant's Gambit",
            "slug": "consultants-gambit",
            "status": "active",
            "bestFor": "Business cases, project proposals, strategic recommendations",
            "canonId": "019dd956-5e0a-73c8-b305-81c38c959e9c",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Situation & Context -> Problem & Complication -> Solution & Approach -> Evidence & Proof -> Impact & Next Steps",
            "description": null,
            "familyLabel": null
          },
          "from": 4,
          "name": "Problem & Complication",
          "beatId": "019de9cb-10fe-73f9-a7a5-9303bf66aee8",
          "matchId": "019de9cb-10ad-72ad-97ae-369c40567c2d",
          "beatType": null,
          "evidence": "Section explicitly titled 'Higher prices and supply chain delays hinder sales'",
          "position": 2,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 65
        },
        {
          "to": 17,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 1,
          "name": "The Facts (What)",
          "beatId": "019de9cb-11d1-72db-ad70-209cd8443f3b",
          "matchId": "019de9cb-11a9-76b9-bb36-24bf00efb157",
          "beatType": null,
          "evidence": "Survey data on prices, behaviour, channels, privacy, metaverse",
          "position": 1,
          "isPrimaryArc": false,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 55
        }
      ],
      "loops": [
        {
          "to": 7,
          "from": 4,
          "loop": {
            "name": "03_aha_moment",
            "slug": "03-aha-moment",
            "status": "active",
            "bestFor": "Data-heavy sections, research findings, analytical arguments",
            "canonId": "019dd956-66f4-7668-ab25-cec9c996c0bc",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Problem/Question -> What the Data Shows -> The Insight",
            "description": "Establish a tension, present data, then deliver the insight that changes everything",
            "familyLabel": null
          },
          "matchId": "019de9cb-1249-733f-8b5b-174a2daf3993",
          "evidence": "Problem statement (p.5) -> frequency chart (p.6) -> action chart with so-what callout (p.7)",
          "position": 1,
          "objective": "Frame inflation/supply-chain pain and the retailer opportunity",
          "confidence": 75,
          "extraction": {
            "at": "2026-05-02 17:44:52.402928+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 6,
      "type": "analysis",
      "title": "The slide uses a dark background with pink bars for in-store and yellow bars for online data.",
      "function": "analyze_data",
      "rawType": "data_table",
      "block": null,
      "metadata": {
        "slideType": "data_table",
        "slideTypeCanon": {
          "name": "Data table",
          "slug": "data_table",
          "status": "active",
          "canonId": "019de52d-0bbd-71b9-9918-417f904abbf8",
          "version": 1,
          "description": null
        },
        "function": "analyze_data",
        "functionCanon": {
          "name": "Analyze data",
          "slug": "analyze_data",
          "status": "active",
          "canonId": "019de52d-1590-7413-8c82-cc218cff40b4",
          "version": 1,
          "description": null
        },
        "density": "balanced",
        "densityScore": 34,
        "componentCount": 5,
        "textChars": 293,
        "nDataPoints": 14,
        "notes": "The slide uses a dark background with pink bars for in-store and yellow bars for online data.",
        "elementsJson": [
          "bar_chart_horizontal",
          "footnote"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 19:09:59.027+00",
          "seconds": 2.875,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5ca1-7489-b63a-7ccef3b8a931/6",
        "deck": "/decks/019dd923-5ca1-7489-b63a-7ccef3b8a931",
        "deckAnchor": "/decks/019dd923-5ca1-7489-b63a-7ccef3b8a931#slide-6",
        "deckJson": "/decks/019dd923-5ca1-7489-b63a-7ccef3b8a931.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.6,
            "w": 0.4,
            "x": 0.55,
            "y": 0.23
          },
          "kind": "chart",
          "text": "Online pain points",
          "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:09:59.027+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "2339e0ad-707b-4bce-ae7c-13eb809abcf4",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.6,
            "w": 0.4,
            "x": 0.04,
            "y": 0.23
          },
          "kind": "chart",
          "text": "In-store pain points",
          "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:09:59.027+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "cd318a44-3a9a-4e95-ac84-d303c6ca69c5",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.4,
            "x": 0.04,
            "y": 0.91
          },
          "kind": "disclaimer",
          "text": "Base: Those who have rated almost always/frequently for at least one option, Middle East (771)",
          "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:09:59.027+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "f272bd6d-01fe-41e3-8d3f-c754100e1fc8",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Consumer experience frequency: 53%",
          "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:56+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-dfa4-712e-8336-422856a0af5a",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.45,
            "x": 0.04,
            "y": 0.08
          },
          "kind": "title",
          "text": "Figure 1: In the last 3 months, please indicate how often you have experienced any of the following while purchasing a product.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:09:59.027+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "011ebdbf-e422-4841-aadd-824bf3e00b98",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "Chart Selection Guide",
            "slug": "chart-selection-guide",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-b1a0-700b-ba17-0e16c4d5bcae",
            "version": 1,
            "bodyDocId": null,
            "description": "Choosing the right chart type for your data and message",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "019de9cb-149d-75c4-a2d9-36d36f0ad2de",
          "evidence": "Horizontal bar charts appropriate for ranked frequency data",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 80,
          "extraction": {
            "at": "2026-05-02 17:44:52.402928+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 6,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Small Multiples",
            "slug": "small-multiples",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-b32d-7586-b368-baa1dd388ed4",
            "version": 1,
            "bodyDocId": null,
            "description": "Repeating similar charts for comparison across categories or time",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "019de9cb-14c9-74e7-8fa5-59a1159d9c58",
          "evidence": "Side-by-side in-store vs online charts repeated structure",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 80,
          "extraction": {
            "at": "2026-05-02 17:44:52.402928+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 6,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 7,
          "arc": {
            "name": "The Consultant's Gambit",
            "slug": "consultants-gambit",
            "status": "active",
            "bestFor": "Business cases, project proposals, strategic recommendations",
            "canonId": "019dd956-5e0a-73c8-b305-81c38c959e9c",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Situation & Context -> Problem & Complication -> Solution & Approach -> Evidence & Proof -> Impact & Next Steps",
            "description": null,
            "familyLabel": null
          },
          "from": 4,
          "name": "Problem & Complication",
          "beatId": "019de9cb-10fe-73f9-a7a5-9303bf66aee8",
          "matchId": "019de9cb-10ad-72ad-97ae-369c40567c2d",
          "beatType": null,
          "evidence": "Section explicitly titled 'Higher prices and supply chain delays hinder sales'",
          "position": 2,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 65
        },
        {
          "to": 17,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 1,
          "name": "The Facts (What)",
          "beatId": "019de9cb-11d1-72db-ad70-209cd8443f3b",
          "matchId": "019de9cb-11a9-76b9-bb36-24bf00efb157",
          "beatType": null,
          "evidence": "Survey data on prices, behaviour, channels, privacy, metaverse",
          "position": 1,
          "isPrimaryArc": false,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 55
        }
      ],
      "loops": [
        {
          "to": 7,
          "from": 4,
          "loop": {
            "name": "03_aha_moment",
            "slug": "03-aha-moment",
            "status": "active",
            "bestFor": "Data-heavy sections, research findings, analytical arguments",
            "canonId": "019dd956-66f4-7668-ab25-cec9c996c0bc",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Problem/Question -> What the Data Shows -> The Insight",
            "description": "Establish a tension, present data, then deliver the insight that changes everything",
            "familyLabel": null
          },
          "matchId": "019de9cb-1249-733f-8b5b-174a2daf3993",
          "evidence": "Problem statement (p.5) -> frequency chart (p.6) -> action chart with so-what callout (p.7)",
          "position": 1,
          "objective": "Frame inflation/supply-chain pain and the retailer opportunity",
          "confidence": 75,
          "extraction": {
            "at": "2026-05-02 17:44:52.402928+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 7,
      "type": "analysis",
      "title": "The slide highlights consumer reactions to supply chain disruptions, specifically focusing on switching behaviors and mitigation strategies.",
      "function": "diagnose",
      "rawType": "pain_points",
      "block": null,
      "metadata": {
        "slideType": "pain_points",
        "slideTypeCanon": {
          "name": "Pain points",
          "slug": "pain_points",
          "status": "active",
          "canonId": "019de52d-08a0-761d-a14f-1dbc5e447381",
          "version": 1,
          "description": null
        },
        "function": "diagnose",
        "functionCanon": {
          "name": "Diagnose",
          "slug": "diagnose",
          "status": "active",
          "canonId": "019de52d-1657-7223-acc5-7437d878c850",
          "version": 1,
          "description": null
        },
        "density": "overcrowded",
        "densityScore": 83,
        "componentCount": 8,
        "textChars": 1629,
        "nDataPoints": 10,
        "notes": "The slide highlights consumer reactions to supply chain disruptions, specifically focusing on switching behaviors and mitigation strategies.",
        "elementsJson": [
          "paragraph",
          "bar_chart_vertical"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 19:09:59.42+00",
          "seconds": 3.202,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5ca1-7489-b63a-7ccef3b8a931/7",
        "deck": "/decks/019dd923-5ca1-7489-b63a-7ccef3b8a931",
        "deckAnchor": "/decks/019dd923-5ca1-7489-b63a-7ccef3b8a931#slide-7",
        "deckJson": "/decks/019dd923-5ca1-7489-b63a-7ccef3b8a931.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "These figures demonstrate the opportunity for retailers that can resolve their supply chain issues to take market share.",
          "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:56+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-dfa4-712e-8336-55710544b0c8",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.38,
            "w": 0.92,
            "x": 0.04,
            "y": 0.48
          },
          "kind": "chart",
          "text": "Bar chart showing frequency of consumer actions: 44%, 41%, 36%, 36%, 30%, 29%, 29%, 29%, 27%, 24%",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Chart",
              "slug": "chart",
              "status": "active",
              "canonId": "019de52c-f9a0-76ef-adc6-0b859109d1f8",
              "version": 1,
              "description": "Quantitative chart."
            },
            "tool": null,
            "subkind": {
              "name": "Vertical bar chart",
              "slug": "bar-vertical",
              "status": "active",
              "canonId": "019de52c-fe9d-70f2-b3b7-a9ae294f5917",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bar-vertical",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:09:59.42+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "628b1e0e-b246-49a0-9d92-25ea0235cb2b",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Consumer action frequency: 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:56+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-dfa4-712e-8336-593630a6c578",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.12,
            "w": 0.92,
            "x": 0.04,
            "y": 0.24
          },
          "kind": "paragraph",
          "text": "Faced with these supply chain and logistics issues, consumers employ a range of actions to address and overcome them (Figure 2). More than 40% of consumers in the UAE, Saudi Arabia and Egypt will use comparison sites and shop from multiple retailers as corrective measures. Some 36% would either switch to buying online or from another retailer’s store, 29% would buy another brand, and the same proportion would switch to retailers’ own-brand products. These figures demonstrate the opportunity for retailers that can resolve their supply chain issues to take market share.",
          "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:09:59.42+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "249f43e2-138b-477a-95a0-3ce36890701d",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.08,
            "w": 0.92,
            "x": 0.04,
            "y": 0.15
          },
          "kind": "paragraph",
          "text": "Longer than expected delivery times were the second most common issue faced, and out of stock products are a problem that 27% of online shoppers said they frequently face. A quarter of respondents cited the quality of purchased goods as one of the common issues encountered while shopping online, a similar proportion as in-store (24%).",
          "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:09:59.42+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "2c7afee3-d230-432c-9770-d831c4170448",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.08,
            "w": 0.92,
            "x": 0.04,
            "y": 0.07
          },
          "kind": "paragraph",
          "text": "Online shoppers share the same concerns. Almost half (48%) of consumers from the region claim to have experienced rising prices for household goods while shopping online, and this price inflation ranked as the most pressing issue for 27% of regional respondents.",
          "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:09:59.42+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "88d7a5f3-3a98-4e7d-8574-2ccc00d62f7d",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.6,
            "x": 0.04,
            "y": 0.91
          },
          "kind": "source-note",
          "text": "Base: Those who have rated frequently or almost always for at least one option online or in a physical store, Middle East (771)",
          "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:09:59.42+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "302515a9-f50c-4af5-806f-31406804a031",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.6,
            "x": 0.04,
            "y": 0.43
          },
          "kind": "title",
          "text": "Figure 2: How frequently have you taken actions as a result of supply chain issues?",
          "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:09:59.42+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "0616c719-6c88-44ae-8ed2-382b61b02225",
          "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": "019de9cb-1518-749f-8bda-1ba084a3ac1e",
          "evidence": "Callout converts data to retailer market-share opportunity",
          "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 17:44:52.402928+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": "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": "d3751153-03e9-4008-a1d5-470bae553a68",
          "evidence": "Base: Those who have rated frequently or almost always for at least one option online or in a physical store, Middle East (771)",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": null,
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 21:20:39.73942+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": "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": "019de9cb-14f1-760a-bca2-4684375ea1a5",
          "evidence": "Vertical bar chart for ranked consumer actions",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 75,
          "extraction": {
            "at": "2026-05-02 17:44:52.402928+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 7,
          "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": "12714f78-a6e3-4172-bcf4-d0bd5121a1b0",
          "evidence": "Faced with these supply chain and logistics issues, consumers employ a range of actions to address and overcome them (Figure 2).",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": null,
          "confidence": 0.5,
          "extraction": {
            "at": "2026-07-16 21:20:39.78406+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": "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": "019de9cb-1540-701c-87be-99d0f1ddebcf",
          "evidence": "Callout: 'opportunity for retailers...to take market share'",
          "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 17:44:52.402928+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 7,
          "whyItWorks": "Solves the two failure modes of analytical communication at once: stopping at description (analyst-confidence problem) and leaving insight stranded in the analyst's head (translation problem). The recursion is what guarantees the implication makes it into ink.",
          "antipattern": "Stopping at the first tighter description (still a fact, not an implication), regressing past the audience's decision space into philosophy, smuggling the so-what into speaker notes, or re-using an implication aimed at a previous audience.",
          "cardinality": null,
          "narrativePurpose": "Forces every analytical artefact to close the gap between fact and decision, so the reader holds the recommendation by reading titles alone rather than reconstructing the analyst's mental model from raw evidence."
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 7,
          "arc": {
            "name": "The Consultant's Gambit",
            "slug": "consultants-gambit",
            "status": "active",
            "bestFor": "Business cases, project proposals, strategic recommendations",
            "canonId": "019dd956-5e0a-73c8-b305-81c38c959e9c",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Situation & Context -> Problem & Complication -> Solution & Approach -> Evidence & Proof -> Impact & Next Steps",
            "description": null,
            "familyLabel": null
          },
          "from": 4,
          "name": "Problem & Complication",
          "beatId": "019de9cb-10fe-73f9-a7a5-9303bf66aee8",
          "matchId": "019de9cb-10ad-72ad-97ae-369c40567c2d",
          "beatType": null,
          "evidence": "Section explicitly titled 'Higher prices and supply chain delays hinder sales'",
          "position": 2,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 65
        },
        {
          "to": 17,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 1,
          "name": "The Facts (What)",
          "beatId": "019de9cb-11d1-72db-ad70-209cd8443f3b",
          "matchId": "019de9cb-11a9-76b9-bb36-24bf00efb157",
          "beatType": null,
          "evidence": "Survey data on prices, behaviour, channels, privacy, metaverse",
          "position": 1,
          "isPrimaryArc": false,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 55
        }
      ],
      "loops": [
        {
          "to": 7,
          "from": 4,
          "loop": {
            "name": "03_aha_moment",
            "slug": "03-aha-moment",
            "status": "active",
            "bestFor": "Data-heavy sections, research findings, analytical arguments",
            "canonId": "019dd956-66f4-7668-ab25-cec9c996c0bc",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Problem/Question -> What the Data Shows -> The Insight",
            "description": "Establish a tension, present data, then deliver the insight that changes everything",
            "familyLabel": null
          },
          "matchId": "019de9cb-1249-733f-8b5b-174a2daf3993",
          "evidence": "Problem statement (p.5) -> frequency chart (p.6) -> action chart with so-what callout (p.7)",
          "position": 1,
          "objective": "Frame inflation/supply-chain pain and the retailer opportunity",
          "confidence": 75,
          "extraction": {
            "at": "2026-05-02 17:44:52.402928+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 8,
      "type": "setup",
      "function": "transition",
      "rawType": "transition",
      "block": null,
      "metadata": {
        "slideType": "transition",
        "slideTypeCanon": {
          "name": "Transition",
          "slug": "transition",
          "status": "active",
          "canonId": "019de52d-0693-7766-9f05-887f41f8e41e",
          "version": 1,
          "description": null
        },
        "function": "transition",
        "functionCanon": {
          "name": "Transition",
          "slug": "transition",
          "status": "active",
          "canonId": "019de52d-1365-7149-92aa-66df859e75fd",
          "version": 1,
          "description": null
        },
        "density": "sparse",
        "densityScore": 3,
        "componentCount": 2,
        "textChars": 57,
        "nDataPoints": 0,
        "notes": null,
        "elementsJson": [
          "photo"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 19:09:59.242+00",
          "seconds": 2.141,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5ca1-7489-b63a-7ccef3b8a931/8",
        "deck": "/decks/019dd923-5ca1-7489-b63a-7ccef3b8a931",
        "deckAnchor": "/decks/019dd923-5ca1-7489-b63a-7ccef3b8a931#slide-8",
        "deckJson": "/decks/019dd923-5ca1-7489-b63a-7ccef3b8a931.json"
      },
      "components": [
        {
          "bbox": {
            "h": 1,
            "w": 1,
            "x": 0,
            "y": 0
          },
          "kind": "image",
          "text": null,
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Image",
              "slug": "image",
              "status": "active",
              "canonId": "019de52c-f978-701f-a720-51d029d769e7",
              "version": 1,
              "description": "Photo, illustration, screenshot or icon."
            },
            "tool": null,
            "subkind": {
              "name": "Photo",
              "slug": "photo",
              "status": "active",
              "canonId": "019de52c-fd37-757f-b4a8-ca26d4888875",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "photo",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:09:59.242+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "b857e589-bc3d-4ce7-bc3d-9b10a07b12f4",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.2,
            "w": 0.65,
            "x": 0.25,
            "y": 0.6
          },
          "kind": "title",
          "text": "Consumer habits are changing in response to higher prices",
          "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:09:59.242+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "4192a881-167a-4753-b67b-af5a36a757db",
          "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": "019de9cb-1568-7675-8270-7d47876b6c7a",
          "evidence": "Divider title: 'habits are changing in response to higher prices'",
          "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 17:44:52.402928+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 8,
          "whyItWorks": "Solves two failure modes at once. (1) The buried claim: action titles place the conclusion on the page before any analysis is read, so a busy reader doesn't reverse-engineer it from the chart. (2) The spineless deck: because each title is a claim, slides have to ladder up to the governing thought; logical gaps become visible as topic-shaped titles in a sequence that no longer reads as a story.",
          "antipattern": "Topic labels disguised as titles — Volume by quarter, Key findings, Pricing strategy, Margins have been impacted. No verb, or a passive verb with no agent, or a fact (Revenue grew 12%) without the so-what. Also: titles that overreach the chart's evidence, multi-claim X-grew-but-Y-fell welded titles, and mechanical repetition of the same X-drove-Y template across the deck.",
          "cardinality": null,
          "narrativePurpose": "Forces the deck to carry its argument in the title bar so a senior reader can extract the recommendation without opening a single slide; converts a binder of topics into a navigable pyramid where every slide is a node defending the apex."
        },
        {
          "tool": {
            "name": "Action Titles",
            "slug": "action-titles",
            "status": "active",
            "bestFor": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
            "canonId": "019dd956-ac70-700b-a608-ba58e78f5dcc",
            "version": 1,
            "bodyDocId": "816dad3c-9983-41c1-a86e-978ebd582841",
            "description": "The McKinsey-bred discipline of writing every slide title as a complete declarative sentence with a verb and an insight, not a topic label. Each title is a sub-claim that ladders up to the deck's governing thought; read in sequence, the titles reconstruct the executive summary.",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Architect",
          "layer": "slide",
          "agents": [
            "Architect"
          ],
          "matchId": "8f3c61f6-1abd-4251-9432-dbc89ba99a45",
          "evidence": "title/action-title: Consumer habits are changing in response to higher prices",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
          "confidence": 0.9,
          "extraction": {
            "at": "2026-07-16 21:20:39.861335+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 8,
          "whyItWorks": "Solves two failure modes at once. (1) The buried claim: action titles place the conclusion on the page before any analysis is read, so a busy reader doesn't reverse-engineer it from the chart. (2) The spineless deck: because each title is a claim, slides have to ladder up to the governing thought; logical gaps become visible as topic-shaped titles in a sequence that no longer reads as a story.",
          "antipattern": "Topic labels disguised as titles — Volume by quarter, Key findings, Pricing strategy, Margins have been impacted. No verb, or a passive verb with no agent, or a fact (Revenue grew 12%) without the so-what. Also: titles that overreach the chart's evidence, multi-claim X-grew-but-Y-fell welded titles, and mechanical repetition of the same X-drove-Y template across the deck.",
          "cardinality": null,
          "narrativePurpose": "Forces the deck to carry its argument in the title bar so a senior reader can extract the recommendation without opening a single slide; converts a binder of topics into a navigable pyramid where every slide is a node defending the apex."
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 11,
          "arc": {
            "name": "The Consultant's Gambit",
            "slug": "consultants-gambit",
            "status": "active",
            "bestFor": "Business cases, project proposals, strategic recommendations",
            "canonId": "019dd956-5e0a-73c8-b305-81c38c959e9c",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Situation & Context -> Problem & Complication -> Solution & Approach -> Evidence & Proof -> Impact & Next Steps",
            "description": null,
            "familyLabel": null
          },
          "from": 8,
          "name": "Solution & Approach",
          "beatId": "019de9cb-1129-740b-8ab0-a14bb08611db",
          "matchId": "019de9cb-10ad-72ad-97ae-369c40567c2d",
          "beatType": null,
          "evidence": "Consumer behaviour shifts toward essentials as the adaptive response",
          "position": 3,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 65
        },
        {
          "to": 17,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 1,
          "name": "The Facts (What)",
          "beatId": "019de9cb-11d1-72db-ad70-209cd8443f3b",
          "matchId": "019de9cb-11a9-76b9-bb36-24bf00efb157",
          "beatType": null,
          "evidence": "Survey data on prices, behaviour, channels, privacy, metaverse",
          "position": 1,
          "isPrimaryArc": false,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 55
        }
      ],
      "loops": [
        {
          "to": 11,
          "from": 8,
          "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": "019de9cb-1270-70c0-8b26-d209208ead6f",
          "evidence": "Broad spend changes (p.9) -> why less luxury (p.10) -> why buy luxury (p.11)",
          "position": 2,
          "objective": "Zoom from overall spend shifts into luxury motivations",
          "confidence": 70,
          "extraction": {
            "at": "2026-05-02 17:44:52.402928+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 9,
      "type": "analysis",
      "title": "The slide uses a split-layout with text on the left and a dual bar chart on the right.",
      "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": 71,
        "componentCount": 8,
        "textChars": 656,
        "nDataPoints": 6,
        "notes": "The slide uses a split-layout with text on the left and a dual bar chart on the right.",
        "elementsJson": [
          "headline_text",
          "paragraph",
          "bar_chart_vertical"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 19:10:00.219+00",
          "seconds": 2.955,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5ca1-7489-b63a-7ccef3b8a931/9",
        "deck": "/decks/019dd923-5ca1-7489-b63a-7ccef3b8a931",
        "deckAnchor": "/decks/019dd923-5ca1-7489-b63a-7ccef3b8a931#slide-9",
        "deckJson": "/decks/019dd923-5ca1-7489-b63a-7ccef3b8a931.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "During the next six months, Middle East consumers are expecting to spend more on groceries (47%), fashion (40%), and consumer electronics (36%).",
          "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:56+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-dfa4-712e-8336-83d1cd2f5602",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.25,
            "w": 0.4,
            "x": 0.53,
            "y": 0.2
          },
          "kind": "chart",
          "text": "Increase in spend",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Chart",
              "slug": "chart",
              "status": "active",
              "canonId": "019de52c-f9a0-76ef-adc6-0b859109d1f8",
              "version": 1,
              "description": "Quantitative chart."
            },
            "tool": null,
            "subkind": {
              "name": "Vertical bar chart",
              "slug": "bar-vertical",
              "status": "active",
              "canonId": "019de52c-fe9d-70f2-b3b7-a9ae294f5917",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bar-vertical",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:10:00.219+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "a146a26b-4778-4fca-974a-2b36a02ca0bc",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.25,
            "w": 0.4,
            "x": 0.53,
            "y": 0.55
          },
          "kind": "chart",
          "text": "Decrease in spend",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Chart",
              "slug": "chart",
              "status": "active",
              "canonId": "019de52c-f9a0-76ef-adc6-0b859109d1f8",
              "version": 1,
              "description": "Quantitative chart."
            },
            "tool": null,
            "subkind": {
              "name": "Vertical bar chart",
              "slug": "bar-vertical",
              "status": "active",
              "canonId": "019de52c-fe9d-70f2-b3b7-a9ae294f5917",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bar-vertical",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:10:00.219+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "f7abc7d4-cb34-4c26-8e9a-8da9c863d95d",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Expected spend change: 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:56+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-dfa4-712e-8336-87de074d6aa0",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.5,
            "w": 0.4,
            "x": 0.05,
            "y": 0.2
          },
          "kind": "paragraph",
          "text": "Amid rising prices, value-added taxes, and global economic uncertainty some 79% of regional consumers are concerned about their financial situation... Consumers are looking out for promotions...",
          "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:10:00.219+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "494e2819-0ab8-4a93-95b9-2c6700fbd9c1",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.2,
            "x": 0.53,
            "y": 0.9
          },
          "kind": "source-note",
          "text": "Base: Middle East respondents (771)",
          "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:10:00.219+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "6afbf65e-d2b6-4673-920f-c6e0a658e751",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.1,
            "w": 0.4,
            "x": 0.05,
            "y": 0.1
          },
          "kind": "title",
          "text": "Consumer habits are changing in response to higher prices",
          "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:10:00.219+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "c63e2989-70aa-4b8a-b010-74a1bf49d379",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.1,
            "w": 0.4,
            "x": 0.53,
            "y": 0.1
          },
          "kind": "title",
          "text": "Figure 3: Thinking about your spending over the next 6 months, to the best of your ability, please describe your expectations on spend across the following 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:10:00.219+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "dad2b031-e179-491a-bc1c-6bf5ab30d4a0",
          "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": "019de9cb-15b6-77ed-8a6b-1d6042f34030",
          "evidence": "Spend more on essentials vs spend less on discretionary as paired contrast",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": null,
          "confidence": 70,
          "extraction": {
            "at": "2026-05-02 17:44:52.402928+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": "019de9cb-15de-72ab-b141-8f176f768ede",
          "evidence": "Headline asserts the shift toward essentials",
          "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 17:44:52.402928+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 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": "ac14b305-7379-48d3-a444-34cfef09743d",
          "evidence": "Base: Middle East respondents (771)",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 21:20:39.935997+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": "019de9cb-158f-734a-aff3-e6ca70e6eb32",
          "evidence": "Vertical bar charts to compare spend-up vs spend-down categories",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 75,
          "extraction": {
            "at": "2026-05-02 17:44:52.402928+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 9,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Chart Selection Guide",
            "slug": "chart-selection-guide",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-b1a0-700b-ba17-0e16c4d5bcae",
            "version": 1,
            "bodyDocId": null,
            "description": "Choosing the right chart type for your data and message",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "a28becd8-595e-44a3-84aa-583fcc705426",
          "evidence": "chart/bar-vertical: Decrease in spend, chart/bar-vertical: Increase in spend",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.5,
          "extraction": {
            "at": "2026-07-16 21:20:39.976336+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 9,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 11,
          "arc": {
            "name": "The Consultant's Gambit",
            "slug": "consultants-gambit",
            "status": "active",
            "bestFor": "Business cases, project proposals, strategic recommendations",
            "canonId": "019dd956-5e0a-73c8-b305-81c38c959e9c",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Situation & Context -> Problem & Complication -> Solution & Approach -> Evidence & Proof -> Impact & Next Steps",
            "description": null,
            "familyLabel": null
          },
          "from": 8,
          "name": "Solution & Approach",
          "beatId": "019de9cb-1129-740b-8ab0-a14bb08611db",
          "matchId": "019de9cb-10ad-72ad-97ae-369c40567c2d",
          "beatType": null,
          "evidence": "Consumer behaviour shifts toward essentials as the adaptive response",
          "position": 3,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 65
        },
        {
          "to": 17,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 1,
          "name": "The Facts (What)",
          "beatId": "019de9cb-11d1-72db-ad70-209cd8443f3b",
          "matchId": "019de9cb-11a9-76b9-bb36-24bf00efb157",
          "beatType": null,
          "evidence": "Survey data on prices, behaviour, channels, privacy, metaverse",
          "position": 1,
          "isPrimaryArc": false,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 55
        }
      ],
      "loops": [
        {
          "to": 11,
          "from": 8,
          "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": "019de9cb-1270-70c0-8b26-d209208ead6f",
          "evidence": "Broad spend changes (p.9) -> why less luxury (p.10) -> why buy luxury (p.11)",
          "position": 2,
          "objective": "Zoom from overall spend shifts into luxury motivations",
          "confidence": 70,
          "extraction": {
            "at": "2026-05-02 17:44:52.402928+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 10,
      "type": "analysis",
      "title": "The slide uses donut charts to represent survey responses regarding reduced luxury spending.",
      "function": "diagnose",
      "rawType": "pain_points",
      "block": null,
      "metadata": {
        "slideType": "pain_points",
        "slideTypeCanon": {
          "name": "Pain points",
          "slug": "pain_points",
          "status": "active",
          "canonId": "019de52d-08a0-761d-a14f-1dbc5e447381",
          "version": 1,
          "description": null
        },
        "function": "diagnose",
        "functionCanon": {
          "name": "Diagnose",
          "slug": "diagnose",
          "status": "active",
          "canonId": "019de52d-1657-7223-acc5-7437d878c850",
          "version": 1,
          "description": null
        },
        "density": "overcrowded",
        "densityScore": 89,
        "componentCount": 12,
        "textChars": 1124,
        "nDataPoints": 6,
        "notes": "The slide uses donut charts to represent survey responses regarding reduced luxury spending.",
        "elementsJson": [
          "donut_chart",
          "paragraph",
          "photo"
        ],
        "confidence": 0.95,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 19:10:11.445+00",
          "seconds": 13.803,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5ca1-7489-b63a-7ccef3b8a931/10",
        "deck": "/decks/019dd923-5ca1-7489-b63a-7ccef3b8a931",
        "deckAnchor": "/decks/019dd923-5ca1-7489-b63a-7ccef3b8a931#slide-10",
        "deckJson": "/decks/019dd923-5ca1-7489-b63a-7ccef3b8a931.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "The decision by 60% of shoppers in the region to pull back on buying luxury goods is the result of higher prices for these products, while 47% are concerned about their finances.",
          "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:50:03+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-dfa4-712e-8336-e3cca44c1af1",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.12,
            "x": 0.68,
            "y": 0.45
          },
          "kind": "chart",
          "text": "22% - The quality of luxury items has declined",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Chart",
              "slug": "chart",
              "status": "active",
              "canonId": "019de52c-f9a0-76ef-adc6-0b859109d1f8",
              "version": 1,
              "description": "Quantitative chart."
            },
            "tool": null,
            "subkind": {
              "name": "Donut chart",
              "slug": "donut",
              "status": "active",
              "canonId": "019de52d-0006-752c-9528-0fef476b8004",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "donut",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:10:11.445+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "023567a0-65cb-4c6a-a487-82baf9c0f0f6",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.12,
            "x": 0.53,
            "y": 0.18
          },
          "kind": "chart",
          "text": "60% - Cost of the luxury items I buy has risen/is prohibitive",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Chart",
              "slug": "chart",
              "status": "active",
              "canonId": "019de52c-f9a0-76ef-adc6-0b859109d1f8",
              "version": 1,
              "description": "Quantitative chart."
            },
            "tool": null,
            "subkind": {
              "name": "Donut chart",
              "slug": "donut",
              "status": "active",
              "canonId": "019de52d-0006-752c-9528-0fef476b8004",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "donut",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:10:11.445+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "391f50a3-7140-4ff1-810c-c56eb5f7610b",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.12,
            "x": 0.68,
            "y": 0.18
          },
          "kind": "chart",
          "text": "47% - I am no longer able/want to spend same amount on luxury items due to my personal finances",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Chart",
              "slug": "chart",
              "status": "active",
              "canonId": "019de52c-f9a0-76ef-adc6-0b859109d1f8",
              "version": 1,
              "description": "Quantitative chart."
            },
            "tool": null,
            "subkind": {
              "name": "Donut chart",
              "slug": "donut",
              "status": "active",
              "canonId": "019de52d-0006-752c-9528-0fef476b8004",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "donut",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:10:11.445+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "4160fa2e-582b-41dd-a4dc-fce126e72ed0",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.12,
            "x": 0.83,
            "y": 0.45
          },
          "kind": "chart",
          "text": "01% - None of these",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Chart",
              "slug": "chart",
              "status": "active",
              "canonId": "019de52c-f9a0-76ef-adc6-0b859109d1f8",
              "version": 1,
              "description": "Quantitative chart."
            },
            "tool": null,
            "subkind": {
              "name": "Donut chart",
              "slug": "donut",
              "status": "active",
              "canonId": "019de52d-0006-752c-9528-0fef476b8004",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "donut",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:10:11.445+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "681e89fb-1726-4527-b2e3-9308d2ccec20",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.12,
            "x": 0.83,
            "y": 0.18
          },
          "kind": "chart",
          "text": "36% - I still want to treat myself/others but I want to spend less",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Chart",
              "slug": "chart",
              "status": "active",
              "canonId": "019de52c-f9a0-76ef-adc6-0b859109d1f8",
              "version": 1,
              "description": "Quantitative chart."
            },
            "tool": null,
            "subkind": {
              "name": "Donut chart",
              "slug": "donut",
              "status": "active",
              "canonId": "019de52d-0006-752c-9528-0fef476b8004",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "donut",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:10:11.445+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "df1e665a-ba93-4510-b552-77c932957a23",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.12,
            "x": 0.53,
            "y": 0.45
          },
          "kind": "chart",
          "text": "33% - Change in my shopping habits to buy more non-luxury items",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Chart",
              "slug": "chart",
              "status": "active",
              "canonId": "019de52c-f9a0-76ef-adc6-0b859109d1f8",
              "version": 1,
              "description": "Quantitative chart."
            },
            "tool": null,
            "subkind": {
              "name": "Donut chart",
              "slug": "donut",
              "status": "active",
              "canonId": "019de52d-0006-752c-9528-0fef476b8004",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "donut",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:10:11.445+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "e9d058e4-fb9c-4bc1-9672-613d71d600df",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.4,
            "x": 0.53,
            "y": 0.73
          },
          "kind": "disclaimer",
          "text": "Base: Those who are going to spend less money on luxury or designer products, Middle East (346)",
          "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:10:11.445+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "2014fa9f-b85c-4a74-9aa8-9bb0f80a9e0d",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Consumer sentiment: 60%",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:50:03+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-dfa4-712e-8336-e6dac7a3483d",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.42,
            "x": 0.04,
            "y": 0.6
          },
          "kind": "paragraph",
          "text": "The decision by 60% of shoppers in the region to pull back on buying luxury goods is the result of higher prices for these products, while 47% are concerned about their finances (Figure 4). This contrasted slightly with the global survey where personal finances came out as the biggest issue, cited by 48%, while 39% are spending less on luxury items because of rising prices.",
          "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:10:11.445+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "81cbd400-4867-41e5-84f1-4122c705b01a",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.42,
            "x": 0.53,
            "y": 0.08
          },
          "kind": "title",
          "text": "Figure 4: Why are you expecting to spend less on luxury or designer products?",
          "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:10:11.445+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "550dec3f-65ef-4f7a-95b1-8c837af962e2",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.25,
            "x": 0.04,
            "y": 0.55
          },
          "kind": "title",
          "text": "In focus: luxury 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-05-02 19:10:11.445+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "74c7dae1-f3fd-4c26-9309-5ba6b79a17b2",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "Chartjunk Elimination",
            "slug": "chartjunk-elimination",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-b49e-7453-ab01-b60f338eeda1",
            "version": 1,
            "bodyDocId": null,
            "description": "Remove decorative elements that don't convey data: 3D effects, shadows, unnecessary gridlines",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "5dfae130-a054-4d4b-be34-2bca9bfd39eb",
          "evidence": "chart/donut: 47% - I am no longer able/want to spend same amount on luxury items due to my personal finances",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 21:20:40.060958+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 10,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Chart Selection Guide",
            "slug": "chart-selection-guide",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-b1a0-700b-ba17-0e16c4d5bcae",
            "version": 1,
            "bodyDocId": null,
            "description": "Choosing the right chart type for your data and message",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "019de9cb-1630-714e-a16d-a378ba13eec1",
          "evidence": "Donut charts express single-percentage answers",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 70,
          "extraction": {
            "at": "2026-05-02 17:44:52.402928+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 10,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Small Multiples",
            "slug": "small-multiples",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-b32d-7586-b368-baa1dd388ed4",
            "version": 1,
            "bodyDocId": null,
            "description": "Repeating similar charts for comparison across categories or time",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "019de9cb-1605-76df-9bb3-186752f5f684",
          "evidence": "Six donut charts repeated for reasons consumers cut luxury",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 85,
          "extraction": {
            "at": "2026-05-02 17:44:52.402928+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 10,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 11,
          "arc": {
            "name": "The Consultant's Gambit",
            "slug": "consultants-gambit",
            "status": "active",
            "bestFor": "Business cases, project proposals, strategic recommendations",
            "canonId": "019dd956-5e0a-73c8-b305-81c38c959e9c",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Situation & Context -> Problem & Complication -> Solution & Approach -> Evidence & Proof -> Impact & Next Steps",
            "description": null,
            "familyLabel": null
          },
          "from": 8,
          "name": "Solution & Approach",
          "beatId": "019de9cb-1129-740b-8ab0-a14bb08611db",
          "matchId": "019de9cb-10ad-72ad-97ae-369c40567c2d",
          "beatType": null,
          "evidence": "Consumer behaviour shifts toward essentials as the adaptive response",
          "position": 3,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 65
        },
        {
          "to": 17,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 1,
          "name": "The Facts (What)",
          "beatId": "019de9cb-11d1-72db-ad70-209cd8443f3b",
          "matchId": "019de9cb-11a9-76b9-bb36-24bf00efb157",
          "beatType": null,
          "evidence": "Survey data on prices, behaviour, channels, privacy, metaverse",
          "position": 1,
          "isPrimaryArc": false,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 55
        }
      ],
      "loops": [
        {
          "to": 11,
          "from": 8,
          "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": "019de9cb-1270-70c0-8b26-d209208ead6f",
          "evidence": "Broad spend changes (p.9) -> why less luxury (p.10) -> why buy luxury (p.11)",
          "position": 2,
          "objective": "Zoom from overall spend shifts into luxury motivations",
          "confidence": 70,
          "extraction": {
            "at": "2026-05-02 17:44:52.402928+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 11,
      "type": "analysis",
      "title": "The slide uses donut charts to represent survey data from 696 respondents in the Middle East.",
      "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": 91,
        "componentCount": 13,
        "textChars": 1275,
        "nDataPoints": 7,
        "notes": "The slide uses donut charts to represent survey data from 696 respondents in the Middle East.",
        "elementsJson": [
          "paragraph",
          "donut_chart",
          "photo",
          "footnote"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 19:10:06.3+00",
          "seconds": 8.382,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5ca1-7489-b63a-7ccef3b8a931/11",
        "deck": "/decks/019dd923-5ca1-7489-b63a-7ccef3b8a931",
        "deckAnchor": "/decks/019dd923-5ca1-7489-b63a-7ccef3b8a931#slide-11",
        "deckJson": "/decks/019dd923-5ca1-7489-b63a-7ccef3b8a931.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "What motivates luxury shoppers in the Middle East? More than 50% of regional consumers buy luxury products because they believe them to be of superior quality and greater longevity.",
          "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:50:04+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-dfa4-712e-8338-129c11673816",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.12,
            "x": 0.54,
            "y": 0.4
          },
          "kind": "chart",
          "text": "37% I want to feel good about myself",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Chart",
              "slug": "chart",
              "status": "active",
              "canonId": "019de52c-f9a0-76ef-adc6-0b859109d1f8",
              "version": 1,
              "description": "Quantitative chart."
            },
            "tool": null,
            "subkind": {
              "name": "Donut chart",
              "slug": "donut",
              "status": "active",
              "canonId": "019de52d-0006-752c-9528-0fef476b8004",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "donut",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:10:06.3+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "154027d5-b63a-4585-9b22-951cf9e4c548",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.12,
            "x": 0.84,
            "y": 0.17
          },
          "kind": "chart",
          "text": "39% I want to treat myself/others",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Chart",
              "slug": "chart",
              "status": "active",
              "canonId": "019de52c-f9a0-76ef-adc6-0b859109d1f8",
              "version": 1,
              "description": "Quantitative chart."
            },
            "tool": null,
            "subkind": {
              "name": "Donut chart",
              "slug": "donut",
              "status": "active",
              "canonId": "019de52d-0006-752c-9528-0fef476b8004",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "donut",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:10:06.3+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "3b9d7437-e41f-47c3-a87d-321e1115762e",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.12,
            "x": 0.69,
            "y": 0.17
          },
          "kind": "chart",
          "text": "51% Luxury items have longevity and need replacing less often",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Chart",
              "slug": "chart",
              "status": "active",
              "canonId": "019de52c-f9a0-76ef-adc6-0b859109d1f8",
              "version": 1,
              "description": "Quantitative chart."
            },
            "tool": null,
            "subkind": {
              "name": "Donut chart",
              "slug": "donut",
              "status": "active",
              "canonId": "019de52d-0006-752c-9528-0fef476b8004",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "donut",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:10:06.3+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "a76409aa-60de-4d3d-8ae4-6ded908e26f4",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.12,
            "x": 0.84,
            "y": 0.4
          },
          "kind": "chart",
          "text": "28% I want to keep up with trends",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Chart",
              "slug": "chart",
              "status": "active",
              "canonId": "019de52c-f9a0-76ef-adc6-0b859109d1f8",
              "version": 1,
              "description": "Quantitative chart."
            },
            "tool": null,
            "subkind": {
              "name": "Donut chart",
              "slug": "donut",
              "status": "active",
              "canonId": "019de52d-0006-752c-9528-0fef476b8004",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "donut",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:10:06.3+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "a86e96c0-802d-4a91-88bb-11c987268fd0",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.12,
            "x": 0.54,
            "y": 0.63
          },
          "kind": "chart",
          "text": "02% None of these",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Chart",
              "slug": "chart",
              "status": "active",
              "canonId": "019de52c-f9a0-76ef-adc6-0b859109d1f8",
              "version": 1,
              "description": "Quantitative chart."
            },
            "tool": null,
            "subkind": {
              "name": "Donut chart",
              "slug": "donut",
              "status": "active",
              "canonId": "019de52d-0006-752c-9528-0fef476b8004",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "donut",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:10:06.3+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "adef449d-9ac0-4219-b19c-3c9ca465c5b2",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.12,
            "x": 0.69,
            "y": 0.4
          },
          "kind": "chart",
          "text": "35% I see luxury items as investments (since they hold their value)",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Chart",
              "slug": "chart",
              "status": "active",
              "canonId": "019de52c-f9a0-76ef-adc6-0b859109d1f8",
              "version": 1,
              "description": "Quantitative chart."
            },
            "tool": null,
            "subkind": {
              "name": "Donut chart",
              "slug": "donut",
              "status": "active",
              "canonId": "019de52d-0006-752c-9528-0fef476b8004",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "donut",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:10:06.3+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "f50fe3ff-5e5a-409d-bd0b-2240f12a02fe",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.12,
            "x": 0.54,
            "y": 0.17
          },
          "kind": "chart",
          "text": "52% The product quality is better than non-luxury",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Chart",
              "slug": "chart",
              "status": "active",
              "canonId": "019de52c-f9a0-76ef-adc6-0b859109d1f8",
              "version": 1,
              "description": "Quantitative chart."
            },
            "tool": null,
            "subkind": {
              "name": "Donut chart",
              "slug": "donut",
              "status": "active",
              "canonId": "019de52d-0006-752c-9528-0fef476b8004",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "donut",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:10:06.3+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "ffb22c7a-2b20-47c3-9eb9-73492f97cb7b",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.52,
            "w": 0.42,
            "x": 0.04,
            "y": 0.43
          },
          "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:10:06.3+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "a117ebb9-6e95-499c-83eb-f95411539db9",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Consumer motivation: 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:50:04+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-dfa4-712e-8338-16efed13de2c",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.35,
            "w": 0.42,
            "x": 0.04,
            "y": 0.08
          },
          "kind": "paragraph",
          "text": "What motivates luxury shoppers in the Middle East? More than 50% of regional consumers buy luxury products because they believe them to be of superior quality and greater longevity (compared to around one-third of global respondents), while more than 30% simply want to treat themselves, feel good or view the purchase as an investment. Definitions of luxury goods also appear to be extending beyond designer brands, to take in provenance and sustainability – around 40% of consumers in the region said they are willing to pay above-average prices for locally-produced goods, and for products from companies with ethical practices.",
          "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:10:06.3+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "b9b83401-2136-41e3-910d-4929ca64f36f",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.35,
            "x": 0.53,
            "y": 0.845
          },
          "kind": "source-note",
          "text": "Base: Those who are going to spend money on luxury or designer products, Middle East (696)",
          "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:10:06.3+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "887de49f-f45c-4551-8ab9-1125bdf5b579",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.42,
            "x": 0.528,
            "y": 0.085
          },
          "kind": "title",
          "text": "Figure 5: Why do you buy luxury or designer products?",
          "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:10:06.3+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "95b81d09-ac40-4238-b897-a3c27d9a3f68",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "Audience Segmentation",
            "slug": "audience-segmentation",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-8079-7046-8e6b-ecdf1bf15590",
            "version": 1,
            "bodyDocId": null,
            "description": "Grouping audience by attitude toward your message: Champions, Neutrals, Skeptics",
            "familyLabel": null,
            "categoryName": "Block",
            "categorySlug": "block"
          },
          "agent": "Storyteller",
          "layer": "slide",
          "agents": [
            "Storyteller"
          ],
          "matchId": "e82f1613-75d1-4933-9a58-9543ef61dc7c",
          "evidence": "Base: Those who are going to spend money on luxury or designer products, Middle East (696)",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 21:20:40.132402+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 11,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "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": "019de9cb-167e-7379-823e-62f0e0108a8f",
          "evidence": "Donut grid for percentage motivations",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 65,
          "extraction": {
            "at": "2026-05-02 17:44:52.402928+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 11,
          "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": "019de9cb-1658-71bd-83ee-b032782421de",
          "evidence": "Seven donut charts for parallel motivation drivers",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 85,
          "extraction": {
            "at": "2026-05-02 17:44:52.402928+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 11,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 11,
          "arc": {
            "name": "The Consultant's Gambit",
            "slug": "consultants-gambit",
            "status": "active",
            "bestFor": "Business cases, project proposals, strategic recommendations",
            "canonId": "019dd956-5e0a-73c8-b305-81c38c959e9c",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Situation & Context -> Problem & Complication -> Solution & Approach -> Evidence & Proof -> Impact & Next Steps",
            "description": null,
            "familyLabel": null
          },
          "from": 8,
          "name": "Solution & Approach",
          "beatId": "019de9cb-1129-740b-8ab0-a14bb08611db",
          "matchId": "019de9cb-10ad-72ad-97ae-369c40567c2d",
          "beatType": null,
          "evidence": "Consumer behaviour shifts toward essentials as the adaptive response",
          "position": 3,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 65
        },
        {
          "to": 17,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 1,
          "name": "The Facts (What)",
          "beatId": "019de9cb-11d1-72db-ad70-209cd8443f3b",
          "matchId": "019de9cb-11a9-76b9-bb36-24bf00efb157",
          "beatType": null,
          "evidence": "Survey data on prices, behaviour, channels, privacy, metaverse",
          "position": 1,
          "isPrimaryArc": false,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 55
        }
      ],
      "loops": [
        {
          "to": 11,
          "from": 8,
          "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": "019de9cb-1270-70c0-8b26-d209208ead6f",
          "evidence": "Broad spend changes (p.9) -> why less luxury (p.10) -> why buy luxury (p.11)",
          "position": 2,
          "objective": "Zoom from overall spend shifts into luxury motivations",
          "confidence": 70,
          "extraction": {
            "at": "2026-05-02 17:44:52.402928+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 12,
      "type": "setup",
      "title": "The slide uses a high-impact visual of a retail robot to set the theme for a section on modern retail technology.",
      "function": "transition",
      "rawType": "transition",
      "block": null,
      "metadata": {
        "slideType": "transition",
        "slideTypeCanon": {
          "name": "Transition",
          "slug": "transition",
          "status": "active",
          "canonId": "019de52d-0693-7766-9f05-887f41f8e41e",
          "version": 1,
          "description": null
        },
        "function": "transition",
        "functionCanon": {
          "name": "Transition",
          "slug": "transition",
          "status": "active",
          "canonId": "019de52d-1365-7149-92aa-66df859e75fd",
          "version": 1,
          "description": null
        },
        "density": "sparse",
        "densityScore": 4,
        "componentCount": 2,
        "textChars": 82,
        "nDataPoints": 0,
        "notes": "The slide uses a high-impact visual of a retail robot to set the theme for a section on modern retail technology.",
        "elementsJson": [
          "photo"
        ],
        "confidence": 0.9,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 19:10:00.375+00",
          "seconds": 2.337,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5ca1-7489-b63a-7ccef3b8a931/12",
        "deck": "/decks/019dd923-5ca1-7489-b63a-7ccef3b8a931",
        "deckAnchor": "/decks/019dd923-5ca1-7489-b63a-7ccef3b8a931#slide-12",
        "deckJson": "/decks/019dd923-5ca1-7489-b63a-7ccef3b8a931.json"
      },
      "components": [
        {
          "bbox": {
            "h": 1,
            "w": 1,
            "x": 0,
            "y": 0
          },
          "kind": "image",
          "text": "Retail robot in a store environment",
          "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:10:00.375+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "778e0d7d-adb4-4008-99c1-541fc7d1bf9a",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.55,
            "x": 0.38,
            "y": 0.65
          },
          "kind": "title",
          "text": "Multiple sales routes in a smarter retail world",
          "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:10:00.375+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "cae7870d-b22a-4835-b9aa-b540a7ad9917",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "Inductive Reasoning",
            "slug": "inductive-reasoning",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-99c6-705e-94cc-76a504c3da37",
            "version": 1,
            "bodyDocId": null,
            "description": "Grouping similar evidence to form a conclusion (Evidence → Pattern → Conclusion)",
            "familyLabel": null,
            "categoryName": "Loop",
            "categorySlug": "loop"
          },
          "agent": "Architect",
          "layer": "loop",
          "agents": [
            "Architect"
          ],
          "matchId": "019de9cb-16ce-718a-bb55-c3d8bb71bcae",
          "evidence": "Loop accumulates evidence points to conclude phygital pattern",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": null,
          "confidence": 70,
          "extraction": {
            "at": "2026-05-02 17:44:52.402928+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 12,
          "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": "019de9cb-16a6-768d-95c6-1615ca45a99d",
          "evidence": "Divider title: 'Multiple sales routes in a smarter retail world'",
          "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 17:44:52.402928+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."
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 17,
          "arc": {
            "name": "The Consultant's Gambit",
            "slug": "consultants-gambit",
            "status": "active",
            "bestFor": "Business cases, project proposals, strategic recommendations",
            "canonId": "019dd956-5e0a-73c8-b305-81c38c959e9c",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Situation & Context -> Problem & Complication -> Solution & Approach -> Evidence & Proof -> Impact & Next Steps",
            "description": null,
            "familyLabel": null
          },
          "from": 12,
          "name": "Evidence & Proof",
          "beatId": "019de9cb-1157-767e-aaf0-613ad840f3f7",
          "matchId": "019de9cb-10ad-72ad-97ae-369c40567c2d",
          "beatType": null,
          "evidence": "Multiple data points on phygital retail, channels, privacy, metaverse",
          "position": 4,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 65
        },
        {
          "to": 17,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 1,
          "name": "The Facts (What)",
          "beatId": "019de9cb-11d1-72db-ad70-209cd8443f3b",
          "matchId": "019de9cb-11a9-76b9-bb36-24bf00efb157",
          "beatType": null,
          "evidence": "Survey data on prices, behaviour, channels, privacy, metaverse",
          "position": 1,
          "isPrimaryArc": false,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 55
        }
      ],
      "loops": [
        {
          "to": 17,
          "from": 12,
          "loop": {
            "name": "02_pattern_hunter",
            "slug": "02-pattern-hunter",
            "status": "active",
            "bestFor": "Time-pressed audiences, building consensus, when data is strong",
            "canonId": "019dd956-6695-771a-be2e-f1748ef041a4",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "Evidence A -> Evidence B -> Evidence C -> Pattern/Conclusion",
            "description": "Group multiple pieces of evidence that together point to a pattern or conclusion",
            "familyLabel": null
          },
          "matchId": "019de9cb-1296-76cd-b512-a597069f9bdc",
          "evidence": "In-store appeal, click-and-collect, privacy, sector privacy, metaverse data accumulate the pattern",
          "position": 3,
          "objective": "Stack evidence pointing toward phygital, smarter retail",
          "confidence": 70,
          "extraction": {
            "at": "2026-05-02 17:44:52.402928+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 13,
      "type": "analysis",
      "title": "Data source referenced as 'Pulse 4 report'.",
      "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": 55,
        "componentCount": 6,
        "textChars": 623,
        "nDataPoints": 8,
        "notes": "Data source referenced as 'Pulse 4 report'.",
        "elementsJson": [
          "headline_text",
          "paragraph",
          "bar_chart_horizontal"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 19:10:11.483+00",
          "seconds": 13.118,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5ca1-7489-b63a-7ccef3b8a931/13",
        "deck": "/decks/019dd923-5ca1-7489-b63a-7ccef3b8a931",
        "deckAnchor": "/decks/019dd923-5ca1-7489-b63a-7ccef3b8a931#slide-13",
        "deckJson": "/decks/019dd923-5ca1-7489-b63a-7ccef3b8a931.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.52,
            "w": 0.65,
            "x": 0.04,
            "y": 0.37
          },
          "kind": "chart",
          "text": "Horizontal bar chart showing consumer preference percentages for 8 in-store attributes ranging from 49% to 25%.",
          "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:10:11.483+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "960a8e60-9a19-4d64-a2bd-a517e635aa26",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Consumer preference: 49%",
          "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:50:04+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-dfa4-712e-8337-c4de80b6f00f",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.12,
            "w": 0.65,
            "x": 0.04,
            "y": 0.15
          },
          "kind": "paragraph",
          "text": "Online shopping continues to go from strength to strength, with 40% of Middle East consumers making purchases online via smartphones, but in-store shopping continues to play a key role. Some 43% of regional consumers frequently shop in-store...",
          "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:10:11.483+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "c11495dc-4138-4edf-a251-165a537d995f",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.4,
            "x": 0.04,
            "y": 0.91
          },
          "kind": "source-note",
          "text": "Base: Those shopping in physical stores at least once a year (Middle East: 775)",
          "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:10:11.483+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "dd76416c-684b-45a3-9bcd-28454dc1be10",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.45,
            "x": 0.04,
            "y": 0.09
          },
          "kind": "title",
          "text": "Multiple sales routes in a smarter retail world",
          "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:10:11.483+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "814c4e37-eaf4-4674-a351-e96bc006916e",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.75,
            "x": 0.04,
            "y": 0.32
          },
          "kind": "title",
          "text": "Figure 6: Which of the following potential attributes of the physical store shopping experience do you find appealing?",
          "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:10:11.483+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "f063d710-0d19-4f5c-b817-4aec94e5083f",
          "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": "019de9cb-171e-7759-aa4d-ae923e025b56",
          "evidence": "Title asserts physical retail still critical alongside 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": 70,
          "extraction": {
            "at": "2026-05-02 17:44:52.402928+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": "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": "019de9cb-16f6-73d5-bcc4-6ceb2fdbf612",
          "evidence": "Horizontal bar chart ranks in-store appeal attributes",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 75,
          "extraction": {
            "at": "2026-05-02 17:44:52.402928+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": "bff0316a-5685-4c68-83f3-4a07c429bda2",
          "evidence": "chart/bar-horizontal: Horizontal bar chart showing consumer preference percentages for 8 in-store attributes ranging from 49% to 25%.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.5,
          "extraction": {
            "at": "2026-07-16 21:20:40.253094+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 13,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 17,
          "arc": {
            "name": "The Consultant's Gambit",
            "slug": "consultants-gambit",
            "status": "active",
            "bestFor": "Business cases, project proposals, strategic recommendations",
            "canonId": "019dd956-5e0a-73c8-b305-81c38c959e9c",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Situation & Context -> Problem & Complication -> Solution & Approach -> Evidence & Proof -> Impact & Next Steps",
            "description": null,
            "familyLabel": null
          },
          "from": 12,
          "name": "Evidence & Proof",
          "beatId": "019de9cb-1157-767e-aaf0-613ad840f3f7",
          "matchId": "019de9cb-10ad-72ad-97ae-369c40567c2d",
          "beatType": null,
          "evidence": "Multiple data points on phygital retail, channels, privacy, metaverse",
          "position": 4,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 65
        },
        {
          "to": 17,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 1,
          "name": "The Facts (What)",
          "beatId": "019de9cb-11d1-72db-ad70-209cd8443f3b",
          "matchId": "019de9cb-11a9-76b9-bb36-24bf00efb157",
          "beatType": null,
          "evidence": "Survey data on prices, behaviour, channels, privacy, metaverse",
          "position": 1,
          "isPrimaryArc": false,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 55
        }
      ],
      "loops": [
        {
          "to": 17,
          "from": 12,
          "loop": {
            "name": "02_pattern_hunter",
            "slug": "02-pattern-hunter",
            "status": "active",
            "bestFor": "Time-pressed audiences, building consensus, when data is strong",
            "canonId": "019dd956-6695-771a-be2e-f1748ef041a4",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "Evidence A -> Evidence B -> Evidence C -> Pattern/Conclusion",
            "description": "Group multiple pieces of evidence that together point to a pattern or conclusion",
            "familyLabel": null
          },
          "matchId": "019de9cb-1296-76cd-b512-a597069f9bdc",
          "evidence": "In-store appeal, click-and-collect, privacy, sector privacy, metaverse data accumulate the pattern",
          "position": 3,
          "objective": "Stack evidence pointing toward phygital, smarter retail",
          "confidence": 70,
          "extraction": {
            "at": "2026-05-02 17:44:52.402928+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 14,
      "type": "analysis",
      "title": "The slide uses a split-layout with a pink background for text and a black background for the chart.",
      "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": 1182,
        "nDataPoints": 7,
        "notes": "The slide uses a split-layout with a pink background for text and a black background for the chart.",
        "elementsJson": [
          "paragraph",
          "callout_box",
          "bar_chart_horizontal",
          "photo",
          "footnote"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 19:10:11.899+00",
          "seconds": 13.086,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5ca1-7489-b63a-7ccef3b8a931/14",
        "deck": "/decks/019dd923-5ca1-7489-b63a-7ccef3b8a931",
        "deckAnchor": "/decks/019dd923-5ca1-7489-b63a-7ccef3b8a931#slide-14",
        "deckJson": "/decks/019dd923-5ca1-7489-b63a-7ccef3b8a931.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.12,
            "w": 0.43,
            "x": 0.04,
            "y": 0.33
          },
          "kind": "callout",
          "text": "Investing in training for frontline shop assistants so they are knowledgeable about products and able to advise customers is an important way that retailers can add value.",
          "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:10:11.899+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "983f19ee-cb5b-4733-8233-9c695676772c",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.45,
            "w": 0.45,
            "x": 0.52,
            "y": 0.23
          },
          "kind": "chart",
          "text": "Bar chart showing reasons for in-store shopping: 55% (check product), 45% (enjoyment), 44% (view/test), 31% (delivery costs), 29% (delivery times), 23% (COVID-19), 03% (none).",
          "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:10:11.899+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "8fb6181e-6927-4b2e-a3b8-e14b80740e02",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Consumer preference percentage: 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:50:04+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-dfa4-712e-8337-64ecaac83173",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.12,
            "w": 0.43,
            "x": 0.04,
            "y": 0.14
          },
          "kind": "paragraph",
          "text": "When shopping in-store, more than 40% of regional consumers value click-and-collect services, in-store entertainment, in-store apps to browse for products, self-service checkout tills and knowledgeable and helpful sales associates.",
          "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:10:11.899+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "f6618c32-0f42-4ed7-937f-409e0d75f4a7",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.12,
            "w": 0.43,
            "x": 0.04,
            "y": 0.46
          },
          "kind": "paragraph",
          "text": "Our survey found a range of reasons why the region's shoppers value in-store experiences: 55% shop in physical stores or use click-and-collect services mainly to check if the product is the correct item and is not faulty or broken, while 45% simply enjoy in-person shopping and 44% prefer to view or test products before buying them (Figure 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:10:11.899+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "f87d0baa-10d4-4822-8e47-05df0dd03d5d",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.45,
            "x": 0.52,
            "y": 0.73
          },
          "kind": "source-note",
          "text": "Base: Those who plan to increase or not change their shopping habits in physical stores and use click and collect services, Middle East (733)",
          "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:10:11.899+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "d0d21d7f-a94f-4170-b647-1084e1538259",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.45,
            "x": 0.52,
            "y": 0.14
          },
          "kind": "title",
          "text": "Figure 7: Why will you shop in physical stores and/or use click-and-collect services?",
          "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:10:11.899+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "2acdc79e-6793-4857-ba65-af2dfbe76188",
          "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": "019de9cb-176b-7028-a13f-07ac13afb13a",
          "evidence": "Callout states staff training implication",
          "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 17:44:52.402928+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": "AIDA Model",
            "slug": "aida-model",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-86fc-773c-813f-d416714b8413",
            "version": 1,
            "bodyDocId": null,
            "description": "Attention, Interest, Desire, Action - classic persuasion sequence",
            "familyLabel": null,
            "categoryName": "Block",
            "categorySlug": "block"
          },
          "agent": "Storyteller",
          "layer": "slide",
          "agents": [
            "Storyteller"
          ],
          "matchId": "854e7520-87df-4097-b3e1-ebc83e0cd5c2",
          "evidence": "Our survey found a range of reasons why the region's shoppers value in-store experiences: 55% shop in physical stores or use click-and-collect services mainly to check if the product is the correct one.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.5,
          "extraction": {
            "at": "2026-07-16 21:20:40.337295+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": "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": "019de9cb-1744-7649-bd19-b6824bd89612",
          "evidence": "Horizontal bar chart for click-and-collect motivations",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 75,
          "extraction": {
            "at": "2026-05-02 17:44:52.402928+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 14,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 17,
          "arc": {
            "name": "The Consultant's Gambit",
            "slug": "consultants-gambit",
            "status": "active",
            "bestFor": "Business cases, project proposals, strategic recommendations",
            "canonId": "019dd956-5e0a-73c8-b305-81c38c959e9c",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Situation & Context -> Problem & Complication -> Solution & Approach -> Evidence & Proof -> Impact & Next Steps",
            "description": null,
            "familyLabel": null
          },
          "from": 12,
          "name": "Evidence & Proof",
          "beatId": "019de9cb-1157-767e-aaf0-613ad840f3f7",
          "matchId": "019de9cb-10ad-72ad-97ae-369c40567c2d",
          "beatType": null,
          "evidence": "Multiple data points on phygital retail, channels, privacy, metaverse",
          "position": 4,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 65
        },
        {
          "to": 17,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 1,
          "name": "The Facts (What)",
          "beatId": "019de9cb-11d1-72db-ad70-209cd8443f3b",
          "matchId": "019de9cb-11a9-76b9-bb36-24bf00efb157",
          "beatType": null,
          "evidence": "Survey data on prices, behaviour, channels, privacy, metaverse",
          "position": 1,
          "isPrimaryArc": false,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 55
        }
      ],
      "loops": [
        {
          "to": 17,
          "from": 12,
          "loop": {
            "name": "02_pattern_hunter",
            "slug": "02-pattern-hunter",
            "status": "active",
            "bestFor": "Time-pressed audiences, building consensus, when data is strong",
            "canonId": "019dd956-6695-771a-be2e-f1748ef041a4",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "Evidence A -> Evidence B -> Evidence C -> Pattern/Conclusion",
            "description": "Group multiple pieces of evidence that together point to a pattern or conclusion",
            "familyLabel": null
          },
          "matchId": "019de9cb-1296-76cd-b512-a597069f9bdc",
          "evidence": "In-store appeal, click-and-collect, privacy, sector privacy, metaverse data accumulate the pattern",
          "position": 3,
          "objective": "Stack evidence pointing toward phygital, smarter retail",
          "confidence": 70,
          "extraction": {
            "at": "2026-05-02 17:44:52.402928+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 15,
      "type": "analysis",
      "title": "Includes specific data points for UAE, Saudi Arabia, and Egypt regarding data sharing concerns.",
      "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": 65,
        "componentCount": 8,
        "textChars": 484,
        "nDataPoints": 7,
        "notes": "Includes specific data points for UAE, Saudi Arabia, and Egypt regarding data sharing concerns.",
        "elementsJson": [
          "headline_text",
          "paragraph",
          "photo",
          "infographic"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 19:10:01.628+00",
          "seconds": 2.719,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5ca1-7489-b63a-7ccef3b8a931/15",
        "deck": "/decks/019dd923-5ca1-7489-b63a-7ccef3b8a931",
        "deckAnchor": "/decks/019dd923-5ca1-7489-b63a-7ccef3b8a931#slide-15",
        "deckJson": "/decks/019dd923-5ca1-7489-b63a-7ccef3b8a931.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "Close to half of regional consumers don't share any more personal data than is necessary: 44% in the UAE, 45% in Saudi Arabia and 57% in Egypt.",
          "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:50:05+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-dfa4-712e-8338-99a025e1502c",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 1,
            "w": 0.5,
            "x": 0.5,
            "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:10:01.628+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "1e871ec7-8cb0-4d59-96c9-a0e42dca9474",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.08,
            "x": 0.41,
            "y": 0.76
          },
          "kind": "metric",
          "text": "57%",
          "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:10:01.628+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "08be9ae5-746e-4e73-a20a-b1846227c7cc",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.08,
            "x": 0.24,
            "y": 0.76
          },
          "kind": "metric",
          "text": "45%",
          "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:10:01.628+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "a6ccfb6e-2f21-4618-a042-fedb54caf70a",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.08,
            "x": 0.07,
            "y": 0.78
          },
          "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:10:01.628+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "f41b43ad-6821-499b-9a50-eb8731b315b1",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Consumer data privacy concern: 57%",
          "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:50:05+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-dfa4-712e-8338-9ecb795c003a",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.55,
            "w": 0.42,
            "x": 0.04,
            "y": 0.13
          },
          "kind": "paragraph",
          "text": "Around a quarter of consumers in the region expect to shop less in-store over the next six months... Mobile phones remain a key channel... Another key aspect of shopping online is trust that retailers are protecting consumers' confidential data.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "5f2affc0-941d-4d07-959d-4bfc1930cea4",
              "version": 1,
              "description": "Single prose block in the body of a slide."
            },
            "tool": null,
            "subkind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "019de52c-fb80-75af-aa5c-a7a4bfac2433",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "paragraph",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:10:01.628+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "ea2e2893-ed23-4324-a828-2411d41351c8",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.4,
            "x": 0.04,
            "y": 0.08
          },
          "kind": "title",
          "text": "Consumers continue to change where and when they shop",
          "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:10:01.628+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "d796aec4-a5ac-4157-984b-46b94e5dbb39",
          "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": "019de9cb-1793-720f-9b30-d3b119e92a12",
          "evidence": "Title states consumers are changing where and when they shop",
          "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 17:44:52.402928+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": "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": "019de9cb-17bb-70f8-91cc-10f0a9f87bef",
          "evidence": "Callout makes privacy concern by country concrete",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": "On every slide carrying a chart, number, list, or finding intended to inform a decision; whenever a draft title is descriptive rather than directive; whenever the deck will circulate without its author.",
          "confidence": 70,
          "extraction": {
            "at": "2026-05-02 17:44:52.402928+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 15,
          "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": 17,
          "arc": {
            "name": "The Consultant's Gambit",
            "slug": "consultants-gambit",
            "status": "active",
            "bestFor": "Business cases, project proposals, strategic recommendations",
            "canonId": "019dd956-5e0a-73c8-b305-81c38c959e9c",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Situation & Context -> Problem & Complication -> Solution & Approach -> Evidence & Proof -> Impact & Next Steps",
            "description": null,
            "familyLabel": null
          },
          "from": 12,
          "name": "Evidence & Proof",
          "beatId": "019de9cb-1157-767e-aaf0-613ad840f3f7",
          "matchId": "019de9cb-10ad-72ad-97ae-369c40567c2d",
          "beatType": null,
          "evidence": "Multiple data points on phygital retail, channels, privacy, metaverse",
          "position": 4,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 65
        },
        {
          "to": 17,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 1,
          "name": "The Facts (What)",
          "beatId": "019de9cb-11d1-72db-ad70-209cd8443f3b",
          "matchId": "019de9cb-11a9-76b9-bb36-24bf00efb157",
          "beatType": null,
          "evidence": "Survey data on prices, behaviour, channels, privacy, metaverse",
          "position": 1,
          "isPrimaryArc": false,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 55
        }
      ],
      "loops": [
        {
          "to": 17,
          "from": 12,
          "loop": {
            "name": "02_pattern_hunter",
            "slug": "02-pattern-hunter",
            "status": "active",
            "bestFor": "Time-pressed audiences, building consensus, when data is strong",
            "canonId": "019dd956-6695-771a-be2e-f1748ef041a4",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "Evidence A -> Evidence B -> Evidence C -> Pattern/Conclusion",
            "description": "Group multiple pieces of evidence that together point to a pattern or conclusion",
            "familyLabel": null
          },
          "matchId": "019de9cb-1296-76cd-b512-a597069f9bdc",
          "evidence": "In-store appeal, click-and-collect, privacy, sector privacy, metaverse data accumulate the pattern",
          "position": 3,
          "objective": "Stack evidence pointing toward phygital, smarter retail",
          "confidence": 70,
          "extraction": {
            "at": "2026-05-02 17:44:52.402928+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 16,
      "type": "analysis",
      "title": "The data is presented as a series of hexagons, with percentages displayed in smaller yellow hexagons above each category.",
      "function": "analyze_data",
      "rawType": "data_table",
      "block": null,
      "metadata": {
        "slideType": "data_table",
        "slideTypeCanon": {
          "name": "Data table",
          "slug": "data_table",
          "status": "active",
          "canonId": "019de52d-0bbd-71b9-9918-417f904abbf8",
          "version": 1,
          "description": null
        },
        "function": "analyze_data",
        "functionCanon": {
          "name": "Analyze data",
          "slug": "analyze_data",
          "status": "active",
          "canonId": "019de52d-1590-7413-8c82-cc218cff40b4",
          "version": 1,
          "description": null
        },
        "density": "overcrowded",
        "densityScore": 77,
        "componentCount": 12,
        "textChars": 528,
        "nDataPoints": 7,
        "notes": "The data is presented as a series of hexagons, with percentages displayed in smaller yellow hexagons above each category.",
        "elementsJson": [
          "infographic",
          "big_number"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 19:10:18.246+00",
          "seconds": 18.975,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5ca1-7489-b63a-7ccef3b8a931/16",
        "deck": "/decks/019dd923-5ca1-7489-b63a-7ccef3b8a931",
        "deckAnchor": "/decks/019dd923-5ca1-7489-b63a-7ccef3b8a931#slide-16",
        "deckJson": "/decks/019dd923-5ca1-7489-b63a-7ccef3b8a931.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "Social media websites and media companies are the primary sources of data privacy concern for Middle East consumers.",
          "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:50:04+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-dfa4-712e-8337-3b4b43b9bc26",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.15,
            "x": 0.74,
            "y": 0.16
          },
          "kind": "legend",
          "text": "Very to extremely concerned",
          "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:10:18.246+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "5c05de8c-c9ec-4ba5-84bb-639845056770",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.18,
            "w": 0.12,
            "x": 0.78,
            "y": 0.23
          },
          "kind": "metric",
          "text": "29% Third-party/portal travel websites",
          "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:10:18.246+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "12f020c5-cc76-4e1f-ac74-5e8b58f2b4db",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.18,
            "w": 0.12,
            "x": 0.53,
            "y": 0.23
          },
          "kind": "metric",
          "text": "29% Consumer companies",
          "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:10:18.246+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "71b6ca87-d01c-41ee-9b09-8da05c6eceaf",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.18,
            "w": 0.12,
            "x": 0.28,
            "y": 0.23
          },
          "kind": "metric",
          "text": "37% Media",
          "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:10:18.246+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "965772b9-7f16-4856-a11f-95ff9d880ec0",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.18,
            "w": 0.12,
            "x": 0.78,
            "y": 0.61
          },
          "kind": "metric",
          "text": "26% Travel operator websites to book direct",
          "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:10:18.246+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "a88502f1-41ea-4eda-a971-abb9e0f95cab",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.18,
            "w": 0.12,
            "x": 0.28,
            "y": 0.61
          },
          "kind": "metric",
          "text": "28% Retail companies",
          "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:10:18.246+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "aef2e33b-ad94-49f4-a421-796cee1d0f45",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.18,
            "w": 0.12,
            "x": 0.04,
            "y": 0.23
          },
          "kind": "metric",
          "text": "40% Social media websites",
          "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:10:18.246+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "baf54459-c9a7-4213-be8c-ae252e9928cf",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.18,
            "w": 0.12,
            "x": 0.53,
            "y": 0.61
          },
          "kind": "metric",
          "text": "28% Healthcare",
          "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:10:18.246+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "e9379eb4-5a4b-4e01-b7b7-21b2c9e56405",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Consumer privacy concern: 40%",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 13:50:04+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-dfa4-712e-8337-3c073ac87e27",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.2,
            "x": 0.04,
            "y": 0.92
          },
          "kind": "subtitle",
          "text": "Base: Middle East respondents (771)",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Subtitle",
              "slug": "subtitle",
              "status": "active",
              "canonId": "82d821ee-2793-42e7-8f16-c6131385a3ce",
              "version": 1,
              "description": "Header-zone supporting text near the title (= ex body.description with bbox)."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:10:18.246+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "f6654763-042b-420b-ae49-b7a47d108515",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.85,
            "x": 0.04,
            "y": 0.08
          },
          "kind": "title",
          "text": "Figure 8: To what extent, if at all, are you concerned about the privacy of your personal data when interacting with the following types of companies?",
          "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:10:18.246+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "88285497-ab98-4033-9ff4-bbe916a4a2fa",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "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": "019de9cb-180a-74bd-9283-8c144bcdb44b",
          "evidence": "Yellow tag highlights percentage against pink hex labels",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 75,
          "extraction": {
            "at": "2026-05-02 17:44:52.402928+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 16,
          "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": "019de9cb-1831-7108-8dd4-cd111092f3a8",
          "evidence": "Color and number size process instantly",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 65,
          "extraction": {
            "at": "2026-05-02 17:44:52.402928+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 16,
          "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": "019de9cb-17e1-706e-ac2d-5b1b6733d2d7",
          "evidence": "Hexagons sequenced by percentage with social media leading",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 80,
          "extraction": {
            "at": "2026-05-02 17:44:52.402928+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 16,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 17,
          "arc": {
            "name": "The Consultant's Gambit",
            "slug": "consultants-gambit",
            "status": "active",
            "bestFor": "Business cases, project proposals, strategic recommendations",
            "canonId": "019dd956-5e0a-73c8-b305-81c38c959e9c",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Situation & Context -> Problem & Complication -> Solution & Approach -> Evidence & Proof -> Impact & Next Steps",
            "description": null,
            "familyLabel": null
          },
          "from": 12,
          "name": "Evidence & Proof",
          "beatId": "019de9cb-1157-767e-aaf0-613ad840f3f7",
          "matchId": "019de9cb-10ad-72ad-97ae-369c40567c2d",
          "beatType": null,
          "evidence": "Multiple data points on phygital retail, channels, privacy, metaverse",
          "position": 4,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 65
        },
        {
          "to": 17,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 1,
          "name": "The Facts (What)",
          "beatId": "019de9cb-11d1-72db-ad70-209cd8443f3b",
          "matchId": "019de9cb-11a9-76b9-bb36-24bf00efb157",
          "beatType": null,
          "evidence": "Survey data on prices, behaviour, channels, privacy, metaverse",
          "position": 1,
          "isPrimaryArc": false,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 55
        }
      ],
      "loops": [
        {
          "to": 17,
          "from": 12,
          "loop": {
            "name": "02_pattern_hunter",
            "slug": "02-pattern-hunter",
            "status": "active",
            "bestFor": "Time-pressed audiences, building consensus, when data is strong",
            "canonId": "019dd956-6695-771a-be2e-f1748ef041a4",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "Evidence A -> Evidence B -> Evidence C -> Pattern/Conclusion",
            "description": "Group multiple pieces of evidence that together point to a pattern or conclusion",
            "familyLabel": null
          },
          "matchId": "019de9cb-1296-76cd-b512-a597069f9bdc",
          "evidence": "In-store appeal, click-and-collect, privacy, sector privacy, metaverse data accumulate the pattern",
          "position": 3,
          "objective": "Stack evidence pointing toward phygital, smarter retail",
          "confidence": 70,
          "extraction": {
            "at": "2026-05-02 17:44:52.402928+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 17,
      "type": "analysis",
      "title": "The slide uses a series of donut charts to visualize survey results regarding metaverse participation.",
      "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": 61,
        "componentCount": 7,
        "textChars": 559,
        "nDataPoints": 8,
        "notes": "The slide uses a series of donut charts to visualize survey results regarding metaverse participation.",
        "elementsJson": [
          "headline_text",
          "paragraph",
          "donut_chart"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 19:10:02.403+00",
          "seconds": 3.083,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5ca1-7489-b63a-7ccef3b8a931/17",
        "deck": "/decks/019dd923-5ca1-7489-b63a-7ccef3b8a931",
        "deckAnchor": "/decks/019dd923-5ca1-7489-b63a-7ccef3b8a931#slide-17",
        "deckJson": "/decks/019dd923-5ca1-7489-b63a-7ccef3b8a931.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "It is still very early days for the metaverse, but its use in retail is inevitable.",
          "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:50:04+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-dfa4-712e-8338-4c690b8b65a9",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.7,
            "w": 0.45,
            "x": 0.52,
            "y": 0.15
          },
          "kind": "chart",
          "text": "8 donut charts showing percentages for various metaverse activities",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Chart",
              "slug": "chart",
              "status": "active",
              "canonId": "019de52c-f9a0-76ef-adc6-0b859109d1f8",
              "version": 1,
              "description": "Quantitative chart."
            },
            "tool": null,
            "subkind": {
              "name": "Donut chart",
              "slug": "donut",
              "status": "active",
              "canonId": "019de52d-0006-752c-9528-0fef476b8004",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "donut",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:10:02.403+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "fc0c40aa-25d8-4007-a1ee-b394e813fccf",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Consumer participation rate: 35%",
          "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:50:04+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-dfa4-712e-8338-5174be5b96ec",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.75,
            "w": 0.4,
            "x": 0.05,
            "y": 0.13
          },
          "kind": "paragraph",
          "text": "It is still very early days for the metaverse, but its use in retail is inevitable. Many Middle East consumers remain somewhat in the dark about what this new virtual world will offer in practice...",
          "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:10:02.403+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "556ffceb-a8b9-428a-9126-65672b93ad18",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.2,
            "x": 0.52,
            "y": 0.92
          },
          "kind": "source-note",
          "text": "Base: Middle East respondents (771)",
          "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:10:02.403+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "2a8f0ad7-4986-4f99-a61d-1e2df8fdde88",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.35,
            "x": 0.05,
            "y": 0.08
          },
          "kind": "title",
          "text": "In focus: shopping in the Metaverse",
          "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:10:02.403+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "49c8417a-fa31-41e1-a9f9-b548af4ebf0d",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.45,
            "x": 0.52,
            "y": 0.08
          },
          "kind": "title",
          "text": "Figure 9: In the last 6 months, which of the following metaverse-related activities have you participated 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:10:02.403+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "9c3a5de0-25f6-402d-bdfc-9364cefd0173",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "Chart Selection Guide",
            "slug": "chart-selection-guide",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-b1a0-700b-ba17-0e16c4d5bcae",
            "version": 1,
            "bodyDocId": null,
            "description": "Choosing the right chart type for your data and message",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "019de9cb-1880-76eb-b003-a89d3fd6cad0",
          "evidence": "Donut format for percentage participation",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 65,
          "extraction": {
            "at": "2026-05-02 17:44:52.402928+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 17,
          "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": "019de9cb-1858-7629-8784-08beae94fefa",
          "evidence": "Donut chart series for metaverse activity types",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 80,
          "extraction": {
            "at": "2026-05-02 17:44:52.402928+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 17,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 17,
          "arc": {
            "name": "The Consultant's Gambit",
            "slug": "consultants-gambit",
            "status": "active",
            "bestFor": "Business cases, project proposals, strategic recommendations",
            "canonId": "019dd956-5e0a-73c8-b305-81c38c959e9c",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Situation & Context -> Problem & Complication -> Solution & Approach -> Evidence & Proof -> Impact & Next Steps",
            "description": null,
            "familyLabel": null
          },
          "from": 12,
          "name": "Evidence & Proof",
          "beatId": "019de9cb-1157-767e-aaf0-613ad840f3f7",
          "matchId": "019de9cb-10ad-72ad-97ae-369c40567c2d",
          "beatType": null,
          "evidence": "Multiple data points on phygital retail, channels, privacy, metaverse",
          "position": 4,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 65
        },
        {
          "to": 17,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 1,
          "name": "The Facts (What)",
          "beatId": "019de9cb-11d1-72db-ad70-209cd8443f3b",
          "matchId": "019de9cb-11a9-76b9-bb36-24bf00efb157",
          "beatType": null,
          "evidence": "Survey data on prices, behaviour, channels, privacy, metaverse",
          "position": 1,
          "isPrimaryArc": false,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 55
        }
      ],
      "loops": [
        {
          "to": 17,
          "from": 12,
          "loop": {
            "name": "02_pattern_hunter",
            "slug": "02-pattern-hunter",
            "status": "active",
            "bestFor": "Time-pressed audiences, building consensus, when data is strong",
            "canonId": "019dd956-6695-771a-be2e-f1748ef041a4",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "Evidence A -> Evidence B -> Evidence C -> Pattern/Conclusion",
            "description": "Group multiple pieces of evidence that together point to a pattern or conclusion",
            "familyLabel": null
          },
          "matchId": "019de9cb-1296-76cd-b512-a597069f9bdc",
          "evidence": "In-store appeal, click-and-collect, privacy, sector privacy, metaverse data accumulate the pattern",
          "position": 3,
          "objective": "Stack evidence pointing toward phygital, smarter retail",
          "confidence": 70,
          "extraction": {
            "at": "2026-05-02 17:44:52.402928+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 18,
      "type": "setup",
      "function": "transition",
      "rawType": "section_divider",
      "block": null,
      "metadata": {
        "slideType": "section_divider",
        "slideTypeCanon": {
          "name": "Section divider",
          "slug": "section_divider",
          "status": "active",
          "canonId": "019de52d-066a-7402-9554-6ae504999041",
          "version": 1,
          "description": null
        },
        "function": "transition",
        "functionCanon": {
          "name": "Transition",
          "slug": "transition",
          "status": "active",
          "canonId": "019de52d-1365-7149-92aa-66df859e75fd",
          "version": 1,
          "description": null
        },
        "density": "sparse",
        "densityScore": 1,
        "componentCount": 2,
        "textChars": 10,
        "nDataPoints": 0,
        "notes": null,
        "elementsJson": [
          "photo"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 19:10:01.112+00",
          "seconds": 1.684,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5ca1-7489-b63a-7ccef3b8a931/18",
        "deck": "/decks/019dd923-5ca1-7489-b63a-7ccef3b8a931",
        "deckAnchor": "/decks/019dd923-5ca1-7489-b63a-7ccef3b8a931#slide-18",
        "deckJson": "/decks/019dd923-5ca1-7489-b63a-7ccef3b8a931.json"
      },
      "components": [
        {
          "bbox": {
            "h": 1,
            "w": 1,
            "x": 0,
            "y": 0
          },
          "kind": "image",
          "text": null,
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Image",
              "slug": "image",
              "status": "active",
              "canonId": "019de52c-f978-701f-a720-51d029d769e7",
              "version": 1,
              "description": "Photo, illustration, screenshot or icon."
            },
            "tool": null,
            "subkind": {
              "name": "Photo",
              "slug": "photo",
              "status": "active",
              "canonId": "019de52c-fd37-757f-b4a8-ca26d4888875",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "photo",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:10:01.112+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "4c7ae088-2c95-4c89-a571-62ea6ee89165",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.077,
            "w": 0.226,
            "x": 0.387,
            "y": 0.714
          },
          "kind": "title",
          "text": "Conclusion",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:10:01.112+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "80730f19-e503-43d0-a968-3934976f6da0",
          "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": "6ac21f81-c9c2-48b4-8b24-271aba03f7fd",
          "evidence": "title/headline: Conclusion",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.9,
          "extraction": {
            "at": "2026-07-16 21:20:40.559557+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 18,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": "common",
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 22,
          "arc": {
            "name": "The Consultant's Gambit",
            "slug": "consultants-gambit",
            "status": "active",
            "bestFor": "Business cases, project proposals, strategic recommendations",
            "canonId": "019dd956-5e0a-73c8-b305-81c38c959e9c",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Situation & Context -> Problem & Complication -> Solution & Approach -> Evidence & Proof -> Impact & Next Steps",
            "description": null,
            "familyLabel": null
          },
          "from": 18,
          "name": "Impact & Next Steps",
          "beatId": "019de9cb-117f-77ee-b14a-59f1925daaed",
          "matchId": "019de9cb-10ad-72ad-97ae-369c40567c2d",
          "beatType": null,
          "evidence": "Conclusion synthesizes phygital implications; methodology + Get-in-touch close",
          "position": 5,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 65
        },
        {
          "to": 19,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 18,
          "name": "The Implications (So What)",
          "beatId": "019de9cb-11fa-76ac-ad69-2af51cdc28f1",
          "matchId": "019de9cb-11a9-76b9-bb36-24bf00efb157",
          "beatType": null,
          "evidence": "Conclusion synthesizes implications around phygital and customer priorities",
          "position": 2,
          "isPrimaryArc": false,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 55
        }
      ],
      "loops": [],
      "locked": true
    },
    {
      "page": 19,
      "type": "resolution",
      "title": "The slide uses a split-color layout (pink and black) to present the conclusion text in two columns.",
      "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": "overcrowded",
        "densityScore": 80,
        "componentCount": 9,
        "textChars": 1507,
        "nDataPoints": 0,
        "notes": "The slide uses a split-color layout (pink and black) to present the conclusion text in two columns.",
        "elementsJson": [
          "paragraph"
        ],
        "confidence": 0.9,
        "extraction": {
          "model": "google/gemini-3.5-flash",
          "runId": null,
          "at": "2026-07-17 03:44:01.245+00",
          "seconds": 8.241,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5ca1-7489-b63a-7ccef3b8a931/19",
        "deck": "/decks/019dd923-5ca1-7489-b63a-7ccef3b8a931",
        "deckAnchor": "/decks/019dd923-5ca1-7489-b63a-7ccef3b8a931#slide-19",
        "deckJson": "/decks/019dd923-5ca1-7489-b63a-7ccef3b8a931.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "To compete, retailers need to keep a laser focus on customer priorities, including price, and tailor their offerings accordingly.",
          "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:50:04+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-dfa4-712e-8337-811a9a838d91",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.178,
            "w": 0.407,
            "x": 0.545,
            "y": 0.00158
          },
          "kind": "paragraph",
          "text": "However, technology can only achieve so much while consumers and retailers are being hit with the effects of rising inflation and the higher cost of living. These fundamental issues are impacting how and how often consumers shop...",
          "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:44:01.245+00",
            "model": "google/gemini-3.5-flash",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "47238637-5233-4904-b5ba-7fad872f16e5",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.205,
            "w": 0.407,
            "x": 0.545,
            "y": 0.00549
          },
          "kind": "paragraph",
          "text": "Technology development in the retail space that meets all the needs and demands of consumers is still a work in progress, but all stakeholders need to begin to investigate how the shopping experience will change...",
          "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:44:01.245+00",
            "model": "google/gemini-3.5-flash",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "93f9f407-deaa-4af4-ac8f-a04ab0b61b36",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.178,
            "w": 0.402,
            "x": 0.043,
            "y": 0.627
          },
          "kind": "paragraph",
          "text": "To enable this, retailers need to confront supply chain disruptions and online and in-store frictions that interrupt the seamless experience that tech-savvy hybrid consumers will increasingly expect.",
          "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:44:01.245+00",
            "model": "google/gemini-3.5-flash",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "bdc3176d-b98a-4763-88cc-a516bc99efd1",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.151,
            "w": 0.402,
            "x": 0.043,
            "y": 0.233
          },
          "kind": "paragraph",
          "text": "The survey results above show consumers are entering an increasingly combined physical and digital - \"phygital\" - world. They are seeking the convenience of buying online with the confidence of buying in-store.",
          "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:44:01.245+00",
            "model": "google/gemini-3.5-flash",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "c34b99b9-c67c-43c0-8ee4-e6438e9196ce",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.151,
            "w": 0.407,
            "x": 0.545,
            "y": 0.00367
          },
          "kind": "paragraph",
          "text": "Another key consideration for retailers adopting digital technologies and building brand loyalty is the importance consumers place on strong data privacy. Our survey results show consumers are wary of sharing personal data...",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "5f2affc0-941d-4d07-959d-4bfc1930cea4",
              "version": 1,
              "description": "Single prose block in the body of a slide."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": "paragraph",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-07-17 03:44:01.245+00",
            "model": "google/gemini-3.5-flash",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "cf59abde-2a9e-4e4a-9c8c-4f0952121a91",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.178,
            "w": 0.402,
            "x": 0.043,
            "y": 0.417
          },
          "kind": "paragraph",
          "text": "Embedding technologies and metaverse solutions in e-commerce and in-store can help shoppers browse products, test them, or try them on. The new hybrid consumer will want to find the product online, use virtual reality...",
          "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:44:01.245+00",
            "model": "google/gemini-3.5-flash",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "f9a571c2-287e-453a-a60f-d871fd3dfba9",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.046,
            "w": 0.365,
            "x": 0.043,
            "y": 0.158
          },
          "kind": "title",
          "text": "View of the future: the rise of the \"phygital\" world and smart retail",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "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-07-17 03:44:01.245+00",
            "model": "google/gemini-3.5-flash",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "8e8e7e95-628f-4175-ac5d-9adbdbbe6a5d",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.032,
            "w": 0.115,
            "x": 0.043,
            "y": 0.102
          },
          "kind": "title",
          "text": "Conclusion",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-07-17 03:44:01.245+00",
            "model": "google/gemini-3.5-flash",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "c1b2543e-e026-4f07-9274-7eac6d72a942",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "Pyramid Principle",
            "slug": "pyramid-principle",
            "status": "active",
            "bestFor": "When the document has a single governing decision or recommendation the reader is asked to accept, and the case can be decomposed into a small number of clean groups. Strategy decks, board memos, investment committee papers.",
            "canonId": "019dd956-7cbd-7219-a477-c871e2bc1aff",
            "version": 1,
            "bodyDocId": "88b6ac56-b880-46f9-8621-ef3491ab6235",
            "description": "Lead with the answer; group three to five MECE supports beneath it; recurse one level down. Top-down hierarchical structure for any document with a single recommendation.",
            "familyLabel": null,
            "categoryName": "Block",
            "categorySlug": "block"
          },
          "agent": "Architect",
          "layer": "block",
          "agents": [
            "Architect"
          ],
          "matchId": "019de9cb-18aa-7559-ba22-88dd947c210e",
          "evidence": "Conclusion leads with phygital thesis, then supporting points",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": "When the document has a single governing decision or recommendation the reader is asked to accept, and the case can be decomposed into a small number of clean groups. Strategy decks, board memos, investment committee papers.",
          "confidence": 70,
          "extraction": {
            "at": "2026-05-02 17:44:52.402928+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 19,
          "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": "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": "019de9cb-18fa-71df-b269-0062fda2d07e",
          "evidence": "Vision close on phygital plus retailer to-do list",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 70,
          "extraction": {
            "at": "2026-05-02 17:44:52.402928+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 19,
          "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": "019de9cb-18d2-731a-8b9f-d9729dd86bcc",
          "evidence": "Callout: 'retailers need to keep a laser focus on customer priorities'",
          "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 17:44:52.402928+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 19,
          "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": "Story Moments",
            "slug": "story-moments",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-ae4e-768d-a18b-108e6cda511e",
            "version": 1,
            "bodyDocId": null,
            "description": "Design key emotional beats: The Shock, The Vision, The Proof, The Choice, The Call",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Storyteller",
          "layer": "slide",
          "agents": [
            "Storyteller"
          ],
          "matchId": "1630184f-3977-4ccd-ab5b-036dcea130b8",
          "evidence": "The slide contains paragraphs describing a narrative about the future of retail, which can be considered a story moment.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.5,
          "extraction": {
            "at": "2026-07-17 03:52:58.943649+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 19,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 22,
          "arc": {
            "name": "The Consultant's Gambit",
            "slug": "consultants-gambit",
            "status": "active",
            "bestFor": "Business cases, project proposals, strategic recommendations",
            "canonId": "019dd956-5e0a-73c8-b305-81c38c959e9c",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Situation & Context -> Problem & Complication -> Solution & Approach -> Evidence & Proof -> Impact & Next Steps",
            "description": null,
            "familyLabel": null
          },
          "from": 18,
          "name": "Impact & Next Steps",
          "beatId": "019de9cb-117f-77ee-b14a-59f1925daaed",
          "matchId": "019de9cb-10ad-72ad-97ae-369c40567c2d",
          "beatType": null,
          "evidence": "Conclusion synthesizes phygital implications; methodology + Get-in-touch close",
          "position": 5,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 65
        },
        {
          "to": 19,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 18,
          "name": "The Implications (So What)",
          "beatId": "019de9cb-11fa-76ac-ad69-2af51cdc28f1",
          "matchId": "019de9cb-11a9-76b9-bb36-24bf00efb157",
          "beatType": null,
          "evidence": "Conclusion synthesizes implications around phygital and customer priorities",
          "position": 2,
          "isPrimaryArc": false,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 55
        }
      ],
      "loops": [],
      "locked": true
    },
    {
      "page": 20,
      "type": "setup",
      "title": "Timeline visualization showing survey dates from 2019 to 2022.",
      "function": "summarize",
      "rawType": "appendix_methodology",
      "block": null,
      "metadata": {
        "slideType": "appendix_methodology",
        "slideTypeCanon": {
          "name": "Appendix methodology",
          "slug": "appendix_methodology",
          "status": "active",
          "canonId": "019de52d-07d9-726c-8599-167f2d2ffaa7",
          "version": 1,
          "description": null
        },
        "function": "summarize",
        "functionCanon": {
          "name": "Summarize",
          "slug": "summarize",
          "status": "active",
          "canonId": "019de52d-1541-704f-b86f-bf7b75056373",
          "version": 1,
          "description": null
        },
        "density": "balanced",
        "densityScore": 44,
        "componentCount": 5,
        "textChars": 566,
        "nDataPoints": 5,
        "notes": "Timeline visualization showing survey dates from 2019 to 2022.",
        "elementsJson": [
          "paragraph",
          "timeline_visual"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 19:10:12.279+00",
          "seconds": 12.655,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5ca1-7489-b63a-7ccef3b8a931/20",
        "deck": "/decks/019dd923-5ca1-7489-b63a-7ccef3b8a931",
        "deckAnchor": "/decks/019dd923-5ca1-7489-b63a-7ccef3b8a931#slide-20",
        "deckJson": "/decks/019dd923-5ca1-7489-b63a-7ccef3b8a931.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.35,
            "w": 0.92,
            "x": 0.04,
            "y": 0.41
          },
          "kind": "diagram",
          "text": "Timeline of survey pulses from September 2019 to November 2022",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Diagram",
              "slug": "diagram",
              "status": "active",
              "canonId": "019de52c-f9f0-734a-81de-15382ff28c65",
              "version": 1,
              "description": "Schematic or relational diagram."
            },
            "tool": null,
            "subkind": {
              "name": "Timeline",
              "slug": "timeline",
              "status": "active",
              "canonId": "019de52d-03c5-73fc-84aa-4180cbf0f5cf",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "timeline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:10:12.279+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "c1de5a8c-b4d4-4d5d-9fab-3c41c1aaf6b1",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "sample size: 771",
          "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:50:05+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-dfa4-712e-8338-65ff2aa107e7",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.45,
            "x": 0.04,
            "y": 0.29
          },
          "kind": "paragraph",
          "text": "This report references the Middle East findings of the following surveys:",
          "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:10:12.279+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "0395d4a6-a0a1-494c-86d8-5cbbcbcd0231",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.08,
            "w": 0.92,
            "x": 0.04,
            "y": 0.19
          },
          "kind": "paragraph",
          "text": "The Pulse 5 Middle East findings for PwC's latest global consumer insights survey include responses from 771 consumers in Egypt, Saudi Arabia and the UAE, split between 58% men and 42% women. 86% of the respondents are in the 18-41 age group, reflecting the region's young demographic profile, and around 74% are employed. 39% say they have a hybrid-working pattern and can be based in any location.",
          "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:10:12.279+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "4fda6f2b-c534-4222-aec8-a8573c90a551",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.17,
            "x": 0.04,
            "y": 0.14
          },
          "kind": "title",
          "text": "About the 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:10:12.279+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "c8d5aeff-357d-4949-aac2-542b7d6611f3",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [],
      "frameworks": [
        {
          "matchId": "8ea799da-5db7-423b-b86b-e3be8d9ac6b8",
          "evidence": "Chronological representation of survey events",
          "framework": null,
          "confidence": 1,
          "extraction": {
            "at": "2026-05-02 19:10:12.279+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 20,
          "frameworkName": "timeline"
        }
      ],
      "arcBeats": [
        {
          "to": 22,
          "arc": {
            "name": "The Consultant's Gambit",
            "slug": "consultants-gambit",
            "status": "active",
            "bestFor": "Business cases, project proposals, strategic recommendations",
            "canonId": "019dd956-5e0a-73c8-b305-81c38c959e9c",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Situation & Context -> Problem & Complication -> Solution & Approach -> Evidence & Proof -> Impact & Next Steps",
            "description": null,
            "familyLabel": null
          },
          "from": 18,
          "name": "Impact & Next Steps",
          "beatId": "019de9cb-117f-77ee-b14a-59f1925daaed",
          "matchId": "019de9cb-10ad-72ad-97ae-369c40567c2d",
          "beatType": null,
          "evidence": "Conclusion synthesizes phygital implications; methodology + Get-in-touch close",
          "position": 5,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 65
        }
      ],
      "loops": [],
      "locked": true
    },
    {
      "page": 21,
      "type": "setup",
      "title": "Includes methodology notes on survey base sizes and rounding, plus contact details for five partners/advisors.",
      "function": "front_matter",
      "rawType": "appendix_disclosure",
      "block": null,
      "metadata": {
        "slideType": "appendix_disclosure",
        "slideTypeCanon": {
          "name": "Appendix disclosure",
          "slug": "appendix_disclosure",
          "status": "active",
          "canonId": "019de52d-07b2-7549-8e8b-932a19f6e616",
          "version": 1,
          "description": null
        },
        "function": "front_matter",
        "functionCanon": {
          "name": "Front matter",
          "slug": "front_matter",
          "status": "active",
          "canonId": "019de52d-133d-73f0-9e26-201eda96b098",
          "version": 1,
          "description": null
        },
        "density": "balanced",
        "densityScore": 49,
        "componentCount": 5,
        "textChars": 1041,
        "nDataPoints": 0,
        "notes": "Includes methodology notes on survey base sizes and rounding, plus contact details for five partners/advisors.",
        "elementsJson": [
          "paragraph",
          "headshot",
          "photo"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 19:10:02.878+00",
          "seconds": 3.156,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5ca1-7489-b63a-7ccef3b8a931/21",
        "deck": "/decks/019dd923-5ca1-7489-b63a-7ccef3b8a931",
        "deckAnchor": "/decks/019dd923-5ca1-7489-b63a-7ccef3b8a931#slide-21",
        "deckJson": "/decks/019dd923-5ca1-7489-b63a-7ccef3b8a931.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "If you would like to find out more, visit us at www.pwc.com/me or get in touch.",
          "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:50:04+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-dfa4-712e-8337-dbd381eed12b",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.25,
            "w": 0.42,
            "x": 0.04,
            "y": 0.08
          },
          "kind": "disclaimer",
          "text": "Where we've included data from previous surveys, the base sizes are listed below the graph. PwC Research, our global centre of excellence for primary research and evidence-based consulting services, conducted this research. https://www.pwc.co.uk/pwcresearch. Not all figures in charts will add up to 100% as a result of rounding percentages and the decision in certain cases to exclude the display of “neither/nor,” “other,” “none of the above”, and “don’t know” responses.",
          "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:10:02.878+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "4111807b-2fbc-421c-a0b8-015275c3c157",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.62,
            "w": 0.5,
            "x": 0,
            "y": 0.38
          },
          "kind": "image",
          "text": "People using VR headsets",
          "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:10:02.878+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "c0edfe00-c2d3-40ba-9243-39ee65fca042",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.6,
            "w": 0.4,
            "x": 0.52,
            "y": 0.24
          },
          "kind": "list",
          "text": "Norma Taki, Partner, Middle East Consumer Markets Leader, PwC Middle East, norma.taki@pwc.com; Sami Darouni, Senior Executive Advisor, Strategy& Middle East, sami.darouni@pwc.com; Roy Hintze, Partner, Middle East Consumer Markets, PwC Middle East, roy.hintze@pwc.com; Imad Matar, Partner, Middle East Transaction Services Leader, PwC Middle East, imad.matar@pwc.com; Maye Ayoub, Partner, Middle East Consumer Markets, PwC Middle East, maye.ayoub@pwc.com",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "List",
              "slug": "list",
              "status": "active",
              "canonId": "019de52c-f94b-779b-a53b-fd4904a5f4d2",
              "version": 1,
              "description": "Bullet or numbered list."
            },
            "tool": null,
            "subkind": {
              "name": "Bullet list",
              "slug": "bullet",
              "status": "active",
              "canonId": "019de52c-fc98-7169-a083-5cab805076ca",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bullet",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 19:10:02.878+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "4fea7cab-a953-4a83-8aa9-b38168d2e712",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.15,
            "x": 0.52,
            "y": 0.08
          },
          "kind": "title",
          "text": "Get in touch",
          "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:10:02.878+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "4057c7c9-c003-406d-a194-555b9a611f5f",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "Closing Techniques",
            "slug": "closing-techniques",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-af13-774b-a4fd-7db0a3a88d51",
            "version": 1,
            "bodyDocId": null,
            "description": "Strong endings: Callback, challenge, vision, clear CTA, memorable line",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Storyteller",
          "layer": "slide",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019de9cb-1923-75fc-98f7-fb611843d9a2",
          "evidence": "Clear CTA: 'visit us at www.pwc.com/me or get in touch'",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 80,
          "extraction": {
            "at": "2026-05-02 17:44:52.402928+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 21,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 22,
          "arc": {
            "name": "The Consultant's Gambit",
            "slug": "consultants-gambit",
            "status": "active",
            "bestFor": "Business cases, project proposals, strategic recommendations",
            "canonId": "019dd956-5e0a-73c8-b305-81c38c959e9c",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Situation & Context -> Problem & Complication -> Solution & Approach -> Evidence & Proof -> Impact & Next Steps",
            "description": null,
            "familyLabel": null
          },
          "from": 18,
          "name": "Impact & Next Steps",
          "beatId": "019de9cb-117f-77ee-b14a-59f1925daaed",
          "matchId": "019de9cb-10ad-72ad-97ae-369c40567c2d",
          "beatType": null,
          "evidence": "Conclusion synthesizes phygital implications; methodology + Get-in-touch close",
          "position": 5,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 65
        },
        {
          "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": 21,
          "name": "The Action (Now What)",
          "beatId": "019de9cb-1222-70e9-869f-83952d6a57a4",
          "matchId": "019de9cb-11a9-76b9-bb36-24bf00efb157",
          "beatType": null,
          "evidence": "Get-in-touch CTA invites readers to engage PwC",
          "position": 3,
          "isPrimaryArc": false,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 55
        }
      ],
      "loops": [],
      "locked": true
    },
    {
      "page": 22,
      "type": "setup",
      "title": "Contains standard PwC legal disclaimer and regional office/headcount statistics.",
      "function": "other",
      "rawType": "appendix_disclosure",
      "block": null,
      "metadata": {
        "slideType": "appendix_disclosure",
        "slideTypeCanon": {
          "name": "Appendix disclosure",
          "slug": "appendix_disclosure",
          "status": "active",
          "canonId": "019de52d-07b2-7549-8e8b-932a19f6e616",
          "version": 1,
          "description": null
        },
        "function": "other",
        "functionCanon": {
          "name": "Other (fallback)",
          "slug": "other",
          "status": "active",
          "canonId": "019de52d-15e1-75bc-99dc-07732380e2ce",
          "version": 1,
          "description": null
        },
        "density": "balanced",
        "densityScore": 33,
        "componentCount": 4,
        "textChars": 460,
        "nDataPoints": 3,
        "notes": "Contains standard PwC legal disclaimer and regional office/headcount statistics.",
        "elementsJson": [
          "paragraph"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 19:10:07.864+00",
          "seconds": 7.574,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5ca1-7489-b63a-7ccef3b8a931/22",
        "deck": "/decks/019dd923-5ca1-7489-b63a-7ccef3b8a931",
        "deckAnchor": "/decks/019dd923-5ca1-7489-b63a-7ccef3b8a931#slide-22",
        "deckJson": "/decks/019dd923-5ca1-7489-b63a-7ccef3b8a931.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "Established in the Middle East for 40 years, PwC has 24 offices across 12 countries in the region with around 8,000 people.",
          "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:50:03+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-dfa4-712e-8336-fe562ef1beb1",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.9,
            "x": 0.04,
            "y": 0.83
          },
          "kind": "disclaimer",
          "text": "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:10:07.864+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "181a8223-e162-4753-a1da-76fa1be24226",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.2,
            "x": 0.04,
            "y": 0.9
          },
          "kind": "disclaimer",
          "text": "© 2023 PwC. All rights reserved",
          "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:10:07.864+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "af54be1d-07db-4129-ac4d-0bccda838ef1",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.9,
            "x": 0.04,
            "y": 0.78
          },
          "kind": "paragraph",
          "text": "Established in the Middle East for 40 years, PwC has 24 offices across 12 countries in the region with around 8,000 people. (www.pwc.com/me).",
          "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:10:07.864+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "127af13c-7dde-4b7a-a94e-110652357a86",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 22,
          "arc": {
            "name": "The Consultant's Gambit",
            "slug": "consultants-gambit",
            "status": "active",
            "bestFor": "Business cases, project proposals, strategic recommendations",
            "canonId": "019dd956-5e0a-73c8-b305-81c38c959e9c",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Situation & Context -> Problem & Complication -> Solution & Approach -> Evidence & Proof -> Impact & Next Steps",
            "description": null,
            "familyLabel": null
          },
          "from": 18,
          "name": "Impact & Next Steps",
          "beatId": "019de9cb-117f-77ee-b14a-59f1925daaed",
          "matchId": "019de9cb-10ad-72ad-97ae-369c40567c2d",
          "beatType": null,
          "evidence": "Conclusion synthesizes phygital implications; methodology + Get-in-touch close",
          "position": 5,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 65
        }
      ],
      "loops": [],
      "locked": true
    }
  ],
  "arcBeats": [
    {
      "from": 1,
      "to": 3,
      "label": "Situation & Context",
      "description": "Cover, executive summary, four key findings frame the ME consumer landscape"
    },
    {
      "from": 4,
      "to": 7,
      "label": "Problem & Complication",
      "description": "Section explicitly titled 'Higher prices and supply chain delays hinder sales'"
    },
    {
      "from": 8,
      "to": 11,
      "label": "Solution & Approach",
      "description": "Consumer behaviour shifts toward essentials as the adaptive response"
    },
    {
      "from": 12,
      "to": 17,
      "label": "Evidence & Proof",
      "description": "Multiple data points on phygital retail, channels, privacy, metaverse"
    },
    {
      "from": 18,
      "to": 22,
      "label": "Impact & Next Steps",
      "description": "Conclusion synthesizes phygital implications; methodology + Get-in-touch close"
    }
  ],
  "loops": [
    {
      "from": 4,
      "to": 7,
      "label": "Aha Moment",
      "description": "Frame inflation/supply-chain pain and the retailer opportunity"
    },
    {
      "from": 8,
      "to": 11,
      "label": "Zoom In",
      "description": "Zoom from overall spend shifts into luxury motivations"
    },
    {
      "from": 12,
      "to": 17,
      "label": "Pattern Hunter",
      "description": "Stack evidence pointing toward phygital, smarter retail"
    }
  ]
}