{
  "schemaVersion": "deck-intelligence.v1",
  "id": "019dd923-5de0-76bd-a166-85fd4587d7e0",
  "slug": "fe45dc45fa2f865d",
  "title": "Saudi Arabia Banking Pulse",
  "subtitle": "Alvarez & Marsal",
  "author": "Alvarez & Marsal",
  "pageCount": 30,
  "kind": "consulting-deck",
  "orientation": "landscape",
  "aspectRatio": 1.778,
  "document": {
    "id": "019dd923-5de0-76bd-a166-85fd4587d7e0",
    "slug": "fe45dc45fa2f865d",
    "title": "Saudi Arabia Banking Pulse",
    "rawTitle": "Saudi Arabia Banking Pulse",
    "authorId": "misc",
    "authorName": "Alvarez & Marsal",
    "authorDisplay": "Alvarez & Marsal",
    "kind": {
      "slug": "consulting-deck",
      "label": "Consulting deck"
    },
    "sourceType": {
      "slug": "strategy_consulting",
      "label": "Strategy consulting"
    },
    "fileName": "KSA Banking Pulse_Q3 2024.pdf",
    "sourceUrl": "https://www.alvarezandmarsal.com/sites/default/files/2024-11/KSA%20Banking%20Pulse_Q3%202024.pdf",
    "sourceDate": "2024-09-30 00:00:00",
    "presentationDate": null,
    "ingestedAt": "2026-04-24 07:54:28+00",
    "status": "ready",
    "pageCount": 30,
    "orientation": "landscape",
    "aspectRatio": 1.778,
    "targetCompany": null,
    "targetTicker": null,
    "metadata": {
      "local_root": "/tmp/legacy-images/fe45dc45fa2f865d",
      "origin_corpus": "consulting"
    }
  },
  "coverage": {
    "pageCount": 30,
    "pagesIndexed": 30,
    "pagesWithImages": 30,
    "pagesWithMetadata": 30,
    "imageCoveragePct": 100,
    "metadataCoveragePct": 100,
    "componentCount": 218,
    "chartCount": 46,
    "metricSlides": 0,
    "toolMatches": 79,
    "documentToolMatches": 0,
    "frameworkMatches": 5,
    "arcMatches": 2,
    "beatMatches": 8,
    "loopMatches": 8,
    "patternMatches": 0,
    "storymakersMatch": true,
    "scoreAvailable": true,
    "reviewAvailable": true,
    "activistThesisAvailable": false,
    "pitchdeckMetadataAvailable": false,
    "pitchdeckProfileAvailable": false
  },
  "blocks": [],
  "matches": {
    "arcs": [
      {
        "arc": {
          "name": "The Triple Take",
          "slug": "triple-take",
          "status": "active",
          "bestFor": "Data-driven presentations, research findings",
          "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
          "version": 1,
          "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
          "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
          "description": null,
          "familyLabel": null,
          "categoryName": "Analysis & Information",
          "categorySlug": "analysis-information"
        },
        "matchId": "019de781-0f93-7044-b275-7f8185be2e56",
        "evidence": "Deck stacks data (p3-21), surfaces synthesis on p22 ('navigating the rate cycle'), then offers GCC consolidation precedent (p23) as the implied 'now what'.",
        "isPrimary": true,
        "confidence": 60,
        "extraction": {
          "at": "2026-05-02 07:04:48.042956+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        }
      },
      {
        "arc": {
          "name": "The Onion",
          "slug": "onion",
          "status": "active",
          "bestFor": "Root cause analysis, diagnostics",
          "canonId": "019dd956-627f-76b1-b286-0c575846d572",
          "version": 1,
          "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
          "structure": "Surface Observation -> First Layer -> Deeper Layer -> Core Insight -> Implications",
          "description": null,
          "familyLabel": null,
          "categoryName": "Analysis & Information",
          "categorySlug": "analysis-information"
        },
        "matchId": "019de781-1095-750c-886e-b943c1081eb3",
        "evidence": "Deck zooms from KSA macro (p3) to sector aggregates (p5) to per-bank KPIs (p7-21) to a synthesis insight (p22) and outward implication (p23).",
        "isPrimary": false,
        "confidence": 50,
        "extraction": {
          "at": "2026-05-02 07:04:48.042956+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        }
      }
    ],
    "beats": [
      {
        "to": 21,
        "arc": {
          "name": "The Triple Take",
          "slug": "triple-take",
          "status": "active",
          "bestFor": "Data-driven presentations, research findings",
          "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
          "version": 1,
          "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
          "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
          "description": null,
          "familyLabel": null,
          "categoryName": "Analysis & Information",
          "categorySlug": "analysis-information"
        },
        "from": 3,
        "name": "The Facts (What)",
        "beatId": "019de781-0fc1-7454-8f9a-0e73ec4b709d",
        "matchId": "019de781-0f93-7044-b275-7f8185be2e56",
        "beatType": null,
        "evidence": "Macro plus 15+ KPI deep-dives describing Q3'24 banking metrics.",
        "position": 1,
        "isPrimaryArc": true,
        "parentBeatType": null,
        "alignedBlockIds": null,
        "matchConfidence": 60
      },
      {
        "to": 22,
        "arc": {
          "name": "The Triple Take",
          "slug": "triple-take",
          "status": "active",
          "bestFor": "Data-driven presentations, research findings",
          "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
          "version": 1,
          "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
          "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
          "description": null,
          "familyLabel": null,
          "categoryName": "Analysis & Information",
          "categorySlug": "analysis-information"
        },
        "from": 22,
        "name": "The Implications (So What)",
        "beatId": "019de781-103e-72aa-84ce-203f86334d15",
        "matchId": "019de781-0f93-7044-b275-7f8185be2e56",
        "beatType": null,
        "evidence": "Synthesis slide states banks are successfully navigating the rate cycle.",
        "position": 2,
        "isPrimaryArc": true,
        "parentBeatType": null,
        "alignedBlockIds": null,
        "matchConfidence": 60
      },
      {
        "to": 23,
        "arc": {
          "name": "The Triple Take",
          "slug": "triple-take",
          "status": "active",
          "bestFor": "Data-driven presentations, research findings",
          "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
          "version": 1,
          "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
          "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
          "description": null,
          "familyLabel": null,
          "categoryName": "Analysis & Information",
          "categorySlug": "analysis-information"
        },
        "from": 23,
        "name": "The Action (Now What)",
        "beatId": "019de781-106b-7568-b0ca-0c1fa6bd6111",
        "matchId": "019de781-0f93-7044-b275-7f8185be2e56",
        "beatType": null,
        "evidence": "GCC banking consolidation precedent table flags M&A as the next horizon.",
        "position": 3,
        "isPrimaryArc": true,
        "parentBeatType": null,
        "alignedBlockIds": null,
        "matchConfidence": 60
      },
      {
        "to": 4,
        "arc": {
          "name": "The Onion",
          "slug": "onion",
          "status": "active",
          "bestFor": "Root cause analysis, diagnostics",
          "canonId": "019dd956-627f-76b1-b286-0c575846d572",
          "version": 1,
          "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
          "structure": "Surface Observation -> First Layer -> Deeper Layer -> Core Insight -> Implications",
          "description": null,
          "familyLabel": null,
          "categoryName": "Analysis & Information",
          "categorySlug": "analysis-information"
        },
        "from": 3,
        "name": "Surface Observation",
        "beatId": "019de781-10c1-7325-b150-5fec5a52ca46",
        "matchId": "019de781-1095-750c-886e-b943c1081eb3",
        "beatType": null,
        "evidence": "Macro and sector overview frames the operating context.",
        "position": 1,
        "isPrimaryArc": false,
        "parentBeatType": null,
        "alignedBlockIds": null,
        "matchConfidence": 50
      },
      {
        "to": 6,
        "arc": {
          "name": "The Onion",
          "slug": "onion",
          "status": "active",
          "bestFor": "Root cause analysis, diagnostics",
          "canonId": "019dd956-627f-76b1-b286-0c575846d572",
          "version": 1,
          "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
          "structure": "Surface Observation -> First Layer -> Deeper Layer -> Core Insight -> Implications",
          "description": null,
          "familyLabel": null,
          "categoryName": "Analysis & Information",
          "categorySlug": "analysis-information"
        },
        "from": 5,
        "name": "First Layer",
        "beatId": "019de781-10ef-774f-8fb9-82ccf554eaa1",
        "matchId": "019de781-1095-750c-886e-b943c1081eb3",
        "beatType": null,
        "evidence": "Aggregate KPI dashboard plus industry developments.",
        "position": 2,
        "isPrimaryArc": false,
        "parentBeatType": null,
        "alignedBlockIds": null,
        "matchConfidence": 50
      },
      {
        "to": 21,
        "arc": {
          "name": "The Onion",
          "slug": "onion",
          "status": "active",
          "bestFor": "Root cause analysis, diagnostics",
          "canonId": "019dd956-627f-76b1-b286-0c575846d572",
          "version": 1,
          "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
          "structure": "Surface Observation -> First Layer -> Deeper Layer -> Core Insight -> Implications",
          "description": null,
          "familyLabel": null,
          "categoryName": "Analysis & Information",
          "categorySlug": "analysis-information"
        },
        "from": 7,
        "name": "Deeper Layer",
        "beatId": "019de781-111a-7583-87f8-4ade5a2d4710",
        "matchId": "019de781-1095-750c-886e-b943c1081eb3",
        "beatType": null,
        "evidence": "Bank-level breakdowns of income, balance sheet, NIM, C/I, risk, ROE.",
        "position": 3,
        "isPrimaryArc": false,
        "parentBeatType": null,
        "alignedBlockIds": null,
        "matchConfidence": 50
      },
      {
        "to": 22,
        "arc": {
          "name": "The Onion",
          "slug": "onion",
          "status": "active",
          "bestFor": "Root cause analysis, diagnostics",
          "canonId": "019dd956-627f-76b1-b286-0c575846d572",
          "version": 1,
          "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
          "structure": "Surface Observation -> First Layer -> Deeper Layer -> Core Insight -> Implications",
          "description": null,
          "familyLabel": null,
          "categoryName": "Analysis & Information",
          "categorySlug": "analysis-information"
        },
        "from": 22,
        "name": "Core Insight",
        "beatId": "019de781-1148-739b-9ab1-a8c7d8cf9426",
        "matchId": "019de781-1095-750c-886e-b943c1081eb3",
        "beatType": null,
        "evidence": "Action title declares banks are navigating the rate cycle successfully.",
        "position": 4,
        "isPrimaryArc": false,
        "parentBeatType": null,
        "alignedBlockIds": null,
        "matchConfidence": 50
      },
      {
        "to": 23,
        "arc": {
          "name": "The Onion",
          "slug": "onion",
          "status": "active",
          "bestFor": "Root cause analysis, diagnostics",
          "canonId": "019dd956-627f-76b1-b286-0c575846d572",
          "version": 1,
          "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
          "structure": "Surface Observation -> First Layer -> Deeper Layer -> Core Insight -> Implications",
          "description": null,
          "familyLabel": null,
          "categoryName": "Analysis & Information",
          "categorySlug": "analysis-information"
        },
        "from": 23,
        "name": "Implications",
        "beatId": "019de781-1173-75f8-bd48-c06734a18d5d",
        "matchId": "019de781-1095-750c-886e-b943c1081eb3",
        "beatType": null,
        "evidence": "GCC consolidation table points toward likely M&A continuation.",
        "position": 5,
        "isPrimaryArc": false,
        "parentBeatType": null,
        "alignedBlockIds": null,
        "matchConfidence": 50
      }
    ],
    "loops": [
      {
        "to": 4,
        "from": 3,
        "loop": {
          "name": "06_zoom_in",
          "slug": "06-zoom-in",
          "status": "active",
          "bestFor": "Technical deep-dives, case studies, detailed analysis",
          "canonId": "019dd956-6846-74db-82be-dff5b058b072",
          "version": 1,
          "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
          "structure": "The Big Picture -> Key Area of Focus -> Specific Detail -> Implication",
          "description": "Start broad, then progressively focus on specific details that prove your point",
          "familyLabel": null,
          "categoryName": "Analysis",
          "categorySlug": "analysis"
        },
        "matchId": "019de781-119d-760e-a99e-4525f3ce6d10",
        "evidence": "p3 surveys macro (GDP, rates, money supply); p4 narrows into top-ten KSA banks aggregate.",
        "position": 1,
        "objective": "Zoom from KSA macro into the banking sector context",
        "confidence": 65,
        "extraction": {
          "at": "2026-05-02 07:04:48.042956+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        }
      },
      {
        "to": 6,
        "from": 5,
        "loop": {
          "name": "41_so_what_cascade",
          "slug": "41-so-what-cascade",
          "status": "active",
          "bestFor": "Data presentations, executive summaries, driving to recommendations",
          "canonId": "019dd956-769f-7208-afbc-f28985c6f4fb",
          "version": 1,
          "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
          "structure": "The Data -> So What? (Insight 1) -> So What? (Insight 2) -> So What? (The Action)",
          "description": "Chain insights together, each answering 'so what?' until you reach the actionable conclusion",
          "familyLabel": null,
          "categoryName": "Consulting Framework",
          "categorySlug": "consulting-framework"
        },
        "matchId": "019de781-11ca-75a9-92a7-fa17bbade551",
        "evidence": "p5 KPI table with sparklines plus 8 numbered takeaways; p6 grid of qualitative developments.",
        "position": 2,
        "objective": "Deliver an answer-first KPI snapshot of Q3'24 with sector developments",
        "confidence": 70,
        "extraction": {
          "at": "2026-05-02 07:04:48.042956+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        }
      },
      {
        "to": 7,
        "from": 7,
        "loop": {
          "name": "31_waterfall_value",
          "slug": "31-waterfall-value",
          "status": "active",
          "bestFor": "Financial analysis, value bridges, variance explanations",
          "canonId": "019dd956-7282-712b-bae5-6daca6b5a1d3",
          "version": 1,
          "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
          "structure": "The Total -> Driver 1 Impact -> Driver 2 Impact -> Driver 3 Impact -> The Remainder",
          "description": "Break down a big number into its component drivers to show where value is created or lost",
          "familyLabel": null,
          "categoryName": "Consulting Framework",
          "categorySlug": "consulting-framework"
        },
        "matchId": "019de781-124b-7241-9f3c-bfb60bbb180c",
        "evidence": "Net income bridge waterfall (SAR 19.47bn -> 20.51bn) with NII, fees, opex, impairments components.",
        "position": 3,
        "objective": "Decompose Q2-to-Q3 net income drivers",
        "confidence": 90,
        "extraction": {
          "at": "2026-05-02 07:04:48.042956+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        }
      },
      {
        "to": 11,
        "from": 8,
        "loop": {
          "name": "04_tale_two_worlds",
          "slug": "04-tale-two-worlds",
          "status": "active",
          "bestFor": "Competitive analysis, benchmarking, case for change",
          "canonId": "019dd956-674f-750b-b15d-f082e2717f4e",
          "version": 1,
          "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
          "structure": "Current State -> Desired State / Benchmark -> The Gap & Implication",
          "description": "Show the gap between two states to drive urgency or highlight opportunity",
          "familyLabel": null,
          "categoryName": "Comparison",
          "categorySlug": "comparison"
        },
        "matchId": "019de781-1275-77da-af68-0f380dc83077",
        "evidence": "2x2 (loans vs deposits), loan/deposit composition splits, LDR scatter all argue the L&A vs deposits gap.",
        "position": 4,
        "objective": "Show divergence between lending growth and deposit mobilization",
        "confidence": 75,
        "extraction": {
          "at": "2026-05-02 07:04:48.042956+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        }
      },
      {
        "to": 16,
        "from": 12,
        "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": "019de781-12a5-73df-8550-43fc2b5851c5",
        "evidence": "Op income decomp (p12) -> NIM components (p13) -> NIM by bank (p14) -> C/I trend (p15) -> C/I by bank (p16).",
        "position": 5,
        "objective": "Zoom into operating efficiency: income mix, NIM, cost-to-income",
        "confidence": 70,
        "extraction": {
          "at": "2026-05-02 07:04:48.042956+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        }
      },
      {
        "to": 20,
        "from": 17,
        "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": "019de781-12d1-743f-ae0d-bbf196ef00a1",
        "evidence": "Asset quality dashboard -> ECL stages -> cost of risk trend -> bank-level cost of risk drivers.",
        "position": 6,
        "objective": "Zoom into credit quality and cost of risk",
        "confidence": 70,
        "extraction": {
          "at": "2026-05-02 07:04:48.042956+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        }
      },
      {
        "to": 22,
        "from": 21,
        "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": "019de781-12fd-7414-8a99-c91b665479e8",
        "evidence": "ROE bank comparison (p21) feeds the synthesis dashboard on p22 with the explicit insight title.",
        "position": 7,
        "objective": "Land the insight that KSA banks are navigating the rate cycle",
        "confidence": 70,
        "extraction": {
          "at": "2026-05-02 07:04:48.042956+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        }
      },
      {
        "to": 23,
        "from": 23,
        "loop": {
          "name": "09_precedent",
          "slug": "09-precedent",
          "status": "active",
          "bestFor": "Risk mitigation, strategy validation, building confidence in new approaches",
          "canonId": "019dd956-695f-7615-8f82-39d919918314",
          "version": 1,
          "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
          "structure": "The Precedent Case -> What Happened -> The Parallel -> Applied Learning",
          "description": "Use historical or external examples to validate your approach",
          "familyLabel": null,
          "categoryName": "Validation",
          "categorySlug": "validation"
        },
        "matchId": "019de781-1329-7159-8502-6d01cfb914f8",
        "evidence": "Chronological M&A table since April 2019 with 20+ transactions across GCC.",
        "position": 8,
        "objective": "Cite GCC banking consolidation deals as precedent for sector outlook",
        "confidence": 80,
        "extraction": {
          "at": "2026-05-02 07:04:48.042956+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        }
      }
    ],
    "tools": [
      {
        "tool": {
          "name": "Pyramid Principle",
          "slug": "pyramid-principle",
          "status": "active",
          "bestFor": "When the document has a single governing decision or recommendation the reader is asked to accept, and the case can be decomposed into a small number of clean groups. Strategy decks, board memos, investment committee papers.",
          "canonId": "019dd956-7cbd-7219-a477-c871e2bc1aff",
          "version": 1,
          "bodyDocId": "88b6ac56-b880-46f9-8621-ef3491ab6235",
          "description": "Lead with the answer; group three to five MECE supports beneath it; recurse one level down. Top-down hierarchical structure for any document with a single recommendation.",
          "familyLabel": null,
          "categoryName": "Block",
          "categorySlug": "block"
        },
        "agent": "Architect",
        "layer": "block",
        "agents": [
          "Architect"
        ],
        "matchId": "019de781-1588-712c-b403-f192243e8dd0",
        "evidence": "Answer-first dashboard previews everything before the deep-dives.",
        "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": 65,
        "extraction": {
          "at": "2026-05-02 07:04:48.042956+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 5,
        "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": "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": "019de781-13ac-74fa-9428-a8ad4141d764",
        "evidence": "Macro context anchors the data narrative for the deck.",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": null,
        "confidence": 60,
        "extraction": {
          "at": "2026-05-02 07:04:48.042956+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 3,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Chunking",
          "slug": "chunking",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-abab-72ce-b64c-2924cc83cf39",
          "version": 1,
          "bodyDocId": null,
          "description": "Information grouped into chunks is remembered better - structure content in digestible units",
          "familyLabel": null,
          "categoryName": "Loop",
          "categorySlug": "loop"
        },
        "agent": "Architect",
        "layer": "loop",
        "agents": [
          "Architect"
        ],
        "matchId": "019de781-155d-70fc-b5e2-bfc454d99ebe",
        "evidence": "KPIs grouped into Size, Liquidity, Income, Risk, Profitability, Capital.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 70,
        "extraction": {
          "at": "2026-05-02 07:04:48.042956+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 5,
        "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": "019de781-1709-701b-9dee-b71714a7810e",
        "evidence": "Q2'24 vs Q3'24 endpoint pairing drives the bridge.",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": null,
        "confidence": 70,
        "extraction": {
          "at": "2026-05-02 07:04:48.042956+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 7,
        "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": "019de781-17e3-70de-a6a5-286fc43a21a7",
        "evidence": "Lending growth vs deposit growth axes set up the tension.",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": null,
        "confidence": 75,
        "extraction": {
          "at": "2026-05-02 07:04:48.042956+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 8,
        "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": "019de781-1acc-773a-bbfd-df622135cf3e",
        "evidence": "Operating efficiency narrative opens here, sequencing income then cost.",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": null,
        "confidence": 60,
        "extraction": {
          "at": "2026-05-02 07:04:48.042956+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 12,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Aha! Moment",
          "slug": "aha-moment",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-a5b5-7763-820e-b299c5f27a32",
          "version": 1,
          "bodyDocId": null,
          "description": "The moment when the audience realizes the value - design for insight revelation",
          "familyLabel": null,
          "categoryName": "Loop",
          "categorySlug": "loop"
        },
        "agent": "Storyteller",
        "layer": "loop",
        "agents": [
          "Storyteller"
        ],
        "matchId": "019de781-20a1-7458-b8e3-01918cfda883",
        "evidence": "All preceding metrics resolve into the single 'navigating successfully' insight.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 75,
        "extraction": {
          "at": "2026-05-02 07:04:48.042956+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 22,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Payoff",
          "slug": "payoff",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-a464-704b-b1a1-e1d483709f00",
          "version": 1,
          "bodyDocId": null,
          "description": "Delivering on earlier setup for satisfying resolution",
          "familyLabel": null,
          "categoryName": "Loop",
          "categorySlug": "loop"
        },
        "agent": "Storyteller",
        "layer": "loop",
        "agents": [
          "Storyteller"
        ],
        "matchId": "019de781-20cd-73ba-aa13-5e03578c8886",
        "evidence": "Closes the analytical setup that began with rate-cut concern in p3-4.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 65,
        "extraction": {
          "at": "2026-05-02 07:04:48.042956+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 22,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Argument from Analogy",
          "slug": "argument-from-analogy",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-9e3d-7762-a994-72a2f7104e7c",
          "version": 1,
          "bodyDocId": null,
          "description": "Drawing conclusions based on similarities between situations",
          "familyLabel": null,
          "categoryName": "Loop",
          "categorySlug": "loop"
        },
        "agent": "Architect",
        "layer": "loop",
        "agents": [
          "Architect"
        ],
        "matchId": "019de781-2122-70cd-8dc0-03f956e2570c",
        "evidence": "Recent GCC M&A deals serve as analogical precedent for KSA outlook.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 75,
        "extraction": {
          "at": "2026-05-02 07:04:48.042956+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 23,
        "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": "22f6b46f-df86-4563-acd6-e2e7d7fdafd5",
        "evidence": "title/headline: Saudi Arabia Banking Pulse",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.9,
        "extraction": {
          "at": "2026-07-16 21:29:14.368293+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": "89a10bcb-12d6-420d-b411-67d428f36c56",
        "evidence": "type: executive_summary",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.9,
        "extraction": {
          "at": "2026-07-16 21:29:14.441737+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": "Storytelling: audience calibration",
          "slug": "audience",
          "status": "active",
          "bestFor": null,
          "canonId": "019df269-23ea-723a-87c0-af1d78d702d2",
          "version": 1,
          "bodyDocId": "019df269-23c5-72ec-8b94-78fc1da7b656",
          "description": "The same thesis, written for four different audiences, produces four",
          "familyLabel": "narrative-block",
          "categoryName": "Narrative & Transformation",
          "categorySlug": "narrative-transformation"
        },
        "agent": "storyteller",
        "layer": "slide",
        "agents": [
          "storyteller"
        ],
        "matchId": "622773f6-4934-4e31-bf20-def272ffc837",
        "evidence": "Disclaimer: The information contained in this document is of a general nature and has been obtained from publicly available information plus market insights.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.7,
        "extraction": {
          "at": "2026-07-16 21:29:14.47894+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 2,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "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": "019de781-1354-742c-baf7-442f58d42af8",
        "evidence": "Three horizontal bar charts pair the right form to GDP, rates, money supply.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 75,
        "extraction": {
          "at": "2026-05-02 07:04:48.042956+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 3,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Data-Ink Ratio",
          "slug": "data-ink-ratio",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-afc8-70da-b378-92834d36fde6",
          "version": 1,
          "bodyDocId": null,
          "description": "Maximize data, minimize non-data ink - remove chartjunk and decoration",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Designer",
        "layer": "slide",
        "agents": [
          "Designer"
        ],
        "matchId": "019de781-137f-77a9-8169-58722901a6c7",
        "evidence": "Charts use minimal gridlines and clean A&M template.",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": null,
        "confidence": 65,
        "extraction": {
          "at": "2026-05-02 07:04:48.042956+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 3,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Annotation",
          "slug": "annotation",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-b5b9-7668-bf0e-3af99823ec5c",
          "version": 1,
          "bodyDocId": null,
          "description": "Adding explanatory labels to highlight key data points",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Designer",
        "layer": "slide",
        "agents": [
          "Designer"
        ],
        "matchId": "019de781-13d6-758c-a2a6-1f3bd91d18b8",
        "evidence": "Callout 'aggregate L&A increased +3.7% QoQ' annotates the chart.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 70,
        "extraction": {
          "at": "2026-05-02 07:04:48.042956+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 4,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Chart Selection Guide",
          "slug": "chart-selection-guide",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-b1a0-700b-ba17-0e16c4d5bcae",
          "version": 1,
          "bodyDocId": null,
          "description": "Choosing the right chart type for your data and message",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Designer",
        "layer": "slide",
        "agents": [
          "Designer"
        ],
        "matchId": "019de781-1456-701c-859b-9e8ccb5fc6c5",
        "evidence": "Grouped bar charts compare quarterly performance metrics.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 70,
        "extraction": {
          "at": "2026-05-02 07:04:48.042956+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 4,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Color Strategy",
          "slug": "color-strategy",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-b202-77cf-8a6e-f445b08c0fd3",
          "version": 1,
          "bodyDocId": null,
          "description": "Using color for emphasis, categories, sentiment, and hierarchy",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Designer",
        "layer": "slide",
        "agents": [
          "Designer"
        ],
        "matchId": "019de781-1481-755d-9533-b0f63ca1d93f",
        "evidence": "Consistent color-coded legend across the three charts.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 70,
        "extraction": {
          "at": "2026-05-02 07:04:48.042956+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": "019de781-14ac-700a-8fde-074dfa4471d5",
        "evidence": "Title states the insight: 'continued lending momentum and improvement on cost efficiency'.",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
        "confidence": 90,
        "extraction": {
          "at": "2026-05-02 07:04:48.042956+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": "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": "019de781-1507-72bf-8f7e-ad4941932345",
        "evidence": "Green/orange/red arrows indicate improved/stable/worsened.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 90,
        "extraction": {
          "at": "2026-05-02 07:04:48.042956+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 5,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Sparklines (Chart)",
          "slug": "sparklines-chart",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-b3db-7239-aa95-d24b7cdc29e4",
          "version": 1,
          "bodyDocId": null,
          "description": "Word-sized graphics embedded in text for data density",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Designer",
        "layer": "slide",
        "agents": [
          "Designer"
        ],
        "matchId": "019de781-14db-755d-a0e6-7ab20d73d0c8",
        "evidence": "Each KPI row has a 5-quarter sparkline column.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 95,
        "extraction": {
          "at": "2026-05-02 07:04:48.042956+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 5,
        "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": "019de781-1532-7028-b278-c9442ee9f93f",
        "evidence": "Numbered key trends column and KPI table create clear reading order.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 75,
        "extraction": {
          "at": "2026-05-02 07:04:48.042956+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 5,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Gestalt Principles",
          "slug": "gestalt-principles",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-b266-7631-9b7e-44d83bd5d4f3",
          "version": 1,
          "bodyDocId": null,
          "description": "Proximity, Similarity, Enclosure, Continuity, Closure, Connection - how humans perceive visual groups",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Designer",
        "layer": "slide",
        "agents": [
          "Designer",
          "Architect"
        ],
        "matchId": "019de781-15b2-7488-9d22-4bbc2a4bc238",
        "evidence": "2x3 grid uses proximity to group six thematic categories.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 70,
        "extraction": {
          "at": "2026-05-02 07:04:48.042956+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": "019de781-15dc-77ae-829a-eb13171822b9",
        "evidence": "Six text boxes with parallel icon plus title plus body structure.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 60,
        "extraction": {
          "at": "2026-05-02 07:04:48.042956+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": "019de781-1607-731c-87fe-09442719cfe1",
        "evidence": "'Despite rate cuts, higher NII and Fee... contributed to earnings growth'.",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
        "confidence": 90,
        "extraction": {
          "at": "2026-05-02 07:04:48.042956+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 7,
        "whyItWorks": "Solves two failure modes at once. (1) The buried claim: action titles place the conclusion on the page before any analysis is read, so a busy reader doesn't reverse-engineer it from the chart. (2) The spineless deck: because each title is a claim, slides have to ladder up to the governing thought; logical gaps become visible as topic-shaped titles in a sequence that no longer reads as a story.",
        "antipattern": "Topic labels disguised as titles — Volume by quarter, Key findings, Pricing strategy, Margins have been impacted. No verb, or a passive verb with no agent, or a fact (Revenue grew 12%) without the so-what. Also: titles that overreach the chart's evidence, multi-claim X-grew-but-Y-fell welded titles, and mechanical repetition of the same X-drove-Y template across the deck.",
        "cardinality": null,
        "narrativePurpose": "Forces the deck to carry its argument in the title bar so a senior reader can extract the recommendation without opening a single slide; converts a binder of topics into a navigable pyramid where every slide is a node defending the apex."
      },
      {
        "tool": {
          "name": "Annotation",
          "slug": "annotation",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-b5b9-7668-bf0e-3af99823ec5c",
          "version": 1,
          "bodyDocId": null,
          "description": "Adding explanatory labels to highlight key data points",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Designer",
        "layer": "slide",
        "agents": [
          "Designer"
        ],
        "matchId": "019de781-16dd-77fc-ae12-83b608650733",
        "evidence": "Each bar labelled with SAR Bn delta value.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 80,
        "extraction": {
          "at": "2026-05-02 07:04:48.042956+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 7,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Chart Selection Guide",
          "slug": "chart-selection-guide",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-b1a0-700b-ba17-0e16c4d5bcae",
          "version": 1,
          "bodyDocId": null,
          "description": "Choosing the right chart type for your data and message",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Designer",
        "layer": "slide",
        "agents": [
          "Designer"
        ],
        "matchId": "019de781-1687-77b7-8e4d-a7cd1e4f8cb7",
        "evidence": "Waterfall chart correctly chosen for additive bridge analysis.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 95,
        "extraction": {
          "at": "2026-05-02 07:04:48.042956+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 7,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Color Strategy",
          "slug": "color-strategy",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-b202-77cf-8a6e-f445b08c0fd3",
          "version": 1,
          "bodyDocId": null,
          "description": "Using color for emphasis, categories, sentiment, and hierarchy",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Designer",
        "layer": "slide",
        "agents": [
          "Designer"
        ],
        "matchId": "019de781-16b2-77f2-856b-62b414a41906",
        "evidence": "Green positive bars, red negative bars, navy endpoints.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 90,
        "extraction": {
          "at": "2026-05-02 07:04:48.042956+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 7,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Waterfall chart",
          "slug": "waterfall-chart",
          "status": "active",
          "bestFor": null,
          "canonId": "e2799da3-725f-44a9-a093-570f1f388e64",
          "version": 1,
          "bodyDocId": null,
          "description": null,
          "familyLabel": null,
          "categoryName": null,
          "categorySlug": null
        },
        "agent": null,
        "layer": "slide",
        "agents": null,
        "matchId": "4907e957-908e-4db0-8b1e-fbd211329760",
        "evidence": "chart/waterfall: Net income bridge (SAR Bn)",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.7,
        "extraction": {
          "at": "2026-07-16 21:29:14.698144+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": "2x2 matrix",
          "slug": "matrix-2x2",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd9e1-50ab-72d1-8afb-3ab0a38e32a8",
          "version": 1,
          "bodyDocId": null,
          "description": "BCG matrix, importance/urgency, any axes-and-quadrants frame.",
          "familyLabel": null,
          "categoryName": null,
          "categorySlug": null
        },
        "agent": null,
        "layer": "slide",
        "agents": null,
        "matchId": "30c9a616-4fdc-4048-b003-97026ef6508d",
        "evidence": "framework/instance: 2x2 Matrix",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.7,
        "extraction": {
          "at": "2026-07-16 21:29:14.775158+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 8,
        "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": "019de781-1734-7607-90ac-54d5ef9ae4fe",
        "evidence": "'Banks continue to expand credit outlay which has outpaced deposit mobilization'.",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
        "confidence": 90,
        "extraction": {
          "at": "2026-05-02 07:04:48.042956+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 8,
        "whyItWorks": "Solves two failure modes at once. (1) The buried claim: action titles place the conclusion on the page before any analysis is read, so a busy reader doesn't reverse-engineer it from the chart. (2) The spineless deck: because each title is a claim, slides have to ladder up to the governing thought; logical gaps become visible as topic-shaped titles in a sequence that no longer reads as a story.",
        "antipattern": "Topic labels disguised as titles — Volume by quarter, Key findings, Pricing strategy, Margins have been impacted. No verb, or a passive verb with no agent, or a fact (Revenue grew 12%) without the so-what. Also: titles that overreach the chart's evidence, multi-claim X-grew-but-Y-fell welded titles, and mechanical repetition of the same X-drove-Y template across the deck.",
        "cardinality": null,
        "narrativePurpose": "Forces the deck to carry its argument in the title bar so a senior reader can extract the recommendation without opening a single slide; converts a binder of topics into a navigable pyramid where every slide is a node defending the apex."
      },
      {
        "tool": {
          "name": "Annotation",
          "slug": "annotation",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-b5b9-7668-bf0e-3af99823ec5c",
          "version": 1,
          "bodyDocId": null,
          "description": "Adding explanatory labels to highlight key data points",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Designer",
        "layer": "slide",
        "agents": [
          "Designer"
        ],
        "matchId": "019de781-178a-7127-8e29-a8163aed294e",
        "evidence": "Quadrants labelled 'Gained Financing MS', 'Gained Deposits & Financing MS', etc.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 85,
        "extraction": {
          "at": "2026-05-02 07:04:48.042956+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 8,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Chart Selection Guide",
          "slug": "chart-selection-guide",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-b1a0-700b-ba17-0e16c4d5bcae",
          "version": 1,
          "bodyDocId": null,
          "description": "Choosing the right chart type for your data and message",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Designer",
        "layer": "slide",
        "agents": [
          "Designer"
        ],
        "matchId": "019de781-175d-71ef-bace-8f2c5b4ac40b",
        "evidence": "2x2 quadrant scatter with bank logos as markers.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 90,
        "extraction": {
          "at": "2026-05-02 07:04:48.042956+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 8,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Gestalt Principles",
          "slug": "gestalt-principles",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-b266-7631-9b7e-44d83bd5d4f3",
          "version": 1,
          "bodyDocId": null,
          "description": "Proximity, Similarity, Enclosure, Continuity, Closure, Connection - how humans perceive visual groups",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Designer",
        "layer": "slide",
        "agents": [
          "Designer",
          "Architect"
        ],
        "matchId": "019de781-17b9-71da-aeb0-5dddbcd59103",
        "evidence": "Quadrant boundaries enclose related banks; logo proximity signals grouping.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 70,
        "extraction": {
          "at": "2026-05-02 07:04:48.042956+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 8,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Action Titles",
          "slug": "action-titles",
          "status": "active",
          "bestFor": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
          "canonId": "019dd956-ac70-700b-a608-ba58e78f5dcc",
          "version": 1,
          "bodyDocId": "816dad3c-9983-41c1-a86e-978ebd582841",
          "description": "The McKinsey-bred discipline of writing every slide title as a complete declarative sentence with a verb and an insight, not a topic label. Each title is a sub-claim that ladders up to the deck's governing thought; read in sequence, the titles reconstruct the executive summary.",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Architect",
        "layer": "slide",
        "agents": [
          "Architect"
        ],
        "matchId": "019de781-180d-773d-bbd8-e971a8c3f02b",
        "evidence": "'Corporate / wholesale segment remain the major focus for most KSA banks'.",
        "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 07:04:48.042956+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 9,
        "whyItWorks": "Solves two failure modes at once. (1) The buried claim: action titles place the conclusion on the page before any analysis is read, so a busy reader doesn't reverse-engineer it from the chart. (2) The spineless deck: because each title is a claim, slides have to ladder up to the governing thought; logical gaps become visible as topic-shaped titles in a sequence that no longer reads as a story.",
        "antipattern": "Topic labels disguised as titles — Volume by quarter, Key findings, Pricing strategy, Margins have been impacted. No verb, or a passive verb with no agent, or a fact (Revenue grew 12%) without the so-what. Also: titles that overreach the chart's evidence, multi-claim X-grew-but-Y-fell welded titles, and mechanical repetition of the same X-drove-Y template across the deck.",
        "cardinality": null,
        "narrativePurpose": "Forces the deck to carry its argument in the title bar so a senior reader can extract the recommendation without opening a single slide; converts a binder of topics into a navigable pyramid where every slide is a node defending the apex."
      },
      {
        "tool": {
          "name": "Color Strategy",
          "slug": "color-strategy",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-b202-77cf-8a6e-f445b08c0fd3",
          "version": 1,
          "bodyDocId": null,
          "description": "Using color for emphasis, categories, sentiment, and hierarchy",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Designer",
        "layer": "slide",
        "agents": [
          "Designer"
        ],
        "matchId": "019de781-189b-709d-bcfc-a6788ed24537",
        "evidence": "Retail vs Corporate/Wholesale color-coded across all charts.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 80,
        "extraction": {
          "at": "2026-05-02 07:04:48.042956+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 9,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Small Multiples",
          "slug": "small-multiples",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-b32d-7586-b368-baa1dd388ed4",
          "version": 1,
          "bodyDocId": null,
          "description": "Repeating similar charts for comparison across categories or time",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Designer",
        "layer": "slide",
        "agents": [
          "Designer"
        ],
        "matchId": "019de781-186f-759d-8439-21b9e4aaac90",
        "evidence": "Nine bank-level stacked bar charts plus aggregate, identical template.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 90,
        "extraction": {
          "at": "2026-05-02 07:04:48.042956+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": "019de781-18c7-7439-a055-903a668784d1",
        "evidence": "'Aggregate deposits growth moderated... mainly driven by increase in time deposits'.",
        "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 07:04:48.042956+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 10,
        "whyItWorks": "Solves two failure modes at once. (1) The buried claim: action titles place the conclusion on the page before any analysis is read, so a busy reader doesn't reverse-engineer it from the chart. (2) The spineless deck: because each title is a claim, slides have to ladder up to the governing thought; logical gaps become visible as topic-shaped titles in a sequence that no longer reads as a story.",
        "antipattern": "Topic labels disguised as titles — Volume by quarter, Key findings, Pricing strategy, Margins have been impacted. No verb, or a passive verb with no agent, or a fact (Revenue grew 12%) without the so-what. Also: titles that overreach the chart's evidence, multi-claim X-grew-but-Y-fell welded titles, and mechanical repetition of the same X-drove-Y template across the deck.",
        "cardinality": null,
        "narrativePurpose": "Forces the deck to carry its argument in the title bar so a senior reader can extract the recommendation without opening a single slide; converts a binder of topics into a navigable pyramid where every slide is a node defending the apex."
      },
      {
        "tool": {
          "name": "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": "019de781-191e-71a5-9723-53af1e5829ce",
        "evidence": "CASA / Time / Other deposit categories color-coded uniformly.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 80,
        "extraction": {
          "at": "2026-05-02 07:04:48.042956+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": "019de781-18f2-7250-bf93-99b2bb7f8699",
        "evidence": "Nine bank stacked bar charts in a consistent grid.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 90,
        "extraction": {
          "at": "2026-05-02 07:04:48.042956+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 10,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Action Titles",
          "slug": "action-titles",
          "status": "active",
          "bestFor": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
          "canonId": "019dd956-ac70-700b-a608-ba58e78f5dcc",
          "version": 1,
          "bodyDocId": "816dad3c-9983-41c1-a86e-978ebd582841",
          "description": "The McKinsey-bred discipline of writing every slide title as a complete declarative sentence with a verb and an insight, not a topic label. Each title is a sub-claim that ladders up to the deck's governing thought; read in sequence, the titles reconstruct the executive summary.",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Architect",
        "layer": "slide",
        "agents": [
          "Architect"
        ],
        "matchId": "019de781-194a-733b-a4cf-dddfd3a41d49",
        "evidence": "'LDR crossed 100% for the first time in 2024'.",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
        "confidence": 90,
        "extraction": {
          "at": "2026-05-02 07:04:48.042956+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 11,
        "whyItWorks": "Solves two failure modes at once. (1) The buried claim: action titles place the conclusion on the page before any analysis is read, so a busy reader doesn't reverse-engineer it from the chart. (2) The spineless deck: because each title is a claim, slides have to ladder up to the governing thought; logical gaps become visible as topic-shaped titles in a sequence that no longer reads as a story.",
        "antipattern": "Topic labels disguised as titles — Volume by quarter, Key findings, Pricing strategy, Margins have been impacted. No verb, or a passive verb with no agent, or a fact (Revenue grew 12%) without the so-what. Also: titles that overreach the chart's evidence, multi-claim X-grew-but-Y-fell welded titles, and mechanical repetition of the same X-drove-Y template across the deck.",
        "cardinality": null,
        "narrativePurpose": "Forces the deck to carry its argument in the title bar so a senior reader can extract the recommendation without opening a single slide; converts a binder of topics into a navigable pyramid where every slide is a node defending the apex."
      },
      {
        "tool": {
          "name": "Annotation",
          "slug": "annotation",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-b5b9-7668-bf0e-3af99823ec5c",
          "version": 1,
          "bodyDocId": null,
          "description": "Adding explanatory labels to highlight key data points",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Designer",
        "layer": "slide",
        "agents": [
          "Designer"
        ],
        "matchId": "019de781-199f-711e-ba24-1c9ac557b4a1",
        "evidence": "Reference lines at 100.1% and 97.8%; 'healthy zone' shaded.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 90,
        "extraction": {
          "at": "2026-05-02 07:04:48.042956+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 11,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Chart Selection Guide",
          "slug": "chart-selection-guide",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-b1a0-700b-ba17-0e16c4d5bcae",
          "version": 1,
          "bodyDocId": null,
          "description": "Choosing the right chart type for your data and message",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Designer",
        "layer": "slide",
        "agents": [
          "Designer"
        ],
        "matchId": "019de781-1975-73eb-8282-fafa832adb73",
        "evidence": "Scatter with LDR vs Total Assets and vector arrows for movement.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 85,
        "extraction": {
          "at": "2026-05-02 07:04:48.042956+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 11,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Color Strategy",
          "slug": "color-strategy",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-b202-77cf-8a6e-f445b08c0fd3",
          "version": 1,
          "bodyDocId": null,
          "description": "Using color for emphasis, categories, sentiment, and hierarchy",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Designer",
        "layer": "slide",
        "agents": [
          "Designer"
        ],
        "matchId": "019de781-19c9-74ef-8ea4-dea2b2e06648",
        "evidence": "Triangle (Q2) vs circle (Q3) markers with directional arrows.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 70,
        "extraction": {
          "at": "2026-05-02 07:04:48.042956+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": "019de781-19f1-777a-ab94-39a48305cb02",
        "evidence": "'Higher non-interest income was a major contributor to total operating income uptick'.",
        "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 07:04:48.042956+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 12,
        "whyItWorks": "Solves two failure modes at once. (1) The buried claim: action titles place the conclusion on the page before any analysis is read, so a busy reader doesn't reverse-engineer it from the chart. (2) The spineless deck: because each title is a claim, slides have to ladder up to the governing thought; logical gaps become visible as topic-shaped titles in a sequence that no longer reads as a story.",
        "antipattern": "Topic labels disguised as titles — Volume by quarter, Key findings, Pricing strategy, Margins have been impacted. No verb, or a passive verb with no agent, or a fact (Revenue grew 12%) without the so-what. Also: titles that overreach the chart's evidence, multi-claim X-grew-but-Y-fell welded titles, and mechanical repetition of the same X-drove-Y template across the deck.",
        "cardinality": null,
        "narrativePurpose": "Forces the deck to carry its argument in the title bar so a senior reader can extract the recommendation without opening a single slide; converts a binder of topics into a navigable pyramid where every slide is a node defending the apex."
      },
      {
        "tool": {
          "name": "Chart Selection Guide",
          "slug": "chart-selection-guide",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-b1a0-700b-ba17-0e16c4d5bcae",
          "version": 1,
          "bodyDocId": null,
          "description": "Choosing the right chart type for your data and message",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Designer",
        "layer": "slide",
        "agents": [
          "Designer"
        ],
        "matchId": "019de781-1a20-74e5-a96f-0767cf5ead76",
        "evidence": "Vertical bar charts decompose operating income components.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 75,
        "extraction": {
          "at": "2026-05-02 07:04:48.042956+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 12,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Layering and Separation",
          "slug": "layering-and-separation",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-b43d-741f-8350-8cf97dfef586",
          "version": 1,
          "bodyDocId": null,
          "description": "Using visual layers to distinguish different types of information",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Designer",
        "layer": "slide",
        "agents": [
          "Designer"
        ],
        "matchId": "019de781-1aa1-7158-b22e-595e350ff99a",
        "evidence": "Plus visual operator shows additive relationship of components.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 70,
        "extraction": {
          "at": "2026-05-02 07:04:48.042956+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": "019de781-1af7-757a-8088-377913494597",
        "evidence": "'NIM remained stable after three consecutive quarters of contraction'.",
        "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 07:04:48.042956+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 13,
        "whyItWorks": "Solves two failure modes at once. (1) The buried claim: action titles place the conclusion on the page before any analysis is read, so a busy reader doesn't reverse-engineer it from the chart. (2) The spineless deck: because each title is a claim, slides have to ladder up to the governing thought; logical gaps become visible as topic-shaped titles in a sequence that no longer reads as a story.",
        "antipattern": "Topic labels disguised as titles — Volume by quarter, Key findings, Pricing strategy, Margins have been impacted. No verb, or a passive verb with no agent, or a fact (Revenue grew 12%) without the so-what. Also: titles that overreach the chart's evidence, multi-claim X-grew-but-Y-fell welded titles, and mechanical repetition of the same X-drove-Y template across the deck.",
        "cardinality": null,
        "narrativePurpose": "Forces the deck to carry its argument in the title bar so a senior reader can extract the recommendation without opening a single slide; converts a binder of topics into a navigable pyramid where every slide is a node defending the apex."
      },
      {
        "tool": {
          "name": "Annotation",
          "slug": "annotation",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-b5b9-7668-bf0e-3af99823ec5c",
          "version": 1,
          "bodyDocId": null,
          "description": "Adding explanatory labels to highlight key data points",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Designer",
        "layer": "slide",
        "agents": [
          "Designer"
        ],
        "matchId": "019de781-1b4a-719b-af3d-7a4f7da6537a",
        "evidence": "Visual X and minus operators show NIM calculation relationship.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 70,
        "extraction": {
          "at": "2026-05-02 07:04:48.042956+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": "019de781-1b20-7119-b2b6-f79229353423",
        "evidence": "Four bar charts decompose NIM into yield-on-credit and cost-of-funds.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 75,
        "extraction": {
          "at": "2026-05-02 07:04:48.042956+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 13,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "2x2 matrix",
          "slug": "matrix-2x2",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd9e1-50ab-72d1-8afb-3ab0a38e32a8",
          "version": 1,
          "bodyDocId": null,
          "description": "BCG matrix, importance/urgency, any axes-and-quadrants frame.",
          "familyLabel": null,
          "categoryName": null,
          "categorySlug": null
        },
        "agent": null,
        "layer": "slide",
        "agents": null,
        "matchId": "3c6d4b32-be2d-452e-8e80-c4d317da4fc6",
        "evidence": "The slide features a grouped bar chart with Improved, Stable, Worsened legend.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.7,
        "extraction": {
          "at": "2026-07-16 21:29:17.753159+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 14,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": "common",
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Action Titles",
          "slug": "action-titles",
          "status": "active",
          "bestFor": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
          "canonId": "019dd956-ac70-700b-a608-ba58e78f5dcc",
          "version": 1,
          "bodyDocId": "816dad3c-9983-41c1-a86e-978ebd582841",
          "description": "The McKinsey-bred discipline of writing every slide title as a complete declarative sentence with a verb and an insight, not a topic label. Each title is a sub-claim that ladders up to the deck's governing thought; read in sequence, the titles reconstruct the executive summary.",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Architect",
        "layer": "slide",
        "agents": [
          "Architect"
        ],
        "matchId": "019de781-1b78-74f8-93e6-c0ef62a69704",
        "evidence": "'NIM performance was mixed across KSA banks'.",
        "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 07:04:48.042956+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": "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": "019de781-1bcf-708f-ac91-b8060e270753",
        "evidence": "Grouped bar comparing Q2 and Q3 NIM by bank.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 70,
        "extraction": {
          "at": "2026-05-02 07:04:48.042956+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 14,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Color Strategy",
          "slug": "color-strategy",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-b202-77cf-8a6e-f445b08c0fd3",
          "version": 1,
          "bodyDocId": null,
          "description": "Using color for emphasis, categories, sentiment, and hierarchy",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Designer",
        "layer": "slide",
        "agents": [
          "Designer"
        ],
        "matchId": "019de781-1ba4-76cf-a7b3-0c9104ccd7f2",
        "evidence": "Green/red/orange callouts indicate NIM direction per bank.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 85,
        "extraction": {
          "at": "2026-05-02 07:04:48.042956+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": "019de781-1bf9-712d-b724-8c54abf7a199",
        "evidence": "'Banks continued to focus on operational efficiency; aggregate C/I... closer to 30%'.",
        "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 07:04:48.042956+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": "Annotation",
          "slug": "annotation",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-b5b9-7668-bf0e-3af99823ec5c",
          "version": 1,
          "bodyDocId": null,
          "description": "Adding explanatory labels to highlight key data points",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Designer",
        "layer": "slide",
        "agents": [
          "Designer"
        ],
        "matchId": "019de781-1c88-76f8-8b9b-279fa4862ccf",
        "evidence": "Division icon shows C/I = expenses / income.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 65,
        "extraction": {
          "at": "2026-05-02 07:04:48.042956+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 15,
        "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": "019de781-1c23-771f-92ff-5681d1b18aea",
        "evidence": "Three bar charts decompose expenses, income, and resulting C/I.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 75,
        "extraction": {
          "at": "2026-05-02 07:04:48.042956+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 15,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "2x2 matrix",
          "slug": "matrix-2x2",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd9e1-50ab-72d1-8afb-3ab0a38e32a8",
          "version": 1,
          "bodyDocId": null,
          "description": "BCG matrix, importance/urgency, any axes-and-quadrants frame.",
          "familyLabel": null,
          "categoryName": null,
          "categorySlug": null
        },
        "agent": null,
        "layer": "slide",
        "agents": null,
        "matchId": "6e99b7cb-c1fd-4bd4-8d94-909baac1bd2a",
        "evidence": "The slide features a grouped bar chart with Improved, Stable, Worsened legend.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.7,
        "extraction": {
          "at": "2026-07-16 21:29:17.858375+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 16,
        "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": "019de781-1cb3-7418-be2e-10edd46b6920",
        "evidence": "'Half of the banks reported an improvement in cost efficiency'.",
        "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 07:04:48.042956+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 16,
        "whyItWorks": "Solves two failure modes at once. (1) The buried claim: action titles place the conclusion on the page before any analysis is read, so a busy reader doesn't reverse-engineer it from the chart. (2) The spineless deck: because each title is a claim, slides have to ladder up to the governing thought; logical gaps become visible as topic-shaped titles in a sequence that no longer reads as a story.",
        "antipattern": "Topic labels disguised as titles — Volume by quarter, Key findings, Pricing strategy, Margins have been impacted. No verb, or a passive verb with no agent, or a fact (Revenue grew 12%) without the so-what. Also: titles that overreach the chart's evidence, multi-claim X-grew-but-Y-fell welded titles, and mechanical repetition of the same X-drove-Y template across the deck.",
        "cardinality": null,
        "narrativePurpose": "Forces the deck to carry its argument in the title bar so a senior reader can extract the recommendation without opening a single slide; converts a binder of topics into a navigable pyramid where every slide is a node defending the apex."
      },
      {
        "tool": {
          "name": "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": "019de781-1cdf-757a-83fb-03c7cc8b4848",
        "evidence": "Green/red bubbles flag improved vs worsened C/I per bank.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 85,
        "extraction": {
          "at": "2026-05-02 07:04:48.042956+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 16,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Action Titles",
          "slug": "action-titles",
          "status": "active",
          "bestFor": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
          "canonId": "019dd956-ac70-700b-a608-ba58e78f5dcc",
          "version": 1,
          "bodyDocId": "816dad3c-9983-41c1-a86e-978ebd582841",
          "description": "The McKinsey-bred discipline of writing every slide title as a complete declarative sentence with a verb and an insight, not a topic label. Each title is a sub-claim that ladders up to the deck's governing thought; read in sequence, the titles reconstruct the executive summary.",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Architect",
        "layer": "slide",
        "agents": [
          "Architect"
        ],
        "matchId": "019de781-1d0c-72fb-bd5e-e974c51a4672",
        "evidence": "'Asset quality and coverage ratio improved for most of the banks'.",
        "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 07:04:48.042956+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 17,
        "whyItWorks": "Solves two failure modes at once. (1) The buried claim: action titles place the conclusion on the page before any analysis is read, so a busy reader doesn't reverse-engineer it from the chart. (2) The spineless deck: because each title is a claim, slides have to ladder up to the governing thought; logical gaps become visible as topic-shaped titles in a sequence that no longer reads as a story.",
        "antipattern": "Topic labels disguised as titles — Volume by quarter, Key findings, Pricing strategy, Margins have been impacted. No verb, or a passive verb with no agent, or a fact (Revenue grew 12%) without the so-what. Also: titles that overreach the chart's evidence, multi-claim X-grew-but-Y-fell welded titles, and mechanical repetition of the same X-drove-Y template across the deck.",
        "cardinality": null,
        "narrativePurpose": "Forces the deck to carry its argument in the title bar so a senior reader can extract the recommendation without opening a single slide; converts a binder of topics into a navigable pyramid where every slide is a node defending the apex."
      },
      {
        "tool": {
          "name": "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": "019de781-1d60-77b1-a024-f526cdbf69f7",
        "evidence": "Coverage and NPL plotted with consistent palette per bank.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 75,
        "extraction": {
          "at": "2026-05-02 07:04:48.042956+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": "019de781-1d36-746c-a09e-244eb4e5fd52",
        "evidence": "Nine identical bank-level coverage/NPL panels.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 90,
        "extraction": {
          "at": "2026-05-02 07:04:48.042956+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 17,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Action Titles",
          "slug": "action-titles",
          "status": "active",
          "bestFor": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
          "canonId": "019dd956-ac70-700b-a608-ba58e78f5dcc",
          "version": 1,
          "bodyDocId": "816dad3c-9983-41c1-a86e-978ebd582841",
          "description": "The McKinsey-bred discipline of writing every slide title as a complete declarative sentence with a verb and an insight, not a topic label. Each title is a sub-claim that ladders up to the deck's governing thought; read in sequence, the titles reconstruct the executive summary.",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Architect",
        "layer": "slide",
        "agents": [
          "Architect"
        ],
        "matchId": "019de781-1d8c-7739-9198-b595e2e82f58",
        "evidence": "'Stage 3 loans increased marginally while banks maintained adequate provisions'.",
        "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 07:04:48.042956+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 18,
        "whyItWorks": "Solves two failure modes at once. (1) The buried claim: action titles place the conclusion on the page before any analysis is read, so a busy reader doesn't reverse-engineer it from the chart. (2) The spineless deck: because each title is a claim, slides have to ladder up to the governing thought; logical gaps become visible as topic-shaped titles in a sequence that no longer reads as a story.",
        "antipattern": "Topic labels disguised as titles — Volume by quarter, Key findings, Pricing strategy, Margins have been impacted. No verb, or a passive verb with no agent, or a fact (Revenue grew 12%) without the so-what. Also: titles that overreach the chart's evidence, multi-claim X-grew-but-Y-fell welded titles, and mechanical repetition of the same X-drove-Y template across the deck.",
        "cardinality": null,
        "narrativePurpose": "Forces the deck to carry its argument in the title bar so a senior reader can extract the recommendation without opening a single slide; converts a binder of topics into a navigable pyramid where every slide is a node defending the apex."
      },
      {
        "tool": {
          "name": "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": "019de781-1de2-7736-a3e1-828175b03b4b",
        "evidence": "Stage 1/2/3 segments color-coded uniformly.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 80,
        "extraction": {
          "at": "2026-05-02 07:04:48.042956+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 18,
        "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": "019de781-1db6-7466-8816-2582bbed177f",
        "evidence": "Stacked bars per bank for ECL stage mix across five quarters.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 85,
        "extraction": {
          "at": "2026-05-02 07:04:48.042956+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 18,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Action Titles",
          "slug": "action-titles",
          "status": "active",
          "bestFor": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
          "canonId": "019dd956-ac70-700b-a608-ba58e78f5dcc",
          "version": 1,
          "bodyDocId": "816dad3c-9983-41c1-a86e-978ebd582841",
          "description": "The McKinsey-bred discipline of writing every slide title as a complete declarative sentence with a verb and an insight, not a topic label. Each title is a sub-claim that ladders up to the deck's governing thought; read in sequence, the titles reconstruct the executive summary.",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Architect",
        "layer": "slide",
        "agents": [
          "Architect"
        ],
        "matchId": "019de781-1e0e-7544-ad07-e527576bda3e",
        "evidence": "'Cost of risk increased as banks recorded higher impairment charges'.",
        "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 07:04:48.042956+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 19,
        "whyItWorks": "Solves two failure modes at once. (1) The buried claim: action titles place the conclusion on the page before any analysis is read, so a busy reader doesn't reverse-engineer it from the chart. (2) The spineless deck: because each title is a claim, slides have to ladder up to the governing thought; logical gaps become visible as topic-shaped titles in a sequence that no longer reads as a story.",
        "antipattern": "Topic labels disguised as titles — Volume by quarter, Key findings, Pricing strategy, Margins have been impacted. No verb, or a passive verb with no agent, or a fact (Revenue grew 12%) without the so-what. Also: titles that overreach the chart's evidence, multi-claim X-grew-but-Y-fell welded titles, and mechanical repetition of the same X-drove-Y template across the deck.",
        "cardinality": null,
        "narrativePurpose": "Forces the deck to carry its argument in the title bar so a senior reader can extract the recommendation without opening a single slide; converts a binder of topics into a navigable pyramid where every slide is a node defending the apex."
      },
      {
        "tool": {
          "name": "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": "019de781-1e94-7260-bf72-d4c6ea7de003",
        "evidence": "Three bar charts decompose CoR = provisions / loans.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 75,
        "extraction": {
          "at": "2026-05-02 07:04:48.042956+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 19,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Color Strategy",
          "slug": "color-strategy",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-b202-77cf-8a6e-f445b08c0fd3",
          "version": 1,
          "bodyDocId": null,
          "description": "Using color for emphasis, categories, sentiment, and hierarchy",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Designer",
        "layer": "slide",
        "agents": [
          "Designer"
        ],
        "matchId": "019de781-1ebf-7574-a3ac-041944c80270",
        "evidence": "Red/green bars flag direction of change.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 80,
        "extraction": {
          "at": "2026-05-02 07:04:48.042956+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 19,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "2x2 matrix",
          "slug": "matrix-2x2",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd9e1-50ab-72d1-8afb-3ab0a38e32a8",
          "version": 1,
          "bodyDocId": null,
          "description": "BCG matrix, importance/urgency, any axes-and-quadrants frame.",
          "familyLabel": null,
          "categoryName": null,
          "categorySlug": null
        },
        "agent": null,
        "layer": "slide",
        "agents": null,
        "matchId": "ba8fac3d-0b61-438c-b6a0-9e7238e516e2",
        "evidence": "The slide features a grouped bar chart with Improved, Stable, Worsened legend.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.7,
        "extraction": {
          "at": "2026-07-16 21:29:18.027294+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 20,
        "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": "019de781-1ee9-722e-b37d-ba728c3be75d",
        "evidence": "'Top four banks largely drove the deterioration in aggregate cost of risk'.",
        "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 07:04:48.042956+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 20,
        "whyItWorks": "Solves two failure modes at once. (1) The buried claim: action titles place the conclusion on the page before any analysis is read, so a busy reader doesn't reverse-engineer it from the chart. (2) The spineless deck: because each title is a claim, slides have to ladder up to the governing thought; logical gaps become visible as topic-shaped titles in a sequence that no longer reads as a story.",
        "antipattern": "Topic labels disguised as titles — Volume by quarter, Key findings, Pricing strategy, Margins have been impacted. No verb, or a passive verb with no agent, or a fact (Revenue grew 12%) without the so-what. Also: titles that overreach the chart's evidence, multi-claim X-grew-but-Y-fell welded titles, and mechanical repetition of the same X-drove-Y template across the deck.",
        "cardinality": null,
        "narrativePurpose": "Forces the deck to carry its argument in the title bar so a senior reader can extract the recommendation without opening a single slide; converts a binder of topics into a navigable pyramid where every slide is a node defending the apex."
      },
      {
        "tool": {
          "name": "Annotation",
          "slug": "annotation",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-b5b9-7668-bf0e-3af99823ec5c",
          "version": 1,
          "bodyDocId": null,
          "description": "Adding explanatory labels to highlight key data points",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Designer",
        "layer": "slide",
        "agents": [
          "Designer"
        ],
        "matchId": "019de781-1f3c-7370-8654-27bb008de3e0",
        "evidence": "Per-bank labels highlight outliers driving aggregate change.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 70,
        "extraction": {
          "at": "2026-05-02 07:04:48.042956+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 20,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Color Strategy",
          "slug": "color-strategy",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-b202-77cf-8a6e-f445b08c0fd3",
          "version": 1,
          "bodyDocId": null,
          "description": "Using color for emphasis, categories, sentiment, and hierarchy",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Designer",
        "layer": "slide",
        "agents": [
          "Designer"
        ],
        "matchId": "019de781-1f13-764d-8d9a-b861fa2affaa",
        "evidence": "Green/yellow/red markers flag improved/stable/worsened CoR.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 85,
        "extraction": {
          "at": "2026-05-02 07:04:48.042956+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 20,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Action Titles",
          "slug": "action-titles",
          "status": "active",
          "bestFor": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
          "canonId": "019dd956-ac70-700b-a608-ba58e78f5dcc",
          "version": 1,
          "bodyDocId": "816dad3c-9983-41c1-a86e-978ebd582841",
          "description": "The McKinsey-bred discipline of writing every slide title as a complete declarative sentence with a verb and an insight, not a topic label. Each title is a sub-claim that ladders up to the deck's governing thought; read in sequence, the titles reconstruct the executive summary.",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Architect",
        "layer": "slide",
        "agents": [
          "Architect"
        ],
        "matchId": "019de781-1f66-755b-81b8-36861b31ddbc",
        "evidence": "'Higher operating income and improved cost efficiency resulted in increased ROE'.",
        "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 07:04:48.042956+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 21,
        "whyItWorks": "Solves two failure modes at once. (1) The buried claim: action titles place the conclusion on the page before any analysis is read, so a busy reader doesn't reverse-engineer it from the chart. (2) The spineless deck: because each title is a claim, slides have to ladder up to the governing thought; logical gaps become visible as topic-shaped titles in a sequence that no longer reads as a story.",
        "antipattern": "Topic labels disguised as titles — Volume by quarter, Key findings, Pricing strategy, Margins have been impacted. No verb, or a passive verb with no agent, or a fact (Revenue grew 12%) without the so-what. Also: titles that overreach the chart's evidence, multi-claim X-grew-but-Y-fell welded titles, and mechanical repetition of the same X-drove-Y template across the deck.",
        "cardinality": null,
        "narrativePurpose": "Forces the deck to carry its argument in the title bar so a senior reader can extract the recommendation without opening a single slide; converts a binder of topics into a navigable pyramid where every slide is a node defending the apex."
      },
      {
        "tool": {
          "name": "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": "019de781-1f90-7316-8e07-32f3bc075b55",
        "evidence": "Green/red leaf icons indicate ROE improvement vs decline per bank.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 85,
        "extraction": {
          "at": "2026-05-02 07:04:48.042956+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 21,
        "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": "019de781-1fba-771e-88fe-685422242d09",
        "evidence": "Title is the synthesis insight: 'KSA banks are successfully navigating the rate cycle'.",
        "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": 95,
        "extraction": {
          "at": "2026-05-02 07:04:48.042956+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 22,
        "whyItWorks": "Solves two failure modes at once. (1) The buried claim: action titles place the conclusion on the page before any analysis is read, so a busy reader doesn't reverse-engineer it from the chart. (2) The spineless deck: because each title is a claim, slides have to ladder up to the governing thought; logical gaps become visible as topic-shaped titles in a sequence that no longer reads as a story.",
        "antipattern": "Topic labels disguised as titles — Volume by quarter, Key findings, Pricing strategy, Margins have been impacted. No verb, or a passive verb with no agent, or a fact (Revenue grew 12%) without the so-what. Also: titles that overreach the chart's evidence, multi-claim X-grew-but-Y-fell welded titles, and mechanical repetition of the same X-drove-Y template across the deck.",
        "cardinality": null,
        "narrativePurpose": "Forces the deck to carry its argument in the title bar so a senior reader can extract the recommendation without opening a single slide; converts a binder of topics into a navigable pyramid where every slide is a node defending the apex."
      },
      {
        "tool": {
          "name": "Color Strategy",
          "slug": "color-strategy",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-b202-77cf-8a6e-f445b08c0fd3",
          "version": 1,
          "bodyDocId": null,
          "description": "Using color for emphasis, categories, sentiment, and hierarchy",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Designer",
        "layer": "slide",
        "agents": [
          "Designer"
        ],
        "matchId": "019de781-2011-77bd-8cd8-f59c08cbb99c",
        "evidence": "Green/orange/red bar coloring encodes improved/stable/worsened.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 90,
        "extraction": {
          "at": "2026-05-02 07:04:48.042956+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 22,
        "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": "019de781-1fe7-715c-8f91-79b75021456e",
        "evidence": "Ten identical KPI mini-charts arranged in a grid.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 95,
        "extraction": {
          "at": "2026-05-02 07:04:48.042956+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 22,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Visual Hierarchy",
          "slug": "visual-hierarchy",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-b2ca-706b-937f-e52441086fd7",
          "version": 1,
          "bodyDocId": null,
          "description": "Order of perception through Size > Color > Position > Weight > Space",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Designer",
        "layer": "slide",
        "agents": [
          "Designer"
        ],
        "matchId": "019de781-203b-7602-b383-c4d00ec7a3ba",
        "evidence": "Lead KPIs (RoE, RoA) anchor left, supporting KPIs cascade right.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 75,
        "extraction": {
          "at": "2026-05-02 07:04:48.042956+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 22,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Data-Ink Ratio",
          "slug": "data-ink-ratio",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-afc8-70da-b378-92834d36fde6",
          "version": 1,
          "bodyDocId": null,
          "description": "Maximize data, minimize non-data ink - remove chartjunk and decoration",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Designer",
        "layer": "slide",
        "agents": [
          "Designer"
        ],
        "matchId": "019de781-20f8-7768-8006-c7584d3cf075",
        "evidence": "Clean tabular layout with minimal decoration.",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": null,
        "confidence": 70,
        "extraction": {
          "at": "2026-05-02 07:04:48.042956+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 23,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      }
    ],
    "frameworks": [
      {
        "matchId": "155ad833-fe19-43e0-8767-2316deed7984",
        "evidence": "The chart is a standard financial waterfall bridge.",
        "framework": null,
        "confidence": 1,
        "extraction": {
          "at": "2026-05-02 18:47:59.682+00",
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 7,
        "frameworkName": "waterfall-chart"
      },
      {
        "matchId": "019de781-214c-76be-8e68-c2383b9861c8",
        "evidence": "Classic Q2 -> Q3 net income bridge with positive/negative driver bars.",
        "framework": null,
        "confidence": 95,
        "extraction": {
          "at": "2026-05-02 07:04:48.042956+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 7,
        "frameworkName": "Waterfall / Value Bridge"
      },
      {
        "matchId": "019de781-2177-7464-a988-5f13d412cbe6",
        "evidence": "Quadrant chart with L&A vs Deposits growth axes and named quadrants.",
        "framework": null,
        "confidence": 90,
        "extraction": {
          "at": "2026-05-02 07:04:48.042956+00",
          "model": "claude-cli",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 8,
        "frameworkName": "2x2 Matrix"
      },
      {
        "matchId": "167b5ea3-3fb7-453e-bfb9-7050349e08a3",
        "evidence": "The central chart is a 2x2 matrix segmenting banks by growth metrics.",
        "framework": null,
        "confidence": 1,
        "extraction": {
          "at": "2026-05-02 18:48:00.07+00",
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 8,
        "frameworkName": "matrix-2x2"
      },
      {
        "matchId": "14fe6fc2-53bb-40d0-acac-e6d4f6a6520b",
        "evidence": "Breaking down total operating income into NII, Fee & Commission, and Other income.",
        "framework": null,
        "confidence": 0.9,
        "extraction": {
          "at": "2026-05-02 18:48:04.107+00",
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 12,
        "frameworkName": "decomposition"
      }
    ],
    "patterns": []
  },
  "storymakers": {
    "model": "claude-cli",
    "backend": "claude",
    "rawJson": {
      "arc": {
        "id": 11,
        "slug": "triple-take",
        "beats": [
          {
            "name": "The Facts (What)",
            "end_page": 21,
            "evidence": "Macro plus 15+ KPI deep-dives describing Q3'24 banking metrics.",
            "position": 1,
            "start_page": 3
          },
          {
            "name": "The Implications (So What)",
            "end_page": 22,
            "evidence": "Synthesis slide states banks are successfully navigating the rate cycle.",
            "position": 2,
            "start_page": 22
          },
          {
            "name": "The Action (Now What)",
            "end_page": 23,
            "evidence": "GCC banking consolidation precedent table flags M&A as the next horizon.",
            "position": 3,
            "start_page": 23
          }
        ],
        "evidence": "Deck stacks data (p3-21), surfaces synthesis on p22 ('navigating the rate cycle'), then offers GCC consolidation precedent (p23) as the implied 'now what'.",
        "confidence": 60
      },
      "loops": [
        {
          "id": 6,
          "slug": "06-zoom-in",
          "end_page": 4,
          "evidence": "p3 surveys macro (GDP, rates, money supply); p4 narrows into top-ten KSA banks aggregate.",
          "position": 1,
          "objective": "Zoom from KSA macro into the banking sector context",
          "confidence": 65,
          "start_page": 3
        },
        {
          "id": 41,
          "slug": "41-so-what-cascade",
          "end_page": 6,
          "evidence": "p5 KPI table with sparklines plus 8 numbered takeaways; p6 grid of qualitative developments.",
          "position": 2,
          "objective": "Deliver an answer-first KPI snapshot of Q3'24 with sector developments",
          "confidence": 70,
          "start_page": 5
        },
        {
          "id": 31,
          "slug": "31-waterfall-value",
          "end_page": 7,
          "evidence": "Net income bridge waterfall (SAR 19.47bn -> 20.51bn) with NII, fees, opex, impairments components.",
          "position": 3,
          "objective": "Decompose Q2-to-Q3 net income drivers",
          "confidence": 90,
          "start_page": 7
        },
        {
          "id": 4,
          "slug": "04-tale-two-worlds",
          "end_page": 11,
          "evidence": "2x2 (loans vs deposits), loan/deposit composition splits, LDR scatter all argue the L&A vs deposits gap.",
          "position": 4,
          "objective": "Show divergence between lending growth and deposit mobilization",
          "confidence": 75,
          "start_page": 8
        },
        {
          "id": 6,
          "slug": "06-zoom-in",
          "end_page": 16,
          "evidence": "Op income decomp (p12) -> NIM components (p13) -> NIM by bank (p14) -> C/I trend (p15) -> C/I by bank (p16).",
          "position": 5,
          "objective": "Zoom into operating efficiency: income mix, NIM, cost-to-income",
          "confidence": 70,
          "start_page": 12
        },
        {
          "id": 6,
          "slug": "06-zoom-in",
          "end_page": 20,
          "evidence": "Asset quality dashboard -> ECL stages -> cost of risk trend -> bank-level cost of risk drivers.",
          "position": 6,
          "objective": "Zoom into credit quality and cost of risk",
          "confidence": 70,
          "start_page": 17
        },
        {
          "id": 3,
          "slug": "03-aha-moment",
          "end_page": 22,
          "evidence": "ROE bank comparison (p21) feeds the synthesis dashboard on p22 with the explicit insight title.",
          "position": 7,
          "objective": "Land the insight that KSA banks are navigating the rate cycle",
          "confidence": 70,
          "start_page": 21
        },
        {
          "id": 9,
          "slug": "09-precedent",
          "end_page": 23,
          "evidence": "Chronological M&A table since April 2019 with 20+ transactions across GCC.",
          "position": 8,
          "objective": "Cite GCC banking consolidation deals as precedent for sector outlook",
          "confidence": 80,
          "start_page": 23
        }
      ],
      "slide_tools": [
        {
          "tools": [
            {
              "id": 129,
              "slug": "chart-selection-guide",
              "layer": "Slide",
              "evidence": "Three horizontal bar charts pair the right form to GDP, rates, money supply.",
              "confidence": 75
            },
            {
              "id": 125,
              "slug": "data-ink-ratio",
              "layer": "Slide",
              "evidence": "Charts use minimal gridlines and clean A&M template.",
              "confidence": 65
            },
            {
              "id": 80,
              "slug": "data-story-arc",
              "layer": "Loop",
              "evidence": "Macro context anchors the data narrative for the deck.",
              "confidence": 60
            }
          ],
          "page_number": 3
        },
        {
          "tools": [
            {
              "id": 138,
              "slug": "annotation",
              "layer": "Slide",
              "evidence": "Callout 'aggregate L&A increased +3.7% QoQ' annotates the chart.",
              "confidence": 70
            },
            {
              "id": 129,
              "slug": "chart-selection-guide",
              "layer": "Slide",
              "evidence": "Grouped bar charts compare quarterly performance metrics.",
              "confidence": 70
            },
            {
              "id": 130,
              "slug": "color-strategy",
              "layer": "Slide",
              "evidence": "Consistent color-coded legend across the three charts.",
              "confidence": 70
            }
          ],
          "page_number": 4
        },
        {
          "tools": [
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "Title states the insight: 'continued lending momentum and improvement on cost efficiency'.",
              "confidence": 90
            },
            {
              "id": 134,
              "slug": "sparklines-chart",
              "layer": "Slide",
              "evidence": "Each KPI row has a 5-quarter sparkline column.",
              "confidence": 95
            },
            {
              "id": 130,
              "slug": "color-strategy",
              "layer": "Slide",
              "evidence": "Green/orange/red arrows indicate improved/stable/worsened.",
              "confidence": 90
            },
            {
              "id": 132,
              "slug": "visual-hierarchy",
              "layer": "Slide",
              "evidence": "Numbered key trends column and KPI table create clear reading order.",
              "confidence": 75
            },
            {
              "id": 116,
              "slug": "chunking",
              "layer": "Loop",
              "evidence": "KPIs grouped into Size, Liquidity, Income, Risk, Profitability, Capital.",
              "confidence": 70
            },
            {
              "id": 3,
              "slug": "pyramid-principle",
              "layer": "Block",
              "evidence": "Answer-first dashboard previews everything before the deep-dives.",
              "confidence": 65
            }
          ],
          "page_number": 5
        },
        {
          "tools": [
            {
              "id": 131,
              "slug": "gestalt-principles",
              "layer": "Slide",
              "evidence": "2x3 grid uses proximity to group six thematic categories.",
              "confidence": 70
            },
            {
              "id": 133,
              "slug": "small-multiples",
              "layer": "Slide",
              "evidence": "Six text boxes with parallel icon plus title plus body structure.",
              "confidence": 60
            }
          ],
          "page_number": 6
        },
        {
          "tools": [
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "'Despite rate cuts, higher NII and Fee... contributed to earnings growth'.",
              "confidence": 90
            },
            {
              "id": 129,
              "slug": "chart-selection-guide",
              "layer": "Slide",
              "evidence": "Waterfall chart correctly chosen for additive bridge analysis.",
              "confidence": 95
            },
            {
              "id": 130,
              "slug": "color-strategy",
              "layer": "Slide",
              "evidence": "Green positive bars, red negative bars, navy endpoints.",
              "confidence": 90
            },
            {
              "id": 138,
              "slug": "annotation",
              "layer": "Slide",
              "evidence": "Each bar labelled with SAR Bn delta value.",
              "confidence": 80
            },
            {
              "id": 78,
              "slug": "contrast-pairs",
              "layer": "Loop",
              "evidence": "Q2'24 vs Q3'24 endpoint pairing drives the bridge.",
              "confidence": 70
            }
          ],
          "page_number": 7
        },
        {
          "tools": [
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "'Banks continue to expand credit outlay which has outpaced deposit mobilization'.",
              "confidence": 90
            },
            {
              "id": 129,
              "slug": "chart-selection-guide",
              "layer": "Slide",
              "evidence": "2x2 quadrant scatter with bank logos as markers.",
              "confidence": 90
            },
            {
              "id": 138,
              "slug": "annotation",
              "layer": "Slide",
              "evidence": "Quadrants labelled 'Gained Financing MS', 'Gained Deposits & Financing MS', etc.",
              "confidence": 85
            },
            {
              "id": 131,
              "slug": "gestalt-principles",
              "layer": "Slide",
              "evidence": "Quadrant boundaries enclose related banks; logo proximity signals grouping.",
              "confidence": 70
            },
            {
              "id": 78,
              "slug": "contrast-pairs",
              "layer": "Loop",
              "evidence": "Lending growth vs deposit growth axes set up the tension.",
              "confidence": 75
            }
          ],
          "page_number": 8
        },
        {
          "tools": [
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "'Corporate / wholesale segment remain the major focus for most KSA banks'.",
              "confidence": 85
            },
            {
              "id": 133,
              "slug": "small-multiples",
              "layer": "Slide",
              "evidence": "Nine bank-level stacked bar charts plus aggregate, identical template.",
              "confidence": 90
            },
            {
              "id": 130,
              "slug": "color-strategy",
              "layer": "Slide",
              "evidence": "Retail vs Corporate/Wholesale color-coded across all charts.",
              "confidence": 80
            }
          ],
          "page_number": 9
        },
        {
          "tools": [
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "'Aggregate deposits growth moderated... mainly driven by increase in time deposits'.",
              "confidence": 85
            },
            {
              "id": 133,
              "slug": "small-multiples",
              "layer": "Slide",
              "evidence": "Nine bank stacked bar charts in a consistent grid.",
              "confidence": 90
            },
            {
              "id": 130,
              "slug": "color-strategy",
              "layer": "Slide",
              "evidence": "CASA / Time / Other deposit categories color-coded uniformly.",
              "confidence": 80
            }
          ],
          "page_number": 10
        },
        {
          "tools": [
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "'LDR crossed 100% for the first time in 2024'.",
              "confidence": 90
            },
            {
              "id": 129,
              "slug": "chart-selection-guide",
              "layer": "Slide",
              "evidence": "Scatter with LDR vs Total Assets and vector arrows for movement.",
              "confidence": 85
            },
            {
              "id": 138,
              "slug": "annotation",
              "layer": "Slide",
              "evidence": "Reference lines at 100.1% and 97.8%; 'healthy zone' shaded.",
              "confidence": 90
            },
            {
              "id": 130,
              "slug": "color-strategy",
              "layer": "Slide",
              "evidence": "Triangle (Q2) vs circle (Q3) markers with directional arrows.",
              "confidence": 70
            }
          ],
          "page_number": 11
        },
        {
          "tools": [
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "'Higher non-interest income was a major contributor to total operating income uptick'.",
              "confidence": 85
            },
            {
              "id": 129,
              "slug": "chart-selection-guide",
              "layer": "Slide",
              "evidence": "Vertical bar charts decompose operating income components.",
              "confidence": 75
            },
            {
              "id": 135,
              "slug": "layering-and-separation",
              "layer": "Slide",
              "evidence": "Plus visual operator shows additive relationship of components.",
              "confidence": 70
            },
            {
              "id": 80,
              "slug": "data-story-arc",
              "layer": "Loop",
              "evidence": "Operating efficiency narrative opens here, sequencing income then cost.",
              "confidence": 60
            }
          ],
          "page_number": 12
        },
        {
          "tools": [
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "'NIM remained stable after three consecutive quarters of contraction'.",
              "confidence": 85
            },
            {
              "id": 129,
              "slug": "chart-selection-guide",
              "layer": "Slide",
              "evidence": "Four bar charts decompose NIM into yield-on-credit and cost-of-funds.",
              "confidence": 75
            },
            {
              "id": 138,
              "slug": "annotation",
              "layer": "Slide",
              "evidence": "Visual X and minus operators show NIM calculation relationship.",
              "confidence": 70
            }
          ],
          "page_number": 13
        },
        {
          "tools": [
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "'NIM performance was mixed across KSA banks'.",
              "confidence": 85
            },
            {
              "id": 130,
              "slug": "color-strategy",
              "layer": "Slide",
              "evidence": "Green/red/orange callouts indicate NIM direction per bank.",
              "confidence": 85
            },
            {
              "id": 129,
              "slug": "chart-selection-guide",
              "layer": "Slide",
              "evidence": "Grouped bar comparing Q2 and Q3 NIM by bank.",
              "confidence": 70
            }
          ],
          "page_number": 14
        },
        {
          "tools": [
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "'Banks continued to focus on operational efficiency; aggregate C/I... closer to 30%'.",
              "confidence": 85
            },
            {
              "id": 129,
              "slug": "chart-selection-guide",
              "layer": "Slide",
              "evidence": "Three bar charts decompose expenses, income, and resulting C/I.",
              "confidence": 75
            },
            {
              "id": 138,
              "slug": "annotation",
              "layer": "Slide",
              "evidence": "Division icon shows C/I = expenses / income.",
              "confidence": 65
            }
          ],
          "page_number": 15
        },
        {
          "tools": [
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "'Half of the banks reported an improvement in cost efficiency'.",
              "confidence": 85
            },
            {
              "id": 130,
              "slug": "color-strategy",
              "layer": "Slide",
              "evidence": "Green/red bubbles flag improved vs worsened C/I per bank.",
              "confidence": 85
            }
          ],
          "page_number": 16
        },
        {
          "tools": [
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "'Asset quality and coverage ratio improved for most of the banks'.",
              "confidence": 85
            },
            {
              "id": 133,
              "slug": "small-multiples",
              "layer": "Slide",
              "evidence": "Nine identical bank-level coverage/NPL panels.",
              "confidence": 90
            },
            {
              "id": 130,
              "slug": "color-strategy",
              "layer": "Slide",
              "evidence": "Coverage and NPL plotted with consistent palette per bank.",
              "confidence": 75
            }
          ],
          "page_number": 17
        },
        {
          "tools": [
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "'Stage 3 loans increased marginally while banks maintained adequate provisions'.",
              "confidence": 85
            },
            {
              "id": 133,
              "slug": "small-multiples",
              "layer": "Slide",
              "evidence": "Stacked bars per bank for ECL stage mix across five quarters.",
              "confidence": 85
            },
            {
              "id": 130,
              "slug": "color-strategy",
              "layer": "Slide",
              "evidence": "Stage 1/2/3 segments color-coded uniformly.",
              "confidence": 80
            }
          ],
          "page_number": 18
        },
        {
          "tools": [
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "'Cost of risk increased as banks recorded higher impairment charges'.",
              "confidence": 85
            },
            {
              "id": 129,
              "slug": "chart-selection-guide",
              "layer": "Slide",
              "evidence": "Three bar charts decompose CoR = provisions / loans.",
              "confidence": 75
            },
            {
              "id": 130,
              "slug": "color-strategy",
              "layer": "Slide",
              "evidence": "Red/green bars flag direction of change.",
              "confidence": 80
            }
          ],
          "page_number": 19
        },
        {
          "tools": [
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "'Top four banks largely drove the deterioration in aggregate cost of risk'.",
              "confidence": 85
            },
            {
              "id": 130,
              "slug": "color-strategy",
              "layer": "Slide",
              "evidence": "Green/yellow/red markers flag improved/stable/worsened CoR.",
              "confidence": 85
            },
            {
              "id": 138,
              "slug": "annotation",
              "layer": "Slide",
              "evidence": "Per-bank labels highlight outliers driving aggregate change.",
              "confidence": 70
            }
          ],
          "page_number": 20
        },
        {
          "tools": [
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "'Higher operating income and improved cost efficiency resulted in increased ROE'.",
              "confidence": 85
            },
            {
              "id": 130,
              "slug": "color-strategy",
              "layer": "Slide",
              "evidence": "Green/red leaf icons indicate ROE improvement vs decline per bank.",
              "confidence": 85
            }
          ],
          "page_number": 21
        },
        {
          "tools": [
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "Title is the synthesis insight: 'KSA banks are successfully navigating the rate cycle'.",
              "confidence": 95
            },
            {
              "id": 133,
              "slug": "small-multiples",
              "layer": "Slide",
              "evidence": "Ten identical KPI mini-charts arranged in a grid.",
              "confidence": 95
            },
            {
              "id": 130,
              "slug": "color-strategy",
              "layer": "Slide",
              "evidence": "Green/orange/red bar coloring encodes improved/stable/worsened.",
              "confidence": 90
            },
            {
              "id": 132,
              "slug": "visual-hierarchy",
              "layer": "Slide",
              "evidence": "Lead KPIs (RoE, RoA) anchor left, supporting KPIs cascade right.",
              "confidence": 75
            },
            {
              "id": 103,
              "slug": "aha-moment",
              "layer": "Loop",
              "evidence": "All preceding metrics resolve into the single 'navigating successfully' insight.",
              "confidence": 75
            },
            {
              "id": 100,
              "slug": "payoff",
              "layer": "Loop",
              "evidence": "Closes the analytical setup that began with rate-cut concern in p3-4.",
              "confidence": 65
            }
          ],
          "page_number": 22
        },
        {
          "tools": [
            {
              "id": 125,
              "slug": "data-ink-ratio",
              "layer": "Slide",
              "evidence": "Clean tabular layout with minimal decoration.",
              "confidence": 70
            },
            {
              "id": 85,
              "slug": "argument-from-analogy",
              "layer": "Loop",
              "evidence": "Recent GCC M&A deals serve as analogical precedent for KSA outlook.",
              "confidence": 75
            }
          ],
          "page_number": 23
        }
      ],
      "slides_seen": 30,
      "deck_summary": "A polished A&M quarterly benchmark report with strong action titles, sparklines, and consistent small-multiple chart craft, but it is fundamentally descriptive analysis rather than a persuasive arc, so Storymakers alignment is moderate -- the synthesis insight only lands once on p22.",
      "secondary_arcs": [
        {
          "id": 12,
          "slug": "onion",
          "beats": [
            {
              "name": "Surface Observation",
              "end_page": 4,
              "evidence": "Macro and sector overview frames the operating context.",
              "position": 1,
              "start_page": 3
            },
            {
              "name": "First Layer",
              "end_page": 6,
              "evidence": "Aggregate KPI dashboard plus industry developments.",
              "position": 2,
              "start_page": 5
            },
            {
              "name": "Deeper Layer",
              "end_page": 21,
              "evidence": "Bank-level breakdowns of income, balance sheet, NIM, C/I, risk, ROE.",
              "position": 3,
              "start_page": 7
            },
            {
              "name": "Core Insight",
              "end_page": 22,
              "evidence": "Action title declares banks are navigating the rate cycle successfully.",
              "position": 4,
              "start_page": 22
            },
            {
              "name": "Implications",
              "end_page": 23,
              "evidence": "GCC consolidation table points toward likely M&A continuation.",
              "position": 5,
              "start_page": 23
            }
          ],
          "evidence": "Deck zooms from KSA macro (p3) to sector aggregates (p5) to per-bank KPIs (p7-21) to a synthesis insight (p22) and outward implication (p23).",
          "confidence": 50
        }
      ],
      "images_inspected": 6,
      "slide_frameworks": [
        {
          "frameworks": [
            {
              "name": "Waterfall / Value Bridge",
              "slug": "waterfall-bridge",
              "evidence": "Classic Q2 -> Q3 net income bridge with positive/negative driver bars.",
              "confidence": 95
            }
          ],
          "page_number": 7
        },
        {
          "frameworks": [
            {
              "name": "2x2 Matrix",
              "slug": "matrix-2x2",
              "evidence": "Quadrant chart with L&A vs Deposits growth axes and named quadrants.",
              "confidence": 90
            }
          ],
          "page_number": 8
        }
      ]
    },
    "matchedAt": "2026-05-02 07:04:48.228+00",
    "slidesSeen": 30,
    "deckSummary": "A polished A&M quarterly benchmark report with strong action titles, sparklines, and consistent small-multiple chart craft, but it is fundamentally descriptive analysis rather than a persuasive arc, so Storymakers alignment is moderate -- the synthesis insight only lands once on p22.",
    "imagesInspected": 6,
    "extractionSeconds": 585.509
  },
  "score": {
    "backend": "codex",
    "scoredAt": "2026-05-02 18:12:32.643+00",
    "subScores": {
      "scqa_arc": 55,
      "action_titles": 78,
      "mece_structure": 72,
      "closing_strength": 30,
      "evidence_quality": 86,
      "clarity_of_thesis": 68,
      "production_quality": 68,
      "visual_storytelling": 74
    },
    "totalScore": 66,
    "coveragePct": 100,
    "explanations": {
      "scqa_arc": "Slides 3-6 establish the situation and market context, but the deck moves into a KPI analysis sequence without a clearly framed complication, question, or decisive answer.",
      "action_titles": "The analytical core uses many insight-bearing titles, for example slide 8: \"Banks continue to expand credit outlay which has outpaced deposit mobilization.\"",
      "mece_structure": "Slides 7-22 cover major banking performance buckets fairly comprehensively, but dashboard summaries on slides 5 and 22 overlap with the KPI deep dives and the hierarchy is not explicit.",
      "closing_strength": "The deck does not end with a recommendation or next steps; slides 29-30 provide team contacts and corporate branding rather than a clear call to action.",
      "evidence_quality": "Claims are strongly supported by quantified charts, peer comparisons, callouts, and source/reference appendices, especially across slides 7-22 and slides 27-28.",
      "clarity_of_thesis": "The central argument emerges by slide 5, where lending momentum and cost efficiency are stated, but slides 1-4 mostly introduce the report and context rather than a crisp thesis.",
      "production_quality": "The deck has consistent consulting-style templates and footnotes, but repeated topic-label titles, overcrowded KPI pages, and appendix-heavy ending reduce polish.",
      "visual_storytelling": "Most messages are paired with appropriate tools such as the waterfall on slide 7, 2x2 on slide 8, and peer bar charts throughout, though several dense slides are overcrowded."
    },
    "slidesAnalyzed": 30
  },
  "review": {
    "backend": null,
    "verdict": "A competent quarterly metric tour with strong action titles and quantified callouts, but it lacks a thesis-led opening and any closing recommendation — useful as a teaching example for headline-writing discipline, not for SCQA storytelling.",
    "reviewedAt": "2026-04-25 11:29:46+00",
    "slidesSeen": 30,
    "suggestions": [
      "Add a 'Key takeaways from Q3'24' slide as page 3 with 3-4 bulleted insights (lending momentum, LDR>100%, NIM stable, ROE up) so the answer leads",
      "Insert 3 MECE section dividers — Growth & Liquidity / Margins & Efficiency / Risk & Returns — to convert the metric tour into a pillared story",
      "Replace the orphan p.23 with a forward-looking 'Q4'24 outlook & implications for KSA banks' closer that ties asset repricing, rate cuts, and rising cost of risk into a recommendation"
    ],
    "closingScore": 28,
    "openingScore": 58,
    "topStrengths": [
      "Action titles on the analytical pages (p.7, p.11, p.13, p.15, p.21) carry the insight in the headline with a supporting QoQ number",
      "Callouts consistently quantify the title (e.g. p.9 '+4.4% QoQ, 56.1% of L&A'), giving every chart a numbered takeaway",
      "Logical metric flow from balance-sheet (loans/deposits/LDR) to P&L (NII, NIM, C/I) to risk (asset quality, cost of risk) to returns (ROE)"
    ],
    "topWeaknesses": [
      "No recommendation, outlook, or 'what to watch' slide — the deck dies into a glossary at p.24-28",
      "No section dividers or pillar architecture; 16 consecutive analyze_data slides with no MECE scaffolding",
      "Opening (p.1-6) does not state a single-sentence thesis for the quarter — the reader has to assemble the story",
      "p.23 'GCC Banking Consolidation' is an orphan topic that breaks the KSA narrative right where the close should be"
    ],
    "narrativeScore": 52,
    "pillarCritique": "There are no explicit MECE section dividers; the body is a sequenced metric tour (lending → funding → LDR → NII → NIM → C/I → asset quality → cost of risk → ROE) that reads as a topic dump rather than pillared structure, even though the underlying metrics roughly cluster into Growth / Margin / Risk / Returns.",
    "closingCritique": "The deck ends on a tangential 'GCC Banking Consolidation' table (p.23), then drops straight into glossary, references, and a team bio — there is no recommendation, outlook, or call to action. A pulse report needs at least a forward-looking 'what to watch in Q4' close.",
    "openingCritique": "The cover, foreword, and macro overview (p.1-3) establish a topic but not a thesis or stakes; the first real insight only lands on p.4 ('L&A +3.7% QoQ outpacing deposits'). It frames the quarter rather than leading with a single answer.",
    "extractionSeconds": 65.384895,
    "narrativeCritique": "This is a quarterly pulse report — it sets context (p.3-6) and runs an analytical sweep (p.7-22) but never closes the SCQA loop with a 'so what / now what'. The arc is essentially Setup → Analysis → Glossary, with the Resolution act missing entirely.",
    "titleQualityScore": 74,
    "titleQualityCritique": "Most titles are genuinely declarative and insight-bearing — e.g. p.11 'LDR crossed 100% for the first time in 2024 for the KSA banks' and p.13 'NIM remained stable after three consecutive quarters of contraction'. A handful regress to topic labels (p.3-4 'KSA macro & sector overview', p.6 'KSA banking industry developments', p.23 'GCC Banking Consolidation')."
  },
  "activistThesis": null,
  "pitchdeck": {
    "metadata": null,
    "profile": null
  },
  "slides": [
    {
      "page": 1,
      "type": "setup",
      "function": "front_matter",
      "imagePath": "https://imgproxy.kitesheet.com/sk0YNL36TXC5ickJMNIbtkAtYNzsAUfnVCKrY54uE2M/rs:fit:1200:1200:0/q:82/f:webp/czM6Ly9raXRlc2hlZXQvY29ycHVzL3NsaWRlcy9mZTQ1ZGM0NWZhMmY4NjVkL3AwMDEuanBn",
      "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": 130,
        "nDataPoints": 0,
        "notes": null,
        "elementsJson": [
          "logo_grid",
          "other"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 18:47:58.226+00",
          "seconds": 2.203,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5de0-76bd-a166-85fd4587d7e0/1",
        "deck": "/decks/019dd923-5de0-76bd-a166-85fd4587d7e0",
        "deckAnchor": "/decks/019dd923-5de0-76bd-a166-85fd4587d7e0#slide-1",
        "deckJson": "/decks/019dd923-5de0-76bd-a166-85fd4587d7e0.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.065,
            "w": 0.25,
            "x": 0.11,
            "y": 0.065
          },
          "kind": "image",
          "text": "Alvarez & Marsal Financial Services Industry Group",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Image",
              "slug": "image",
              "status": "active",
              "canonId": "019de52c-f978-701f-a720-51d029d769e7",
              "version": 1,
              "description": "Photo, illustration, screenshot or icon."
            },
            "tool": null,
            "subkind": {
              "name": "Logo",
              "slug": "logo",
              "status": "active",
              "canonId": "019de52c-fdaf-743d-94c4-d7c6a0e55302",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "logo",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:47:58.226+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "bb094d0f-38b9-40ce-94c7-d0f15c370c0f",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.035,
            "w": 0.15,
            "x": 0.77,
            "y": 0.9
          },
          "kind": "image",
          "text": "Alvarez & Marsal Leadership. Action. Results.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Image",
              "slug": "image",
              "status": "active",
              "canonId": "019de52c-f978-701f-a720-51d029d769e7",
              "version": 1,
              "description": "Photo, illustration, screenshot or icon."
            },
            "tool": null,
            "subkind": {
              "name": "Logo",
              "slug": "logo",
              "status": "active",
              "canonId": "019de52c-fdaf-743d-94c4-d7c6a0e55302",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "logo",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:47:58.226+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "bfe41560-b2c5-4278-b082-6977dc7c2d35",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.035,
            "w": 0.115,
            "x": 0.107,
            "y": 0.595
          },
          "kind": "paragraph",
          "text": "Q3 | 2024",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "5f2affc0-941d-4d07-959d-4bfc1930cea4",
              "version": 1,
              "description": "Single prose block in the body of a slide."
            },
            "tool": null,
            "subkind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "019de52c-fb80-75af-aa5c-a7a4bfac2433",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "paragraph",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:47:58.226+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "5cd6f25f-63a3-432f-884d-0d985bddea7a",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.055,
            "w": 0.305,
            "x": 0.107,
            "y": 0.415
          },
          "kind": "title",
          "text": "Saudi Arabia Banking Pulse",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:47:58.226+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "7a287ffd-b272-4fd5-a020-14c75c241592",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "Slide recipe: Cover",
            "slug": "cover-slide",
            "status": "active",
            "bestFor": null,
            "canonId": "019df269-2a08-767d-9128-e7431e6fe8a3",
            "version": 1,
            "bodyDocId": "019df269-29e5-7738-b5fa-6892e5dc8e65",
            "description": "The first ten seconds. Build it deliberately.",
            "familyLabel": "slide-recipe",
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "designer",
          "layer": "slide",
          "agents": [
            "designer"
          ],
          "matchId": "22f6b46f-df86-4563-acd6-e2e7d7fdafd5",
          "evidence": "title/headline: Saudi Arabia Banking Pulse",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.9,
          "extraction": {
            "at": "2026-07-16 21:29:14.368293+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 1,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [],
      "loops": [],
      "thumbSrc": "https://imgproxy.kitesheet.com/cHNIXCz1zYCdFuLVfowM1dVHfjkfXgVFCzF-dRsD8TI/rs:fit:480:480:0/q:78/f:webp/czM6Ly9raXRlc2hlZXQvY29ycHVzL3NsaWRlcy9mZTQ1ZGM0NWZhMmY4NjVkL3AwMDEuanBn",
      "imagePathAlt": "https://imgproxy.kitesheet.com/sk67_SjnRL7DJSkzsa3QcbmKu5M4UieCFCqDRwEZiFE/rs:fit:1200:1200:0/q:82/f:webp/czM6Ly9raXRlc2hlZXQvY29ycHVzL3NsaWRlcy9mZTQ1ZGM0NWZhMmY4NjVkL3AwMDEucG5n",
      "thumbSrcAlt": "https://imgproxy.kitesheet.com/NmGpTREEroOsBju6aKJ_cgONPzBflJI_cKz8J3KouH8/rs:fit:480:480:0/q:78/f:webp/czM6Ly9raXRlc2hlZXQvY29ycHVzL3NsaWRlcy9mZTQ1ZGM0NWZhMmY4NjVkL3AwMDEucG5n"
    },
    {
      "page": 2,
      "type": "setup",
      "function": "summarize",
      "rawType": "executive_summary",
      "block": null,
      "metadata": {
        "slideType": "executive_summary",
        "slideTypeCanon": {
          "name": "Executive summary",
          "slug": "executive_summary",
          "status": "active",
          "canonId": "019de52d-06be-73ff-81b3-f99fe7f0025e",
          "version": 1,
          "description": null
        },
        "function": "summarize",
        "functionCanon": {
          "name": "Summarize",
          "slug": "summarize",
          "status": "active",
          "canonId": "019de52d-1541-704f-b86f-bf7b75056373",
          "version": 1,
          "description": null
        },
        "density": "overcrowded",
        "densityScore": 78,
        "componentCount": 7,
        "textChars": 2382,
        "nDataPoints": 11,
        "notes": null,
        "elementsJson": [
          "headline_text",
          "paragraph"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 18:47:59.419+00",
          "seconds": 3.291,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5de0-76bd-a166-85fd4587d7e0/2",
        "deck": "/decks/019dd923-5de0-76bd-a166-85fd4587d7e0",
        "deckAnchor": "/decks/019dd923-5de0-76bd-a166-85fd4587d7e0#slide-2",
        "deckJson": "/decks/019dd923-5de0-76bd-a166-85fd4587d7e0.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.1,
            "w": 0.9,
            "x": 0.05,
            "y": 0.82
          },
          "kind": "disclaimer",
          "text": "Disclaimer: The information contained in this document is of a general nature and has been obtained from publicly available information plus market insights. The information is not intended to address the specific circumstances of an individual or institution. There is no guarantee that the information is accurate at the date received by the recipient or that it will be accurate in the future. All parties should seek appropriate professional advice to analyze their particular situation before acting on any of the information contained herein. The growth figures for all the line items are on a quarterly basis (QoQ)",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Disclaimer",
              "slug": "disclaimer",
              "status": "active",
              "canonId": "91173477-d91f-4024-bbaf-d4f93e3f82dc",
              "version": 1,
              "description": "Legal/cautionary text that occupies most of the body of its slide."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:47:59.419+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "139b635d-2f1c-4740-824a-49f18e5df114",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Net Income growth: 5.3%",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 14:26:24+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-fef5-761e-80aa-eac749233d30",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.45,
            "x": 0.05,
            "y": 0.18
          },
          "kind": "paragraph",
          "text": "Alvarez & Marsal Arabia Limited (A&M) is delighted to publish the Q3'24 edition of the Kingdom of Saudi Arabia (KSA) Banking Pulse (\"The Pulse-KSA\"). In this quarterly series, we share results from our research examining the top ten listed KSA banks by assets and highlight key performance indicators of the KSA banking industry. The Pulse-KSA aims to help banking executives and board members stay current on industry trends.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "5f2affc0-941d-4d07-959d-4bfc1930cea4",
              "version": 1,
              "description": "Single prose block in the body of a slide."
            },
            "tool": null,
            "subkind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "019de52c-fb80-75af-aa5c-a7a4bfac2433",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "paragraph",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:47:59.419+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "246fa84e-6b75-4720-9edc-aff642155ff5",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.1,
            "w": 0.45,
            "x": 0.05,
            "y": 0.53
          },
          "kind": "paragraph",
          "text": "Banks reported a marginal improvement in cost efficiency as cost-to-income ratio decreased by 31bps QoQ to 31.0%; Stage 3 loans are well provided for with 56.1% coverage with stage 3 ECL allowance. Overall, RoE increased 56bps QoQ to 17.4% while ROA remained stable at 2.0% in Q3'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 18:47:59.419+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "59c7e08f-aee8-47fc-ba95-8db36c43529b",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.2,
            "w": 0.45,
            "x": 0.05,
            "y": 0.33
          },
          "kind": "paragraph",
          "text": "Lending growth momentum continued in Q3'24 with L&A increasing by 3.7% QoQ mainly driven by corporate / wholesale banking (+4.4% QoQ). However, deposits mobilization moderated and increased by 1.4% QoQ, slower than L&A, although time deposits (+4.2% QoQ) continued to see an uptick on back of high interest rates. Operating income increased by 6.0% QoQ, as NII increased by 3.5% QoQ and non-interest income surged by 15.2% QoQ. Impairment charges increased moderately, and net income grew 5.3% QoQ.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "5f2affc0-941d-4d07-959d-4bfc1930cea4",
              "version": 1,
              "description": "Single prose block in the body of a slide."
            },
            "tool": null,
            "subkind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "019de52c-fb80-75af-aa5c-a7a4bfac2433",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "paragraph",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:47:59.419+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "c2194bae-d0a0-4f8f-8ecc-6c439b493db7",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.45,
            "x": 0.05,
            "y": 0.63
          },
          "kind": "paragraph",
          "text": "SAMA cut the repo rate by 50bps during Q3'24, in line with the US Fed and is anticipated to continue to be expansionary in the coming quarters. Non-oil GDP growth in KSA is expected to be fueled by the Vision 2030 initiatives supporting consumer spending, tourism, and construction sectors. While KSA banks are successfully navigating the rate cycle through favorable asset repricing and improved cost efficiency, geopolitical / regional tensions and steeper rate cuts are expected to remain a feature of Board discussions.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "5f2affc0-941d-4d07-959d-4bfc1930cea4",
              "version": 1,
              "description": "Single prose block in the body of a slide."
            },
            "tool": null,
            "subkind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "019de52c-fb80-75af-aa5c-a7a4bfac2433",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "paragraph",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:47:59.419+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "e622144a-6f24-486f-aa31-408cefe0178e",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.04,
            "w": 0.1,
            "x": 0.05,
            "y": 0.08
          },
          "kind": "title",
          "text": "Foreword",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:47:59.419+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "48780ca3-6dad-47a3-a765-f14efab65bbc",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "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": "89a10bcb-12d6-420d-b411-67d428f36c56",
          "evidence": "type: executive_summary",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.9,
          "extraction": {
            "at": "2026-07-16 21:29:14.441737+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": "Storytelling: audience calibration",
            "slug": "audience",
            "status": "active",
            "bestFor": null,
            "canonId": "019df269-23ea-723a-87c0-af1d78d702d2",
            "version": 1,
            "bodyDocId": "019df269-23c5-72ec-8b94-78fc1da7b656",
            "description": "The same thesis, written for four different audiences, produces four",
            "familyLabel": "narrative-block",
            "categoryName": "Narrative & Transformation",
            "categorySlug": "narrative-transformation"
          },
          "agent": "storyteller",
          "layer": "slide",
          "agents": [
            "storyteller"
          ],
          "matchId": "622773f6-4934-4e31-bf20-def272ffc837",
          "evidence": "Disclaimer: The information contained in this document is of a general nature and has been obtained from publicly available information plus market insights.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 21:29:14.47894+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 2,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [],
      "loops": [],
      "locked": true
    },
    {
      "page": 3,
      "type": "setup",
      "title": "Includes three horizontal bar charts showing economic data over time.",
      "function": "establish_context",
      "rawType": "situation_overview",
      "block": null,
      "metadata": {
        "slideType": "situation_overview",
        "slideTypeCanon": {
          "name": "Situation overview",
          "slug": "situation_overview",
          "status": "active",
          "canonId": "019de52d-0cfe-7769-99aa-9a2fe82a4039",
          "version": 1,
          "description": null
        },
        "function": "establish_context",
        "functionCanon": {
          "name": "Establish context",
          "slug": "establish_context",
          "status": "active",
          "canonId": "019de52d-1314-74e6-9074-d213dc0bdcdf",
          "version": 1,
          "description": null
        },
        "density": "overcrowded",
        "densityScore": 79,
        "componentCount": 9,
        "textChars": 695,
        "nDataPoints": 30,
        "notes": "Includes three horizontal bar charts showing economic data over time.",
        "elementsJson": [
          "headline_text",
          "bullet_list",
          "bar_chart_horizontal",
          "bar_chart_grouped",
          "bar_chart_horizontal",
          "footnote"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 18:48:04.236+00",
          "seconds": 7.932,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5de0-76bd-a166-85fd4587d7e0/3",
        "deck": "/decks/019dd923-5de0-76bd-a166-85fd4587d7e0",
        "deckAnchor": "/decks/019dd923-5de0-76bd-a166-85fd4587d7e0#slide-3",
        "deckJson": "/decks/019dd923-5de0-76bd-a166-85fd4587d7e0.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.25,
            "w": 0.45,
            "x": 0.5,
            "y": 0.67
          },
          "kind": "chart",
          "text": "KSA Money Supply",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Chart",
              "slug": "chart",
              "status": "active",
              "canonId": "019de52c-f9a0-76ef-adc6-0b859109d1f8",
              "version": 1,
              "description": "Quantitative chart."
            },
            "tool": null,
            "subkind": {
              "name": "Horizontal bar chart",
              "slug": "bar-horizontal",
              "status": "active",
              "canonId": "019de52c-fec4-7221-986b-1cb5f5e84b1f",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bar-horizontal",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:04.236+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "436bf176-459e-4848-bbb2-a3b429d6c996",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.25,
            "w": 0.45,
            "x": 0.5,
            "y": 0.35
          },
          "kind": "chart",
          "text": "US Fed Funds Rate, SAIBOR",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Chart",
              "slug": "chart",
              "status": "active",
              "canonId": "019de52c-f9a0-76ef-adc6-0b859109d1f8",
              "version": 1,
              "description": "Quantitative chart."
            },
            "tool": null,
            "subkind": {
              "name": "Horizontal bar chart",
              "slug": "bar-horizontal",
              "status": "active",
              "canonId": "019de52c-fec4-7221-986b-1cb5f5e84b1f",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bar-horizontal",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:04.236+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "9eac7cad-4e29-4b76-b300-b67942888148",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.25,
            "w": 0.45,
            "x": 0.5,
            "y": 0.05
          },
          "kind": "chart",
          "text": "KSA GDP Growth Rate",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Chart",
              "slug": "chart",
              "status": "active",
              "canonId": "019de52c-f9a0-76ef-adc6-0b859109d1f8",
              "version": 1,
              "description": "Quantitative chart."
            },
            "tool": null,
            "subkind": {
              "name": "Horizontal bar chart",
              "slug": "bar-horizontal",
              "status": "active",
              "canonId": "019de52c-fec4-7221-986b-1cb5f5e84b1f",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bar-horizontal",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:04.236+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "bb1e97fa-c515-49ae-8fd6-1045bac5e818",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.25,
            "x": 0.22,
            "y": 0.06
          },
          "kind": "list",
          "text": "In the latest IMF projections of Oct'24, KSA FY'24 GDP projection was reduced to 1.5% from an earlier estimate of 1.7% in July'24, mainly as a result of the extension of oil production cuts and ongoing regional conflict.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "List",
              "slug": "list",
              "status": "active",
              "canonId": "019de52c-f94b-779b-a53b-fd4904a5f4d2",
              "version": 1,
              "description": "Bullet or numbered list."
            },
            "tool": null,
            "subkind": {
              "name": "Bullet list",
              "slug": "bullet",
              "status": "active",
              "canonId": "019de52c-fc98-7169-a083-5cab805076ca",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bullet",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:04.236+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "272b861e-4b54-4736-ad3d-85fa19f24497",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.25,
            "x": 0.22,
            "y": 0.67
          },
          "kind": "list",
          "text": "In Q3'24, M2 money supply increased by 2.4% QoQ to SAR 2.6tn. Time & Savings deposits surged by 4.8% QoQ to SAR 0.9tn owing to the high interest rate environment.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "List",
              "slug": "list",
              "status": "active",
              "canonId": "019de52c-f94b-779b-a53b-fd4904a5f4d2",
              "version": 1,
              "description": "Bullet or numbered list."
            },
            "tool": null,
            "subkind": {
              "name": "Bullet list",
              "slug": "bullet",
              "status": "active",
              "canonId": "019de52c-fc98-7169-a083-5cab805076ca",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bullet",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:04.236+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "d9866833-3fb9-436a-a134-384c2c6bfa3c",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.25,
            "x": 0.22,
            "y": 0.35
          },
          "kind": "list",
          "text": "The US fed rates were cut by 50bps QoQ to 4.75%-5.00% levels in Q3'24 and lowered further by 25bps to 4.50-4.75% in its November'24 meeting.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "List",
              "slug": "list",
              "status": "active",
              "canonId": "019de52c-f94b-779b-a53b-fd4904a5f4d2",
              "version": 1,
              "description": "Bullet or numbered list."
            },
            "tool": null,
            "subkind": {
              "name": "Bullet list",
              "slug": "bullet",
              "status": "active",
              "canonId": "019de52c-fc98-7169-a083-5cab805076ca",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bullet",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:04.236+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "eb5255ae-77dc-48b3-8eec-c190394f62bb",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "GDP Growth Rate: 4.6%",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 14:26:24+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-fef5-761e-80aa-fa9d4c198eb6",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.2,
            "x": 0.22,
            "y": 0.95
          },
          "kind": "source-note",
          "text": "1 IMF forecast, 2 US Board of Federal Reserve, 3 KSA Central Bank",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Source note",
              "slug": "source-note",
              "status": "active",
              "canonId": "23484952-494b-4a5e-b1ad-550d0d70e948",
              "version": 1,
              "description": "Attribution / source / caveat placed at the slide footer. Numbered footnotes use attrs.numbered."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:04.236+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "9c4cbd7d-39be-4eee-a39c-a6fd4d4a9212",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.06,
            "w": 0.18,
            "x": 0.04,
            "y": 0.05
          },
          "kind": "title",
          "text": "KSA macro & sector overview",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:04.236+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "10982d1c-cf80-411b-b233-15ab8b84fa50",
          "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": "019de781-13ac-74fa-9428-a8ad4141d764",
          "evidence": "Macro context anchors the data narrative for the deck.",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": null,
          "confidence": 60,
          "extraction": {
            "at": "2026-05-02 07:04:48.042956+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 3,
          "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": "019de781-1354-742c-baf7-442f58d42af8",
          "evidence": "Three horizontal bar charts pair the right form to GDP, rates, money supply.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 75,
          "extraction": {
            "at": "2026-05-02 07:04:48.042956+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 3,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Data-Ink Ratio",
            "slug": "data-ink-ratio",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-afc8-70da-b378-92834d36fde6",
            "version": 1,
            "bodyDocId": null,
            "description": "Maximize data, minimize non-data ink - remove chartjunk and decoration",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "019de781-137f-77a9-8169-58722901a6c7",
          "evidence": "Charts use minimal gridlines and clean A&M template.",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": null,
          "confidence": 65,
          "extraction": {
            "at": "2026-05-02 07:04:48.042956+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 3,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 21,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 3,
          "name": "The Facts (What)",
          "beatId": "019de781-0fc1-7454-8f9a-0e73ec4b709d",
          "matchId": "019de781-0f93-7044-b275-7f8185be2e56",
          "beatType": null,
          "evidence": "Macro plus 15+ KPI deep-dives describing Q3'24 banking metrics.",
          "position": 1,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 60
        },
        {
          "to": 4,
          "arc": {
            "name": "The Onion",
            "slug": "onion",
            "status": "active",
            "bestFor": "Root cause analysis, diagnostics",
            "canonId": "019dd956-627f-76b1-b286-0c575846d572",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Surface Observation -> First Layer -> Deeper Layer -> Core Insight -> Implications",
            "description": null,
            "familyLabel": null
          },
          "from": 3,
          "name": "Surface Observation",
          "beatId": "019de781-10c1-7325-b150-5fec5a52ca46",
          "matchId": "019de781-1095-750c-886e-b943c1081eb3",
          "beatType": null,
          "evidence": "Macro and sector overview frames the operating context.",
          "position": 1,
          "isPrimaryArc": false,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 50
        }
      ],
      "loops": [
        {
          "to": 4,
          "from": 3,
          "loop": {
            "name": "06_zoom_in",
            "slug": "06-zoom-in",
            "status": "active",
            "bestFor": "Technical deep-dives, case studies, detailed analysis",
            "canonId": "019dd956-6846-74db-82be-dff5b058b072",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Big Picture -> Key Area of Focus -> Specific Detail -> Implication",
            "description": "Start broad, then progressively focus on specific details that prove your point",
            "familyLabel": null
          },
          "matchId": "019de781-119d-760e-a99e-4525f3ce6d10",
          "evidence": "p3 surveys macro (GDP, rates, money supply); p4 narrows into top-ten KSA banks aggregate.",
          "position": 1,
          "objective": "Zoom from KSA macro into the banking sector context",
          "confidence": 65,
          "extraction": {
            "at": "2026-05-02 07:04:48.042956+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 4,
      "type": "analysis",
      "title": "The slide presents three distinct bar charts tracking quarterly performance metrics for KSA banks.",
      "function": "analyze_data",
      "rawType": "kpi_dashboard",
      "block": null,
      "metadata": {
        "slideType": "kpi_dashboard",
        "slideTypeCanon": {
          "name": "KPI dashboard",
          "slug": "kpi_dashboard",
          "status": "active",
          "canonId": "019de52d-0be5-7295-af4d-b850fe7b7e65",
          "version": 1,
          "description": null
        },
        "function": "analyze_data",
        "functionCanon": {
          "name": "Analyze data",
          "slug": "analyze_data",
          "status": "active",
          "canonId": "019de52d-1590-7413-8c82-cc218cff40b4",
          "version": 1,
          "description": null
        },
        "density": "overcrowded",
        "densityScore": 94,
        "componentCount": 11,
        "textChars": 1549,
        "nDataPoints": 30,
        "notes": "The slide presents three distinct bar charts tracking quarterly performance metrics for KSA banks.",
        "elementsJson": [
          "headline_text",
          "bullet_list",
          "bar_chart_grouped",
          "footnote"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 18:48:00.098+00",
          "seconds": 3.787,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5de0-76bd-a166-85fd4587d7e0/4",
        "deck": "/decks/019dd923-5de0-76bd-a166-85fd4587d7e0",
        "deckAnchor": "/decks/019dd923-5de0-76bd-a166-85fd4587d7e0#slide-4",
        "deckJson": "/decks/019dd923-5de0-76bd-a166-85fd4587d7e0.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "In Q3'24, aggregate loans & advances (L&A) of top ten KSA banks increased +3.7% QoQ faster than the previous quarter, outpacing deposits growth (+1.4% QoQ).",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": {
              "name": "Visual emphasis",
              "slug": "visual-emphasis",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-474b-736b-a8eb-a794dd88241c",
              "version": 1,
              "bodyDocId": null,
              "description": "Drawing the eye to one element above the rest of the slide.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 14:26:24+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-fef5-761e-80ab-47d907780e0f",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.25,
            "w": 0.35,
            "x": 0.51,
            "y": 0.36
          },
          "kind": "chart",
          "text": "KSA Banks' Profitability, %",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Chart",
              "slug": "chart",
              "status": "active",
              "canonId": "019de52c-f9a0-76ef-adc6-0b859109d1f8",
              "version": 1,
              "description": "Quantitative chart."
            },
            "tool": null,
            "subkind": {
              "name": "Grouped bar chart",
              "slug": "bar-grouped",
              "status": "active",
              "canonId": "019de52c-ff3b-751e-a8ff-f21ff11097b1",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bar-grouped",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:00.098+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "545a732c-1950-4d80-8cdb-339c0270b4cc",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.25,
            "w": 0.35,
            "x": 0.51,
            "y": 0.06
          },
          "kind": "chart",
          "text": "KSA Banks L&A and Deposits, %",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Chart",
              "slug": "chart",
              "status": "active",
              "canonId": "019de52c-f9a0-76ef-adc6-0b859109d1f8",
              "version": 1,
              "description": "Quantitative chart."
            },
            "tool": null,
            "subkind": {
              "name": "Grouped bar chart",
              "slug": "bar-grouped",
              "status": "active",
              "canonId": "019de52c-ff3b-751e-a8ff-f21ff11097b1",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bar-grouped",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:00.098+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "87ec425d-91e1-4447-aed3-80bcfbf95a9a",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.25,
            "w": 0.35,
            "x": 0.51,
            "y": 0.66
          },
          "kind": "chart",
          "text": "KSA Banks' Profitability, %",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Chart",
              "slug": "chart",
              "status": "active",
              "canonId": "019de52c-f9a0-76ef-adc6-0b859109d1f8",
              "version": 1,
              "description": "Quantitative chart."
            },
            "tool": null,
            "subkind": {
              "name": "Grouped bar chart",
              "slug": "bar-grouped",
              "status": "active",
              "canonId": "019de52c-ff3b-751e-a8ff-f21ff11097b1",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bar-grouped",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:00.098+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "95dc1e6b-b059-415b-b721-16be0f4db5e5",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.1,
            "w": 0.25,
            "x": 0.22,
            "y": 0.66
          },
          "kind": "list",
          "text": "Aggregate RoE improved by 56bps QoQ to 17.4% in Q3'24. RoA remained stable at 2.0% in Q3'24, with net profit and average total assets growing by 5.3% QoQ and 3.3% QoQ, respectively.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "List",
              "slug": "list",
              "status": "active",
              "canonId": "019de52c-f94b-779b-a53b-fd4904a5f4d2",
              "version": 1,
              "description": "Bullet or numbered list."
            },
            "tool": null,
            "subkind": {
              "name": "Bullet list",
              "slug": "bullet",
              "status": "active",
              "canonId": "019de52c-fc98-7169-a083-5cab805076ca",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bullet",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:00.098+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "045b4850-cf6a-4480-8a4d-b05baa043f96",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.28,
            "w": 0.25,
            "x": 0.22,
            "y": 0.06
          },
          "kind": "list",
          "text": "In Q3'24, aggregate loans & advances (L&A) of top ten KSA banks increased +3.7% QoQ faster than the previous quarter, outpacing deposits growth (+1.4% QoQ). Corporate / Wholesale segment continue to drive the aggregate with an increase of 4.4% QoQ; retail segment lending increased by 2.7% QoQ. Deposits from government entities increased by 4.0% QoQ and accounted for ~31.3% of the total bank deposits in Q3'24; demand deposits surged +20.5% QoQ. The LDR increased by 2.3% points QoQ to reach 100% in Q3'24 on the back of higher loan book growth.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "List",
              "slug": "list",
              "status": "active",
              "canonId": "019de52c-f94b-779b-a53b-fd4904a5f4d2",
              "version": 1,
              "description": "Bullet or numbered list."
            },
            "tool": null,
            "subkind": {
              "name": "Bullet list",
              "slug": "bullet",
              "status": "active",
              "canonId": "019de52c-fc98-7169-a083-5cab805076ca",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bullet",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:00.098+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "0c642320-334a-4a31-a153-3d0df054b63b",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.2,
            "w": 0.25,
            "x": 0.22,
            "y": 0.37
          },
          "kind": "list",
          "text": "Aggregate total interest income grew by 5.6% QoQ in Q3'24, highest attained in last four quarters, supporting a 3.5% QoQ NII growth. Aggregate net profit increased by 5.3% QoQ in Q3'24 largely due to the growth in non-interest income (+15.2% QoQ). Operating expenses (+4.9% QoQ) and significant increase in impairment charges (+30.4% QoQ) weighed down on the profitability front.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "List",
              "slug": "list",
              "status": "active",
              "canonId": "019de52c-f94b-779b-a53b-fd4904a5f4d2",
              "version": 1,
              "description": "Bullet or numbered list."
            },
            "tool": null,
            "subkind": {
              "name": "Bullet list",
              "slug": "bullet",
              "status": "active",
              "canonId": "019de52c-fc98-7169-a083-5cab805076ca",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bullet",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:00.098+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "63361721-5ebb-4448-a656-912d9b392eae",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Loans & Advances growth: 3.7%",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 14:26:24+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-fef5-761e-80ab-4bb6c632e47f",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.15,
            "x": 0.04,
            "y": 0.13
          },
          "kind": "paragraph",
          "text": "Banking overview Q3'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 18:48:00.098+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "017c4e2b-4afc-40a0-b940-ff51cd0f615a",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.45,
            "x": 0.22,
            "y": 0.95
          },
          "kind": "source-note",
          "text": "Company Financials, * Data for top ten KSA banks by asset size as of September 30th 2024, QoQ stands for quarter over quarter",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Source note",
              "slug": "source-note",
              "status": "active",
              "canonId": "23484952-494b-4a5e-b1ad-550d0d70e948",
              "version": 1,
              "description": "Attribution / source / caveat placed at the slide footer. Numbered footnotes use attrs.numbered."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:00.098+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "c269620e-a0c2-4571-a2db-2d139552551e",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.06,
            "w": 0.18,
            "x": 0.04,
            "y": 0.05
          },
          "kind": "title",
          "text": "KSA macro & sector overview",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:00.098+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "95f941c4-03ea-4560-8480-7df5b29749a3",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "Annotation",
            "slug": "annotation",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-b5b9-7668-bf0e-3af99823ec5c",
            "version": 1,
            "bodyDocId": null,
            "description": "Adding explanatory labels to highlight key data points",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "019de781-13d6-758c-a2a6-1f3bd91d18b8",
          "evidence": "Callout 'aggregate L&A increased +3.7% QoQ' annotates the chart.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 70,
          "extraction": {
            "at": "2026-05-02 07:04:48.042956+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 4,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Chart Selection Guide",
            "slug": "chart-selection-guide",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-b1a0-700b-ba17-0e16c4d5bcae",
            "version": 1,
            "bodyDocId": null,
            "description": "Choosing the right chart type for your data and message",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "019de781-1456-701c-859b-9e8ccb5fc6c5",
          "evidence": "Grouped bar charts compare quarterly performance metrics.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 70,
          "extraction": {
            "at": "2026-05-02 07:04:48.042956+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 4,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Color Strategy",
            "slug": "color-strategy",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-b202-77cf-8a6e-f445b08c0fd3",
            "version": 1,
            "bodyDocId": null,
            "description": "Using color for emphasis, categories, sentiment, and hierarchy",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "019de781-1481-755d-9533-b0f63ca1d93f",
          "evidence": "Consistent color-coded legend across the three charts.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 70,
          "extraction": {
            "at": "2026-05-02 07:04:48.042956+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 4,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 21,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 3,
          "name": "The Facts (What)",
          "beatId": "019de781-0fc1-7454-8f9a-0e73ec4b709d",
          "matchId": "019de781-0f93-7044-b275-7f8185be2e56",
          "beatType": null,
          "evidence": "Macro plus 15+ KPI deep-dives describing Q3'24 banking metrics.",
          "position": 1,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 60
        },
        {
          "to": 4,
          "arc": {
            "name": "The Onion",
            "slug": "onion",
            "status": "active",
            "bestFor": "Root cause analysis, diagnostics",
            "canonId": "019dd956-627f-76b1-b286-0c575846d572",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Surface Observation -> First Layer -> Deeper Layer -> Core Insight -> Implications",
            "description": null,
            "familyLabel": null
          },
          "from": 3,
          "name": "Surface Observation",
          "beatId": "019de781-10c1-7325-b150-5fec5a52ca46",
          "matchId": "019de781-1095-750c-886e-b943c1081eb3",
          "beatType": null,
          "evidence": "Macro and sector overview frames the operating context.",
          "position": 1,
          "isPrimaryArc": false,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 50
        }
      ],
      "loops": [
        {
          "to": 4,
          "from": 3,
          "loop": {
            "name": "06_zoom_in",
            "slug": "06-zoom-in",
            "status": "active",
            "bestFor": "Technical deep-dives, case studies, detailed analysis",
            "canonId": "019dd956-6846-74db-82be-dff5b058b072",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Big Picture -> Key Area of Focus -> Specific Detail -> Implication",
            "description": "Start broad, then progressively focus on specific details that prove your point",
            "familyLabel": null
          },
          "matchId": "019de781-119d-760e-a99e-4525f3ce6d10",
          "evidence": "p3 surveys macro (GDP, rates, money supply); p4 narrows into top-ten KSA banks aggregate.",
          "position": 1,
          "objective": "Zoom from KSA macro into the banking sector context",
          "confidence": 65,
          "extraction": {
            "at": "2026-05-02 07:04:48.042956+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 5,
      "type": "analysis",
      "title": "The table includes sparkline-style trend lines for each metric across five quarters.",
      "function": "summarize",
      "rawType": "kpi_dashboard",
      "block": null,
      "metadata": {
        "slideType": "kpi_dashboard",
        "slideTypeCanon": {
          "name": "KPI dashboard",
          "slug": "kpi_dashboard",
          "status": "active",
          "canonId": "019de52d-0be5-7295-af4d-b850fe7b7e65",
          "version": 1,
          "description": null
        },
        "function": "summarize",
        "functionCanon": {
          "name": "Summarize",
          "slug": "summarize",
          "status": "active",
          "canonId": "019de52d-1541-704f-b86f-bf7b75056373",
          "version": 1,
          "description": null
        },
        "density": "dense",
        "densityScore": 70,
        "componentCount": 7,
        "textChars": 792,
        "nDataPoints": 48,
        "notes": "The table includes sparkline-style trend lines for each metric across five quarters.",
        "elementsJson": [
          "headline_text",
          "numbered_list",
          "kpi_table",
          "sparkline"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 18:47:59.68+00",
          "seconds": 3.33,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5de0-76bd-a166-85fd4587d7e0/5",
        "deck": "/decks/019dd923-5de0-76bd-a166-85fd4587d7e0",
        "deckAnchor": "/decks/019dd923-5de0-76bd-a166-85fd4587d7e0#slide-5",
        "deckJson": "/decks/019dd923-5de0-76bd-a166-85fd4587d7e0.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "L&A increased by 3.7% QoQ while deposits grew at a slower pace at +1.4% QoQ in Q3'24",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": {
              "name": "Visual emphasis",
              "slug": "visual-emphasis",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-474b-736b-a8eb-a794dd88241c",
              "version": 1,
              "bodyDocId": null,
              "description": "Drawing the eye to one element above the rest of the slide.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 14:26:24+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-fef5-761e-80ab-66e947f56f13",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.3,
            "x": 0.3,
            "y": 0.93
          },
          "kind": "disclaimer",
          "text": "Note 1: Growth in loans & advances and deposits were presented QoQ instead of YoY. Note 2: Quarterly income was used in the calculation of operating income growth. Source: Financial statements, Investor presentations, A&M analysis",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Disclaimer",
              "slug": "disclaimer",
              "status": "active",
              "canonId": "91173477-d91f-4024-bbaf-d4f93e3f82dc",
              "version": 1,
              "description": "Legal/cautionary text that occupies most of the body of its slide."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:47:59.68+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "240e8402-3b4b-419b-b8c9-a4f45f44e996",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.2,
            "x": 0.3,
            "y": 0.86
          },
          "kind": "legend",
          "text": "Improved (green arrow), Stable (orange arrow), Worsened (red arrow)",
          "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 18:47:59.68+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "2ae069c3-5e06-414d-8009-eadf7b444ddb",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.6,
            "w": 0.25,
            "x": 0.04,
            "y": 0.25
          },
          "kind": "list",
          "text": "Key Trends of Q3'24: 1. L&A increased by 3.7% QoQ... 8. RoRWA increased by 4bps QoQ while capital adequacy ratio deteriorated by 0.2% points to 19.2%",
          "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 18:47:59.68+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "dc1e7018-3add-4981-8c32-3f29cad5e0e8",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "L&A Growth: 3.7%",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 14:26:24+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-fef5-761e-80ab-6bee51873a7e",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.85,
            "w": 0.65,
            "x": 0.3,
            "y": 0.05
          },
          "kind": "table",
          "text": "Metric table with categories (Size, Liquidity, Income & Operating Efficiency, Risk, Profitability, Capital) and values for Q2'24 and Q3'24 with trend indicators.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Table",
              "slug": "table",
              "status": "active",
              "canonId": "019de52c-f9c8-7148-8119-eaac9594cd28",
              "version": 1,
              "description": "Tabular data layout."
            },
            "tool": null,
            "subkind": {
              "name": "KPI table",
              "slug": "kpi",
              "status": "active",
              "canonId": "019de52d-0324-7799-a84e-d0885a8ad400",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "kpi",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:47:59.68+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "33cfd610-4bc2-42a1-910a-e715c9ba3d47",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.25,
            "x": 0.04,
            "y": 0.05
          },
          "kind": "title",
          "text": "KSA banks continued lending momentum and saw improvement on the cost efficiency front",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:47:59.68+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "d482cb14-f527-4a69-b5c2-8cf977f5bc89",
          "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": "019de781-1588-712c-b403-f192243e8dd0",
          "evidence": "Answer-first dashboard previews everything before the deep-dives.",
          "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": 65,
          "extraction": {
            "at": "2026-05-02 07:04:48.042956+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 5,
          "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": "019de781-155d-70fc-b5e2-bfc454d99ebe",
          "evidence": "KPIs grouped into Size, Liquidity, Income, Risk, Profitability, Capital.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 70,
          "extraction": {
            "at": "2026-05-02 07:04:48.042956+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 5,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Action Titles",
            "slug": "action-titles",
            "status": "active",
            "bestFor": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
            "canonId": "019dd956-ac70-700b-a608-ba58e78f5dcc",
            "version": 1,
            "bodyDocId": "816dad3c-9983-41c1-a86e-978ebd582841",
            "description": "The McKinsey-bred discipline of writing every slide title as a complete declarative sentence with a verb and an insight, not a topic label. Each title is a sub-claim that ladders up to the deck's governing thought; read in sequence, the titles reconstruct the executive summary.",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Architect",
          "layer": "slide",
          "agents": [
            "Architect"
          ],
          "matchId": "019de781-14ac-700a-8fde-074dfa4471d5",
          "evidence": "Title states the insight: 'continued lending momentum and improvement on cost efficiency'.",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
          "confidence": 90,
          "extraction": {
            "at": "2026-05-02 07:04:48.042956+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": "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": "019de781-1507-72bf-8f7e-ad4941932345",
          "evidence": "Green/orange/red arrows indicate improved/stable/worsened.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 90,
          "extraction": {
            "at": "2026-05-02 07:04:48.042956+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 5,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Sparklines (Chart)",
            "slug": "sparklines-chart",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-b3db-7239-aa95-d24b7cdc29e4",
            "version": 1,
            "bodyDocId": null,
            "description": "Word-sized graphics embedded in text for data density",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "019de781-14db-755d-a0e6-7ab20d73d0c8",
          "evidence": "Each KPI row has a 5-quarter sparkline column.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 95,
          "extraction": {
            "at": "2026-05-02 07:04:48.042956+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 5,
          "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": "019de781-1532-7028-b278-c9442ee9f93f",
          "evidence": "Numbered key trends column and KPI table create clear reading order.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 75,
          "extraction": {
            "at": "2026-05-02 07:04:48.042956+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 5,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 21,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 3,
          "name": "The Facts (What)",
          "beatId": "019de781-0fc1-7454-8f9a-0e73ec4b709d",
          "matchId": "019de781-0f93-7044-b275-7f8185be2e56",
          "beatType": null,
          "evidence": "Macro plus 15+ KPI deep-dives describing Q3'24 banking metrics.",
          "position": 1,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 60
        },
        {
          "to": 6,
          "arc": {
            "name": "The Onion",
            "slug": "onion",
            "status": "active",
            "bestFor": "Root cause analysis, diagnostics",
            "canonId": "019dd956-627f-76b1-b286-0c575846d572",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Surface Observation -> First Layer -> Deeper Layer -> Core Insight -> Implications",
            "description": null,
            "familyLabel": null
          },
          "from": 5,
          "name": "First Layer",
          "beatId": "019de781-10ef-774f-8fb9-82ccf554eaa1",
          "matchId": "019de781-1095-750c-886e-b943c1081eb3",
          "beatType": null,
          "evidence": "Aggregate KPI dashboard plus industry developments.",
          "position": 2,
          "isPrimaryArc": false,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 50
        }
      ],
      "loops": [
        {
          "to": 6,
          "from": 5,
          "loop": {
            "name": "41_so_what_cascade",
            "slug": "41-so-what-cascade",
            "status": "active",
            "bestFor": "Data presentations, executive summaries, driving to recommendations",
            "canonId": "019dd956-769f-7208-afbc-f28985c6f4fb",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Data -> So What? (Insight 1) -> So What? (Insight 2) -> So What? (The Action)",
            "description": "Chain insights together, each answering 'so what?' until you reach the actionable conclusion",
            "familyLabel": null
          },
          "matchId": "019de781-11ca-75a9-92a7-fa17bbade551",
          "evidence": "p5 KPI table with sparklines plus 8 numbered takeaways; p6 grid of qualitative developments.",
          "position": 2,
          "objective": "Deliver an answer-first KPI snapshot of Q3'24 with sector developments",
          "confidence": 70,
          "extraction": {
            "at": "2026-05-02 07:04:48.042956+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 6,
      "type": "analysis",
      "title": "The slide uses a 2x3 grid layout to categorize industry updates.",
      "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": "overcrowded",
        "densityScore": 79,
        "componentCount": 9,
        "textChars": 795,
        "nDataPoints": 5,
        "notes": "The slide uses a 2x3 grid layout to categorize industry updates.",
        "elementsJson": [
          "headline_text",
          "bullet_list",
          "icon_grid"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 18:48:00.473+00",
          "seconds": 3.83,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5de0-76bd-a166-85fd4587d7e0/6",
        "deck": "/decks/019dd923-5de0-76bd-a166-85fd4587d7e0",
        "deckAnchor": "/decks/019dd923-5de0-76bd-a166-85fd4587d7e0#slide-6",
        "deckJson": "/decks/019dd923-5de0-76bd-a166-85fd4587d7e0.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.4,
            "w": 0.23,
            "x": 0.73,
            "y": 0.52
          },
          "kind": "list",
          "text": "New Regulations: SAMA updated debt-based crowdfunding rules, permitted three new FinTech startups.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "List",
              "slug": "list",
              "status": "active",
              "canonId": "019de52c-f94b-779b-a53b-fd4904a5f4d2",
              "version": 1,
              "description": "Bullet or numbered list."
            },
            "tool": null,
            "subkind": {
              "name": "Bullet list",
              "slug": "bullet",
              "status": "active",
              "canonId": "019de52c-fc98-7169-a083-5cab805076ca",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bullet",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:00.473+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "1e92b92c-21a0-4102-896c-af24b5c3fe07",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.4,
            "w": 0.23,
            "x": 0.48,
            "y": 0.52
          },
          "kind": "list",
          "text": "Expected Challenges: Geo-political conflicts, NIM pressure from interest rate cuts, OPEC+ delay in oil output increase.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "List",
              "slug": "list",
              "status": "active",
              "canonId": "019de52c-f94b-779b-a53b-fd4904a5f4d2",
              "version": 1,
              "description": "Bullet or numbered list."
            },
            "tool": null,
            "subkind": {
              "name": "Bullet list",
              "slug": "bullet",
              "status": "active",
              "canonId": "019de52c-fc98-7169-a083-5cab805076ca",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bullet",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:00.473+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "22233e5b-6a3d-499f-8829-8b9cdb818008",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.4,
            "w": 0.23,
            "x": 0.48,
            "y": 0.05
          },
          "kind": "list",
          "text": "New Business Trends: Emkan secured license for BNPL, SNB launched 'NEO' Digital Banking.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "List",
              "slug": "list",
              "status": "active",
              "canonId": "019de52c-f94b-779b-a53b-fd4904a5f4d2",
              "version": 1,
              "description": "Bullet or numbered list."
            },
            "tool": null,
            "subkind": {
              "name": "Bullet list",
              "slug": "bullet",
              "status": "active",
              "canonId": "019de52c-fc98-7169-a083-5cab805076ca",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bullet",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:00.473+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "4255d593-4e64-4e8a-ad86-001b67ef0e4a",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.4,
            "w": 0.23,
            "x": 0.23,
            "y": 0.05
          },
          "kind": "list",
          "text": "New Entrants: SAMA licensed 'BOUABA TSHIL', SAMA signed agreement with Samsung for Samsung Pay, FinTech player 'Barq' launched.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "List",
              "slug": "list",
              "status": "active",
              "canonId": "019de52c-f94b-779b-a53b-fd4904a5f4d2",
              "version": 1,
              "description": "Bullet or numbered list."
            },
            "tool": null,
            "subkind": {
              "name": "Bullet list",
              "slug": "bullet",
              "status": "active",
              "canonId": "019de52c-fc98-7169-a083-5cab805076ca",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bullet",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:00.473+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "572b72b8-f140-401a-a621-4b4cd51537e0",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.4,
            "w": 0.23,
            "x": 0.23,
            "y": 0.52
          },
          "kind": "list",
          "text": "New Emerging Technologies: SAB partnered with PayerMax, Vision Bank launched mobile app, SAB partnered with UnionPay.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "List",
              "slug": "list",
              "status": "active",
              "canonId": "019de52c-f94b-779b-a53b-fd4904a5f4d2",
              "version": 1,
              "description": "Bullet or numbered list."
            },
            "tool": null,
            "subkind": {
              "name": "Bullet list",
              "slug": "bullet",
              "status": "active",
              "canonId": "019de52c-fc98-7169-a083-5cab805076ca",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bullet",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:00.473+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "8e8c6fa7-fa46-443d-bc4b-750c010e024e",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.4,
            "w": 0.23,
            "x": 0.73,
            "y": 0.05
          },
          "kind": "list",
          "text": "New Investments: Tabby buys 'Tweeq', ALRAJHI acquired 65% of 'Darham'.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "List",
              "slug": "list",
              "status": "active",
              "canonId": "019de52c-f94b-779b-a53b-fd4904a5f4d2",
              "version": 1,
              "description": "Bullet or numbered list."
            },
            "tool": null,
            "subkind": {
              "name": "Bullet list",
              "slug": "bullet",
              "status": "active",
              "canonId": "019de52c-fc98-7169-a083-5cab805076ca",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bullet",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:00.473+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "e0c2d51e-87f6-4744-a5a7-42ec931c84b4",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.5,
            "x": 0.23,
            "y": 0.95
          },
          "kind": "source-note",
          "text": "Source: SAMA, Fintech Futures, Arab News, Zawya, IBS Intelligence SNB website, SAB website, ANB website, ALRAJHI website",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Source note",
              "slug": "source-note",
              "status": "active",
              "canonId": "23484952-494b-4a5e-b1ad-550d0d70e948",
              "version": 1,
              "description": "Attribution / source / caveat placed at the slide footer. Numbered footnotes use attrs.numbered."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:00.473+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "fddee384-11f8-435f-9c9b-05dbdfd9e0e0",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.12,
            "w": 0.15,
            "x": 0.03,
            "y": 0.05
          },
          "kind": "title",
          "text": "KSA banking industry developments",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:00.473+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "13ca1d87-ed53-4e35-b71b-ccde5139994a",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.15,
            "x": 0.03,
            "y": 0.17
          },
          "kind": "title",
          "text": "Key Sector Developments",
          "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 18:48:00.473+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "28a43722-8924-4b18-a344-fd2d13b9f104",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "Gestalt Principles",
            "slug": "gestalt-principles",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-b266-7631-9b7e-44d83bd5d4f3",
            "version": 1,
            "bodyDocId": null,
            "description": "Proximity, Similarity, Enclosure, Continuity, Closure, Connection - how humans perceive visual groups",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer",
            "Architect"
          ],
          "matchId": "019de781-15b2-7488-9d22-4bbc2a4bc238",
          "evidence": "2x3 grid uses proximity to group six thematic categories.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 70,
          "extraction": {
            "at": "2026-05-02 07:04:48.042956+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": "019de781-15dc-77ae-829a-eb13171822b9",
          "evidence": "Six text boxes with parallel icon plus title plus body structure.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 60,
          "extraction": {
            "at": "2026-05-02 07:04:48.042956+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 6,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 21,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 3,
          "name": "The Facts (What)",
          "beatId": "019de781-0fc1-7454-8f9a-0e73ec4b709d",
          "matchId": "019de781-0f93-7044-b275-7f8185be2e56",
          "beatType": null,
          "evidence": "Macro plus 15+ KPI deep-dives describing Q3'24 banking metrics.",
          "position": 1,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 60
        },
        {
          "to": 6,
          "arc": {
            "name": "The Onion",
            "slug": "onion",
            "status": "active",
            "bestFor": "Root cause analysis, diagnostics",
            "canonId": "019dd956-627f-76b1-b286-0c575846d572",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Surface Observation -> First Layer -> Deeper Layer -> Core Insight -> Implications",
            "description": null,
            "familyLabel": null
          },
          "from": 5,
          "name": "First Layer",
          "beatId": "019de781-10ef-774f-8fb9-82ccf554eaa1",
          "matchId": "019de781-1095-750c-886e-b943c1081eb3",
          "beatType": null,
          "evidence": "Aggregate KPI dashboard plus industry developments.",
          "position": 2,
          "isPrimaryArc": false,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 50
        }
      ],
      "loops": [
        {
          "to": 6,
          "from": 5,
          "loop": {
            "name": "41_so_what_cascade",
            "slug": "41-so-what-cascade",
            "status": "active",
            "bestFor": "Data presentations, executive summaries, driving to recommendations",
            "canonId": "019dd956-769f-7208-afbc-f28985c6f4fb",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Data -> So What? (Insight 1) -> So What? (Insight 2) -> So What? (The Action)",
            "description": "Chain insights together, each answering 'so what?' until you reach the actionable conclusion",
            "familyLabel": null
          },
          "matchId": "019de781-11ca-75a9-92a7-fa17bbade551",
          "evidence": "p5 KPI table with sparklines plus 8 numbered takeaways; p6 grid of qualitative developments.",
          "position": 2,
          "objective": "Deliver an answer-first KPI snapshot of Q3'24 with sector developments",
          "confidence": 70,
          "extraction": {
            "at": "2026-05-02 07:04:48.042956+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 7,
      "type": "analysis",
      "title": "The chart illustrates the transition from 19.47 SAR Bn to 20.51 SAR Bn.",
      "function": "quantify_impact",
      "rawType": "financial_analysis",
      "block": null,
      "metadata": {
        "slideType": "financial_analysis",
        "slideTypeCanon": {
          "name": "Financial analysis",
          "slug": "financial_analysis",
          "status": "active",
          "canonId": "019de52d-0b45-709c-bfcc-0cf83dd00f13",
          "version": 1,
          "description": null
        },
        "function": "quantify_impact",
        "functionCanon": {
          "name": "Quantify impact",
          "slug": "quantify_impact",
          "status": "active",
          "canonId": "019de52d-1630-720d-b57d-fa7f76bebd8d",
          "version": 1,
          "description": null
        },
        "density": "dense",
        "densityScore": 52,
        "componentCount": 6,
        "textChars": 517,
        "nDataPoints": 9,
        "notes": "The chart illustrates the transition from 19.47 SAR Bn to 20.51 SAR Bn.",
        "elementsJson": [
          "headline_text",
          "bullet_list",
          "waterfall_chart"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 18:47:59.682+00",
          "seconds": 2.961,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5de0-76bd-a166-85fd4587d7e0/7",
        "deck": "/decks/019dd923-5de0-76bd-a166-85fd4587d7e0",
        "deckAnchor": "/decks/019dd923-5de0-76bd-a166-85fd4587d7e0#slide-7",
        "deckJson": "/decks/019dd923-5de0-76bd-a166-85fd4587d7e0.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "Aggregate net income increased by 5.3% QoQ to SAR 20.5bn",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": {
              "name": "Visual emphasis",
              "slug": "visual-emphasis",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-474b-736b-a8eb-a794dd88241c",
              "version": 1,
              "bodyDocId": null,
              "description": "Drawing the eye to one element above the rest of the slide.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 14:26:24+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-fef5-761e-80ab-a23e1e9e3911",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.7,
            "w": 0.6,
            "x": 0.3,
            "y": 0.15
          },
          "kind": "chart",
          "text": "Net income bridge (SAR Bn)",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Chart",
              "slug": "chart",
              "status": "active",
              "canonId": "019de52c-f9a0-76ef-adc6-0b859109d1f8",
              "version": 1,
              "description": "Quantitative chart."
            },
            "tool": null,
            "subkind": {
              "name": "Waterfall chart",
              "slug": "waterfall",
              "status": "active",
              "canonId": "019de52d-002e-733e-b5cf-dd3beb6692cc",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "waterfall",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:47:59.682+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "f15778e6-2262-4023-a48c-cba1af208e7b",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.25,
            "w": 0.24,
            "x": 0.05,
            "y": 0.34
          },
          "kind": "list",
          "text": "Aggregate net income increased by 5.3% QoQ to SAR 20.5bn; Operating income increased by 6.0% QoQ; NII increased by 3.5% QoQ while non-interest income increased substantially by 15.2% QoQ; Operating expenses increased by 4.9%; Impairment charges increased 30.4% QoQ",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "List",
              "slug": "list",
              "status": "active",
              "canonId": "019de52c-f94b-779b-a53b-fd4904a5f4d2",
              "version": 1,
              "description": "Bullet or numbered list."
            },
            "tool": null,
            "subkind": {
              "name": "Bullet list",
              "slug": "bullet",
              "status": "active",
              "canonId": "019de52c-fc98-7169-a083-5cab805076ca",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bullet",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:47:59.682+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "52f75ec1-2e55-437d-b215-84ecebfc2d3e",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Net income: 20.5bn",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 14:26:24+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-fef5-761e-80ab-a55930ca0ee3",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.2,
            "x": 0.3,
            "y": 0.95
          },
          "kind": "source-note",
          "text": "Source: Financial statements, Investor presentations, A&M analysis",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Source note",
              "slug": "source-note",
              "status": "active",
              "canonId": "23484952-494b-4a5e-b1ad-550d0d70e948",
              "version": 1,
              "description": "Attribution / source / caveat placed at the slide footer. Numbered footnotes use attrs.numbered."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:47:59.682+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "7ebbe827-2973-4db1-9391-17c464cdb626",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.25,
            "x": 0.04,
            "y": 0.05
          },
          "kind": "title",
          "text": "Despite rate cuts, higher NII and Fee / Other Income contributed to the earnings growth",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Action title",
              "slug": "action-title",
              "status": "active",
              "canonId": "019de52c-fb31-734c-a0f5-a3935b73135d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "action-title",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:47:59.682+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "bc7c94e0-67f8-41fe-8784-30e50d693078",
          "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": "019de781-1709-701b-9dee-b71714a7810e",
          "evidence": "Q2'24 vs Q3'24 endpoint pairing drives the bridge.",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": null,
          "confidence": 70,
          "extraction": {
            "at": "2026-05-02 07:04:48.042956+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 7,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Action Titles",
            "slug": "action-titles",
            "status": "active",
            "bestFor": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
            "canonId": "019dd956-ac70-700b-a608-ba58e78f5dcc",
            "version": 1,
            "bodyDocId": "816dad3c-9983-41c1-a86e-978ebd582841",
            "description": "The McKinsey-bred discipline of writing every slide title as a complete declarative sentence with a verb and an insight, not a topic label. Each title is a sub-claim that ladders up to the deck's governing thought; read in sequence, the titles reconstruct the executive summary.",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Architect",
          "layer": "slide",
          "agents": [
            "Architect"
          ],
          "matchId": "019de781-1607-731c-87fe-09442719cfe1",
          "evidence": "'Despite rate cuts, higher NII and Fee... contributed to earnings growth'.",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
          "confidence": 90,
          "extraction": {
            "at": "2026-05-02 07:04:48.042956+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 7,
          "whyItWorks": "Solves two failure modes at once. (1) The buried claim: action titles place the conclusion on the page before any analysis is read, so a busy reader doesn't reverse-engineer it from the chart. (2) The spineless deck: because each title is a claim, slides have to ladder up to the governing thought; logical gaps become visible as topic-shaped titles in a sequence that no longer reads as a story.",
          "antipattern": "Topic labels disguised as titles — Volume by quarter, Key findings, Pricing strategy, Margins have been impacted. No verb, or a passive verb with no agent, or a fact (Revenue grew 12%) without the so-what. Also: titles that overreach the chart's evidence, multi-claim X-grew-but-Y-fell welded titles, and mechanical repetition of the same X-drove-Y template across the deck.",
          "cardinality": null,
          "narrativePurpose": "Forces the deck to carry its argument in the title bar so a senior reader can extract the recommendation without opening a single slide; converts a binder of topics into a navigable pyramid where every slide is a node defending the apex."
        },
        {
          "tool": {
            "name": "Annotation",
            "slug": "annotation",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-b5b9-7668-bf0e-3af99823ec5c",
            "version": 1,
            "bodyDocId": null,
            "description": "Adding explanatory labels to highlight key data points",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "019de781-16dd-77fc-ae12-83b608650733",
          "evidence": "Each bar labelled with SAR Bn delta value.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 80,
          "extraction": {
            "at": "2026-05-02 07:04:48.042956+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 7,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Chart Selection Guide",
            "slug": "chart-selection-guide",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-b1a0-700b-ba17-0e16c4d5bcae",
            "version": 1,
            "bodyDocId": null,
            "description": "Choosing the right chart type for your data and message",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "019de781-1687-77b7-8e4d-a7cd1e4f8cb7",
          "evidence": "Waterfall chart correctly chosen for additive bridge analysis.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 95,
          "extraction": {
            "at": "2026-05-02 07:04:48.042956+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 7,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Color Strategy",
            "slug": "color-strategy",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-b202-77cf-8a6e-f445b08c0fd3",
            "version": 1,
            "bodyDocId": null,
            "description": "Using color for emphasis, categories, sentiment, and hierarchy",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "019de781-16b2-77f2-856b-62b414a41906",
          "evidence": "Green positive bars, red negative bars, navy endpoints.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 90,
          "extraction": {
            "at": "2026-05-02 07:04:48.042956+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 7,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Waterfall chart",
            "slug": "waterfall-chart",
            "status": "active",
            "bestFor": null,
            "canonId": "e2799da3-725f-44a9-a093-570f1f388e64",
            "version": 1,
            "bodyDocId": null,
            "description": null,
            "familyLabel": null,
            "categoryName": null,
            "categorySlug": null
          },
          "agent": null,
          "layer": "slide",
          "agents": null,
          "matchId": "4907e957-908e-4db0-8b1e-fbd211329760",
          "evidence": "chart/waterfall: Net income bridge (SAR Bn)",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 21:29:14.698144+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 7,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [
        {
          "matchId": "155ad833-fe19-43e0-8767-2316deed7984",
          "evidence": "The chart is a standard financial waterfall bridge.",
          "framework": null,
          "confidence": 1,
          "extraction": {
            "at": "2026-05-02 18:47:59.682+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 7,
          "frameworkName": "waterfall-chart"
        },
        {
          "matchId": "019de781-214c-76be-8e68-c2383b9861c8",
          "evidence": "Classic Q2 -> Q3 net income bridge with positive/negative driver bars.",
          "framework": null,
          "confidence": 95,
          "extraction": {
            "at": "2026-05-02 07:04:48.042956+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 7,
          "frameworkName": "Waterfall / Value Bridge"
        }
      ],
      "arcBeats": [
        {
          "to": 21,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 3,
          "name": "The Facts (What)",
          "beatId": "019de781-0fc1-7454-8f9a-0e73ec4b709d",
          "matchId": "019de781-0f93-7044-b275-7f8185be2e56",
          "beatType": null,
          "evidence": "Macro plus 15+ KPI deep-dives describing Q3'24 banking metrics.",
          "position": 1,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 60
        },
        {
          "to": 21,
          "arc": {
            "name": "The Onion",
            "slug": "onion",
            "status": "active",
            "bestFor": "Root cause analysis, diagnostics",
            "canonId": "019dd956-627f-76b1-b286-0c575846d572",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Surface Observation -> First Layer -> Deeper Layer -> Core Insight -> Implications",
            "description": null,
            "familyLabel": null
          },
          "from": 7,
          "name": "Deeper Layer",
          "beatId": "019de781-111a-7583-87f8-4ade5a2d4710",
          "matchId": "019de781-1095-750c-886e-b943c1081eb3",
          "beatType": null,
          "evidence": "Bank-level breakdowns of income, balance sheet, NIM, C/I, risk, ROE.",
          "position": 3,
          "isPrimaryArc": false,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 50
        }
      ],
      "loops": [
        {
          "to": 7,
          "from": 7,
          "loop": {
            "name": "31_waterfall_value",
            "slug": "31-waterfall-value",
            "status": "active",
            "bestFor": "Financial analysis, value bridges, variance explanations",
            "canonId": "019dd956-7282-712b-bae5-6daca6b5a1d3",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Total -> Driver 1 Impact -> Driver 2 Impact -> Driver 3 Impact -> The Remainder",
            "description": "Break down a big number into its component drivers to show where value is created or lost",
            "familyLabel": null
          },
          "matchId": "019de781-124b-7241-9f3c-bfb60bbb180c",
          "evidence": "Net income bridge waterfall (SAR 19.47bn -> 20.51bn) with NII, fees, opex, impairments components.",
          "position": 3,
          "objective": "Decompose Q2-to-Q3 net income drivers",
          "confidence": 90,
          "extraction": {
            "at": "2026-05-02 07:04:48.042956+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 8,
      "type": "setup",
      "title": "The chart uses a 2x2 matrix to segment banks by their performance in loan and deposit growth.",
      "function": "compare_peers",
      "rawType": "peer_benchmark",
      "block": null,
      "metadata": {
        "slideType": "peer_benchmark",
        "slideTypeCanon": {
          "name": "Peer benchmark",
          "slug": "peer_benchmark",
          "status": "active",
          "canonId": "019de52d-08f0-7158-a78d-d7b5331fefaf",
          "version": 1,
          "description": null
        },
        "function": "compare_peers",
        "functionCanon": {
          "name": "Compare peers",
          "slug": "compare_peers",
          "status": "active",
          "canonId": "019de52d-1453-72ba-a367-9ba3d34c1630",
          "version": 1,
          "description": null
        },
        "density": "dense",
        "densityScore": 71,
        "componentCount": 7,
        "textChars": 919,
        "nDataPoints": 15,
        "notes": "The chart uses a 2x2 matrix to segment banks by their performance in loan and deposit growth.",
        "elementsJson": [
          "headline_text",
          "bullet_list",
          "bar_chart_vertical",
          "bubble_chart"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 18:48:00.07+00",
          "seconds": 3.338,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5de0-76bd-a166-85fd4587d7e0/8",
        "deck": "/decks/019dd923-5de0-76bd-a166-85fd4587d7e0",
        "deckAnchor": "/decks/019dd923-5de0-76bd-a166-85fd4587d7e0#slide-8",
        "deckJson": "/decks/019dd923-5de0-76bd-a166-85fd4587d7e0.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "Aggregate L&A of the top ten banks increased by 3.7% QoQ, slightly higher than the previous quarter (+3.2% QoQ).",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": {
              "name": "Visual emphasis",
              "slug": "visual-emphasis",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-474b-736b-a8eb-a794dd88241c",
              "version": 1,
              "bodyDocId": null,
              "description": "Drawing the eye to one element above the rest of the slide.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 14:26:25+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-fef5-761e-80ac-057e2b48c9c2",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.24,
            "x": 0.05,
            "y": 0.78
          },
          "kind": "chart",
          "text": "Share of Government Deposits (%)",
          "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 18:48:00.07+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "36e7e44b-7b1a-4745-8a18-1d99703e1af5",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.8,
            "w": 0.65,
            "x": 0.3,
            "y": 0.1
          },
          "kind": "chart",
          "text": "L&A Growth QoQ (%) vs Deposits Growth QoQ (%)",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Chart",
              "slug": "chart",
              "status": "active",
              "canonId": "019de52c-f9a0-76ef-adc6-0b859109d1f8",
              "version": 1,
              "description": "Quantitative chart."
            },
            "tool": null,
            "subkind": {
              "name": "Scatter plot",
              "slug": "scatter",
              "status": "active",
              "canonId": "019de52d-007d-72ec-8689-c79fb78e21a2",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "scatter",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:00.07+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "fe5b0521-2d24-4b71-a661-923fb990bdab",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.8,
            "w": 0.65,
            "x": 0.3,
            "y": 0.1
          },
          "kind": "framework",
          "text": "2x2 Matrix",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Framework",
              "slug": "framework",
              "status": "active",
              "canonId": "019de52c-fa18-77c6-b10a-ccb8277ac0fa",
              "version": 1,
              "description": "Named conceptual framework instance."
            },
            "tool": null,
            "subkind": {
              "name": "Framework instance",
              "slug": "instance",
              "status": "active",
              "canonId": "019de52d-05a2-72af-be0b-7edc60708a03",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "instance",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:00.07+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "9ba30df0-cb16-452a-bd56-2f6c13e6f8cc",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.45,
            "w": 0.24,
            "x": 0.05,
            "y": 0.33
          },
          "kind": "list",
          "text": "Aggregate L&A of the top ten banks increased by 3.7% QoQ, slightly higher than the previous quarter (+3.2% QoQ). Corporate / wholesale loans (+4.4% QoQ) drove the overall L&A growth. BJAZ and RIBL reported the highest increase in L&A growth by 6.3% and 4.9% QoQ, respectively. Aggregate bank deposits increased marginally by 1.4% QoQ. The rate cut cycle began at the fag end of Q3'24; customers responded well to the peak of the interest rates (Time deposits for KSA banks increased by 4.2% QoQ in Q3'24). Deposits from government entities increased by 4.0% QoQ and accounted for ~31.3% of the total bank deposits in Q3'24",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "List",
              "slug": "list",
              "status": "active",
              "canonId": "019de52c-f94b-779b-a53b-fd4904a5f4d2",
              "version": 1,
              "description": "Bullet or numbered list."
            },
            "tool": null,
            "subkind": {
              "name": "Bullet list",
              "slug": "bullet",
              "status": "active",
              "canonId": "019de52c-fc98-7169-a083-5cab805076ca",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bullet",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:00.07+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "bd2e4d73-7c30-4fbd-8f49-28a45adc4393",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "L&A Growth QoQ: 3.7%",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 14:26:25+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-fef5-761e-80ac-0ba140f913f2",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.25,
            "x": 0.04,
            "y": 0.05
          },
          "kind": "title",
          "text": "Banks continue to expand credit outlay which has outpaced deposit mobilization",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:00.07+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "77e69423-4e7e-401d-8d86-6d42a33d7d13",
          "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": "019de781-17e3-70de-a6a5-286fc43a21a7",
          "evidence": "Lending growth vs deposit growth axes set up the tension.",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": null,
          "confidence": 75,
          "extraction": {
            "at": "2026-05-02 07:04:48.042956+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 8,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "2x2 matrix",
            "slug": "matrix-2x2",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd9e1-50ab-72d1-8afb-3ab0a38e32a8",
            "version": 1,
            "bodyDocId": null,
            "description": "BCG matrix, importance/urgency, any axes-and-quadrants frame.",
            "familyLabel": null,
            "categoryName": null,
            "categorySlug": null
          },
          "agent": null,
          "layer": "slide",
          "agents": null,
          "matchId": "30c9a616-4fdc-4048-b003-97026ef6508d",
          "evidence": "framework/instance: 2x2 Matrix",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 21:29:14.775158+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 8,
          "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": "019de781-1734-7607-90ac-54d5ef9ae4fe",
          "evidence": "'Banks continue to expand credit outlay which has outpaced deposit mobilization'.",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
          "confidence": 90,
          "extraction": {
            "at": "2026-05-02 07:04:48.042956+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 8,
          "whyItWorks": "Solves two failure modes at once. (1) The buried claim: action titles place the conclusion on the page before any analysis is read, so a busy reader doesn't reverse-engineer it from the chart. (2) The spineless deck: because each title is a claim, slides have to ladder up to the governing thought; logical gaps become visible as topic-shaped titles in a sequence that no longer reads as a story.",
          "antipattern": "Topic labels disguised as titles — Volume by quarter, Key findings, Pricing strategy, Margins have been impacted. No verb, or a passive verb with no agent, or a fact (Revenue grew 12%) without the so-what. Also: titles that overreach the chart's evidence, multi-claim X-grew-but-Y-fell welded titles, and mechanical repetition of the same X-drove-Y template across the deck.",
          "cardinality": null,
          "narrativePurpose": "Forces the deck to carry its argument in the title bar so a senior reader can extract the recommendation without opening a single slide; converts a binder of topics into a navigable pyramid where every slide is a node defending the apex."
        },
        {
          "tool": {
            "name": "Annotation",
            "slug": "annotation",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-b5b9-7668-bf0e-3af99823ec5c",
            "version": 1,
            "bodyDocId": null,
            "description": "Adding explanatory labels to highlight key data points",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "019de781-178a-7127-8e29-a8163aed294e",
          "evidence": "Quadrants labelled 'Gained Financing MS', 'Gained Deposits & Financing MS', etc.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 85,
          "extraction": {
            "at": "2026-05-02 07:04:48.042956+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 8,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Chart Selection Guide",
            "slug": "chart-selection-guide",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-b1a0-700b-ba17-0e16c4d5bcae",
            "version": 1,
            "bodyDocId": null,
            "description": "Choosing the right chart type for your data and message",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "019de781-175d-71ef-bace-8f2c5b4ac40b",
          "evidence": "2x2 quadrant scatter with bank logos as markers.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 90,
          "extraction": {
            "at": "2026-05-02 07:04:48.042956+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 8,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Gestalt Principles",
            "slug": "gestalt-principles",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-b266-7631-9b7e-44d83bd5d4f3",
            "version": 1,
            "bodyDocId": null,
            "description": "Proximity, Similarity, Enclosure, Continuity, Closure, Connection - how humans perceive visual groups",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer",
            "Architect"
          ],
          "matchId": "019de781-17b9-71da-aeb0-5dddbcd59103",
          "evidence": "Quadrant boundaries enclose related banks; logo proximity signals grouping.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 70,
          "extraction": {
            "at": "2026-05-02 07:04:48.042956+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 8,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [
        {
          "matchId": "019de781-2177-7464-a988-5f13d412cbe6",
          "evidence": "Quadrant chart with L&A vs Deposits growth axes and named quadrants.",
          "framework": null,
          "confidence": 90,
          "extraction": {
            "at": "2026-05-02 07:04:48.042956+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 8,
          "frameworkName": "2x2 Matrix"
        },
        {
          "matchId": "167b5ea3-3fb7-453e-bfb9-7050349e08a3",
          "evidence": "The central chart is a 2x2 matrix segmenting banks by growth metrics.",
          "framework": null,
          "confidence": 1,
          "extraction": {
            "at": "2026-05-02 18:48:00.07+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 8,
          "frameworkName": "matrix-2x2"
        }
      ],
      "arcBeats": [
        {
          "to": 21,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 3,
          "name": "The Facts (What)",
          "beatId": "019de781-0fc1-7454-8f9a-0e73ec4b709d",
          "matchId": "019de781-0f93-7044-b275-7f8185be2e56",
          "beatType": null,
          "evidence": "Macro plus 15+ KPI deep-dives describing Q3'24 banking metrics.",
          "position": 1,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 60
        },
        {
          "to": 21,
          "arc": {
            "name": "The Onion",
            "slug": "onion",
            "status": "active",
            "bestFor": "Root cause analysis, diagnostics",
            "canonId": "019dd956-627f-76b1-b286-0c575846d572",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Surface Observation -> First Layer -> Deeper Layer -> Core Insight -> Implications",
            "description": null,
            "familyLabel": null
          },
          "from": 7,
          "name": "Deeper Layer",
          "beatId": "019de781-111a-7583-87f8-4ade5a2d4710",
          "matchId": "019de781-1095-750c-886e-b943c1081eb3",
          "beatType": null,
          "evidence": "Bank-level breakdowns of income, balance sheet, NIM, C/I, risk, ROE.",
          "position": 3,
          "isPrimaryArc": false,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 50
        }
      ],
      "loops": [
        {
          "to": 11,
          "from": 8,
          "loop": {
            "name": "04_tale_two_worlds",
            "slug": "04-tale-two-worlds",
            "status": "active",
            "bestFor": "Competitive analysis, benchmarking, case for change",
            "canonId": "019dd956-674f-750b-b15d-f082e2717f4e",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "Current State -> Desired State / Benchmark -> The Gap & Implication",
            "description": "Show the gap between two states to drive urgency or highlight opportunity",
            "familyLabel": null
          },
          "matchId": "019de781-1275-77da-af68-0f380dc83077",
          "evidence": "2x2 (loans vs deposits), loan/deposit composition splits, LDR scatter all argue the L&A vs deposits gap.",
          "position": 4,
          "objective": "Show divergence between lending growth and deposit mobilization",
          "confidence": 75,
          "extraction": {
            "at": "2026-05-02 07:04:48.042956+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 9,
      "type": "analysis",
      "title": "The slide uses stacked bar charts to show the composition of loan portfolios for 10 different banks, plus an aggregate view.",
      "function": "analyze_data",
      "rawType": "kpi_dashboard",
      "block": null,
      "metadata": {
        "slideType": "kpi_dashboard",
        "slideTypeCanon": {
          "name": "KPI dashboard",
          "slug": "kpi_dashboard",
          "status": "active",
          "canonId": "019de52d-0be5-7295-af4d-b850fe7b7e65",
          "version": 1,
          "description": null
        },
        "function": "analyze_data",
        "functionCanon": {
          "name": "Analyze data",
          "slug": "analyze_data",
          "status": "active",
          "canonId": "019de52d-1590-7413-8c82-cc218cff40b4",
          "version": 1,
          "description": null
        },
        "density": "dense",
        "densityScore": 73,
        "componentCount": 7,
        "textChars": 956,
        "nDataPoints": 45,
        "notes": "The slide uses stacked bar charts to show the composition of loan portfolios for 10 different banks, plus an aggregate view.",
        "elementsJson": [
          "headline_text",
          "bullet_list",
          "bar_chart_stacked",
          "callout_box",
          "footnote"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 18:48:00.081+00",
          "seconds": 3.287,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5de0-76bd-a166-85fd4587d7e0/9",
        "deck": "/decks/019dd923-5de0-76bd-a166-85fd4587d7e0",
        "deckAnchor": "/decks/019dd923-5de0-76bd-a166-85fd4587d7e0#slide-9",
        "deckJson": "/decks/019dd923-5de0-76bd-a166-85fd4587d7e0.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "Corporate / Wholesale lending drove the aggregate L&A with a growth of 4.4% QoQ (accounted for 56.1% of aggregate L&A); retail segment grew by 2.7% QoQ, contributing 43.0% to aggregate L&A",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": {
              "name": "Visual emphasis",
              "slug": "visual-emphasis",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-474b-736b-a8eb-a794dd88241c",
              "version": 1,
              "bodyDocId": null,
              "description": "Drawing the eye to one element above the rest of the slide.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 14:26:26+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-fef5-761e-80ac-586c3a69ec3c",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.82,
            "w": 0.68,
            "x": 0.29,
            "y": 0.11
          },
          "kind": "chart",
          "text": "Loans and advances (SAR bn) for individual banks",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Chart",
              "slug": "chart",
              "status": "active",
              "canonId": "019de52c-f9a0-76ef-adc6-0b859109d1f8",
              "version": 1,
              "description": "Quantitative chart."
            },
            "tool": null,
            "subkind": {
              "name": "Stacked bar chart",
              "slug": "bar-stacked",
              "status": "active",
              "canonId": "019de52c-feec-74bf-9028-15b74f84f0a7",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bar-stacked",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:00.081+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "155dd7e0-89ff-4f84-8a9f-eee475b4dc4a",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.35,
            "w": 0.24,
            "x": 0.04,
            "y": 0.57
          },
          "kind": "chart",
          "text": "Aggregate L&A (SAR bn)",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Chart",
              "slug": "chart",
              "status": "active",
              "canonId": "019de52c-f9a0-76ef-adc6-0b859109d1f8",
              "version": 1,
              "description": "Quantitative chart."
            },
            "tool": null,
            "subkind": {
              "name": "Stacked bar chart",
              "slug": "bar-stacked",
              "status": "active",
              "canonId": "019de52c-feec-74bf-9028-15b74f84f0a7",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bar-stacked",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:00.081+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "feb17b89-5aab-4315-bb7e-5015c82b5c21",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.18,
            "w": 0.24,
            "x": 0.04,
            "y": 0.34
          },
          "kind": "list",
          "text": "Corporate / Wholesale lending drove the aggregate L&A with a growth of 4.4% QoQ (accounted for 56.1% of aggregate L&A); retail segment grew by 2.7% QoQ, contributing 43.0% to aggregate L&A. ALRAJHI and RIBL reported a substantial increase in the corporate / wholesale lending segment with an increase of 8.1% and 6.8% QoQ, respectively",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "List",
              "slug": "list",
              "status": "active",
              "canonId": "019de52c-f94b-779b-a53b-fd4904a5f4d2",
              "version": 1,
              "description": "Bullet or numbered list."
            },
            "tool": null,
            "subkind": {
              "name": "Bullet list",
              "slug": "bullet",
              "status": "active",
              "canonId": "019de52c-fc98-7169-a083-5cab805076ca",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bullet",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:00.081+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "9ca73698-925a-4368-9251-cd0a35518287",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Loans and advances: 56.1%",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 14:26:26+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-fef5-761e-80ac-5c0fc1576a6b",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.45,
            "x": 0.3,
            "y": 0.94
          },
          "kind": "source-note",
          "text": "Note: Scaling and some numbers might not add up due to rounding. Note: KSA banks have no disclosure on Loans & Advances by Industry. The reporting only has details of corporate and retail loans Source: Financial statements, investor presentations, A&M analysis",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Source note",
              "slug": "source-note",
              "status": "active",
              "canonId": "23484952-494b-4a5e-b1ad-550d0d70e948",
              "version": 1,
              "description": "Attribution / source / caveat placed at the slide footer. Numbered footnotes use attrs.numbered."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:00.081+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "1eed2009-eed1-4ff4-adb8-7d0473d9a4da",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.1,
            "w": 0.25,
            "x": 0.03,
            "y": 0.05
          },
          "kind": "title",
          "text": "Corporate / wholesale segment remain the major focus for most of the KSA banks",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:00.081+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "7b5f9efe-4478-4236-9e42-b1e8cd2fb09e",
          "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": "019de781-180d-773d-bbd8-e971a8c3f02b",
          "evidence": "'Corporate / wholesale segment remain the major focus for most KSA banks'.",
          "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 07:04:48.042956+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 9,
          "whyItWorks": "Solves two failure modes at once. (1) The buried claim: action titles place the conclusion on the page before any analysis is read, so a busy reader doesn't reverse-engineer it from the chart. (2) The spineless deck: because each title is a claim, slides have to ladder up to the governing thought; logical gaps become visible as topic-shaped titles in a sequence that no longer reads as a story.",
          "antipattern": "Topic labels disguised as titles — Volume by quarter, Key findings, Pricing strategy, Margins have been impacted. No verb, or a passive verb with no agent, or a fact (Revenue grew 12%) without the so-what. Also: titles that overreach the chart's evidence, multi-claim X-grew-but-Y-fell welded titles, and mechanical repetition of the same X-drove-Y template across the deck.",
          "cardinality": null,
          "narrativePurpose": "Forces the deck to carry its argument in the title bar so a senior reader can extract the recommendation without opening a single slide; converts a binder of topics into a navigable pyramid where every slide is a node defending the apex."
        },
        {
          "tool": {
            "name": "Color Strategy",
            "slug": "color-strategy",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-b202-77cf-8a6e-f445b08c0fd3",
            "version": 1,
            "bodyDocId": null,
            "description": "Using color for emphasis, categories, sentiment, and hierarchy",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "019de781-189b-709d-bcfc-a6788ed24537",
          "evidence": "Retail vs Corporate/Wholesale color-coded across all charts.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 80,
          "extraction": {
            "at": "2026-05-02 07:04:48.042956+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 9,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Small Multiples",
            "slug": "small-multiples",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-b32d-7586-b368-baa1dd388ed4",
            "version": 1,
            "bodyDocId": null,
            "description": "Repeating similar charts for comparison across categories or time",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "019de781-186f-759d-8439-21b9e4aaac90",
          "evidence": "Nine bank-level stacked bar charts plus aggregate, identical template.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 90,
          "extraction": {
            "at": "2026-05-02 07:04:48.042956+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 9,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 21,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 3,
          "name": "The Facts (What)",
          "beatId": "019de781-0fc1-7454-8f9a-0e73ec4b709d",
          "matchId": "019de781-0f93-7044-b275-7f8185be2e56",
          "beatType": null,
          "evidence": "Macro plus 15+ KPI deep-dives describing Q3'24 banking metrics.",
          "position": 1,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 60
        },
        {
          "to": 21,
          "arc": {
            "name": "The Onion",
            "slug": "onion",
            "status": "active",
            "bestFor": "Root cause analysis, diagnostics",
            "canonId": "019dd956-627f-76b1-b286-0c575846d572",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Surface Observation -> First Layer -> Deeper Layer -> Core Insight -> Implications",
            "description": null,
            "familyLabel": null
          },
          "from": 7,
          "name": "Deeper Layer",
          "beatId": "019de781-111a-7583-87f8-4ade5a2d4710",
          "matchId": "019de781-1095-750c-886e-b943c1081eb3",
          "beatType": null,
          "evidence": "Bank-level breakdowns of income, balance sheet, NIM, C/I, risk, ROE.",
          "position": 3,
          "isPrimaryArc": false,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 50
        }
      ],
      "loops": [
        {
          "to": 11,
          "from": 8,
          "loop": {
            "name": "04_tale_two_worlds",
            "slug": "04-tale-two-worlds",
            "status": "active",
            "bestFor": "Competitive analysis, benchmarking, case for change",
            "canonId": "019dd956-674f-750b-b15d-f082e2717f4e",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "Current State -> Desired State / Benchmark -> The Gap & Implication",
            "description": "Show the gap between two states to drive urgency or highlight opportunity",
            "familyLabel": null
          },
          "matchId": "019de781-1275-77da-af68-0f380dc83077",
          "evidence": "2x2 (loans vs deposits), loan/deposit composition splits, LDR scatter all argue the L&A vs deposits gap.",
          "position": 4,
          "objective": "Show divergence between lending growth and deposit mobilization",
          "confidence": 75,
          "extraction": {
            "at": "2026-05-02 07:04:48.042956+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 10,
      "type": "analysis",
      "title": "The slide uses a consistent stacked bar chart format to compare deposit composition across 9 banks plus an aggregate view.",
      "function": "analyze_data",
      "rawType": "kpi_dashboard",
      "block": null,
      "metadata": {
        "slideType": "kpi_dashboard",
        "slideTypeCanon": {
          "name": "KPI dashboard",
          "slug": "kpi_dashboard",
          "status": "active",
          "canonId": "019de52d-0be5-7295-af4d-b850fe7b7e65",
          "version": 1,
          "description": null
        },
        "function": "analyze_data",
        "functionCanon": {
          "name": "Analyze data",
          "slug": "analyze_data",
          "status": "active",
          "canonId": "019de52d-1590-7413-8c82-cc218cff40b4",
          "version": 1,
          "description": null
        },
        "density": "dense",
        "densityScore": 63,
        "componentCount": 7,
        "textChars": 541,
        "nDataPoints": 45,
        "notes": "The slide uses a consistent stacked bar chart format to compare deposit composition across 9 banks plus an aggregate view.",
        "elementsJson": [
          "headline_text",
          "bullet_list",
          "bar_chart_stacked",
          "callout_box",
          "footnote"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 18:48:03.546+00",
          "seconds": 6.347,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5de0-76bd-a166-85fd4587d7e0/10",
        "deck": "/decks/019dd923-5de0-76bd-a166-85fd4587d7e0",
        "deckAnchor": "/decks/019dd923-5de0-76bd-a166-85fd4587d7e0#slide-10",
        "deckJson": "/decks/019dd923-5de0-76bd-a166-85fd4587d7e0.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.35,
            "w": 0.24,
            "x": 0.05,
            "y": 0.27
          },
          "kind": "callout",
          "text": "Key takeaways",
          "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 18:48:03.546+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "bf2b747f-e919-494f-b717-7286b4d34ae1",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "callout",
          "text": "Banks reported healthy increase in time deposits (+4.2% QoQ); on the contrary, aggregate CASA deposits declined marginally by 0.2% QoQ, and accounted for 58.2% of the total deposits in Q3'24",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": {
              "name": "Visual emphasis",
              "slug": "visual-emphasis",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-474b-736b-a8eb-a794dd88241c",
              "version": 1,
              "bodyDocId": null,
              "description": "Drawing the eye to one element above the rest of the slide.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 14:26:26+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-fef5-761e-80ac-39e3fa509a65",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.25,
            "w": 0.24,
            "x": 0.05,
            "y": 0.63
          },
          "kind": "chart",
          "text": "Aggregate Deposits (SRA bn)",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Chart",
              "slug": "chart",
              "status": "active",
              "canonId": "019de52c-f9a0-76ef-adc6-0b859109d1f8",
              "version": 1,
              "description": "Quantitative chart."
            },
            "tool": null,
            "subkind": {
              "name": "Stacked bar chart",
              "slug": "bar-stacked",
              "status": "active",
              "canonId": "019de52c-feec-74bf-9028-15b74f84f0a7",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bar-stacked",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:03.546+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "30dd5289-c712-4dba-9909-4fb4ac214c5f",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.8,
            "w": 0.65,
            "x": 0.3,
            "y": 0.1
          },
          "kind": "chart",
          "text": "Customer deposits (SRA bn) - Individual Bank Charts",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Chart",
              "slug": "chart",
              "status": "active",
              "canonId": "019de52c-f9a0-76ef-adc6-0b859109d1f8",
              "version": 1,
              "description": "Quantitative chart."
            },
            "tool": null,
            "subkind": {
              "name": "Stacked bar chart",
              "slug": "bar-stacked",
              "status": "active",
              "canonId": "019de52c-feec-74bf-9028-15b74f84f0a7",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bar-stacked",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:03.546+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "b17d6eb3-6951-4dbc-90ed-64dc0d1f2c6f",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Customer deposits: 2,718",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 14:26:26+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-fef5-761e-80ac-3df9d24129c3",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.3,
            "x": 0.3,
            "y": 0.94
          },
          "kind": "source-note",
          "text": "Note: Scaling and some numbers might not add up due to rounding. Source: Financial statements, investor presentations, A&M analysis",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Source note",
              "slug": "source-note",
              "status": "active",
              "canonId": "23484952-494b-4a5e-b1ad-550d0d70e948",
              "version": 1,
              "description": "Attribution / source / caveat placed at the slide footer. Numbered footnotes use attrs.numbered."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:03.546+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "ba748453-0c18-4091-8730-c4b32975ef46",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.12,
            "w": 0.25,
            "x": 0.04,
            "y": 0.05
          },
          "kind": "title",
          "text": "Aggregate deposits growth moderated during the quarter and was mainly driven by increase in time deposits",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:03.546+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "bff04463-49c8-4384-b4de-c059c77d5c3a",
          "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": "019de781-18c7-7439-a055-903a668784d1",
          "evidence": "'Aggregate deposits growth moderated... mainly driven by increase in time deposits'.",
          "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 07:04:48.042956+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 10,
          "whyItWorks": "Solves two failure modes at once. (1) The buried claim: action titles place the conclusion on the page before any analysis is read, so a busy reader doesn't reverse-engineer it from the chart. (2) The spineless deck: because each title is a claim, slides have to ladder up to the governing thought; logical gaps become visible as topic-shaped titles in a sequence that no longer reads as a story.",
          "antipattern": "Topic labels disguised as titles — Volume by quarter, Key findings, Pricing strategy, Margins have been impacted. No verb, or a passive verb with no agent, or a fact (Revenue grew 12%) without the so-what. Also: titles that overreach the chart's evidence, multi-claim X-grew-but-Y-fell welded titles, and mechanical repetition of the same X-drove-Y template across the deck.",
          "cardinality": null,
          "narrativePurpose": "Forces the deck to carry its argument in the title bar so a senior reader can extract the recommendation without opening a single slide; converts a binder of topics into a navigable pyramid where every slide is a node defending the apex."
        },
        {
          "tool": {
            "name": "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": "019de781-191e-71a5-9723-53af1e5829ce",
          "evidence": "CASA / Time / Other deposit categories color-coded uniformly.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 80,
          "extraction": {
            "at": "2026-05-02 07:04:48.042956+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": "019de781-18f2-7250-bf93-99b2bb7f8699",
          "evidence": "Nine bank stacked bar charts in a consistent grid.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 90,
          "extraction": {
            "at": "2026-05-02 07:04:48.042956+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 10,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 21,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 3,
          "name": "The Facts (What)",
          "beatId": "019de781-0fc1-7454-8f9a-0e73ec4b709d",
          "matchId": "019de781-0f93-7044-b275-7f8185be2e56",
          "beatType": null,
          "evidence": "Macro plus 15+ KPI deep-dives describing Q3'24 banking metrics.",
          "position": 1,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 60
        },
        {
          "to": 21,
          "arc": {
            "name": "The Onion",
            "slug": "onion",
            "status": "active",
            "bestFor": "Root cause analysis, diagnostics",
            "canonId": "019dd956-627f-76b1-b286-0c575846d572",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Surface Observation -> First Layer -> Deeper Layer -> Core Insight -> Implications",
            "description": null,
            "familyLabel": null
          },
          "from": 7,
          "name": "Deeper Layer",
          "beatId": "019de781-111a-7583-87f8-4ade5a2d4710",
          "matchId": "019de781-1095-750c-886e-b943c1081eb3",
          "beatType": null,
          "evidence": "Bank-level breakdowns of income, balance sheet, NIM, C/I, risk, ROE.",
          "position": 3,
          "isPrimaryArc": false,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 50
        }
      ],
      "loops": [
        {
          "to": 11,
          "from": 8,
          "loop": {
            "name": "04_tale_two_worlds",
            "slug": "04-tale-two-worlds",
            "status": "active",
            "bestFor": "Competitive analysis, benchmarking, case for change",
            "canonId": "019dd956-674f-750b-b15d-f082e2717f4e",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "Current State -> Desired State / Benchmark -> The Gap & Implication",
            "description": "Show the gap between two states to drive urgency or highlight opportunity",
            "familyLabel": null
          },
          "matchId": "019de781-1275-77da-af68-0f380dc83077",
          "evidence": "2x2 (loans vs deposits), loan/deposit composition splits, LDR scatter all argue the L&A vs deposits gap.",
          "position": 4,
          "objective": "Show divergence between lending growth and deposit mobilization",
          "confidence": 75,
          "extraction": {
            "at": "2026-05-02 07:04:48.042956+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 11,
      "type": "analysis",
      "title": "The chart uses a 'dumbbell' style visualization to show movement between two time periods for each bank.",
      "function": "analyze_data",
      "rawType": "kpi_dashboard",
      "block": null,
      "metadata": {
        "slideType": "kpi_dashboard",
        "slideTypeCanon": {
          "name": "KPI dashboard",
          "slug": "kpi_dashboard",
          "status": "active",
          "canonId": "019de52d-0be5-7295-af4d-b850fe7b7e65",
          "version": 1,
          "description": null
        },
        "function": "analyze_data",
        "functionCanon": {
          "name": "Analyze data",
          "slug": "analyze_data",
          "status": "active",
          "canonId": "019de52d-1590-7413-8c82-cc218cff40b4",
          "version": 1,
          "description": null
        },
        "density": "dense",
        "densityScore": 65,
        "componentCount": 7,
        "textChars": 643,
        "nDataPoints": 20,
        "notes": "The chart uses a 'dumbbell' style visualization to show movement between two time periods for each bank.",
        "elementsJson": [
          "headline_text",
          "bullet_list",
          "scatter_plot",
          "callout_box"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 18:48:00.54+00",
          "seconds": 3.216,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5de0-76bd-a166-85fd4587d7e0/11",
        "deck": "/decks/019dd923-5de0-76bd-a166-85fd4587d7e0",
        "deckAnchor": "/decks/019dd923-5de0-76bd-a166-85fd4587d7e0#slide-11",
        "deckJson": "/decks/019dd923-5de0-76bd-a166-85fd4587d7e0.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "Aggregate LDR increased by 2.3% points QoQ to 100.1% in Q3'24 as seven out of the ten banks reported an increase in LDR.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": {
              "name": "Visual emphasis",
              "slug": "visual-emphasis",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-474b-736b-a8eb-a794dd88241c",
              "version": 1,
              "bodyDocId": null,
              "description": "Drawing the eye to one element above the rest of the slide.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 14:26:28+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-fef5-761e-80ac-9243b593e36b",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.75,
            "w": 0.65,
            "x": 0.3,
            "y": 0.1
          },
          "kind": "chart",
          "text": "Loans to Deposits Ratio (%) vs Total Asset (SAR Bn)",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Chart",
              "slug": "chart",
              "status": "active",
              "canonId": "019de52c-f9a0-76ef-adc6-0b859109d1f8",
              "version": 1,
              "description": "Quantitative chart."
            },
            "tool": null,
            "subkind": {
              "name": "Scatter plot",
              "slug": "scatter",
              "status": "active",
              "canonId": "019de52d-007d-72ec-8689-c79fb78e21a2",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "scatter",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:00.54+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "7edeb884-b80e-4d8b-9245-c63ded0da57b",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.04,
            "w": 0.3,
            "x": 0.3,
            "y": 0.94
          },
          "kind": "disclaimer",
          "text": "Note: The green zone is an area of healthy liquidity. Source: Financial statements, A&M analysis",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Disclaimer",
              "slug": "disclaimer",
              "status": "active",
              "canonId": "91173477-d91f-4024-bbaf-d4f93e3f82dc",
              "version": 1,
              "description": "Legal/cautionary text that occupies most of the body of its slide."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:00.54+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "f60bc6e7-b5ab-49e8-b44d-464127cc762c",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.25,
            "x": 0.3,
            "y": 0.82
          },
          "kind": "legend",
          "text": "Q2'24 (triangle) to Q3'24 (circle) movement",
          "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 18:48:00.54+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "64e7f483-3d53-45f2-bbc4-28f1f2b5e74d",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.3,
            "w": 0.25,
            "x": 0.04,
            "y": 0.33
          },
          "kind": "list",
          "text": "Aggregate LDR increased by 2.3% points QoQ to 100.1% in Q3'24 as seven out of the ten banks reported an increase in LDR. SAB reported the highest increase in LDR (5.5% points QoQ) to 96.8% in Q3'24. BALB witnessed the highest decline in LDR.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "List",
              "slug": "list",
              "status": "active",
              "canonId": "019de52c-f94b-779b-a53b-fd4904a5f4d2",
              "version": 1,
              "description": "Bullet or numbered list."
            },
            "tool": null,
            "subkind": {
              "name": "Bullet list",
              "slug": "bullet",
              "status": "active",
              "canonId": "019de52c-fc98-7169-a083-5cab805076ca",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bullet",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:00.54+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "a8f37177-a9e0-4c0f-83a5-640b1afe382d",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Loans to Deposits Ratio: 100.1%",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 14:26:28+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-fef5-761e-80ac-95075b830468",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.1,
            "w": 0.25,
            "x": 0.04,
            "y": 0.05
          },
          "kind": "title",
          "text": "LDR crossed 100% for the first time in 2024 for the KSA banks",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:00.54+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "b9ea589d-bbbc-469f-9215-f052e40db3fc",
          "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": "019de781-194a-733b-a4cf-dddfd3a41d49",
          "evidence": "'LDR crossed 100% for the first time in 2024'.",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
          "confidence": 90,
          "extraction": {
            "at": "2026-05-02 07:04:48.042956+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 11,
          "whyItWorks": "Solves two failure modes at once. (1) The buried claim: action titles place the conclusion on the page before any analysis is read, so a busy reader doesn't reverse-engineer it from the chart. (2) The spineless deck: because each title is a claim, slides have to ladder up to the governing thought; logical gaps become visible as topic-shaped titles in a sequence that no longer reads as a story.",
          "antipattern": "Topic labels disguised as titles — Volume by quarter, Key findings, Pricing strategy, Margins have been impacted. No verb, or a passive verb with no agent, or a fact (Revenue grew 12%) without the so-what. Also: titles that overreach the chart's evidence, multi-claim X-grew-but-Y-fell welded titles, and mechanical repetition of the same X-drove-Y template across the deck.",
          "cardinality": null,
          "narrativePurpose": "Forces the deck to carry its argument in the title bar so a senior reader can extract the recommendation without opening a single slide; converts a binder of topics into a navigable pyramid where every slide is a node defending the apex."
        },
        {
          "tool": {
            "name": "Annotation",
            "slug": "annotation",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-b5b9-7668-bf0e-3af99823ec5c",
            "version": 1,
            "bodyDocId": null,
            "description": "Adding explanatory labels to highlight key data points",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "019de781-199f-711e-ba24-1c9ac557b4a1",
          "evidence": "Reference lines at 100.1% and 97.8%; 'healthy zone' shaded.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 90,
          "extraction": {
            "at": "2026-05-02 07:04:48.042956+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 11,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Chart Selection Guide",
            "slug": "chart-selection-guide",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-b1a0-700b-ba17-0e16c4d5bcae",
            "version": 1,
            "bodyDocId": null,
            "description": "Choosing the right chart type for your data and message",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "019de781-1975-73eb-8282-fafa832adb73",
          "evidence": "Scatter with LDR vs Total Assets and vector arrows for movement.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 85,
          "extraction": {
            "at": "2026-05-02 07:04:48.042956+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 11,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Color Strategy",
            "slug": "color-strategy",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-b202-77cf-8a6e-f445b08c0fd3",
            "version": 1,
            "bodyDocId": null,
            "description": "Using color for emphasis, categories, sentiment, and hierarchy",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "019de781-19c9-74ef-8ea4-dea2b2e06648",
          "evidence": "Triangle (Q2) vs circle (Q3) markers with directional arrows.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 70,
          "extraction": {
            "at": "2026-05-02 07:04:48.042956+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 11,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 21,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 3,
          "name": "The Facts (What)",
          "beatId": "019de781-0fc1-7454-8f9a-0e73ec4b709d",
          "matchId": "019de781-0f93-7044-b275-7f8185be2e56",
          "beatType": null,
          "evidence": "Macro plus 15+ KPI deep-dives describing Q3'24 banking metrics.",
          "position": 1,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 60
        },
        {
          "to": 21,
          "arc": {
            "name": "The Onion",
            "slug": "onion",
            "status": "active",
            "bestFor": "Root cause analysis, diagnostics",
            "canonId": "019dd956-627f-76b1-b286-0c575846d572",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Surface Observation -> First Layer -> Deeper Layer -> Core Insight -> Implications",
            "description": null,
            "familyLabel": null
          },
          "from": 7,
          "name": "Deeper Layer",
          "beatId": "019de781-111a-7583-87f8-4ade5a2d4710",
          "matchId": "019de781-1095-750c-886e-b943c1081eb3",
          "beatType": null,
          "evidence": "Bank-level breakdowns of income, balance sheet, NIM, C/I, risk, ROE.",
          "position": 3,
          "isPrimaryArc": false,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 50
        }
      ],
      "loops": [
        {
          "to": 11,
          "from": 8,
          "loop": {
            "name": "04_tale_two_worlds",
            "slug": "04-tale-two-worlds",
            "status": "active",
            "bestFor": "Competitive analysis, benchmarking, case for change",
            "canonId": "019dd956-674f-750b-b15d-f082e2717f4e",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "Current State -> Desired State / Benchmark -> The Gap & Implication",
            "description": "Show the gap between two states to drive urgency or highlight opportunity",
            "familyLabel": null
          },
          "matchId": "019de781-1275-77da-af68-0f380dc83077",
          "evidence": "2x2 (loans vs deposits), loan/deposit composition splits, LDR scatter all argue the L&A vs deposits gap.",
          "position": 4,
          "objective": "Show divergence between lending growth and deposit mobilization",
          "confidence": 75,
          "extraction": {
            "at": "2026-05-02 07:04:48.042956+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 12,
      "type": "analysis",
      "title": "The slide uses a waterfall-like logic where three sub-components are summed to reach the total operating income.",
      "function": "analyze_data",
      "rawType": "kpi_dashboard",
      "block": null,
      "metadata": {
        "slideType": "kpi_dashboard",
        "slideTypeCanon": {
          "name": "KPI dashboard",
          "slug": "kpi_dashboard",
          "status": "active",
          "canonId": "019de52d-0be5-7295-af4d-b850fe7b7e65",
          "version": 1,
          "description": null
        },
        "function": "analyze_data",
        "functionCanon": {
          "name": "Analyze data",
          "slug": "analyze_data",
          "status": "active",
          "canonId": "019de52d-1590-7413-8c82-cc218cff40b4",
          "version": 1,
          "description": null
        },
        "density": "dense",
        "densityScore": 73,
        "componentCount": 9,
        "textChars": 504,
        "nDataPoints": 25,
        "notes": "The slide uses a waterfall-like logic where three sub-components are summed to reach the total operating income.",
        "elementsJson": [
          "bar_chart_vertical",
          "bullet_list",
          "callout_box"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 18:48:04.107+00",
          "seconds": 6.672,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5de0-76bd-a166-85fd4587d7e0/12",
        "deck": "/decks/019dd923-5de0-76bd-a166-85fd4587d7e0",
        "deckAnchor": "/decks/019dd923-5de0-76bd-a166-85fd4587d7e0#slide-12",
        "deckJson": "/decks/019dd923-5de0-76bd-a166-85fd4587d7e0.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "Total operating income increased by 6.0% QoQ",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": {
              "name": "Visual emphasis",
              "slug": "visual-emphasis",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-474b-736b-a8eb-a794dd88241c",
              "version": 1,
              "bodyDocId": null,
              "description": "Drawing the eye to one element above the rest of the slide.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 14:26:29+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-fef5-761e-80ac-ac770a76b132",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.8,
            "w": 0.3,
            "x": 0.65,
            "y": 0.05
          },
          "kind": "chart",
          "text": "Quarterly Operating Income (SAR bn)",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Chart",
              "slug": "chart",
              "status": "active",
              "canonId": "019de52c-f9a0-76ef-adc6-0b859109d1f8",
              "version": 1,
              "description": "Quantitative chart."
            },
            "tool": null,
            "subkind": {
              "name": "Vertical bar chart",
              "slug": "bar-vertical",
              "status": "active",
              "canonId": "019de52c-fe9d-70f2-b3b7-a9ae294f5917",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bar-vertical",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:04.107+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "4e8f7be2-f0d4-4ff0-8356-507fc0be574b",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.25,
            "w": 0.25,
            "x": 0.3,
            "y": 0.05
          },
          "kind": "chart",
          "text": "Quarterly NII (SARbn)",
          "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 18:48:04.107+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "7fc2e0c8-46f1-47f8-b024-f4c26d3ceb62",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.25,
            "w": 0.25,
            "x": 0.3,
            "y": 0.33
          },
          "kind": "chart",
          "text": "Quarterly Net Fee & Commission (SARbn)",
          "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 18:48:04.107+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "99804438-ef46-4879-8c67-487286cac78c",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.25,
            "w": 0.25,
            "x": 0.3,
            "y": 0.6
          },
          "kind": "chart",
          "text": "Quarterly Other Operating income (SARbn)",
          "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 18:48:04.107+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "dd3b94a9-38d0-445e-9516-42270e76aca7",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.2,
            "x": 0.7,
            "y": 0.85
          },
          "kind": "legend",
          "text": "Improved, Stable, Worsened",
          "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 18:48:04.107+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "e23739bf-3786-40c9-8c49-83252168941e",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.45,
            "w": 0.25,
            "x": 0.04,
            "y": 0.34
          },
          "kind": "list",
          "text": "Total operating income increased by 6.0% QoQ; NII grew by 3.5% QoQ; ALRAJHI reported the highest increase in NII; RIBL led the aggregate other operating income as it grew by 198.0% QoQ.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "List",
              "slug": "list",
              "status": "active",
              "canonId": "019de52c-f94b-779b-a53b-fd4904a5f4d2",
              "version": 1,
              "description": "Bullet or numbered list."
            },
            "tool": null,
            "subkind": {
              "name": "Bullet list",
              "slug": "bullet",
              "status": "active",
              "canonId": "019de52c-fc98-7169-a083-5cab805076ca",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bullet",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:04.107+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "1edba490-9540-4736-9a4d-317f7b188a7e",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Quarterly Operating Income: 36.9",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 14:26:29+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-fef5-761e-80ac-b29424cca4aa",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.25,
            "x": 0.04,
            "y": 0.05
          },
          "kind": "title",
          "text": "Higher non-interest income was a major contributor to total operating income uptick",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:04.107+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "a51da9cd-48c1-4baf-b48a-f7ac812cfa57",
          "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": "019de781-1acc-773a-bbfd-df622135cf3e",
          "evidence": "Operating efficiency narrative opens here, sequencing income then cost.",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": null,
          "confidence": 60,
          "extraction": {
            "at": "2026-05-02 07:04:48.042956+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": "019de781-19f1-777a-ab94-39a48305cb02",
          "evidence": "'Higher non-interest income was a major contributor to total operating income uptick'.",
          "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 07:04:48.042956+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 12,
          "whyItWorks": "Solves two failure modes at once. (1) The buried claim: action titles place the conclusion on the page before any analysis is read, so a busy reader doesn't reverse-engineer it from the chart. (2) The spineless deck: because each title is a claim, slides have to ladder up to the governing thought; logical gaps become visible as topic-shaped titles in a sequence that no longer reads as a story.",
          "antipattern": "Topic labels disguised as titles — Volume by quarter, Key findings, Pricing strategy, Margins have been impacted. No verb, or a passive verb with no agent, or a fact (Revenue grew 12%) without the so-what. Also: titles that overreach the chart's evidence, multi-claim X-grew-but-Y-fell welded titles, and mechanical repetition of the same X-drove-Y template across the deck.",
          "cardinality": null,
          "narrativePurpose": "Forces the deck to carry its argument in the title bar so a senior reader can extract the recommendation without opening a single slide; converts a binder of topics into a navigable pyramid where every slide is a node defending the apex."
        },
        {
          "tool": {
            "name": "Chart Selection Guide",
            "slug": "chart-selection-guide",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-b1a0-700b-ba17-0e16c4d5bcae",
            "version": 1,
            "bodyDocId": null,
            "description": "Choosing the right chart type for your data and message",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "019de781-1a20-74e5-a96f-0767cf5ead76",
          "evidence": "Vertical bar charts decompose operating income components.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 75,
          "extraction": {
            "at": "2026-05-02 07:04:48.042956+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 12,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Layering and Separation",
            "slug": "layering-and-separation",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-b43d-741f-8350-8cf97dfef586",
            "version": 1,
            "bodyDocId": null,
            "description": "Using visual layers to distinguish different types of information",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "019de781-1aa1-7158-b22e-595e350ff99a",
          "evidence": "Plus visual operator shows additive relationship of components.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 70,
          "extraction": {
            "at": "2026-05-02 07:04:48.042956+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 12,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [
        {
          "matchId": "14fe6fc2-53bb-40d0-acac-e6d4f6a6520b",
          "evidence": "Breaking down total operating income into NII, Fee & Commission, and Other income.",
          "framework": null,
          "confidence": 0.9,
          "extraction": {
            "at": "2026-05-02 18:48:04.107+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 12,
          "frameworkName": "decomposition"
        }
      ],
      "arcBeats": [
        {
          "to": 21,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 3,
          "name": "The Facts (What)",
          "beatId": "019de781-0fc1-7454-8f9a-0e73ec4b709d",
          "matchId": "019de781-0f93-7044-b275-7f8185be2e56",
          "beatType": null,
          "evidence": "Macro plus 15+ KPI deep-dives describing Q3'24 banking metrics.",
          "position": 1,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 60
        },
        {
          "to": 21,
          "arc": {
            "name": "The Onion",
            "slug": "onion",
            "status": "active",
            "bestFor": "Root cause analysis, diagnostics",
            "canonId": "019dd956-627f-76b1-b286-0c575846d572",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Surface Observation -> First Layer -> Deeper Layer -> Core Insight -> Implications",
            "description": null,
            "familyLabel": null
          },
          "from": 7,
          "name": "Deeper Layer",
          "beatId": "019de781-111a-7583-87f8-4ade5a2d4710",
          "matchId": "019de781-1095-750c-886e-b943c1081eb3",
          "beatType": null,
          "evidence": "Bank-level breakdowns of income, balance sheet, NIM, C/I, risk, ROE.",
          "position": 3,
          "isPrimaryArc": false,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 50
        }
      ],
      "loops": [
        {
          "to": 16,
          "from": 12,
          "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": "019de781-12a5-73df-8550-43fc2b5851c5",
          "evidence": "Op income decomp (p12) -> NIM components (p13) -> NIM by bank (p14) -> C/I trend (p15) -> C/I by bank (p16).",
          "position": 5,
          "objective": "Zoom into operating efficiency: income mix, NIM, cost-to-income",
          "confidence": 70,
          "extraction": {
            "at": "2026-05-02 07:04:48.042956+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 13,
      "type": "analysis",
      "title": "The slide uses a visual 'X' and '-' symbol to indicate the mathematical relationship between the components and the NIM.",
      "function": "analyze_data",
      "rawType": "kpi_dashboard",
      "block": null,
      "metadata": {
        "slideType": "kpi_dashboard",
        "slideTypeCanon": {
          "name": "KPI dashboard",
          "slug": "kpi_dashboard",
          "status": "active",
          "canonId": "019de52d-0be5-7295-af4d-b850fe7b7e65",
          "version": 1,
          "description": null
        },
        "function": "analyze_data",
        "functionCanon": {
          "name": "Analyze data",
          "slug": "analyze_data",
          "status": "active",
          "canonId": "019de52d-1590-7413-8c82-cc218cff40b4",
          "version": 1,
          "description": null
        },
        "density": "overcrowded",
        "densityScore": 78,
        "componentCount": 9,
        "textChars": 705,
        "nDataPoints": 15,
        "notes": "The slide uses a visual 'X' and '-' symbol to indicate the mathematical relationship between the components and the NIM.",
        "elementsJson": [
          "bar_chart_vertical",
          "callout_box"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 18:48:01.059+00",
          "seconds": 3.538,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5de0-76bd-a166-85fd4587d7e0/13",
        "deck": "/decks/019dd923-5de0-76bd-a166-85fd4587d7e0",
        "deckAnchor": "/decks/019dd923-5de0-76bd-a166-85fd4587d7e0#slide-13",
        "deckJson": "/decks/019dd923-5de0-76bd-a166-85fd4587d7e0.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.2,
            "w": 0.25,
            "x": 0.04,
            "y": 0.25
          },
          "kind": "callout",
          "text": "Key takeaways: NIM remained stable at 2.95% in Q3'24 despite the rate cut by SAMA. Spreads remained relatively flat during the quarter. Yield on credit increased by 18bps QoQ while cost of funds was higher by 14bps QoQ",
          "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 18:48:01.059+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "0b4d4081-247d-4f92-bf1c-508ae9650db2",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "callout",
          "text": "NIM remained stable at 2.95% in Q3'24 despite the rate cut by SAMA",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": {
              "name": "Visual emphasis",
              "slug": "visual-emphasis",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-474b-736b-a8eb-a794dd88241c",
              "version": 1,
              "bodyDocId": null,
              "description": "Drawing the eye to one element above the rest of the slide.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 14:26:27+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-fef5-761e-80ac-7a39a83ecf4e",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.25,
            "w": 0.25,
            "x": 0.3,
            "y": 0.3
          },
          "kind": "chart",
          "text": "Loan-to-Deposit Ratio (LDR)",
          "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 18:48:01.059+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "15ddd738-bc88-4577-ae51-f955aeda8523",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.25,
            "w": 0.25,
            "x": 0.3,
            "y": 0.05
          },
          "kind": "chart",
          "text": "Yield-on-Credit (Quarterly Annualized)",
          "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 18:48:01.059+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "3f50b307-518b-4e2e-9c8a-381e7138cd1e",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.25,
            "w": 0.25,
            "x": 0.3,
            "y": 0.55
          },
          "kind": "chart",
          "text": "Cost of Funds (Quarterly Annualized)",
          "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 18:48:01.059+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "61f3c848-818b-4182-90a5-b41161d6d025",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.8,
            "w": 0.25,
            "x": 0.65,
            "y": 0.05
          },
          "kind": "chart",
          "text": "Net Interest Margin (%, Quarterly Annualized)",
          "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 18:48:01.059+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "6c8d0604-2aee-4493-a6b1-d8a2f3dd2f6d",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Net Interest Margin: 2.95%",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 14:26:27+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-fef5-761e-80ac-7f0c073aaa5c",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.4,
            "x": 0.3,
            "y": 0.95
          },
          "kind": "source-note",
          "text": "Note: Relation between elements above represents a functionality and not necessarily an exact mathematical formula. Source: Financial statements, Investor presentations, A&M analysis",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Source note",
              "slug": "source-note",
              "status": "active",
              "canonId": "23484952-494b-4a5e-b1ad-550d0d70e948",
              "version": 1,
              "description": "Attribution / source / caveat placed at the slide footer. Numbered footnotes use attrs.numbered."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:01.059+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "30461be2-c9a7-458e-8338-f69c1a4e3503",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.25,
            "x": 0.04,
            "y": 0.05
          },
          "kind": "title",
          "text": "NIM remained stable after three consecutive quarters of contraction",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:01.059+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "8b3b049d-6b77-4829-b1c6-02e5734d6ba9",
          "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": "019de781-1af7-757a-8088-377913494597",
          "evidence": "'NIM remained stable after three consecutive quarters of contraction'.",
          "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 07:04:48.042956+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 13,
          "whyItWorks": "Solves two failure modes at once. (1) The buried claim: action titles place the conclusion on the page before any analysis is read, so a busy reader doesn't reverse-engineer it from the chart. (2) The spineless deck: because each title is a claim, slides have to ladder up to the governing thought; logical gaps become visible as topic-shaped titles in a sequence that no longer reads as a story.",
          "antipattern": "Topic labels disguised as titles — Volume by quarter, Key findings, Pricing strategy, Margins have been impacted. No verb, or a passive verb with no agent, or a fact (Revenue grew 12%) without the so-what. Also: titles that overreach the chart's evidence, multi-claim X-grew-but-Y-fell welded titles, and mechanical repetition of the same X-drove-Y template across the deck.",
          "cardinality": null,
          "narrativePurpose": "Forces the deck to carry its argument in the title bar so a senior reader can extract the recommendation without opening a single slide; converts a binder of topics into a navigable pyramid where every slide is a node defending the apex."
        },
        {
          "tool": {
            "name": "Annotation",
            "slug": "annotation",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-b5b9-7668-bf0e-3af99823ec5c",
            "version": 1,
            "bodyDocId": null,
            "description": "Adding explanatory labels to highlight key data points",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "019de781-1b4a-719b-af3d-7a4f7da6537a",
          "evidence": "Visual X and minus operators show NIM calculation relationship.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 70,
          "extraction": {
            "at": "2026-05-02 07:04:48.042956+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": "019de781-1b20-7119-b2b6-f79229353423",
          "evidence": "Four bar charts decompose NIM into yield-on-credit and cost-of-funds.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 75,
          "extraction": {
            "at": "2026-05-02 07:04:48.042956+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 13,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 21,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 3,
          "name": "The Facts (What)",
          "beatId": "019de781-0fc1-7454-8f9a-0e73ec4b709d",
          "matchId": "019de781-0f93-7044-b275-7f8185be2e56",
          "beatType": null,
          "evidence": "Macro plus 15+ KPI deep-dives describing Q3'24 banking metrics.",
          "position": 1,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 60
        },
        {
          "to": 21,
          "arc": {
            "name": "The Onion",
            "slug": "onion",
            "status": "active",
            "bestFor": "Root cause analysis, diagnostics",
            "canonId": "019dd956-627f-76b1-b286-0c575846d572",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Surface Observation -> First Layer -> Deeper Layer -> Core Insight -> Implications",
            "description": null,
            "familyLabel": null
          },
          "from": 7,
          "name": "Deeper Layer",
          "beatId": "019de781-111a-7583-87f8-4ade5a2d4710",
          "matchId": "019de781-1095-750c-886e-b943c1081eb3",
          "beatType": null,
          "evidence": "Bank-level breakdowns of income, balance sheet, NIM, C/I, risk, ROE.",
          "position": 3,
          "isPrimaryArc": false,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 50
        }
      ],
      "loops": [
        {
          "to": 16,
          "from": 12,
          "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": "019de781-12a5-73df-8550-43fc2b5851c5",
          "evidence": "Op income decomp (p12) -> NIM components (p13) -> NIM by bank (p14) -> C/I trend (p15) -> C/I by bank (p16).",
          "position": 5,
          "objective": "Zoom into operating efficiency: income mix, NIM, cost-to-income",
          "confidence": 70,
          "extraction": {
            "at": "2026-05-02 07:04:48.042956+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 14,
      "type": "analysis",
      "title": "The chart uses color-coded callouts (green/red/orange) to indicate improvement, worsening, or stability in NIM.",
      "function": "analyze_data",
      "rawType": "kpi_dashboard",
      "block": null,
      "metadata": {
        "slideType": "kpi_dashboard",
        "slideTypeCanon": {
          "name": "KPI dashboard",
          "slug": "kpi_dashboard",
          "status": "active",
          "canonId": "019de52d-0be5-7295-af4d-b850fe7b7e65",
          "version": 1,
          "description": null
        },
        "function": "analyze_data",
        "functionCanon": {
          "name": "Analyze data",
          "slug": "analyze_data",
          "status": "active",
          "canonId": "019de52d-1590-7413-8c82-cc218cff40b4",
          "version": 1,
          "description": null
        },
        "density": "dense",
        "densityScore": 64,
        "componentCount": 7,
        "textChars": 616,
        "nDataPoints": 18,
        "notes": "The chart uses color-coded callouts (green/red/orange) to indicate improvement, worsening, or stability in NIM.",
        "elementsJson": [
          "headline_text",
          "bullet_list",
          "callout_box",
          "bar_chart_grouped",
          "footnote"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 18:48:00.843+00",
          "seconds": 3.269,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5de0-76bd-a166-85fd4587d7e0/14",
        "deck": "/decks/019dd923-5de0-76bd-a166-85fd4587d7e0",
        "deckAnchor": "/decks/019dd923-5de0-76bd-a166-85fd4587d7e0#slide-14",
        "deckJson": "/decks/019dd923-5de0-76bd-a166-85fd4587d7e0.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "Aggregate NIM remained stable at 2.9% in Q3'24",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": {
              "name": "Visual emphasis",
              "slug": "visual-emphasis",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-474b-736b-a8eb-a794dd88241c",
              "version": 1,
              "bodyDocId": null,
              "description": "Drawing the eye to one element above the rest of the slide.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 14:26:32+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-fef5-761e-80ad-9335624fb935",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.85,
            "w": 0.68,
            "x": 0.29,
            "y": 0.05
          },
          "kind": "chart",
          "text": "Net Interest Margin (%, Quarterly)",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Chart",
              "slug": "chart",
              "status": "active",
              "canonId": "019de52c-f9a0-76ef-adc6-0b859109d1f8",
              "version": 1,
              "description": "Quantitative chart."
            },
            "tool": null,
            "subkind": {
              "name": "Grouped bar chart",
              "slug": "bar-grouped",
              "status": "active",
              "canonId": "019de52c-ff3b-751e-a8ff-f21ff11097b1",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bar-grouped",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:00.843+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "873e9ac7-eba6-4966-aa91-7e2942bee4eb",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.3,
            "x": 0.3,
            "y": 0.94
          },
          "kind": "disclaimer",
          "text": "Note: Some numbers might not add up due to rounding off. Source: Financial statements, investor presentations, A&M analysis",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Disclaimer",
              "slug": "disclaimer",
              "status": "active",
              "canonId": "91173477-d91f-4024-bbaf-d4f93e3f82dc",
              "version": 1,
              "description": "Legal/cautionary text that occupies most of the body of its slide."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:00.843+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "ca73ba3f-1030-4d45-b229-5e27e596e0c9",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.6,
            "x": 0.31,
            "y": 0.86
          },
          "kind": "legend",
          "text": "Q2'24, Q3'24, Q2'24 Av, Q3'24 Av, Improved, Stable, Worsened",
          "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 18:48:00.843+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "12f727fe-cef7-461f-a68b-0dd07234e444",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.25,
            "w": 0.24,
            "x": 0.05,
            "y": 0.33
          },
          "kind": "list",
          "text": "Aggregate NIM remained stable at 2.9% in Q3'24; NIM for ANB expanded the most (+17bps QoQ); NIM for SNB contracted the most (-14bps QoQ); NIM for retail focused banks such as ALRAJHI (+14bps QoQ) and BALB (+10 bps) was better this quarter",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "List",
              "slug": "list",
              "status": "active",
              "canonId": "019de52c-f94b-779b-a53b-fd4904a5f4d2",
              "version": 1,
              "description": "Bullet or numbered list."
            },
            "tool": null,
            "subkind": {
              "name": "Bullet list",
              "slug": "bullet",
              "status": "active",
              "canonId": "019de52c-fc98-7169-a083-5cab805076ca",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bullet",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:00.843+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "d7d17cf2-d90f-47c8-8ebe-bb0ca2dffd22",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Net Interest Margin: 2.9%",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 14:26:32+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-fef5-761e-80ad-9679d0e9f96a",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.23,
            "x": 0.04,
            "y": 0.05
          },
          "kind": "title",
          "text": "NIM performance was mixed across KSA banks largely due to their respective funding profile",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:00.843+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "f26defce-f8ff-44e3-8f19-febeb019ba0d",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "2x2 matrix",
            "slug": "matrix-2x2",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd9e1-50ab-72d1-8afb-3ab0a38e32a8",
            "version": 1,
            "bodyDocId": null,
            "description": "BCG matrix, importance/urgency, any axes-and-quadrants frame.",
            "familyLabel": null,
            "categoryName": null,
            "categorySlug": null
          },
          "agent": null,
          "layer": "slide",
          "agents": null,
          "matchId": "3c6d4b32-be2d-452e-8e80-c4d317da4fc6",
          "evidence": "The slide features a grouped bar chart with Improved, Stable, Worsened legend.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 21:29:17.753159+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 14,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": "common",
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Action Titles",
            "slug": "action-titles",
            "status": "active",
            "bestFor": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
            "canonId": "019dd956-ac70-700b-a608-ba58e78f5dcc",
            "version": 1,
            "bodyDocId": "816dad3c-9983-41c1-a86e-978ebd582841",
            "description": "The McKinsey-bred discipline of writing every slide title as a complete declarative sentence with a verb and an insight, not a topic label. Each title is a sub-claim that ladders up to the deck's governing thought; read in sequence, the titles reconstruct the executive summary.",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Architect",
          "layer": "slide",
          "agents": [
            "Architect"
          ],
          "matchId": "019de781-1b78-74f8-93e6-c0ef62a69704",
          "evidence": "'NIM performance was mixed across KSA banks'.",
          "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 07:04:48.042956+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": "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": "019de781-1bcf-708f-ac91-b8060e270753",
          "evidence": "Grouped bar comparing Q2 and Q3 NIM by bank.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 70,
          "extraction": {
            "at": "2026-05-02 07:04:48.042956+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 14,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Color Strategy",
            "slug": "color-strategy",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-b202-77cf-8a6e-f445b08c0fd3",
            "version": 1,
            "bodyDocId": null,
            "description": "Using color for emphasis, categories, sentiment, and hierarchy",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "019de781-1ba4-76cf-a7b3-0c9104ccd7f2",
          "evidence": "Green/red/orange callouts indicate NIM direction per bank.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 85,
          "extraction": {
            "at": "2026-05-02 07:04:48.042956+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 14,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 21,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 3,
          "name": "The Facts (What)",
          "beatId": "019de781-0fc1-7454-8f9a-0e73ec4b709d",
          "matchId": "019de781-0f93-7044-b275-7f8185be2e56",
          "beatType": null,
          "evidence": "Macro plus 15+ KPI deep-dives describing Q3'24 banking metrics.",
          "position": 1,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 60
        },
        {
          "to": 21,
          "arc": {
            "name": "The Onion",
            "slug": "onion",
            "status": "active",
            "bestFor": "Root cause analysis, diagnostics",
            "canonId": "019dd956-627f-76b1-b286-0c575846d572",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Surface Observation -> First Layer -> Deeper Layer -> Core Insight -> Implications",
            "description": null,
            "familyLabel": null
          },
          "from": 7,
          "name": "Deeper Layer",
          "beatId": "019de781-111a-7583-87f8-4ade5a2d4710",
          "matchId": "019de781-1095-750c-886e-b943c1081eb3",
          "beatType": null,
          "evidence": "Bank-level breakdowns of income, balance sheet, NIM, C/I, risk, ROE.",
          "position": 3,
          "isPrimaryArc": false,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 50
        }
      ],
      "loops": [
        {
          "to": 16,
          "from": 12,
          "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": "019de781-12a5-73df-8550-43fc2b5851c5",
          "evidence": "Op income decomp (p12) -> NIM components (p13) -> NIM by bank (p14) -> C/I trend (p15) -> C/I by bank (p16).",
          "position": 5,
          "objective": "Zoom into operating efficiency: income mix, NIM, cost-to-income",
          "confidence": 70,
          "extraction": {
            "at": "2026-05-02 07:04:48.042956+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 15,
      "type": "analysis",
      "title": "The slide uses a division symbol to indicate the calculation of the Cost to Income Ratio from the two charts on the left.",
      "function": "summarize",
      "rawType": "kpi_dashboard",
      "block": null,
      "metadata": {
        "slideType": "kpi_dashboard",
        "slideTypeCanon": {
          "name": "KPI dashboard",
          "slug": "kpi_dashboard",
          "status": "active",
          "canonId": "019de52d-0be5-7295-af4d-b850fe7b7e65",
          "version": 1,
          "description": null
        },
        "function": "summarize",
        "functionCanon": {
          "name": "Summarize",
          "slug": "summarize",
          "status": "active",
          "canonId": "019de52d-1541-704f-b86f-bf7b75056373",
          "version": 1,
          "description": null
        },
        "density": "dense",
        "densityScore": 73,
        "componentCount": 8,
        "textChars": 698,
        "nDataPoints": 15,
        "notes": "The slide uses a division symbol to indicate the calculation of the Cost to Income Ratio from the two charts on the left.",
        "elementsJson": [
          "headline_text",
          "bullet_list",
          "bar_chart_vertical",
          "bar_chart_vertical",
          "bar_chart_vertical",
          "callout_box"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 18:48:04.195+00",
          "seconds": 6.528,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5de0-76bd-a166-85fd4587d7e0/15",
        "deck": "/decks/019dd923-5de0-76bd-a166-85fd4587d7e0",
        "deckAnchor": "/decks/019dd923-5de0-76bd-a166-85fd4587d7e0#slide-15",
        "deckJson": "/decks/019dd923-5de0-76bd-a166-85fd4587d7e0.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "C/I ratio improved marginally by 31 bps to 31.0% in Q3'24",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": {
              "name": "Visual emphasis",
              "slug": "visual-emphasis",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-474b-736b-a8eb-a794dd88241c",
              "version": 1,
              "bodyDocId": null,
              "description": "Drawing the eye to one element above the rest of the slide.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 14:26:34+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-fef5-761e-80ae-b730c7ce12e4",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.75,
            "w": 0.25,
            "x": 0.65,
            "y": 0.08
          },
          "kind": "chart",
          "text": "Cost to Income Ratio (%, Quarterly Annualized)",
          "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 18:48:04.195+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "3fdb9225-aa88-42ad-b5ca-a4c485538c01",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.35,
            "w": 0.25,
            "x": 0.3,
            "y": 0.45
          },
          "kind": "chart",
          "text": "Quarterly Operating Income (SRA bn)",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Chart",
              "slug": "chart",
              "status": "active",
              "canonId": "019de52c-f9a0-76ef-adc6-0b859109d1f8",
              "version": 1,
              "description": "Quantitative chart."
            },
            "tool": null,
            "subkind": {
              "name": "Vertical bar chart",
              "slug": "bar-vertical",
              "status": "active",
              "canonId": "019de52c-fe9d-70f2-b3b7-a9ae294f5917",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bar-vertical",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:04.195+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "86381eac-9700-4a41-88e8-393c343d78e4",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.35,
            "w": 0.25,
            "x": 0.3,
            "y": 0.08
          },
          "kind": "chart",
          "text": "Quarterly Operating Expenses (SRA bn)",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Chart",
              "slug": "chart",
              "status": "active",
              "canonId": "019de52c-f9a0-76ef-adc6-0b859109d1f8",
              "version": 1,
              "description": "Quantitative chart."
            },
            "tool": null,
            "subkind": {
              "name": "Vertical bar chart",
              "slug": "bar-vertical",
              "status": "active",
              "canonId": "019de52c-fe9d-70f2-b3b7-a9ae294f5917",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bar-vertical",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:04.195+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "992740ef-f458-4b67-b350-2c59c899938f",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.2,
            "x": 0.65,
            "y": 0.85
          },
          "kind": "legend",
          "text": "Improved, Stable, Worsened",
          "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 18:48:04.195+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "c2a54fee-463a-4e47-9b4b-ef4e95d5cd88",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.35,
            "w": 0.24,
            "x": 0.05,
            "y": 0.35
          },
          "kind": "list",
          "text": "C/I ratio improved marginally by 31 bps to 31.0% in Q3'24. This was due to the higher growth in operating income (+6.0% QoQ) as compared to the operating expenses (+4.9%). RIBL reported the highest improvement in the C/I ratio (down 188bps QoQ). ALRAJHI is the bank with the lowest C/I ratio across the ten banks (24.5% in Q3'24) and continues to improve (-1.1% points QoQ).",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "List",
              "slug": "list",
              "status": "active",
              "canonId": "019de52c-f94b-779b-a53b-fd4904a5f4d2",
              "version": 1,
              "description": "Bullet or numbered list."
            },
            "tool": null,
            "subkind": {
              "name": "Bullet list",
              "slug": "bullet",
              "status": "active",
              "canonId": "019de52c-fc98-7169-a083-5cab805076ca",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bullet",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:04.195+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "86acce21-b95a-4079-9a89-3ea898ed9ee9",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Cost to Income Ratio: 31.0%",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 14:26:34+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-fef5-761e-80ae-b91dd5829ed1",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.12,
            "w": 0.25,
            "x": 0.04,
            "y": 0.05
          },
          "kind": "title",
          "text": "Banks continued to focus on operational efficiency; aggregate C/I ratio inch closer to 30% level",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:04.195+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "a69e3c9f-b693-45d8-9c10-3329eba5fe74",
          "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": "019de781-1bf9-712d-b724-8c54abf7a199",
          "evidence": "'Banks continued to focus on operational efficiency; aggregate C/I... closer to 30%'.",
          "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 07:04:48.042956+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": "Annotation",
            "slug": "annotation",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-b5b9-7668-bf0e-3af99823ec5c",
            "version": 1,
            "bodyDocId": null,
            "description": "Adding explanatory labels to highlight key data points",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "019de781-1c88-76f8-8b9b-279fa4862ccf",
          "evidence": "Division icon shows C/I = expenses / income.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 65,
          "extraction": {
            "at": "2026-05-02 07:04:48.042956+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 15,
          "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": "019de781-1c23-771f-92ff-5681d1b18aea",
          "evidence": "Three bar charts decompose expenses, income, and resulting C/I.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 75,
          "extraction": {
            "at": "2026-05-02 07:04:48.042956+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 15,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 21,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 3,
          "name": "The Facts (What)",
          "beatId": "019de781-0fc1-7454-8f9a-0e73ec4b709d",
          "matchId": "019de781-0f93-7044-b275-7f8185be2e56",
          "beatType": null,
          "evidence": "Macro plus 15+ KPI deep-dives describing Q3'24 banking metrics.",
          "position": 1,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 60
        },
        {
          "to": 21,
          "arc": {
            "name": "The Onion",
            "slug": "onion",
            "status": "active",
            "bestFor": "Root cause analysis, diagnostics",
            "canonId": "019dd956-627f-76b1-b286-0c575846d572",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Surface Observation -> First Layer -> Deeper Layer -> Core Insight -> Implications",
            "description": null,
            "familyLabel": null
          },
          "from": 7,
          "name": "Deeper Layer",
          "beatId": "019de781-111a-7583-87f8-4ade5a2d4710",
          "matchId": "019de781-1095-750c-886e-b943c1081eb3",
          "beatType": null,
          "evidence": "Bank-level breakdowns of income, balance sheet, NIM, C/I, risk, ROE.",
          "position": 3,
          "isPrimaryArc": false,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 50
        }
      ],
      "loops": [
        {
          "to": 16,
          "from": 12,
          "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": "019de781-12a5-73df-8550-43fc2b5851c5",
          "evidence": "Op income decomp (p12) -> NIM components (p13) -> NIM by bank (p14) -> C/I trend (p15) -> C/I by bank (p16).",
          "position": 5,
          "objective": "Zoom into operating efficiency: income mix, NIM, cost-to-income",
          "confidence": 70,
          "extraction": {
            "at": "2026-05-02 07:04:48.042956+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 16,
      "type": "analysis",
      "title": "The chart uses color-coded indicators (green/red) to show improvement or deterioration in cost efficiency.",
      "function": "analyze_data",
      "rawType": "kpi_dashboard",
      "block": null,
      "metadata": {
        "slideType": "kpi_dashboard",
        "slideTypeCanon": {
          "name": "KPI dashboard",
          "slug": "kpi_dashboard",
          "status": "active",
          "canonId": "019de52d-0be5-7295-af4d-b850fe7b7e65",
          "version": 1,
          "description": null
        },
        "function": "analyze_data",
        "functionCanon": {
          "name": "Analyze data",
          "slug": "analyze_data",
          "status": "active",
          "canonId": "019de52d-1590-7413-8c82-cc218cff40b4",
          "version": 1,
          "description": null
        },
        "density": "dense",
        "densityScore": 62,
        "componentCount": 7,
        "textChars": 534,
        "nDataPoints": 20,
        "notes": "The chart uses color-coded indicators (green/red) to show improvement or deterioration in cost efficiency.",
        "elementsJson": [
          "headline_text",
          "bullet_list",
          "bar_chart_grouped",
          "callout_box"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 18:48:00.67+00",
          "seconds": 2.805,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5de0-76bd-a166-85fd4587d7e0/16",
        "deck": "/decks/019dd923-5de0-76bd-a166-85fd4587d7e0",
        "deckAnchor": "/decks/019dd923-5de0-76bd-a166-85fd4587d7e0#slide-16",
        "deckJson": "/decks/019dd923-5de0-76bd-a166-85fd4587d7e0.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "Half of the KSA banks reported an increased cost efficiency in Q3'24",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": {
              "name": "Visual emphasis",
              "slug": "visual-emphasis",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-474b-736b-a8eb-a794dd88241c",
              "version": 1,
              "bodyDocId": null,
              "description": "Drawing the eye to one element above the rest of the slide.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 14:26:33+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-fef5-761e-80ae-04ed78ba6f9e",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.8,
            "w": 0.65,
            "x": 0.28,
            "y": 0.05
          },
          "kind": "chart",
          "text": "Cost to Income Ratio (%, Quarterly)",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Chart",
              "slug": "chart",
              "status": "active",
              "canonId": "019de52c-f9a0-76ef-adc6-0b859109d1f8",
              "version": 1,
              "description": "Quantitative chart."
            },
            "tool": null,
            "subkind": {
              "name": "Grouped bar chart",
              "slug": "bar-grouped",
              "status": "active",
              "canonId": "019de52c-ff3b-751e-a8ff-f21ff11097b1",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bar-grouped",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:00.67+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "75285934-6955-4d68-aad4-be7146b46e05",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.04,
            "w": 0.3,
            "x": 0.3,
            "y": 0.94
          },
          "kind": "disclaimer",
          "text": "Note: Scaling and some numbers might not add up due to rounding. Source: Financial statements, investor presentations, A&M analysis. *Comparison on QoQ basis",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Disclaimer",
              "slug": "disclaimer",
              "status": "active",
              "canonId": "91173477-d91f-4024-bbaf-d4f93e3f82dc",
              "version": 1,
              "description": "Legal/cautionary text that occupies most of the body of its slide."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:00.67+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "7bf3bdf4-d78e-43d8-ab5d-78a3c53ad702",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.2,
            "x": 0.7,
            "y": 0.86
          },
          "kind": "legend",
          "text": "Improved, Stable, Worsened",
          "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 18:48:00.67+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "9f6be964-e788-4491-9e21-cc6cf1a5327d",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.3,
            "w": 0.25,
            "x": 0.04,
            "y": 0.34
          },
          "kind": "list",
          "text": "Half of the KSA banks reported an increased cost efficiency in Q3'24. ANB and BALB reported the highest deterioration. SNB's C/I ratio deteriorated by 37bps QoQ.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "List",
              "slug": "list",
              "status": "active",
              "canonId": "019de52c-f94b-779b-a53b-fd4904a5f4d2",
              "version": 1,
              "description": "Bullet or numbered list."
            },
            "tool": null,
            "subkind": {
              "name": "Bullet list",
              "slug": "bullet",
              "status": "active",
              "canonId": "019de52c-fc98-7169-a083-5cab805076ca",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bullet",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:00.67+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "609bc175-1a58-4b17-bf57-9a744d313a97",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Cost to Income Ratio: 31.0%",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 14:26:33+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-fef5-761e-80ae-0aa6db9d283e",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.1,
            "w": 0.25,
            "x": 0.04,
            "y": 0.05
          },
          "kind": "title",
          "text": "Half of the banks reported an improvement in cost efficiency",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:00.67+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "626a2392-358f-416a-bb01-ccd09c9d7a0d",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "2x2 matrix",
            "slug": "matrix-2x2",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd9e1-50ab-72d1-8afb-3ab0a38e32a8",
            "version": 1,
            "bodyDocId": null,
            "description": "BCG matrix, importance/urgency, any axes-and-quadrants frame.",
            "familyLabel": null,
            "categoryName": null,
            "categorySlug": null
          },
          "agent": null,
          "layer": "slide",
          "agents": null,
          "matchId": "6e99b7cb-c1fd-4bd4-8d94-909baac1bd2a",
          "evidence": "The slide features a grouped bar chart with Improved, Stable, Worsened legend.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 21:29:17.858375+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 16,
          "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": "019de781-1cb3-7418-be2e-10edd46b6920",
          "evidence": "'Half of the banks reported an improvement in cost efficiency'.",
          "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 07:04:48.042956+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 16,
          "whyItWorks": "Solves two failure modes at once. (1) The buried claim: action titles place the conclusion on the page before any analysis is read, so a busy reader doesn't reverse-engineer it from the chart. (2) The spineless deck: because each title is a claim, slides have to ladder up to the governing thought; logical gaps become visible as topic-shaped titles in a sequence that no longer reads as a story.",
          "antipattern": "Topic labels disguised as titles — Volume by quarter, Key findings, Pricing strategy, Margins have been impacted. No verb, or a passive verb with no agent, or a fact (Revenue grew 12%) without the so-what. Also: titles that overreach the chart's evidence, multi-claim X-grew-but-Y-fell welded titles, and mechanical repetition of the same X-drove-Y template across the deck.",
          "cardinality": null,
          "narrativePurpose": "Forces the deck to carry its argument in the title bar so a senior reader can extract the recommendation without opening a single slide; converts a binder of topics into a navigable pyramid where every slide is a node defending the apex."
        },
        {
          "tool": {
            "name": "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": "019de781-1cdf-757a-83fb-03c7cc8b4848",
          "evidence": "Green/red bubbles flag improved vs worsened C/I per bank.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 85,
          "extraction": {
            "at": "2026-05-02 07:04:48.042956+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 16,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 21,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 3,
          "name": "The Facts (What)",
          "beatId": "019de781-0fc1-7454-8f9a-0e73ec4b709d",
          "matchId": "019de781-0f93-7044-b275-7f8185be2e56",
          "beatType": null,
          "evidence": "Macro plus 15+ KPI deep-dives describing Q3'24 banking metrics.",
          "position": 1,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 60
        },
        {
          "to": 21,
          "arc": {
            "name": "The Onion",
            "slug": "onion",
            "status": "active",
            "bestFor": "Root cause analysis, diagnostics",
            "canonId": "019dd956-627f-76b1-b286-0c575846d572",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Surface Observation -> First Layer -> Deeper Layer -> Core Insight -> Implications",
            "description": null,
            "familyLabel": null
          },
          "from": 7,
          "name": "Deeper Layer",
          "beatId": "019de781-111a-7583-87f8-4ade5a2d4710",
          "matchId": "019de781-1095-750c-886e-b943c1081eb3",
          "beatType": null,
          "evidence": "Bank-level breakdowns of income, balance sheet, NIM, C/I, risk, ROE.",
          "position": 3,
          "isPrimaryArc": false,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 50
        }
      ],
      "loops": [
        {
          "to": 16,
          "from": 12,
          "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": "019de781-12a5-73df-8550-43fc2b5851c5",
          "evidence": "Op income decomp (p12) -> NIM components (p13) -> NIM by bank (p14) -> C/I trend (p15) -> C/I by bank (p16).",
          "position": 5,
          "objective": "Zoom into operating efficiency: income mix, NIM, cost-to-income",
          "confidence": 70,
          "extraction": {
            "at": "2026-05-02 07:04:48.042956+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 17,
      "type": "analysis",
      "title": "The slide uses a combination of bar charts for coverage ratios and line/marker charts for NPL ratios.",
      "function": "compare_peers",
      "rawType": "kpi_dashboard",
      "block": null,
      "metadata": {
        "slideType": "kpi_dashboard",
        "slideTypeCanon": {
          "name": "KPI dashboard",
          "slug": "kpi_dashboard",
          "status": "active",
          "canonId": "019de52d-0be5-7295-af4d-b850fe7b7e65",
          "version": 1,
          "description": null
        },
        "function": "compare_peers",
        "functionCanon": {
          "name": "Compare peers",
          "slug": "compare_peers",
          "status": "active",
          "canonId": "019de52d-1453-72ba-a367-9ba3d34c1630",
          "version": 1,
          "description": null
        },
        "density": "dense",
        "densityScore": 55,
        "componentCount": 6,
        "textChars": 532,
        "nDataPoints": 90,
        "notes": "The slide uses a combination of bar charts for coverage ratios and line/marker charts for NPL ratios.",
        "elementsJson": [
          "headline_text",
          "action_title",
          "callout_box",
          "bullet_list",
          "bar_chart_grouped",
          "footnote"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 18:48:00.838+00",
          "seconds": 2.547,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5de0-76bd-a166-85fd4587d7e0/17",
        "deck": "/decks/019dd923-5de0-76bd-a166-85fd4587d7e0",
        "deckAnchor": "/decks/019dd923-5de0-76bd-a166-85fd4587d7e0#slide-17",
        "deckJson": "/decks/019dd923-5de0-76bd-a166-85fd4587d7e0.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.3,
            "w": 0.25,
            "x": 0.04,
            "y": 0.25
          },
          "kind": "callout",
          "text": "Key takeaways: Aggregate asset quality improved by 3bps QoQ to 1.1% in Q3'24. Aggregate coverage ratio increased to 167.2% (+3.2% points QoQ).",
          "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 18:48:00.838+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "69df9f18-d8f3-4802-8dc8-9698cb6a5c42",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "callout",
          "text": "Aggregate asset quality improved by 3bps QoQ to 1.1% in Q3'24",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": {
              "name": "Visual emphasis",
              "slug": "visual-emphasis",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-474b-736b-a8eb-a794dd88241c",
              "version": 1,
              "bodyDocId": null,
              "description": "Drawing the eye to one element above the rest of the slide.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 14:26:31+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-fef5-761e-80ad-57e65cf6aa43",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.8,
            "w": 0.65,
            "x": 0.3,
            "y": 0.1
          },
          "kind": "chart",
          "text": "Coverage Ratio and NPL / Net Loans Ratio (%, Quarterly) for 9 banks",
          "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 18:48:00.838+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "d972e72f-053c-4c92-9f46-b1e6fdb36267",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Coverage Ratio: 167.2%",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 14:26:31+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-fef5-761e-80ad-5a31869f2272",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.3,
            "x": 0.3,
            "y": 0.95
          },
          "kind": "source-note",
          "text": "Note: Scaling and some numbers might not add up due to rounding. Source: Financial statements, investor presentations, A&M analysis, 1 accumulated allowance for impairment / NPL",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Source note",
              "slug": "source-note",
              "status": "active",
              "canonId": "23484952-494b-4a5e-b1ad-550d0d70e948",
              "version": 1,
              "description": "Attribution / source / caveat placed at the slide footer. Numbered footnotes use attrs.numbered."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:00.838+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "09af291d-a17c-4881-b2c6-e25991a394e0",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.1,
            "w": 0.25,
            "x": 0.04,
            "y": 0.05
          },
          "kind": "title",
          "text": "Asset quality and coverage ratio improved for most of the banks",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:00.838+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "b1c91303-04e1-4a4a-b5f1-6629d0c4e055",
          "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": "019de781-1d0c-72fb-bd5e-e974c51a4672",
          "evidence": "'Asset quality and coverage ratio improved for most of the banks'.",
          "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 07:04:48.042956+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 17,
          "whyItWorks": "Solves two failure modes at once. (1) The buried claim: action titles place the conclusion on the page before any analysis is read, so a busy reader doesn't reverse-engineer it from the chart. (2) The spineless deck: because each title is a claim, slides have to ladder up to the governing thought; logical gaps become visible as topic-shaped titles in a sequence that no longer reads as a story.",
          "antipattern": "Topic labels disguised as titles — Volume by quarter, Key findings, Pricing strategy, Margins have been impacted. No verb, or a passive verb with no agent, or a fact (Revenue grew 12%) without the so-what. Also: titles that overreach the chart's evidence, multi-claim X-grew-but-Y-fell welded titles, and mechanical repetition of the same X-drove-Y template across the deck.",
          "cardinality": null,
          "narrativePurpose": "Forces the deck to carry its argument in the title bar so a senior reader can extract the recommendation without opening a single slide; converts a binder of topics into a navigable pyramid where every slide is a node defending the apex."
        },
        {
          "tool": {
            "name": "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": "019de781-1d60-77b1-a024-f526cdbf69f7",
          "evidence": "Coverage and NPL plotted with consistent palette per bank.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 75,
          "extraction": {
            "at": "2026-05-02 07:04:48.042956+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": "019de781-1d36-746c-a09e-244eb4e5fd52",
          "evidence": "Nine identical bank-level coverage/NPL panels.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 90,
          "extraction": {
            "at": "2026-05-02 07:04:48.042956+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 17,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 21,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 3,
          "name": "The Facts (What)",
          "beatId": "019de781-0fc1-7454-8f9a-0e73ec4b709d",
          "matchId": "019de781-0f93-7044-b275-7f8185be2e56",
          "beatType": null,
          "evidence": "Macro plus 15+ KPI deep-dives describing Q3'24 banking metrics.",
          "position": 1,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 60
        },
        {
          "to": 21,
          "arc": {
            "name": "The Onion",
            "slug": "onion",
            "status": "active",
            "bestFor": "Root cause analysis, diagnostics",
            "canonId": "019dd956-627f-76b1-b286-0c575846d572",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Surface Observation -> First Layer -> Deeper Layer -> Core Insight -> Implications",
            "description": null,
            "familyLabel": null
          },
          "from": 7,
          "name": "Deeper Layer",
          "beatId": "019de781-111a-7583-87f8-4ade5a2d4710",
          "matchId": "019de781-1095-750c-886e-b943c1081eb3",
          "beatType": null,
          "evidence": "Bank-level breakdowns of income, balance sheet, NIM, C/I, risk, ROE.",
          "position": 3,
          "isPrimaryArc": false,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 50
        }
      ],
      "loops": [
        {
          "to": 20,
          "from": 17,
          "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": "019de781-12d1-743f-ae0d-bbf196ef00a1",
          "evidence": "Asset quality dashboard -> ECL stages -> cost of risk trend -> bank-level cost of risk drivers.",
          "position": 6,
          "objective": "Zoom into credit quality and cost of risk",
          "confidence": 70,
          "extraction": {
            "at": "2026-05-02 07:04:48.042956+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 18,
      "type": "analysis",
      "title": "Data presented as stacked bar charts for individual banks and an aggregate view.",
      "function": "summarize",
      "rawType": "kpi_dashboard",
      "block": null,
      "metadata": {
        "slideType": "kpi_dashboard",
        "slideTypeCanon": {
          "name": "KPI dashboard",
          "slug": "kpi_dashboard",
          "status": "active",
          "canonId": "019de52d-0be5-7295-af4d-b850fe7b7e65",
          "version": 1,
          "description": null
        },
        "function": "summarize",
        "functionCanon": {
          "name": "Summarize",
          "slug": "summarize",
          "status": "active",
          "canonId": "019de52d-1541-704f-b86f-bf7b75056373",
          "version": 1,
          "description": null
        },
        "density": "overcrowded",
        "densityScore": 80,
        "componentCount": 8,
        "textChars": 932,
        "nDataPoints": 45,
        "notes": "Data presented as stacked bar charts for individual banks and an aggregate view.",
        "elementsJson": [
          "headline_text",
          "callout_box",
          "bar_chart_stacked",
          "bar_chart_stacked"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 18:48:01.63+00",
          "seconds": 3.191,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5de0-76bd-a166-85fd4587d7e0/18",
        "deck": "/decks/019dd923-5de0-76bd-a166-85fd4587d7e0",
        "deckAnchor": "/decks/019dd923-5de0-76bd-a166-85fd4587d7e0#slide-18",
        "deckJson": "/decks/019dd923-5de0-76bd-a166-85fd4587d7e0.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.05,
            "w": 0.2,
            "x": 0.06,
            "y": 0.25
          },
          "kind": "callout",
          "text": "Key takeaways",
          "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 18:48:01.63+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "f1d8d805-f660-4b64-a610-101d0cae7d8a",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "callout",
          "text": "All the KSA banks reported an increase in Stage 1 loans resulting in a 3.7% QoQ increase in the aggregate, accounting for 93.7% of the total loans.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": {
              "name": "Visual emphasis",
              "slug": "visual-emphasis",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-474b-736b-a8eb-a794dd88241c",
              "version": 1,
              "bodyDocId": null,
              "description": "Drawing the eye to one element above the rest of the slide.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 14:26:33+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-fef5-761e-80ad-e9fbed8a8137",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.8,
            "w": 0.65,
            "x": 0.3,
            "y": 0.05
          },
          "kind": "chart",
          "text": "Stage wise ECL mix (SAR bn)",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Chart",
              "slug": "chart",
              "status": "active",
              "canonId": "019de52c-f9a0-76ef-adc6-0b859109d1f8",
              "version": 1,
              "description": "Quantitative chart."
            },
            "tool": null,
            "subkind": {
              "name": "Stacked bar chart",
              "slug": "bar-stacked",
              "status": "active",
              "canonId": "019de52c-feec-74bf-9028-15b74f84f0a7",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bar-stacked",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:01.63+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "29930a34-2e9c-47c9-8f96-9929830d5e00",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.3,
            "w": 0.2,
            "x": 0.05,
            "y": 0.53
          },
          "kind": "chart",
          "text": "Aggregate ECL (SAR bn)",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Chart",
              "slug": "chart",
              "status": "active",
              "canonId": "019de52c-f9a0-76ef-adc6-0b859109d1f8",
              "version": 1,
              "description": "Quantitative chart."
            },
            "tool": null,
            "subkind": {
              "name": "Stacked bar chart",
              "slug": "bar-stacked",
              "status": "active",
              "canonId": "019de52c-feec-74bf-9028-15b74f84f0a7",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bar-stacked",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:01.63+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "2b3520f4-0799-4fb2-ad57-5d1cb3df6dc6",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.2,
            "w": 0.25,
            "x": 0.05,
            "y": 0.3
          },
          "kind": "list",
          "text": "All the KSA banks reported an increase in Stage 1 loans resulting in a 3.7% QoQ increase in the aggregate, accounting for 93.7% of the total loans. Stage 3 loans are well provided for with 56.1% coverage by stage 3 ECL allowance in Q3'24. ALRAJHI contributed to the increase in Stage 3 loans with an increase of 6.1% QoQ",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "List",
              "slug": "list",
              "status": "active",
              "canonId": "019de52c-f94b-779b-a53b-fd4904a5f4d2",
              "version": 1,
              "description": "Bullet or numbered list."
            },
            "tool": null,
            "subkind": {
              "name": "Bullet list",
              "slug": "bullet",
              "status": "active",
              "canonId": "019de52c-fc98-7169-a083-5cab805076ca",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bullet",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:01.63+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "6026e8b0-65a8-49d4-ae4d-e6912bed0527",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "ECL: 49.3",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 14:26:33+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-fef5-761e-80ad-ef1bed59a8e0",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.6,
            "x": 0.3,
            "y": 0.93
          },
          "kind": "source-note",
          "text": "Note 1: Scaling and some numbers might not add up due to rounding. Note 2: L&A mix by stage consists of 9 banks (ex-RIBL). We have used comparable ECL by stage (ex-RIBL) numbers for key takeaway comments. Source: Financial statements, investor presentations, A&M analysis, 1 accumulated allowance for impairment / NPL",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Source note",
              "slug": "source-note",
              "status": "active",
              "canonId": "23484952-494b-4a5e-b1ad-550d0d70e948",
              "version": 1,
              "description": "Attribution / source / caveat placed at the slide footer. Numbered footnotes use attrs.numbered."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:01.63+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "95b1c634-be63-4ec0-8641-2451c5286e15",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.12,
            "w": 0.25,
            "x": 0.04,
            "y": 0.05
          },
          "kind": "title",
          "text": "Stage 3 loans increased marginally while banks maintained adequate provisions",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:01.63+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "0b544dc2-e687-4d39-8ac8-715de7da28cd",
          "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": "019de781-1d8c-7739-9198-b595e2e82f58",
          "evidence": "'Stage 3 loans increased marginally while banks maintained adequate provisions'.",
          "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 07:04:48.042956+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 18,
          "whyItWorks": "Solves two failure modes at once. (1) The buried claim: action titles place the conclusion on the page before any analysis is read, so a busy reader doesn't reverse-engineer it from the chart. (2) The spineless deck: because each title is a claim, slides have to ladder up to the governing thought; logical gaps become visible as topic-shaped titles in a sequence that no longer reads as a story.",
          "antipattern": "Topic labels disguised as titles — Volume by quarter, Key findings, Pricing strategy, Margins have been impacted. No verb, or a passive verb with no agent, or a fact (Revenue grew 12%) without the so-what. Also: titles that overreach the chart's evidence, multi-claim X-grew-but-Y-fell welded titles, and mechanical repetition of the same X-drove-Y template across the deck.",
          "cardinality": null,
          "narrativePurpose": "Forces the deck to carry its argument in the title bar so a senior reader can extract the recommendation without opening a single slide; converts a binder of topics into a navigable pyramid where every slide is a node defending the apex."
        },
        {
          "tool": {
            "name": "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": "019de781-1de2-7736-a3e1-828175b03b4b",
          "evidence": "Stage 1/2/3 segments color-coded uniformly.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 80,
          "extraction": {
            "at": "2026-05-02 07:04:48.042956+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 18,
          "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": "019de781-1db6-7466-8816-2582bbed177f",
          "evidence": "Stacked bars per bank for ECL stage mix across five quarters.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 85,
          "extraction": {
            "at": "2026-05-02 07:04:48.042956+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 18,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 21,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 3,
          "name": "The Facts (What)",
          "beatId": "019de781-0fc1-7454-8f9a-0e73ec4b709d",
          "matchId": "019de781-0f93-7044-b275-7f8185be2e56",
          "beatType": null,
          "evidence": "Macro plus 15+ KPI deep-dives describing Q3'24 banking metrics.",
          "position": 1,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 60
        },
        {
          "to": 21,
          "arc": {
            "name": "The Onion",
            "slug": "onion",
            "status": "active",
            "bestFor": "Root cause analysis, diagnostics",
            "canonId": "019dd956-627f-76b1-b286-0c575846d572",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Surface Observation -> First Layer -> Deeper Layer -> Core Insight -> Implications",
            "description": null,
            "familyLabel": null
          },
          "from": 7,
          "name": "Deeper Layer",
          "beatId": "019de781-111a-7583-87f8-4ade5a2d4710",
          "matchId": "019de781-1095-750c-886e-b943c1081eb3",
          "beatType": null,
          "evidence": "Bank-level breakdowns of income, balance sheet, NIM, C/I, risk, ROE.",
          "position": 3,
          "isPrimaryArc": false,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 50
        }
      ],
      "loops": [
        {
          "to": 20,
          "from": 17,
          "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": "019de781-12d1-743f-ae0d-bbf196ef00a1",
          "evidence": "Asset quality dashboard -> ECL stages -> cost of risk trend -> bank-level cost of risk drivers.",
          "position": 6,
          "objective": "Zoom into credit quality and cost of risk",
          "confidence": 70,
          "extraction": {
            "at": "2026-05-02 07:04:48.042956+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 19,
      "type": "analysis",
      "title": "The slide uses a division symbol to indicate the calculation of Cost of Risk from Net Loan Loss Provisions and Average Gross Loans.",
      "function": "analyze_data",
      "rawType": "kpi_dashboard",
      "block": null,
      "metadata": {
        "slideType": "kpi_dashboard",
        "slideTypeCanon": {
          "name": "KPI dashboard",
          "slug": "kpi_dashboard",
          "status": "active",
          "canonId": "019de52d-0be5-7295-af4d-b850fe7b7e65",
          "version": 1,
          "description": null
        },
        "function": "analyze_data",
        "functionCanon": {
          "name": "Analyze data",
          "slug": "analyze_data",
          "status": "active",
          "canonId": "019de52d-1590-7413-8c82-cc218cff40b4",
          "version": 1,
          "description": null
        },
        "density": "overcrowded",
        "densityScore": 76,
        "componentCount": 8,
        "textChars": 790,
        "nDataPoints": 15,
        "notes": "The slide uses a division symbol to indicate the calculation of Cost of Risk from Net Loan Loss Provisions and Average Gross Loans.",
        "elementsJson": [
          "headline_text",
          "bullet_list",
          "callout_box",
          "bar_chart_vertical",
          "bar_chart_vertical",
          "bar_chart_vertical",
          "icon_grid"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 18:48:01.22+00",
          "seconds": 2.767,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5de0-76bd-a166-85fd4587d7e0/19",
        "deck": "/decks/019dd923-5de0-76bd-a166-85fd4587d7e0",
        "deckAnchor": "/decks/019dd923-5de0-76bd-a166-85fd4587d7e0#slide-19",
        "deckJson": "/decks/019dd923-5de0-76bd-a166-85fd4587d7e0.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.35,
            "w": 0.22,
            "x": 0.04,
            "y": 0.25
          },
          "kind": "callout",
          "text": "Key takeaways: Aggregate cost of risk deteriorated by 7bps QoQ to 0.35% in Q3'24. This was attributable to a significant rise in the aggregate impairment charges (+30.4% QoQ) to SAR 2.4bn. The top three banks reported more than 80.0% QoQ increase in the impairment charges. Six out of the top ten banks reported higher cost of risk, with SAB reporting the highest deterioration of 30bps QoQ to 0.49%.",
          "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 18:48:01.22+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "b6471486-ed55-40bf-83f6-2e05aafacc1b",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "callout",
          "text": "Aggregate cost of risk deteriorated by 7bps QoQ to 0.35% in Q3'24",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": {
              "name": "Visual emphasis",
              "slug": "visual-emphasis",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-474b-736b-a8eb-a794dd88241c",
              "version": 1,
              "bodyDocId": null,
              "description": "Drawing the eye to one element above the rest of the slide.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 14:26:31+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-fef5-761e-80ad-00b7b2409e37",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.35,
            "w": 0.28,
            "x": 0.29,
            "y": 0.47
          },
          "kind": "chart",
          "text": "Average Gross Loans (SAR bn)",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Chart",
              "slug": "chart",
              "status": "active",
              "canonId": "019de52c-f9a0-76ef-adc6-0b859109d1f8",
              "version": 1,
              "description": "Quantitative chart."
            },
            "tool": null,
            "subkind": {
              "name": "Vertical bar chart",
              "slug": "bar-vertical",
              "status": "active",
              "canonId": "019de52c-fe9d-70f2-b3b7-a9ae294f5917",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bar-vertical",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:01.22+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "1062c565-4137-40b4-8823-d3abba46c04b",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.75,
            "w": 0.28,
            "x": 0.63,
            "y": 0.08
          },
          "kind": "chart",
          "text": "Cost of Risk (%, Quarterly Annualized)",
          "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 18:48:01.22+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "6c549678-59b6-4857-a79e-bfbadc4fea94",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.35,
            "w": 0.28,
            "x": 0.29,
            "y": 0.08
          },
          "kind": "chart",
          "text": "Quarterly Net Loan Loss Provisions (SAR bn)",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Chart",
              "slug": "chart",
              "status": "active",
              "canonId": "019de52c-f9a0-76ef-adc6-0b859109d1f8",
              "version": 1,
              "description": "Quantitative chart."
            },
            "tool": null,
            "subkind": {
              "name": "Vertical bar chart",
              "slug": "bar-vertical",
              "status": "active",
              "canonId": "019de52c-fe9d-70f2-b3b7-a9ae294f5917",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bar-vertical",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:01.22+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "a91a51a9-2f2d-4c91-a664-f98946521b89",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Cost of Risk: 0.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 14:26:31+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-fef5-761e-80ad-07b83b4fcccb",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.04,
            "w": 0.25,
            "x": 0.29,
            "y": 0.94
          },
          "kind": "source-note",
          "text": "Note: Scaling and some numbers might not add up due to rounding. Source: Financial statements, investor presentations, A&M analysis",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Source note",
              "slug": "source-note",
              "status": "active",
              "canonId": "23484952-494b-4a5e-b1ad-550d0d70e948",
              "version": 1,
              "description": "Attribution / source / caveat placed at the slide footer. Numbered footnotes use attrs.numbered."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:01.22+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "918123c6-cd1c-413c-ab4d-ebba38bfe16d",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.12,
            "w": 0.22,
            "x": 0.04,
            "y": 0.05
          },
          "kind": "title",
          "text": "Cost of risk increased as banks recorded higher impairment charges",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:01.22+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "c6053e0d-a25c-4f6a-9a1b-dcd36d67a19e",
          "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": "019de781-1e0e-7544-ad07-e527576bda3e",
          "evidence": "'Cost of risk increased as banks recorded higher impairment charges'.",
          "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 07:04:48.042956+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 19,
          "whyItWorks": "Solves two failure modes at once. (1) The buried claim: action titles place the conclusion on the page before any analysis is read, so a busy reader doesn't reverse-engineer it from the chart. (2) The spineless deck: because each title is a claim, slides have to ladder up to the governing thought; logical gaps become visible as topic-shaped titles in a sequence that no longer reads as a story.",
          "antipattern": "Topic labels disguised as titles — Volume by quarter, Key findings, Pricing strategy, Margins have been impacted. No verb, or a passive verb with no agent, or a fact (Revenue grew 12%) without the so-what. Also: titles that overreach the chart's evidence, multi-claim X-grew-but-Y-fell welded titles, and mechanical repetition of the same X-drove-Y template across the deck.",
          "cardinality": null,
          "narrativePurpose": "Forces the deck to carry its argument in the title bar so a senior reader can extract the recommendation without opening a single slide; converts a binder of topics into a navigable pyramid where every slide is a node defending the apex."
        },
        {
          "tool": {
            "name": "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": "019de781-1e94-7260-bf72-d4c6ea7de003",
          "evidence": "Three bar charts decompose CoR = provisions / loans.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 75,
          "extraction": {
            "at": "2026-05-02 07:04:48.042956+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 19,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Color Strategy",
            "slug": "color-strategy",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-b202-77cf-8a6e-f445b08c0fd3",
            "version": 1,
            "bodyDocId": null,
            "description": "Using color for emphasis, categories, sentiment, and hierarchy",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "019de781-1ebf-7574-a3ac-041944c80270",
          "evidence": "Red/green bars flag direction of change.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 80,
          "extraction": {
            "at": "2026-05-02 07:04:48.042956+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 19,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 21,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 3,
          "name": "The Facts (What)",
          "beatId": "019de781-0fc1-7454-8f9a-0e73ec4b709d",
          "matchId": "019de781-0f93-7044-b275-7f8185be2e56",
          "beatType": null,
          "evidence": "Macro plus 15+ KPI deep-dives describing Q3'24 banking metrics.",
          "position": 1,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 60
        },
        {
          "to": 21,
          "arc": {
            "name": "The Onion",
            "slug": "onion",
            "status": "active",
            "bestFor": "Root cause analysis, diagnostics",
            "canonId": "019dd956-627f-76b1-b286-0c575846d572",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Surface Observation -> First Layer -> Deeper Layer -> Core Insight -> Implications",
            "description": null,
            "familyLabel": null
          },
          "from": 7,
          "name": "Deeper Layer",
          "beatId": "019de781-111a-7583-87f8-4ade5a2d4710",
          "matchId": "019de781-1095-750c-886e-b943c1081eb3",
          "beatType": null,
          "evidence": "Bank-level breakdowns of income, balance sheet, NIM, C/I, risk, ROE.",
          "position": 3,
          "isPrimaryArc": false,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 50
        }
      ],
      "loops": [
        {
          "to": 20,
          "from": 17,
          "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": "019de781-12d1-743f-ae0d-bbf196ef00a1",
          "evidence": "Asset quality dashboard -> ECL stages -> cost of risk trend -> bank-level cost of risk drivers.",
          "position": 6,
          "objective": "Zoom into credit quality and cost of risk",
          "confidence": 70,
          "extraction": {
            "at": "2026-05-02 07:04:48.042956+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 20,
      "type": "analysis",
      "title": "The chart uses color-coded callouts (green, orange, red) to indicate the direction of change in cost of risk for each bank.",
      "function": "analyze_data",
      "rawType": "kpi_dashboard",
      "block": null,
      "metadata": {
        "slideType": "kpi_dashboard",
        "slideTypeCanon": {
          "name": "KPI dashboard",
          "slug": "kpi_dashboard",
          "status": "active",
          "canonId": "019de52d-0be5-7295-af4d-b850fe7b7e65",
          "version": 1,
          "description": null
        },
        "function": "analyze_data",
        "functionCanon": {
          "name": "Analyze data",
          "slug": "analyze_data",
          "status": "active",
          "canonId": "019de52d-1590-7413-8c82-cc218cff40b4",
          "version": 1,
          "description": null
        },
        "density": "dense",
        "densityScore": 67,
        "componentCount": 8,
        "textChars": 474,
        "nDataPoints": 22,
        "notes": "The chart uses color-coded callouts (green, orange, red) to indicate the direction of change in cost of risk for each bank.",
        "elementsJson": [
          "action_title",
          "bullet_list",
          "bar_chart_grouped",
          "callout_box"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 18:48:07.113+00",
          "seconds": 8.637,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5de0-76bd-a166-85fd4587d7e0/20",
        "deck": "/decks/019dd923-5de0-76bd-a166-85fd4587d7e0",
        "deckAnchor": "/decks/019dd923-5de0-76bd-a166-85fd4587d7e0#slide-20",
        "deckJson": "/decks/019dd923-5de0-76bd-a166-85fd4587d7e0.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "Top four banks largely drove the cost of risk for the quarter.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": {
              "name": "Visual emphasis",
              "slug": "visual-emphasis",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-474b-736b-a8eb-a794dd88241c",
              "version": 1,
              "bodyDocId": null,
              "description": "Drawing the eye to one element above the rest of the slide.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 14:26:35+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-fef5-761e-80af-bccab83e32a8",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.65,
            "w": 0.65,
            "x": 0.3,
            "y": 0.15
          },
          "kind": "chart",
          "text": "Grouped bar chart showing Q2'24 vs Q3'24 cost of risk for 11 banks",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Chart",
              "slug": "chart",
              "status": "active",
              "canonId": "019de52c-f9a0-76ef-adc6-0b859109d1f8",
              "version": 1,
              "description": "Quantitative chart."
            },
            "tool": null,
            "subkind": {
              "name": "Grouped bar chart",
              "slug": "bar-grouped",
              "status": "active",
              "canonId": "019de52c-ff3b-751e-a8ff-f21ff11097b1",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bar-grouped",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:07.113+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "5bad56b2-b56d-4073-a1a9-80d195cdcde4",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.4,
            "x": 0.3,
            "y": 0.94
          },
          "kind": "disclaimer",
          "text": "Note: Scaling and some numbers might not add up due to rounding. Source: Financial statements, investor presentations, A&M analysis",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Disclaimer",
              "slug": "disclaimer",
              "status": "active",
              "canonId": "91173477-d91f-4024-bbaf-d4f93e3f82dc",
              "version": 1,
              "description": "Legal/cautionary text that occupies most of the body of its slide."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:07.113+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "ae990a5b-052b-42a6-a6f2-9e5e5c5854d8",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.2,
            "x": 0.72,
            "y": 0.86
          },
          "kind": "legend",
          "text": "Improved, Stable, Worsened",
          "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 18:48:07.113+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "71596f81-6870-4ed4-a356-acc576549f5b",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.25,
            "w": 0.25,
            "x": 0.04,
            "y": 0.33
          },
          "kind": "list",
          "text": "Key takeaways regarding bank performance and impairment allowances",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "List",
              "slug": "list",
              "status": "active",
              "canonId": "019de52c-f94b-779b-a53b-fd4904a5f4d2",
              "version": 1,
              "description": "Bullet or numbered list."
            },
            "tool": null,
            "subkind": {
              "name": "Bullet list",
              "slug": "bullet",
              "status": "active",
              "canonId": "019de52c-fc98-7169-a083-5cab805076ca",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bullet",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:07.113+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "b15fbc52-1e86-49ef-904b-92e1a128eafe",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Cost of Risk (%)",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 14:26:35+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-fef5-761e-80af-c229d48adb4f",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.12,
            "w": 0.25,
            "x": 0.04,
            "y": 0.05
          },
          "kind": "title",
          "text": "Top four banks largely drove the deterioration in aggregate cost of risk",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:07.113+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "5acfb458-7509-45fd-915e-08e59c1f19a9",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.25,
            "x": 0.3,
            "y": 0.05
          },
          "kind": "title",
          "text": "Cost of Risk (%) – Net of Reversals",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:07.113+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "d04e2e8b-4a55-469d-8f24-ee14a48d8e53",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "2x2 matrix",
            "slug": "matrix-2x2",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd9e1-50ab-72d1-8afb-3ab0a38e32a8",
            "version": 1,
            "bodyDocId": null,
            "description": "BCG matrix, importance/urgency, any axes-and-quadrants frame.",
            "familyLabel": null,
            "categoryName": null,
            "categorySlug": null
          },
          "agent": null,
          "layer": "slide",
          "agents": null,
          "matchId": "ba8fac3d-0b61-438c-b6a0-9e7238e516e2",
          "evidence": "The slide features a grouped bar chart with Improved, Stable, Worsened legend.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 21:29:18.027294+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 20,
          "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": "019de781-1ee9-722e-b37d-ba728c3be75d",
          "evidence": "'Top four banks largely drove the deterioration in aggregate cost of risk'.",
          "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 07:04:48.042956+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 20,
          "whyItWorks": "Solves two failure modes at once. (1) The buried claim: action titles place the conclusion on the page before any analysis is read, so a busy reader doesn't reverse-engineer it from the chart. (2) The spineless deck: because each title is a claim, slides have to ladder up to the governing thought; logical gaps become visible as topic-shaped titles in a sequence that no longer reads as a story.",
          "antipattern": "Topic labels disguised as titles — Volume by quarter, Key findings, Pricing strategy, Margins have been impacted. No verb, or a passive verb with no agent, or a fact (Revenue grew 12%) without the so-what. Also: titles that overreach the chart's evidence, multi-claim X-grew-but-Y-fell welded titles, and mechanical repetition of the same X-drove-Y template across the deck.",
          "cardinality": null,
          "narrativePurpose": "Forces the deck to carry its argument in the title bar so a senior reader can extract the recommendation without opening a single slide; converts a binder of topics into a navigable pyramid where every slide is a node defending the apex."
        },
        {
          "tool": {
            "name": "Annotation",
            "slug": "annotation",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-b5b9-7668-bf0e-3af99823ec5c",
            "version": 1,
            "bodyDocId": null,
            "description": "Adding explanatory labels to highlight key data points",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "019de781-1f3c-7370-8654-27bb008de3e0",
          "evidence": "Per-bank labels highlight outliers driving aggregate change.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 70,
          "extraction": {
            "at": "2026-05-02 07:04:48.042956+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 20,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Color Strategy",
            "slug": "color-strategy",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-b202-77cf-8a6e-f445b08c0fd3",
            "version": 1,
            "bodyDocId": null,
            "description": "Using color for emphasis, categories, sentiment, and hierarchy",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "019de781-1f13-764d-8d9a-b861fa2affaa",
          "evidence": "Green/yellow/red markers flag improved/stable/worsened CoR.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 85,
          "extraction": {
            "at": "2026-05-02 07:04:48.042956+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 20,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 21,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 3,
          "name": "The Facts (What)",
          "beatId": "019de781-0fc1-7454-8f9a-0e73ec4b709d",
          "matchId": "019de781-0f93-7044-b275-7f8185be2e56",
          "beatType": null,
          "evidence": "Macro plus 15+ KPI deep-dives describing Q3'24 banking metrics.",
          "position": 1,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 60
        },
        {
          "to": 21,
          "arc": {
            "name": "The Onion",
            "slug": "onion",
            "status": "active",
            "bestFor": "Root cause analysis, diagnostics",
            "canonId": "019dd956-627f-76b1-b286-0c575846d572",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Surface Observation -> First Layer -> Deeper Layer -> Core Insight -> Implications",
            "description": null,
            "familyLabel": null
          },
          "from": 7,
          "name": "Deeper Layer",
          "beatId": "019de781-111a-7583-87f8-4ade5a2d4710",
          "matchId": "019de781-1095-750c-886e-b943c1081eb3",
          "beatType": null,
          "evidence": "Bank-level breakdowns of income, balance sheet, NIM, C/I, risk, ROE.",
          "position": 3,
          "isPrimaryArc": false,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 50
        }
      ],
      "loops": [
        {
          "to": 20,
          "from": 17,
          "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": "019de781-12d1-743f-ae0d-bbf196ef00a1",
          "evidence": "Asset quality dashboard -> ECL stages -> cost of risk trend -> bank-level cost of risk drivers.",
          "position": 6,
          "objective": "Zoom into credit quality and cost of risk",
          "confidence": 70,
          "extraction": {
            "at": "2026-05-02 07:04:48.042956+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 21,
      "type": "analysis",
      "title": "The chart uses color-coded leaf icons to indicate improvement (green), stability (orange), or decline (red) in ROE.",
      "function": "quantify_impact",
      "rawType": "kpi_dashboard",
      "block": null,
      "metadata": {
        "slideType": "kpi_dashboard",
        "slideTypeCanon": {
          "name": "KPI dashboard",
          "slug": "kpi_dashboard",
          "status": "active",
          "canonId": "019de52d-0be5-7295-af4d-b850fe7b7e65",
          "version": 1,
          "description": null
        },
        "function": "quantify_impact",
        "functionCanon": {
          "name": "Quantify impact",
          "slug": "quantify_impact",
          "status": "active",
          "canonId": "019de52d-1630-720d-b57d-fa7f76bebd8d",
          "version": 1,
          "description": null
        },
        "density": "dense",
        "densityScore": 51,
        "componentCount": 6,
        "textChars": 470,
        "nDataPoints": 20,
        "notes": "The chart uses color-coded leaf icons to indicate improvement (green), stability (orange), or decline (red) in ROE.",
        "elementsJson": [
          "headline_text",
          "bullet_list",
          "bar_chart_grouped",
          "callout_box",
          "footnote"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 18:48:01.339+00",
          "seconds": 2.756,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5de0-76bd-a166-85fd4587d7e0/21",
        "deck": "/decks/019dd923-5de0-76bd-a166-85fd4587d7e0",
        "deckAnchor": "/decks/019dd923-5de0-76bd-a166-85fd4587d7e0#slide-21",
        "deckJson": "/decks/019dd923-5de0-76bd-a166-85fd4587d7e0.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "Aggregate RoE improved (+0.56% point QoQ) to 17.4% in Q3'24",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": {
              "name": "Visual emphasis",
              "slug": "visual-emphasis",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-474b-736b-a8eb-a794dd88241c",
              "version": 1,
              "bodyDocId": null,
              "description": "Drawing the eye to one element above the rest of the slide.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 14:26:34+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-fef5-761e-80ae-dbbd058a317e",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.75,
            "w": 0.65,
            "x": 0.3,
            "y": 0.1
          },
          "kind": "chart",
          "text": "Return on Equity (%) by bank for Q2'24 and Q3'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": "Grouped bar chart",
              "slug": "bar-grouped",
              "status": "active",
              "canonId": "019de52c-ff3b-751e-a8ff-f21ff11097b1",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bar-grouped",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:01.339+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "e5395c20-1c0e-459a-9942-09680af81c80",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.2,
            "x": 0.7,
            "y": 0.85
          },
          "kind": "legend",
          "text": "Improved, Stable, Worsened",
          "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 18:48:01.339+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "7c4242ad-cd69-4c95-9d89-d64e21461a4f",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.3,
            "w": 0.25,
            "x": 0.04,
            "y": 0.3
          },
          "kind": "list",
          "text": "Aggregate RoE improved (+0.56% point QoQ) to 17.4% in Q3'24. This was due to an increase in aggregate net income by 5.3% QoQ to SAR 20.5bn. Seven out of the top ten banks witnessed improved profitability. SAB and ANB reported a decline.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "List",
              "slug": "list",
              "status": "active",
              "canonId": "019de52c-f94b-779b-a53b-fd4904a5f4d2",
              "version": 1,
              "description": "Bullet or numbered list."
            },
            "tool": null,
            "subkind": {
              "name": "Bullet list",
              "slug": "bullet",
              "status": "active",
              "canonId": "019de52c-fc98-7169-a083-5cab805076ca",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bullet",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:01.339+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "a1d6aaa5-ed12-408c-aba7-8bc2becc4083",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Return on Equity: 17.4%",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 14:26:34+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-fef5-761e-80ae-df7fb53519cd",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.25,
            "x": 0.04,
            "y": 0.05
          },
          "kind": "title",
          "text": "Higher operating income and improved cost efficiency resulted in increased ROE",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:01.339+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "ca567118-dfa5-42c2-9eb1-811f385ca731",
          "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": "019de781-1f66-755b-81b8-36861b31ddbc",
          "evidence": "'Higher operating income and improved cost efficiency resulted in increased ROE'.",
          "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 07:04:48.042956+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 21,
          "whyItWorks": "Solves two failure modes at once. (1) The buried claim: action titles place the conclusion on the page before any analysis is read, so a busy reader doesn't reverse-engineer it from the chart. (2) The spineless deck: because each title is a claim, slides have to ladder up to the governing thought; logical gaps become visible as topic-shaped titles in a sequence that no longer reads as a story.",
          "antipattern": "Topic labels disguised as titles — Volume by quarter, Key findings, Pricing strategy, Margins have been impacted. No verb, or a passive verb with no agent, or a fact (Revenue grew 12%) without the so-what. Also: titles that overreach the chart's evidence, multi-claim X-grew-but-Y-fell welded titles, and mechanical repetition of the same X-drove-Y template across the deck.",
          "cardinality": null,
          "narrativePurpose": "Forces the deck to carry its argument in the title bar so a senior reader can extract the recommendation without opening a single slide; converts a binder of topics into a navigable pyramid where every slide is a node defending the apex."
        },
        {
          "tool": {
            "name": "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": "019de781-1f90-7316-8e07-32f3bc075b55",
          "evidence": "Green/red leaf icons indicate ROE improvement vs decline per bank.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 85,
          "extraction": {
            "at": "2026-05-02 07:04:48.042956+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 21,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 21,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 3,
          "name": "The Facts (What)",
          "beatId": "019de781-0fc1-7454-8f9a-0e73ec4b709d",
          "matchId": "019de781-0f93-7044-b275-7f8185be2e56",
          "beatType": null,
          "evidence": "Macro plus 15+ KPI deep-dives describing Q3'24 banking metrics.",
          "position": 1,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 60
        },
        {
          "to": 21,
          "arc": {
            "name": "The Onion",
            "slug": "onion",
            "status": "active",
            "bestFor": "Root cause analysis, diagnostics",
            "canonId": "019dd956-627f-76b1-b286-0c575846d572",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Surface Observation -> First Layer -> Deeper Layer -> Core Insight -> Implications",
            "description": null,
            "familyLabel": null
          },
          "from": 7,
          "name": "Deeper Layer",
          "beatId": "019de781-111a-7583-87f8-4ade5a2d4710",
          "matchId": "019de781-1095-750c-886e-b943c1081eb3",
          "beatType": null,
          "evidence": "Bank-level breakdowns of income, balance sheet, NIM, C/I, risk, ROE.",
          "position": 3,
          "isPrimaryArc": false,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 50
        }
      ],
      "loops": [
        {
          "to": 22,
          "from": 21,
          "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": "019de781-12fd-7414-8a99-c91b665479e8",
          "evidence": "ROE bank comparison (p21) feeds the synthesis dashboard on p22 with the explicit insight title.",
          "position": 7,
          "objective": "Land the insight that KSA banks are navigating the rate cycle",
          "confidence": 70,
          "extraction": {
            "at": "2026-05-02 07:04:48.042956+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 22,
      "type": "analysis",
      "title": "The charts use a color-coding system (green/orange/red) to indicate performance trends (Improved/Stable/Worsened).",
      "function": "summarize",
      "rawType": "kpi_dashboard",
      "block": null,
      "metadata": {
        "slideType": "kpi_dashboard",
        "slideTypeCanon": {
          "name": "KPI dashboard",
          "slug": "kpi_dashboard",
          "status": "active",
          "canonId": "019de52d-0be5-7295-af4d-b850fe7b7e65",
          "version": 1,
          "description": null
        },
        "function": "summarize",
        "functionCanon": {
          "name": "Summarize",
          "slug": "summarize",
          "status": "active",
          "canonId": "019de52d-1541-704f-b86f-bf7b75056373",
          "version": 1,
          "description": null
        },
        "density": "overcrowded",
        "densityScore": 88,
        "componentCount": 16,
        "textChars": 747,
        "nDataPoints": 50,
        "notes": "The charts use a color-coding system (green/orange/red) to indicate performance trends (Improved/Stable/Worsened).",
        "elementsJson": [
          "headline_text",
          "bullet_list",
          "bar_chart_vertical",
          "callout_box"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 18:48:08.352+00",
          "seconds": 9.36,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5de0-76bd-a166-85fd4587d7e0/22",
        "deck": "/decks/019dd923-5de0-76bd-a166-85fd4587d7e0",
        "deckAnchor": "/decks/019dd923-5de0-76bd-a166-85fd4587d7e0#slide-22",
        "deckJson": "/decks/019dd923-5de0-76bd-a166-85fd4587d7e0.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "Profitability ratios improved as RoE increased by 56bps; however, RoA remained stable at 2.0% in Q3'24",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": {
              "name": "Visual emphasis",
              "slug": "visual-emphasis",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-474b-736b-a8eb-a794dd88241c",
              "version": 1,
              "bodyDocId": null,
              "description": "Drawing the eye to one element above the rest of the slide.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 14:26:31+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-fef5-761e-80ad-2b03f09406b0",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.2,
            "w": 0.1,
            "x": 0.79,
            "y": 0.12
          },
          "kind": "chart",
          "text": "Yield on Credit (%)",
          "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 18:48:08.352+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "2850f786-5982-45c7-a1e5-403c4b7c0939",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.2,
            "w": 0.1,
            "x": 0.55,
            "y": 0.38
          },
          "kind": "chart",
          "text": "Cost / Income Ratio (%)",
          "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 18:48:08.352+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "418fafeb-414a-419c-a6d9-4751872d5ea0",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.2,
            "w": 0.1,
            "x": 0.79,
            "y": 0.65
          },
          "kind": "chart",
          "text": "LDR (%)",
          "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 18:48:08.352+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "6fdf6662-b0be-4ec7-9519-cf74c18cc636",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.2,
            "w": 0.1,
            "x": 0.43,
            "y": 0.38
          },
          "kind": "chart",
          "text": "Return on Assets (%)",
          "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 18:48:08.352+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "83d46370-6be5-4f7c-8fdf-05045f7f92e7",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.2,
            "w": 0.1,
            "x": 0.67,
            "y": 0.12
          },
          "kind": "chart",
          "text": "Non-Interest Income / Op. Income (%)",
          "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 18:48:08.352+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "89c21123-6d6c-4af1-b0f0-f30973ea030c",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.2,
            "w": 0.1,
            "x": 0.43,
            "y": 0.12
          },
          "kind": "chart",
          "text": "Assets / Equity (x)",
          "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 18:48:08.352+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "93f5869e-2b29-4194-8e7c-6a9917c7b325",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.2,
            "w": 0.1,
            "x": 0.31,
            "y": 0.2
          },
          "kind": "chart",
          "text": "Return on Equity (%)",
          "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 18:48:08.352+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "a33e7e11-6873-4566-90cc-dd7d2fa73b98",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.2,
            "w": 0.1,
            "x": 0.55,
            "y": 0.12
          },
          "kind": "chart",
          "text": "Op. Income / Assets (%)",
          "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 18:48:08.352+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "a9f4dcd5-7f04-45f0-b27e-fb9bdbd3700e",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.2,
            "w": 0.1,
            "x": 0.67,
            "y": 0.38
          },
          "kind": "chart",
          "text": "Net Interest Margin (%)",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Chart",
              "slug": "chart",
              "status": "active",
              "canonId": "019de52c-f9a0-76ef-adc6-0b859109d1f8",
              "version": 1,
              "description": "Quantitative chart."
            },
            "tool": null,
            "subkind": {
              "name": "Vertical bar chart",
              "slug": "bar-vertical",
              "status": "active",
              "canonId": "019de52c-fe9d-70f2-b3b7-a9ae294f5917",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bar-vertical",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:08.352+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "bbe49175-8c5a-4d8f-9ddc-53e9db806e80",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.2,
            "w": 0.1,
            "x": 0.79,
            "y": 0.38
          },
          "kind": "chart",
          "text": "Cost of Funds (%)",
          "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 18:48:08.352+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "e04b708b-597c-43cf-b253-4c42f26cf07f",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.2,
            "w": 0.1,
            "x": 0.55,
            "y": 0.65
          },
          "kind": "chart",
          "text": "Cost of Risk (%)",
          "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 18:48:08.352+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "eda7ed15-b723-4e49-8e83-2b407d5f255a",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.15,
            "x": 0.31,
            "y": 0.9
          },
          "kind": "legend",
          "text": "Improved, Stable, Worsened",
          "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 18:48:08.352+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "b75928c9-f640-47e6-b2f4-68690b070b75",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.55,
            "w": 0.24,
            "x": 0.04,
            "y": 0.37
          },
          "kind": "list",
          "text": "Profitability ratios improved as RoE increased by 56bps; however, RoA remained stable at 2.0% in Q3'24. According to GASTAT, KSA GDP grew by 2.8% YoY in Q3'24; oil activities recorded a growth of 0.3% YoY. SAMA is expected to continue anchoring its key rate.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "List",
              "slug": "list",
              "status": "active",
              "canonId": "019de52c-f94b-779b-a53b-fd4904a5f4d2",
              "version": 1,
              "description": "Bullet or numbered list."
            },
            "tool": null,
            "subkind": {
              "name": "Bullet list",
              "slug": "bullet",
              "status": "active",
              "canonId": "019de52c-fc98-7169-a083-5cab805076ca",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bullet",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:08.352+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "8db23b36-9f55-4949-ac02-c3c1992459af",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Return on Equity: 17.4%",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 14:26:31+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-fef5-761e-80ad-2ec83d5a69b5",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.24,
            "x": 0.04,
            "y": 0.05
          },
          "kind": "title",
          "text": "KSA banks are successfully navigating the rate cycle through favorable asset repricing and improved cost efficiency",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:08.352+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "9cae4cbf-3ae3-431b-bc07-001b6111d6ee",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "Aha! Moment",
            "slug": "aha-moment",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-a5b5-7763-820e-b299c5f27a32",
            "version": 1,
            "bodyDocId": null,
            "description": "The moment when the audience realizes the value - design for insight revelation",
            "familyLabel": null,
            "categoryName": "Loop",
            "categorySlug": "loop"
          },
          "agent": "Storyteller",
          "layer": "loop",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019de781-20a1-7458-b8e3-01918cfda883",
          "evidence": "All preceding metrics resolve into the single 'navigating successfully' insight.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 75,
          "extraction": {
            "at": "2026-05-02 07:04:48.042956+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 22,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Payoff",
            "slug": "payoff",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-a464-704b-b1a1-e1d483709f00",
            "version": 1,
            "bodyDocId": null,
            "description": "Delivering on earlier setup for satisfying resolution",
            "familyLabel": null,
            "categoryName": "Loop",
            "categorySlug": "loop"
          },
          "agent": "Storyteller",
          "layer": "loop",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019de781-20cd-73ba-aa13-5e03578c8886",
          "evidence": "Closes the analytical setup that began with rate-cut concern in p3-4.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 65,
          "extraction": {
            "at": "2026-05-02 07:04:48.042956+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 22,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Action Titles",
            "slug": "action-titles",
            "status": "active",
            "bestFor": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
            "canonId": "019dd956-ac70-700b-a608-ba58e78f5dcc",
            "version": 1,
            "bodyDocId": "816dad3c-9983-41c1-a86e-978ebd582841",
            "description": "The McKinsey-bred discipline of writing every slide title as a complete declarative sentence with a verb and an insight, not a topic label. Each title is a sub-claim that ladders up to the deck's governing thought; read in sequence, the titles reconstruct the executive summary.",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Architect",
          "layer": "slide",
          "agents": [
            "Architect"
          ],
          "matchId": "019de781-1fba-771e-88fe-685422242d09",
          "evidence": "Title is the synthesis insight: 'KSA banks are successfully navigating the rate cycle'.",
          "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": 95,
          "extraction": {
            "at": "2026-05-02 07:04:48.042956+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 22,
          "whyItWorks": "Solves two failure modes at once. (1) The buried claim: action titles place the conclusion on the page before any analysis is read, so a busy reader doesn't reverse-engineer it from the chart. (2) The spineless deck: because each title is a claim, slides have to ladder up to the governing thought; logical gaps become visible as topic-shaped titles in a sequence that no longer reads as a story.",
          "antipattern": "Topic labels disguised as titles — Volume by quarter, Key findings, Pricing strategy, Margins have been impacted. No verb, or a passive verb with no agent, or a fact (Revenue grew 12%) without the so-what. Also: titles that overreach the chart's evidence, multi-claim X-grew-but-Y-fell welded titles, and mechanical repetition of the same X-drove-Y template across the deck.",
          "cardinality": null,
          "narrativePurpose": "Forces the deck to carry its argument in the title bar so a senior reader can extract the recommendation without opening a single slide; converts a binder of topics into a navigable pyramid where every slide is a node defending the apex."
        },
        {
          "tool": {
            "name": "Color Strategy",
            "slug": "color-strategy",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-b202-77cf-8a6e-f445b08c0fd3",
            "version": 1,
            "bodyDocId": null,
            "description": "Using color for emphasis, categories, sentiment, and hierarchy",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "019de781-2011-77bd-8cd8-f59c08cbb99c",
          "evidence": "Green/orange/red bar coloring encodes improved/stable/worsened.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 90,
          "extraction": {
            "at": "2026-05-02 07:04:48.042956+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 22,
          "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": "019de781-1fe7-715c-8f91-79b75021456e",
          "evidence": "Ten identical KPI mini-charts arranged in a grid.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 95,
          "extraction": {
            "at": "2026-05-02 07:04:48.042956+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 22,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Visual Hierarchy",
            "slug": "visual-hierarchy",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-b2ca-706b-937f-e52441086fd7",
            "version": 1,
            "bodyDocId": null,
            "description": "Order of perception through Size > Color > Position > Weight > Space",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "019de781-203b-7602-b383-c4d00ec7a3ba",
          "evidence": "Lead KPIs (RoE, RoA) anchor left, supporting KPIs cascade right.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 75,
          "extraction": {
            "at": "2026-05-02 07:04:48.042956+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 22,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 22,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 22,
          "name": "The Implications (So What)",
          "beatId": "019de781-103e-72aa-84ce-203f86334d15",
          "matchId": "019de781-0f93-7044-b275-7f8185be2e56",
          "beatType": null,
          "evidence": "Synthesis slide states banks are successfully navigating the rate cycle.",
          "position": 2,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 60
        },
        {
          "to": 22,
          "arc": {
            "name": "The Onion",
            "slug": "onion",
            "status": "active",
            "bestFor": "Root cause analysis, diagnostics",
            "canonId": "019dd956-627f-76b1-b286-0c575846d572",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Surface Observation -> First Layer -> Deeper Layer -> Core Insight -> Implications",
            "description": null,
            "familyLabel": null
          },
          "from": 22,
          "name": "Core Insight",
          "beatId": "019de781-1148-739b-9ab1-a8c7d8cf9426",
          "matchId": "019de781-1095-750c-886e-b943c1081eb3",
          "beatType": null,
          "evidence": "Action title declares banks are navigating the rate cycle successfully.",
          "position": 4,
          "isPrimaryArc": false,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 50
        }
      ],
      "loops": [
        {
          "to": 22,
          "from": 21,
          "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": "019de781-12fd-7414-8a99-c91b665479e8",
          "evidence": "ROE bank comparison (p21) feeds the synthesis dashboard on p22 with the explicit insight title.",
          "position": 7,
          "objective": "Land the insight that KSA banks are navigating the rate cycle",
          "confidence": 70,
          "extraction": {
            "at": "2026-05-02 07:04:48.042956+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 23,
      "type": "analysis",
      "title": "Includes a list of 20 transactions with details on deal status and consideration values.",
      "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": 43,
        "componentCount": 5,
        "textChars": 419,
        "nDataPoints": 120,
        "notes": "Includes a list of 20 transactions with details on deal status and consideration values.",
        "elementsJson": [
          "data_table"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 18:48:01.294+00",
          "seconds": 2.289,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5de0-76bd-a166-85fd4587d7e0/23",
        "deck": "/decks/019dd923-5de0-76bd-a166-85fd4587d7e0",
        "deckAnchor": "/decks/019dd923-5de0-76bd-a166-85fd4587d7e0#slide-23",
        "deckJson": "/decks/019dd923-5de0-76bd-a166-85fd4587d7e0.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "metric",
          "text": "Deal Consideration (SAR Mn): 58,434",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 14:26:33+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-fef5-761e-80ae-3886d7fa0106",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.04,
            "w": 0.45,
            "x": 0.22,
            "y": 0.94
          },
          "kind": "source-note",
          "text": "Source: Bloomberg. *Proposed Status: Board suggests shareholders to consider the acquisition. *Pending Status: Acquisition has announced. *Completed Status: Acquisition has completed. *Notes: Proposed deal between Yapi ve Kredi Bankasi and FAB was terminated in June 2024",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Source note",
              "slug": "source-note",
              "status": "active",
              "canonId": "23484952-494b-4a5e-b1ad-550d0d70e948",
              "version": 1,
              "description": "Attribution / source / caveat placed at the slide footer. Numbered footnotes use attrs.numbered."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:01.294+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "7b758e97-14e1-4576-a01c-cfcfafd1b689",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.15,
            "x": 0.04,
            "y": 0.13
          },
          "kind": "subtitle",
          "text": "GCC list of M&A transactions in banking sector since April 2019",
          "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 18:48:01.294+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "2965e3fe-dfe6-4b1c-932e-3090e53c8b82",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.85,
            "w": 0.75,
            "x": 0.22,
            "y": 0.05
          },
          "kind": "table",
          "text": "Table of M&A transactions",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Table",
              "slug": "table",
              "status": "active",
              "canonId": "019de52c-f9c8-7148-8119-eaac9594cd28",
              "version": 1,
              "description": "Tabular data layout."
            },
            "tool": null,
            "subkind": {
              "name": "Data table",
              "slug": "data",
              "status": "active",
              "canonId": "019de52d-02d5-75b8-8abf-88e92bf63569",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "data",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:01.294+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "1aceeb95-6da8-4069-b4d7-e0c9a34ebe8e",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.08,
            "w": 0.15,
            "x": 0.04,
            "y": 0.05
          },
          "kind": "title",
          "text": "GCC Banking Consolidation",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:01.294+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "6be54282-c320-467f-b26d-c9e9fe198c93",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "Argument from Analogy",
            "slug": "argument-from-analogy",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-9e3d-7762-a994-72a2f7104e7c",
            "version": 1,
            "bodyDocId": null,
            "description": "Drawing conclusions based on similarities between situations",
            "familyLabel": null,
            "categoryName": "Loop",
            "categorySlug": "loop"
          },
          "agent": "Architect",
          "layer": "loop",
          "agents": [
            "Architect"
          ],
          "matchId": "019de781-2122-70cd-8dc0-03f956e2570c",
          "evidence": "Recent GCC M&A deals serve as analogical precedent for KSA outlook.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 75,
          "extraction": {
            "at": "2026-05-02 07:04:48.042956+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 23,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Data-Ink Ratio",
            "slug": "data-ink-ratio",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-afc8-70da-b378-92834d36fde6",
            "version": 1,
            "bodyDocId": null,
            "description": "Maximize data, minimize non-data ink - remove chartjunk and decoration",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "019de781-20f8-7768-8006-c7584d3cf075",
          "evidence": "Clean tabular layout with minimal decoration.",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": null,
          "confidence": 70,
          "extraction": {
            "at": "2026-05-02 07:04:48.042956+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 23,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 23,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 23,
          "name": "The Action (Now What)",
          "beatId": "019de781-106b-7568-b0ca-0c1fa6bd6111",
          "matchId": "019de781-0f93-7044-b275-7f8185be2e56",
          "beatType": null,
          "evidence": "GCC banking consolidation precedent table flags M&A as the next horizon.",
          "position": 3,
          "isPrimaryArc": true,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 60
        },
        {
          "to": 23,
          "arc": {
            "name": "The Onion",
            "slug": "onion",
            "status": "active",
            "bestFor": "Root cause analysis, diagnostics",
            "canonId": "019dd956-627f-76b1-b286-0c575846d572",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Surface Observation -> First Layer -> Deeper Layer -> Core Insight -> Implications",
            "description": null,
            "familyLabel": null
          },
          "from": 23,
          "name": "Implications",
          "beatId": "019de781-1173-75f8-bd48-c06734a18d5d",
          "matchId": "019de781-1095-750c-886e-b943c1081eb3",
          "beatType": null,
          "evidence": "GCC consolidation table points toward likely M&A continuation.",
          "position": 5,
          "isPrimaryArc": false,
          "parentBeatType": null,
          "alignedBlockIds": null,
          "matchConfidence": 50
        }
      ],
      "loops": [
        {
          "to": 23,
          "from": 23,
          "loop": {
            "name": "09_precedent",
            "slug": "09-precedent",
            "status": "active",
            "bestFor": "Risk mitigation, strategy validation, building confidence in new approaches",
            "canonId": "019dd956-695f-7615-8f82-39d919918314",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Precedent Case -> What Happened -> The Parallel -> Applied Learning",
            "description": "Use historical or external examples to validate your approach",
            "familyLabel": null
          },
          "matchId": "019de781-1329-7159-8502-6d01cfb914f8",
          "evidence": "Chronological M&A table since April 2019 with 20+ transactions across GCC.",
          "position": 8,
          "objective": "Cite GCC banking consolidation deals as precedent for sector outlook",
          "confidence": 80,
          "extraction": {
            "at": "2026-05-02 07:04:48.042956+00",
            "model": "claude-cli",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 24,
      "type": "appendix",
      "function": "appendix",
      "rawType": "appendix",
      "block": null,
      "metadata": {
        "slideType": "appendix",
        "slideTypeCanon": {
          "name": "Appendix",
          "slug": "appendix",
          "status": "active",
          "canonId": "019de52d-0762-71f8-b564-89ab863301cc",
          "version": 1,
          "description": null
        },
        "function": "appendix",
        "functionCanon": {
          "name": "Appendix",
          "slug": "appendix",
          "status": "active",
          "canonId": "019de52d-138d-750b-83c3-49b4bc7a7a38",
          "version": 1,
          "description": null
        },
        "density": "sparse",
        "densityScore": 1,
        "componentCount": 2,
        "textChars": 8,
        "nDataPoints": 0,
        "notes": null,
        "elementsJson": [
          "headline_text",
          "other"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 18:48:01.27+00",
          "seconds": 2.041,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5de0-76bd-a166-85fd4587d7e0/24",
        "deck": "/decks/019dd923-5de0-76bd-a166-85fd4587d7e0",
        "deckAnchor": "/decks/019dd923-5de0-76bd-a166-85fd4587d7e0#slide-24",
        "deckJson": "/decks/019dd923-5de0-76bd-a166-85fd4587d7e0.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.8,
            "w": 0.5,
            "x": 0.45,
            "y": 0.1
          },
          "kind": "image",
          "text": null,
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Image",
              "slug": "image",
              "status": "active",
              "canonId": "019de52c-f978-701f-a720-51d029d769e7",
              "version": 1,
              "description": "Photo, illustration, screenshot or icon."
            },
            "tool": null,
            "subkind": {
              "name": "Illustration",
              "slug": "illustration",
              "status": "active",
              "canonId": "019de52c-fe76-7772-a5ac-c0b7294d7615",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "illustration",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:01.27+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "b00c7611-f07a-4ce4-969d-3275b31ab470",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.15,
            "x": 0.05,
            "y": 0.38
          },
          "kind": "title",
          "text": "Glossary",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:01.27+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "5c55f6a5-bf64-4b26-8cbc-c13b7a5c282e",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [],
      "frameworks": [],
      "arcBeats": [],
      "loops": [],
      "locked": true
    },
    {
      "page": 25,
      "type": "setup",
      "title": "The table categorizes metrics into Size, Liquidity, Income & Operating Efficiency, Risk, Profitability, and Capital.",
      "function": "summarize",
      "rawType": "appendix_data",
      "block": null,
      "metadata": {
        "slideType": "appendix_data",
        "slideTypeCanon": {
          "name": "Appendix data",
          "slug": "appendix_data",
          "status": "active",
          "canonId": "019de52d-078a-745b-9ee4-c15f2f539acd",
          "version": 1,
          "description": null
        },
        "function": "summarize",
        "functionCanon": {
          "name": "Summarize",
          "slug": "summarize",
          "status": "active",
          "canonId": "019de52d-1541-704f-b86f-bf7b75056373",
          "version": 1,
          "description": null
        },
        "density": "sparse",
        "densityScore": 9,
        "componentCount": 3,
        "textChars": 131,
        "nDataPoints": 0,
        "notes": "The table categorizes metrics into Size, Liquidity, Income & Operating Efficiency, Risk, Profitability, and Capital.",
        "elementsJson": [
          "comparison_table"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 18:48:01.986+00",
          "seconds": 2.415,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5de0-76bd-a166-85fd4587d7e0/25",
        "deck": "/decks/019dd923-5de0-76bd-a166-85fd4587d7e0",
        "deckAnchor": "/decks/019dd923-5de0-76bd-a166-85fd4587d7e0#slide-25",
        "deckJson": "/decks/019dd923-5de0-76bd-a166-85fd4587d7e0.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.02,
            "w": 0.35,
            "x": 0.22,
            "y": 0.94
          },
          "kind": "paragraph",
          "text": "Note: LTM and EOP stand for last twelve months and end of period respectively",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "5f2affc0-941d-4d07-959d-4bfc1930cea4",
              "version": 1,
              "description": "Single prose block in the body of a slide."
            },
            "tool": null,
            "subkind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "019de52c-fb80-75af-aa5c-a7a4bfac2433",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "paragraph",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:01.986+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "70f8cdc7-83ce-4499-aef7-31cc1aea4210",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.85,
            "w": 0.75,
            "x": 0.22,
            "y": 0.05
          },
          "kind": "table",
          "text": "Metric, Abbreviation, Definition table content",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Table",
              "slug": "table",
              "status": "active",
              "canonId": "019de52c-f9c8-7148-8119-eaac9594cd28",
              "version": 1,
              "description": "Tabular data layout."
            },
            "tool": null,
            "subkind": {
              "name": "Data table",
              "slug": "data",
              "status": "active",
              "canonId": "019de52d-02d5-75b8-8abf-88e92bf63569",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "data",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:01.986+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "c323f2a9-0bab-4f8e-bd80-3d90e576e743",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.04,
            "w": 0.12,
            "x": 0.04,
            "y": 0.05
          },
          "kind": "title",
          "text": "Glossary",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:01.986+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "12c3fcc5-79f4-495a-adda-e98e405567f8",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [],
      "frameworks": [],
      "arcBeats": [],
      "loops": [],
      "locked": true
    },
    {
      "page": 26,
      "type": "setup",
      "title": "Banks are sorted by assets size as of 30th September 2024.",
      "function": "summarize",
      "rawType": "appendix_data",
      "block": null,
      "metadata": {
        "slideType": "appendix_data",
        "slideTypeCanon": {
          "name": "Appendix data",
          "slug": "appendix_data",
          "status": "active",
          "canonId": "019de52d-078a-745b-9ee4-c15f2f539acd",
          "version": 1,
          "description": null
        },
        "function": "summarize",
        "functionCanon": {
          "name": "Summarize",
          "slug": "summarize",
          "status": "active",
          "canonId": "019de52d-1541-704f-b86f-bf7b75056373",
          "version": 1,
          "description": null
        },
        "density": "sparse",
        "densityScore": 22,
        "componentCount": 4,
        "textChars": 169,
        "nDataPoints": 10,
        "notes": "Banks are sorted by assets size as of 30th September 2024.",
        "elementsJson": [
          "logo_grid",
          "data_table"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 18:48:02.389+00",
          "seconds": 2.58,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5de0-76bd-a166-85fd4587d7e0/26",
        "deck": "/decks/019dd923-5de0-76bd-a166-85fd4587d7e0",
        "deckAnchor": "/decks/019dd923-5de0-76bd-a166-85fd4587d7e0#slide-26",
        "deckJson": "/decks/019dd923-5de0-76bd-a166-85fd4587d7e0.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.03,
            "w": 0.2,
            "x": 0.2,
            "y": 0.94
          },
          "kind": "disclaimer",
          "text": "Note: Banks are sorted by assets size * As on 30th September 2024",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Disclaimer",
              "slug": "disclaimer",
              "status": "active",
              "canonId": "91173477-d91f-4024-bbaf-d4f93e3f82dc",
              "version": 1,
              "description": "Legal/cautionary text that occupies most of the body of its slide."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:02.389+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "cfffa533-c20c-407b-9f5e-684ab7f9f6fe",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Assets (SAR Bn): 1,124.6",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-24 14:26:33+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd951-fef5-761e-80ad-bb1caf7a6274",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.7,
            "w": 0.75,
            "x": 0.2,
            "y": 0.15
          },
          "kind": "table",
          "text": "Grid of 10 banks with logos, asset values, and abbreviations",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Table",
              "slug": "table",
              "status": "active",
              "canonId": "019de52c-f9c8-7148-8119-eaac9594cd28",
              "version": 1,
              "description": "Tabular data layout."
            },
            "tool": null,
            "subkind": {
              "name": "Data table",
              "slug": "data",
              "status": "active",
              "canonId": "019de52d-02d5-75b8-8abf-88e92bf63569",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "data",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:02.389+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "d69412a0-3ead-45e1-8a77-f38d85ca0ee6",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.08,
            "w": 0.15,
            "x": 0.04,
            "y": 0.05
          },
          "kind": "title",
          "text": "Glossary (continued)",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:02.389+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "66fc1ed8-f46d-4456-89b5-8d50cf114f1d",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [],
      "frameworks": [],
      "arcBeats": [],
      "loops": [],
      "locked": true
    },
    {
      "page": 27,
      "type": "appendix",
      "function": "appendix",
      "rawType": "appendix_data",
      "block": null,
      "metadata": {
        "slideType": "appendix_data",
        "slideTypeCanon": {
          "name": "Appendix data",
          "slug": "appendix_data",
          "status": "active",
          "canonId": "019de52d-078a-745b-9ee4-c15f2f539acd",
          "version": 1,
          "description": null
        },
        "function": "appendix",
        "functionCanon": {
          "name": "Appendix",
          "slug": "appendix",
          "status": "active",
          "canonId": "019de52d-138d-750b-83c3-49b4bc7a7a38",
          "version": 1,
          "description": null
        },
        "density": "sparse",
        "densityScore": 21,
        "componentCount": 5,
        "textChars": 163,
        "nDataPoints": 0,
        "notes": null,
        "elementsJson": [
          "data_table"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 18:48:02.625+00",
          "seconds": 2.664,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5de0-76bd-a166-85fd4587d7e0/27",
        "deck": "/decks/019dd923-5de0-76bd-a166-85fd4587d7e0",
        "deckAnchor": "/decks/019dd923-5de0-76bd-a166-85fd4587d7e0#slide-27",
        "deckJson": "/decks/019dd923-5de0-76bd-a166-85fd4587d7e0.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.03,
            "w": 0.2,
            "x": 0.2,
            "y": 0.5
          },
          "kind": "list",
          "text": "Section New Business Trends",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "List",
              "slug": "list",
              "status": "active",
              "canonId": "019de52c-f94b-779b-a53b-fd4904a5f4d2",
              "version": 1,
              "description": "Bullet or numbered list."
            },
            "tool": null,
            "subkind": {
              "name": "Bullet list",
              "slug": "bullet",
              "status": "active",
              "canonId": "019de52c-fc98-7169-a083-5cab805076ca",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bullet",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:02.625+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "1361b73b-8aaa-4ed9-9d6b-82d8fc66cf19",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.15,
            "x": 0.35,
            "y": 0.5
          },
          "kind": "list",
          "text": "Section New Investments",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "List",
              "slug": "list",
              "status": "active",
              "canonId": "019de52c-f94b-779b-a53b-fd4904a5f4d2",
              "version": 1,
              "description": "Bullet or numbered list."
            },
            "tool": null,
            "subkind": {
              "name": "Bullet list",
              "slug": "bullet",
              "status": "active",
              "canonId": "019de52c-fc98-7169-a083-5cab805076ca",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bullet",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:02.625+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "5a5ce0a7-b711-43fa-b063-aa9001a38a47",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.15,
            "x": 0.2,
            "y": 0.06
          },
          "kind": "list",
          "text": "Section New Entrants",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "List",
              "slug": "list",
              "status": "active",
              "canonId": "019de52c-f94b-779b-a53b-fd4904a5f4d2",
              "version": 1,
              "description": "Bullet or numbered list."
            },
            "tool": null,
            "subkind": {
              "name": "Bullet list",
              "slug": "bullet",
              "status": "active",
              "canonId": "019de52c-fc98-7169-a083-5cab805076ca",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bullet",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:02.625+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "f590b1ae-335e-4a3f-bdff-692464dea03f",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.75,
            "w": 0.6,
            "x": 0.2,
            "y": 0.13
          },
          "kind": "other",
          "text": "Cards containing Date, News, and Source link for various industry events.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Other",
              "slug": "other",
              "status": "active",
              "canonId": "019de52c-fa90-743c-8bf6-20d1fbe82b6d",
              "version": 1,
              "description": "Fallback when no canonical kind applies."
            },
            "tool": null,
            "subkind": {
              "name": "Unclassified",
              "slug": "unclassified",
              "status": "active",
              "canonId": "019de52d-05ca-77db-81fb-db7d4234bbc0",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "unclassified",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:02.625+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "5c593ec7-f705-4008-905f-e8461d87ce56",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.08,
            "w": 0.15,
            "x": 0.04,
            "y": 0.05
          },
          "kind": "title",
          "text": "References / Sources",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:02.625+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "3d922356-d247-4b15-beb6-92f63ca8c622",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [],
      "frameworks": [],
      "arcBeats": [],
      "loops": [],
      "locked": true
    },
    {
      "page": 28,
      "type": "appendix",
      "function": "appendix",
      "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": "appendix",
        "functionCanon": {
          "name": "Appendix",
          "slug": "appendix",
          "status": "active",
          "canonId": "019de52d-138d-750b-83c3-49b4bc7a7a38",
          "version": 1,
          "description": null
        },
        "density": "overcrowded",
        "densityScore": 78,
        "componentCount": 11,
        "textChars": 804,
        "nDataPoints": 0,
        "notes": null,
        "elementsJson": [
          "data_table",
          "icon_grid"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 18:48:03.218+00",
          "seconds": 3.25,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5de0-76bd-a166-85fd4587d7e0/28",
        "deck": "/decks/019dd923-5de0-76bd-a166-85fd4587d7e0",
        "deckAnchor": "/decks/019dd923-5de0-76bd-a166-85fd4587d7e0#slide-28",
        "deckJson": "/decks/019dd923-5de0-76bd-a166-85fd4587d7e0.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.03,
            "w": 0.15,
            "x": 0.19,
            "y": 0.06
          },
          "kind": "list",
          "text": "New Emerging Technology",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "List",
              "slug": "list",
              "status": "active",
              "canonId": "019de52c-f94b-779b-a53b-fd4904a5f4d2",
              "version": 1,
              "description": "Bullet or numbered list."
            },
            "tool": null,
            "subkind": {
              "name": "Bullet list",
              "slug": "bullet",
              "status": "active",
              "canonId": "019de52c-fc98-7169-a083-5cab805076ca",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bullet",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:03.218+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "26de63e5-4285-4761-bbf9-cdade40f5c41",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.15,
            "x": 0.19,
            "y": 0.49
          },
          "kind": "list",
          "text": "Expected Challenges",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "List",
              "slug": "list",
              "status": "active",
              "canonId": "019de52c-f94b-779b-a53b-fd4904a5f4d2",
              "version": 1,
              "description": "Bullet or numbered list."
            },
            "tool": null,
            "subkind": {
              "name": "Bullet list",
              "slug": "bullet",
              "status": "active",
              "canonId": "019de52c-fc98-7169-a083-5cab805076ca",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bullet",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:03.218+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "95ebbb0f-3854-43ee-b16c-d554c52ffad7",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.15,
            "x": 0.35,
            "y": 0.49
          },
          "kind": "list",
          "text": "New Regulations",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "List",
              "slug": "list",
              "status": "active",
              "canonId": "019de52c-f94b-779b-a53b-fd4904a5f4d2",
              "version": 1,
              "description": "Bullet or numbered list."
            },
            "tool": null,
            "subkind": {
              "name": "Bullet list",
              "slug": "bullet",
              "status": "active",
              "canonId": "019de52c-fc98-7169-a083-5cab805076ca",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bullet",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:03.218+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "b94f58a2-7ee3-4a64-b6bb-330358f39d12",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.12,
            "x": 0.2,
            "y": 0.7
          },
          "kind": "paragraph",
          "text": "OPEC+ agrees to delay December output hike for one month",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "5f2affc0-941d-4d07-959d-4bfc1930cea4",
              "version": 1,
              "description": "Single prose block in the body of a slide."
            },
            "tool": null,
            "subkind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "019de52c-fb80-75af-aa5c-a7a4bfac2433",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "paragraph",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:03.218+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "4ab3eac1-fac1-4e8c-91dc-265cf6097578",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.12,
            "x": 0.36,
            "y": 0.7
          },
          "kind": "paragraph",
          "text": "SAMA issues the updated rules for engaging in debt-based crowdfunding",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "5f2affc0-941d-4d07-959d-4bfc1930cea4",
              "version": 1,
              "description": "Single prose block in the body of a slide."
            },
            "tool": null,
            "subkind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "019de52c-fb80-75af-aa5c-a7a4bfac2433",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "paragraph",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:03.218+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "5fa72bce-18d7-4163-99ac-464f0468f979",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.08,
            "w": 0.12,
            "x": 0.68,
            "y": 0.27
          },
          "kind": "paragraph",
          "text": "SAB has partnered with UnionPay, a payment network, enabling digital acceptance of UPI payments across physical stores, ATMs, and online",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "5f2affc0-941d-4d07-959d-4bfc1930cea4",
              "version": 1,
              "description": "Single prose block in the body of a slide."
            },
            "tool": null,
            "subkind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "019de52c-fb80-75af-aa5c-a7a4bfac2433",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "paragraph",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:03.218+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "74d524c6-caca-444d-a612-c07bbc3334ac",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.08,
            "w": 0.12,
            "x": 0.52,
            "y": 0.7
          },
          "kind": "paragraph",
          "text": "SAMA permitted three new FinTech startups - 'Xsquare' and 'NeotTek' (to launch an Open Banking platform) and 'MoneyMoon' (peer-to-peer lending platform)",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "5f2affc0-941d-4d07-959d-4bfc1930cea4",
              "version": 1,
              "description": "Single prose block in the body of a slide."
            },
            "tool": null,
            "subkind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "019de52c-fb80-75af-aa5c-a7a4bfac2433",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "paragraph",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:03.218+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "a896e1b3-efaf-4eab-a7ba-d8a6b305a113",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.08,
            "w": 0.12,
            "x": 0.52,
            "y": 0.27
          },
          "kind": "paragraph",
          "text": "Pluto, UAE's expense and account payables management platform, has partnered with neoleap by ALRAJHI",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "5f2affc0-941d-4d07-959d-4bfc1930cea4",
              "version": 1,
              "description": "Single prose block in the body of a slide."
            },
            "tool": null,
            "subkind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "019de52c-fb80-75af-aa5c-a7a4bfac2433",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "paragraph",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:03.218+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "b5e5d51a-7416-4913-9b87-a41d6b3182b6",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.08,
            "w": 0.12,
            "x": 0.2,
            "y": 0.27
          },
          "kind": "paragraph",
          "text": "SAB has partnered with Singapore's PayerMax for enhanced business payment solutions",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "5f2affc0-941d-4d07-959d-4bfc1930cea4",
              "version": 1,
              "description": "Single prose block in the body of a slide."
            },
            "tool": null,
            "subkind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "019de52c-fb80-75af-aa5c-a7a4bfac2433",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "paragraph",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:03.218+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "b73cce28-3616-462f-b8f3-061742efbfec",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.08,
            "w": 0.12,
            "x": 0.36,
            "y": 0.27
          },
          "kind": "paragraph",
          "text": "Vision Bank, the first Sharia-compliant digital bank in KSA, has launched its mobile app after two years in development",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "5f2affc0-941d-4d07-959d-4bfc1930cea4",
              "version": 1,
              "description": "Single prose block in the body of a slide."
            },
            "tool": null,
            "subkind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "019de52c-fb80-75af-aa5c-a7a4bfac2433",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "paragraph",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:03.218+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "ba2f9cc8-c400-4d06-abb0-27bdfcc7ff6f",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.15,
            "x": 0.04,
            "y": 0.05
          },
          "kind": "title",
          "text": "References / Sources (continued)",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:03.218+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "8d954155-d9f4-4335-8dc7-7761fe2d6ec5",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [],
      "frameworks": [],
      "arcBeats": [],
      "loops": [],
      "locked": true
    },
    {
      "page": 29,
      "type": "setup",
      "function": "other",
      "rawType": "team_bio",
      "block": null,
      "metadata": {
        "slideType": "team_bio",
        "slideTypeCanon": {
          "name": "Team bio",
          "slug": "team_bio",
          "status": "active",
          "canonId": "019de52d-0a7d-7394-ae5b-037478e71f1e",
          "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": "dense",
        "densityScore": 59,
        "componentCount": 12,
        "textChars": 252,
        "nDataPoints": 0,
        "notes": null,
        "elementsJson": [
          "headshot",
          "other"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 18:48:04.243+00",
          "seconds": 4.153,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5de0-76bd-a166-85fd4587d7e0/29",
        "deck": "/decks/019dd923-5de0-76bd-a166-85fd4587d7e0",
        "deckAnchor": "/decks/019dd923-5de0-76bd-a166-85fd4587d7e0#slide-29",
        "deckJson": "/decks/019dd923-5de0-76bd-a166-85fd4587d7e0.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.15,
            "w": 0.07,
            "x": 0.58,
            "y": 0.78
          },
          "kind": "image",
          "text": "Aksinya Sorokina Kavanosyan",
          "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": "Headshot",
              "slug": "headshot",
              "status": "active",
              "canonId": "019de52c-fd5f-765c-9282-38b54f61bbbf",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headshot",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:04.243+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "2e7bd7a5-835c-4632-8f8a-01e3a3e5217d",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.07,
            "x": 0.23,
            "y": 0.42
          },
          "kind": "image",
          "text": "Tristan Brandt",
          "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": "Headshot",
              "slug": "headshot",
              "status": "active",
              "canonId": "019de52c-fd5f-765c-9282-38b54f61bbbf",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headshot",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:04.243+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "4d191039-7caf-4898-aabe-798f847d78a7",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.07,
            "x": 0.58,
            "y": 0.05
          },
          "kind": "image",
          "text": "Asad Ahmed",
          "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": "Headshot",
              "slug": "headshot",
              "status": "active",
              "canonId": "019de52c-fd5f-765c-9282-38b54f61bbbf",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headshot",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:04.243+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "516c155b-0a2e-4444-b68d-965d32fea59a",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.07,
            "x": 0.23,
            "y": 0.24
          },
          "kind": "image",
          "text": "Tariq Hameed",
          "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": "Headshot",
              "slug": "headshot",
              "status": "active",
              "canonId": "019de52c-fd5f-765c-9282-38b54f61bbbf",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headshot",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:04.243+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "5821fe30-ffe4-4d5e-833b-1e75d68ad633",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.07,
            "x": 0.23,
            "y": 0.6
          },
          "kind": "image",
          "text": "Ankit Uppal",
          "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": "Headshot",
              "slug": "headshot",
              "status": "active",
              "canonId": "019de52c-fd5f-765c-9282-38b54f61bbbf",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headshot",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:04.243+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "58860f6d-479c-414d-83ca-549f76f64f56",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.07,
            "x": 0.23,
            "y": 0.78
          },
          "kind": "image",
          "text": "Dana Abdalhadi",
          "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": "Headshot",
              "slug": "headshot",
              "status": "active",
              "canonId": "019de52c-fd5f-765c-9282-38b54f61bbbf",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headshot",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:04.243+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "7d8861b8-7d8c-4a01-90b0-ea82b4c1f6f6",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.07,
            "x": 0.23,
            "y": 0.05
          },
          "kind": "image",
          "text": "Hazim Almegren",
          "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": "Headshot",
              "slug": "headshot",
              "status": "active",
              "canonId": "019de52c-fd5f-765c-9282-38b54f61bbbf",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headshot",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:04.243+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "960b55b7-520a-4d99-980c-05e6ac427e7d",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.07,
            "x": 0.58,
            "y": 0.6
          },
          "kind": "image",
          "text": "Mohammed Jaffar",
          "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": "Headshot",
              "slug": "headshot",
              "status": "active",
              "canonId": "019de52c-fd5f-765c-9282-38b54f61bbbf",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headshot",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:04.243+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "d752c4f8-c4e2-4be1-be2d-f8d639f7f5dd",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.07,
            "x": 0.58,
            "y": 0.24
          },
          "kind": "image",
          "text": "Sam Gidoomal",
          "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": "Headshot",
              "slug": "headshot",
              "status": "active",
              "canonId": "019de52c-fd5f-765c-9282-38b54f61bbbf",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headshot",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:04.243+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "ed421821-28c9-4a64-8091-88ad369f0973",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.07,
            "x": 0.58,
            "y": 0.42
          },
          "kind": "image",
          "text": "Sara Grinstead",
          "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": "Headshot",
              "slug": "headshot",
              "status": "active",
              "canonId": "019de52c-fd5f-765c-9282-38b54f61bbbf",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headshot",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:04.243+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "f6056a5d-8eac-48f8-9d2e-8a17b1923068",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.9,
            "w": 0.55,
            "x": 0.32,
            "y": 0.05
          },
          "kind": "paragraph",
          "text": "Contact details for each team member including email and phone number.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "5f2affc0-941d-4d07-959d-4bfc1930cea4",
              "version": 1,
              "description": "Single prose block in the body of a slide."
            },
            "tool": null,
            "subkind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "019de52c-fb80-75af-aa5c-a7a4bfac2433",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "paragraph",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:04.243+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "a7bfd6d7-862d-4994-b436-6f0551418133",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.16,
            "x": 0.04,
            "y": 0.05
          },
          "kind": "title",
          "text": "Our Middle East Financial Services Team",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:04.243+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "b50aa80a-1c01-439e-83d2-fbbda76854b7",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [],
      "frameworks": [],
      "arcBeats": [],
      "loops": [],
      "locked": true
    },
    {
      "page": 30,
      "type": "setup",
      "title": "Contains corporate branding, copyright notice, and document ID.",
      "function": "front_matter",
      "rawType": "cover",
      "block": null,
      "metadata": {
        "slideType": "cover",
        "slideTypeCanon": {
          "name": "Cover",
          "slug": "cover",
          "status": "active",
          "canonId": "019de52d-05f2-729d-9f93-e0504f0a2410",
          "version": 1,
          "description": null
        },
        "function": "front_matter",
        "functionCanon": {
          "name": "Front matter",
          "slug": "front_matter",
          "status": "active",
          "canonId": "019de52d-133d-73f0-9e26-201eda96b098",
          "version": 1,
          "description": null
        },
        "density": "sparse",
        "densityScore": 12,
        "componentCount": 3,
        "textChars": 197,
        "nDataPoints": 0,
        "notes": "Contains corporate branding, copyright notice, and document ID.",
        "elementsJson": [
          "other"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 18:48:05.173+00",
          "seconds": 4.756,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5de0-76bd-a166-85fd4587d7e0/30",
        "deck": "/decks/019dd923-5de0-76bd-a166-85fd4587d7e0",
        "deckAnchor": "/decks/019dd923-5de0-76bd-a166-85fd4587d7e0#slide-30",
        "deckJson": "/decks/019dd923-5de0-76bd-a166-85fd4587d7e0.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.15,
            "w": 0.3,
            "x": 0.05,
            "y": 0.8
          },
          "kind": "disclaimer",
          "text": "Alvarez & Marsal Holdings, LLC. All rights reserved. ALVAREZ & MARSAL®, A&M® and A&M® are trademarks of Alvarez & Marsal Holdings, LLC. © Copyright 2024 402069-21771",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Disclaimer",
              "slug": "disclaimer",
              "status": "active",
              "canonId": "91173477-d91f-4024-bbaf-d4f93e3f82dc",
              "version": 1,
              "description": "Legal/cautionary text that occupies most of the body of its slide."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:05.173+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "57770d6f-af26-451d-9b3d-68bcf3237928",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.85,
            "w": 0.62,
            "x": 0.38,
            "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": "Illustration",
              "slug": "illustration",
              "status": "active",
              "canonId": "019de52c-fe76-7772-a5ac-c0b7294d7615",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "illustration",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:05.173+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "e1d7cb4c-2080-4a06-8266-5df5e9d09ad2",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.1,
            "w": 0.22,
            "x": 0.75,
            "y": 0.735
          },
          "kind": "image",
          "text": "A&M LEADERSHIP. ACTION. RESULTS.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Image",
              "slug": "image",
              "status": "active",
              "canonId": "019de52c-f978-701f-a720-51d029d769e7",
              "version": 1,
              "description": "Photo, illustration, screenshot or icon."
            },
            "tool": null,
            "subkind": {
              "name": "Logo",
              "slug": "logo",
              "status": "active",
              "canonId": "019de52c-fdaf-743d-94c4-d7c6a0e55302",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "logo",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 18:48:05.173+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "105ec3be-0713-4d7f-bb7a-a66de90d0e88",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [],
      "frameworks": [],
      "arcBeats": [],
      "loops": [],
      "locked": true
    }
  ],
  "arcBeats": [
    {
      "from": 3,
      "to": 21,
      "label": "The Facts (What)",
      "description": "Macro plus 15+ KPI deep-dives describing Q3'24 banking metrics."
    },
    {
      "from": 22,
      "to": 22,
      "label": "The Implications (So What)",
      "description": "Synthesis slide states banks are successfully navigating the rate cycle."
    },
    {
      "from": 23,
      "to": 23,
      "label": "The Action (Now What)",
      "description": "GCC banking consolidation precedent table flags M&A as the next horizon."
    }
  ],
  "loops": [
    {
      "from": 3,
      "to": 4,
      "label": "Zoom In",
      "description": "Zoom from KSA macro into the banking sector context"
    },
    {
      "from": 5,
      "to": 6,
      "label": "So What Cascade",
      "description": "Deliver an answer-first KPI snapshot of Q3'24 with sector developments"
    },
    {
      "from": 7,
      "to": 7,
      "label": "Waterfall Value",
      "description": "Decompose Q2-to-Q3 net income drivers"
    },
    {
      "from": 8,
      "to": 11,
      "label": "Tale Two Worlds",
      "description": "Show divergence between lending growth and deposit mobilization"
    },
    {
      "from": 12,
      "to": 16,
      "label": "Zoom In",
      "description": "Zoom into operating efficiency: income mix, NIM, cost-to-income"
    },
    {
      "from": 17,
      "to": 20,
      "label": "Zoom In",
      "description": "Zoom into credit quality and cost of risk"
    },
    {
      "from": 21,
      "to": 22,
      "label": "Aha Moment",
      "description": "Land the insight that KSA banks are navigating the rate cycle"
    },
    {
      "from": 23,
      "to": 23,
      "label": "Precedent",
      "description": "Cite GCC banking consolidation deals as precedent for sector outlook"
    }
  ]
}