{
  "schemaVersion": "deck-intelligence.v1",
  "id": "019dd923-5eff-723e-9be6-2c36e04f2df6",
  "slug": "635f118819531b39",
  "title": "2024 Q3 Results Presentation",
  "subtitle": "Air France-KLM",
  "author": "Air France-KLM",
  "pageCount": 29,
  "kind": "consulting-deck",
  "orientation": "landscape",
  "aspectRatio": 1.778,
  "document": {
    "id": "019dd923-5eff-723e-9be6-2c36e04f2df6",
    "slug": "635f118819531b39",
    "title": "2024 Q3 Results Presentation",
    "rawTitle": "2024 Q3 Results Presentation",
    "authorId": "Air-France-KLM",
    "authorName": "Air France-KLM",
    "authorDisplay": "Air France-KLM",
    "kind": {
      "slug": "consulting-deck",
      "label": "Consulting deck"
    },
    "sourceType": {
      "slug": "strategy_consulting",
      "label": "Strategy consulting"
    },
    "fileName": "2024-Q3-Results-Presentation.pdf",
    "sourceUrl": null,
    "sourceDate": "2024-09-30 00:00:00",
    "presentationDate": null,
    "ingestedAt": "2026-04-27 02:45:21+00",
    "status": "ready",
    "pageCount": 29,
    "orientation": "landscape",
    "aspectRatio": 1.778,
    "targetCompany": null,
    "targetTicker": null,
    "metadata": {
      "local_root": "/tmp/legacy-images/635f118819531b39",
      "origin_corpus": "consulting"
    }
  },
  "coverage": {
    "pageCount": 29,
    "pagesIndexed": 29,
    "pagesWithImages": 29,
    "pagesWithMetadata": 29,
    "imageCoveragePct": 100,
    "metadataCoveragePct": 100,
    "componentCount": 160,
    "chartCount": 16,
    "metricSlides": 0,
    "toolMatches": 87,
    "documentToolMatches": 0,
    "frameworkMatches": 6,
    "arcMatches": 2,
    "beatMatches": 8,
    "loopMatches": 4,
    "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": "019dd95a-0543-7581-99b2-9d0776b15a85",
        "evidence": "Earnings deck reports facts (p3-13), draws implications/outlook (p14-21), then closes with strategic priorities (p22).",
        "isPrimary": true,
        "confidence": 78,
        "extraction": {
          "at": "2026-04-29 13:07:28.977035+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        }
      },
      {
        "arc": {
          "name": "The Consultant's Gambit",
          "slug": "consultants-gambit",
          "status": "active",
          "bestFor": "Business cases, project proposals, strategic recommendations",
          "canonId": "019dd956-5e0a-73c8-b305-81c38c959e9c",
          "version": 1,
          "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
          "structure": "Situation & Context -> Problem & Complication -> Solution & Approach -> Evidence & Proof -> Impact & Next Steps",
          "description": null,
          "familyLabel": null,
          "categoryName": "Strategy & Business",
          "categorySlug": "strategy-business"
        },
        "matchId": "019dd95a-0543-7581-99b2-a15900b78386",
        "evidence": "Loose fit: situation/problem/solution/evidence/impact present but Back on Track plan (p7) precedes the cost problem (p9-11).",
        "isPrimary": false,
        "confidence": 55,
        "extraction": {
          "at": "2026-04-29 13:07:28.977035+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        }
      }
    ],
    "beats": [
      {
        "to": 13,
        "arc": {
          "name": "The Triple Take",
          "slug": "triple-take",
          "status": "active",
          "bestFor": "Data-driven presentations, research findings",
          "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
          "version": 1,
          "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
          "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
          "description": null,
          "familyLabel": null,
          "categoryName": "Analysis & Information",
          "categorySlug": "analysis-information"
        },
        "from": 2,
        "name": "The Facts (What)",
        "beatId": "019dd95a-07a7-7579-bd62-3f9db52c8507",
        "matchId": "019dd95a-0543-7581-99b2-9d0776b15a85",
        "beatType": {
          "name": "The Facts (What)",
          "slug": "triple-take-the-facts-what",
          "status": "active",
          "canonId": "019dd9b8-092b-754c-8eaa-ede3ffdcb060",
          "version": 1,
          "description": null
        },
        "evidence": "Q3 highlights through financial results tables and waterfalls.",
        "position": 1,
        "isPrimaryArc": true,
        "parentBeatType": {
          "name": "Setup",
          "slug": "setup",
          "status": "active",
          "canonId": "019dd9b8-020e-7505-af9b-d9b9a4679bcc",
          "version": 1,
          "description": "Where the deck grounds the reader before doing anything else. Almost every arc opens here."
        },
        "alignedBlockIds": null,
        "matchConfidence": 78
      },
      {
        "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": 14,
        "name": "The Implications (So What)",
        "beatId": "019dd95a-07a7-7579-bd62-43aa06058e96",
        "matchId": "019dd95a-0543-7581-99b2-9d0776b15a85",
        "beatType": {
          "name": "The Implications (So What)",
          "slug": "triple-take-the-implications-so-what",
          "status": "active",
          "canonId": "019dd9b8-09c7-75cd-8c7b-ae0e23cca2b8",
          "version": 1,
          "description": null
        },
        "evidence": "Outlook 2024, fuel hedging, flight tax risk, market positioning.",
        "position": 2,
        "isPrimaryArc": true,
        "parentBeatType": {
          "name": "Reflection",
          "slug": "reflection",
          "status": "active",
          "canonId": "019dd9b8-0510-73fd-8d00-1c7e45f7bc98",
          "version": 1,
          "description": "The \"so what\" beat. Used by analytical arcs (Triple-take, Onion) and learning arcs (Voyage-return, Tragedy)."
        },
        "alignedBlockIds": null,
        "matchConfidence": 78
      },
      {
        "to": 22,
        "arc": {
          "name": "The Triple Take",
          "slug": "triple-take",
          "status": "active",
          "bestFor": "Data-driven presentations, research findings",
          "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
          "version": 1,
          "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
          "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
          "description": null,
          "familyLabel": null,
          "categoryName": "Analysis & Information",
          "categorySlug": "analysis-information"
        },
        "from": 22,
        "name": "The Action (Now What)",
        "beatId": "019dd95a-07a7-7579-bd62-476a6aa06250",
        "matchId": "019dd95a-0543-7581-99b2-9d0776b15a85",
        "beatType": {
          "name": "The Action (Now What)",
          "slug": "triple-take-the-action-now-what",
          "status": "active",
          "canonId": "019dd9b8-0a5e-735a-bf53-3a1ba629b7aa",
          "version": 1,
          "description": null
        },
        "evidence": "'To conclude' lists 4 strategic priorities going forward.",
        "position": 3,
        "isPrimaryArc": true,
        "parentBeatType": {
          "name": "Resolution",
          "slug": "resolution",
          "status": "active",
          "canonId": "019dd9b8-045d-703b-8dd7-e92aba3ba91b",
          "version": 1,
          "description": "How the deck ends. Required in 19/20 arcs. The exception (Sparkline) ends with new bliss which is functionally a resolution."
        },
        "alignedBlockIds": null,
        "matchConfidence": 78
      },
      {
        "to": 6,
        "arc": {
          "name": "The Consultant's Gambit",
          "slug": "consultants-gambit",
          "status": "active",
          "bestFor": "Business cases, project proposals, strategic recommendations",
          "canonId": "019dd956-5e0a-73c8-b305-81c38c959e9c",
          "version": 1,
          "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
          "structure": "Situation & Context -> Problem & Complication -> Solution & Approach -> Evidence & Proof -> Impact & Next Steps",
          "description": null,
          "familyLabel": null,
          "categoryName": "Strategy & Business",
          "categorySlug": "strategy-business"
        },
        "from": 2,
        "name": "Situation & Context",
        "beatId": "019dd95a-07a7-7579-bd62-4ab78502009f",
        "matchId": "019dd95a-0543-7581-99b2-a15900b78386",
        "beatType": {
          "name": "Situation & Context",
          "slug": "consultants-gambit-situation-context",
          "status": "active",
          "canonId": "019dd9b8-05ae-741b-992d-65ee83c639b3",
          "version": 1,
          "description": null
        },
        "evidence": "Highlights and strategic context (ops, customer, SAF).",
        "position": 1,
        "isPrimaryArc": false,
        "parentBeatType": {
          "name": "Setup",
          "slug": "setup",
          "status": "active",
          "canonId": "019dd9b8-020e-7505-af9b-d9b9a4679bcc",
          "version": 1,
          "description": "Where the deck grounds the reader before doing anything else. Almost every arc opens here."
        },
        "alignedBlockIds": null,
        "matchConfidence": 55
      },
      {
        "to": 11,
        "arc": {
          "name": "The Consultant's Gambit",
          "slug": "consultants-gambit",
          "status": "active",
          "bestFor": "Business cases, project proposals, strategic recommendations",
          "canonId": "019dd956-5e0a-73c8-b305-81c38c959e9c",
          "version": 1,
          "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
          "structure": "Situation & Context -> Problem & Complication -> Solution & Approach -> Evidence & Proof -> Impact & Next Steps",
          "description": null,
          "familyLabel": null,
          "categoryName": "Strategy & Business",
          "categorySlug": "strategy-business"
        },
        "from": 9,
        "name": "Problem & Complication",
        "beatId": "019dd95a-07a7-7579-bd62-4c4f0ea4594f",
        "matchId": "019dd95a-0543-7581-99b2-a15900b78386",
        "beatType": {
          "name": "Problem & Complication",
          "slug": "consultants-gambit-problem-complication",
          "status": "active",
          "canonId": "019dd9b8-064a-777f-a374-e9a8c43dedd4",
          "version": 1,
          "description": null
        },
        "evidence": "Cost pressure at KLM and Olympic Games impact at Air France.",
        "position": 2,
        "isPrimaryArc": false,
        "parentBeatType": {
          "name": "Complication",
          "slug": "complication",
          "status": "active",
          "canonId": "019dd9b8-0275-7709-b2d6-4f77c3fc7579",
          "version": 1,
          "description": "The point in the narrative where the audience should feel discomfort. Required for argumentative arcs."
        },
        "alignedBlockIds": null,
        "matchConfidence": 55
      },
      {
        "to": 7,
        "arc": {
          "name": "The Consultant's Gambit",
          "slug": "consultants-gambit",
          "status": "active",
          "bestFor": "Business cases, project proposals, strategic recommendations",
          "canonId": "019dd956-5e0a-73c8-b305-81c38c959e9c",
          "version": 1,
          "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
          "structure": "Situation & Context -> Problem & Complication -> Solution & Approach -> Evidence & Proof -> Impact & Next Steps",
          "description": null,
          "familyLabel": null,
          "categoryName": "Strategy & Business",
          "categorySlug": "strategy-business"
        },
        "from": 7,
        "name": "Solution & Approach",
        "beatId": "019dd95a-07a7-7579-bd62-53cc5823fa2a",
        "matchId": "019dd95a-0543-7581-99b2-a15900b78386",
        "beatType": {
          "name": "Solution & Approach",
          "slug": "consultants-gambit-solution-approach",
          "status": "active",
          "canonId": "019dd9b8-071c-7161-9184-580fdac7a4f9",
          "version": 1,
          "description": null
        },
        "evidence": "KLM Back on Track 5-lever transformation plan.",
        "position": 3,
        "isPrimaryArc": false,
        "parentBeatType": {
          "name": "Turn",
          "slug": "turn",
          "status": "active",
          "canonId": "019dd9b8-0396-702b-ac2f-9901f8dd8b54",
          "version": 1,
          "description": "The pivot — solution proposed, catalyst introduced, decision made. Common (15/20 arcs) but not universal: Triple-take, AIDA, PAS, Voyage-return and Pixar substitute it with a strong reflection or development beat."
        },
        "alignedBlockIds": null,
        "matchConfidence": 55
      },
      {
        "to": 13,
        "arc": {
          "name": "The Consultant's Gambit",
          "slug": "consultants-gambit",
          "status": "active",
          "bestFor": "Business cases, project proposals, strategic recommendations",
          "canonId": "019dd956-5e0a-73c8-b305-81c38c959e9c",
          "version": 1,
          "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
          "structure": "Situation & Context -> Problem & Complication -> Solution & Approach -> Evidence & Proof -> Impact & Next Steps",
          "description": null,
          "familyLabel": null,
          "categoryName": "Strategy & Business",
          "categorySlug": "strategy-business"
        },
        "from": 8,
        "name": "Evidence & Proof",
        "beatId": "019dd95a-07a7-7579-bd62-57ea905a897f",
        "matchId": "019dd95a-0543-7581-99b2-a15900b78386",
        "beatType": {
          "name": "Evidence & Proof",
          "slug": "consultants-gambit-evidence-proof",
          "status": "active",
          "canonId": "019dd9b8-07b1-7688-8e1e-7637fec3802a",
          "version": 1,
          "description": null
        },
        "evidence": "Financial deep dive: revenue, operating result, yield, leverage.",
        "position": 4,
        "isPrimaryArc": false,
        "parentBeatType": {
          "name": "Evidence",
          "slug": "evidence",
          "status": "active",
          "canonId": "019dd9b8-03f9-772a-b84a-4f07b415b77a",
          "version": 1,
          "description": "A dedicated proof beat exists in only ~4 arcs (Gambit, Sequoia, AIDA, Monroes). Other arcs embed evidence inline within development."
        },
        "alignedBlockIds": null,
        "matchConfidence": 55
      },
      {
        "to": 22,
        "arc": {
          "name": "The Consultant's Gambit",
          "slug": "consultants-gambit",
          "status": "active",
          "bestFor": "Business cases, project proposals, strategic recommendations",
          "canonId": "019dd956-5e0a-73c8-b305-81c38c959e9c",
          "version": 1,
          "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
          "structure": "Situation & Context -> Problem & Complication -> Solution & Approach -> Evidence & Proof -> Impact & Next Steps",
          "description": null,
          "familyLabel": null,
          "categoryName": "Strategy & Business",
          "categorySlug": "strategy-business"
        },
        "from": 14,
        "name": "Impact & Next Steps",
        "beatId": "019dd95a-07a7-7579-bd62-5ab390f3b029",
        "matchId": "019dd95a-0543-7581-99b2-a15900b78386",
        "beatType": {
          "name": "Impact & Next Steps",
          "slug": "consultants-gambit-impact-next-steps",
          "status": "active",
          "canonId": "019dd9b8-0849-7728-9ee9-fd1609c4c655",
          "version": 1,
          "description": null
        },
        "evidence": "Outlook, flight tax, markets, conclude with priorities.",
        "position": 5,
        "isPrimaryArc": false,
        "parentBeatType": {
          "name": "Resolution",
          "slug": "resolution",
          "status": "active",
          "canonId": "019dd9b8-045d-703b-8dd7-e92aba3ba91b",
          "version": 1,
          "description": "How the deck ends. Required in 19/20 arcs. The exception (Sparkline) ends with new bliss which is functionally a resolution."
        },
        "alignedBlockIds": null,
        "matchConfidence": 55
      }
    ],
    "loops": [
      {
        "to": 6,
        "from": 4,
        "loop": {
          "name": "40_mece_breakdown",
          "slug": "40-mece-breakdown",
          "status": "active",
          "bestFor": "Problem structuring, ensuring completeness, strategic analysis",
          "canonId": "019dd956-763c-765e-8b68-6ee3ae1ef184",
          "version": 1,
          "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
          "structure": "The Whole -> Category A (distinct) -> Category B (distinct) -> Category C (distinct) -> Complete Coverage",
          "description": "Divide a complex topic into mutually exclusive, collectively exhaustive categories",
          "familyLabel": null,
          "categoryName": "Consulting Framework",
          "categorySlug": "consulting-framework"
        },
        "matchId": "019dd95a-08f8-7619-ac2b-64e879b02735",
        "evidence": "p4 ops (3 brand columns), p5 customer experience, p6 sustainability — three non-overlapping activity buckets.",
        "position": 1,
        "objective": "Show three distinct pillars of Q3 strategic activity",
        "confidence": 70,
        "extraction": {
          "at": "2026-04-29 13:07:29.779839+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        }
      },
      {
        "to": 13,
        "from": 9,
        "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": "019dd95a-08f8-7619-ac2b-6831b7fe5a53",
        "evidence": "p9 waterfall, p10 revenue by segment, p11 op result by airline, p12 yield, p13 leverage — data → so-what.",
        "position": 2,
        "objective": "Cascade from headline P&L to implications by airline and balance sheet",
        "confidence": 75,
        "extraction": {
          "at": "2026-04-29 13:07:29.779839+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        }
      },
      {
        "to": 18,
        "from": 15,
        "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": "019dd95a-08f8-7619-ac2b-6c2e0c1615fb",
        "evidence": "p15 Q4 booking load factors vs LY, p16 unit cost outlook +3%, p17 fuel hedging, p18 full-year guidance.",
        "position": 3,
        "objective": "Move from current Q3 actuals to forward-looking 2024 outlook",
        "confidence": 60,
        "extraction": {
          "at": "2026-04-29 13:07:29.779839+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        }
      },
      {
        "to": 28,
        "from": 24,
        "loop": {
          "name": "34_segmentation_split",
          "slug": "34-segmentation-split",
          "status": "active",
          "bestFor": "Customer analysis, market research, resource allocation",
          "canonId": "019dd956-7398-77a8-9a5f-2e4d39589f42",
          "version": 1,
          "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
          "structure": "The Aggregate View -> Segment A Behavior -> Segment B Behavior -> The Insight in the Difference",
          "description": "Divide a whole into meaningful segments to reveal hidden patterns",
          "familyLabel": null,
          "categoryName": "Consulting Framework",
          "categorySlug": "consulting-framework"
        },
        "matchId": "019dd95a-08f8-7619-ac2b-717ed44dbb06",
        "evidence": "9M aggregate then businesses contribution, airline & Flying Blue, currency, debt — segment breakdowns.",
        "position": 4,
        "objective": "Decompose 9M results into segments and drivers",
        "confidence": 70,
        "extraction": {
          "at": "2026-04-29 13:07:29.779839+00",
          "model": "claude-legacy",
          "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": "019dd95a-1a13-73b8-b32e-d4a31fca6faf",
        "evidence": "Answer-first executive summary anchors the whole deck; bullets + 4 KPI charts support headline.",
        "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": 75,
        "extraction": {
          "at": "2026-04-29 13:07:34.164277+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 3,
        "whyItWorks": "Solves the two failure modes of expert communication at once: (1) the long climb where readers wait pages for the answer, and (2) logical mush from non-MECE groupings. Progressive disclosure lets a reader stop at any depth and get the right information.",
        "antipattern": "Chronological structure (\"what we did, what we found, what we conclude\") instead of logical hierarchy. Top-of-pyramid that is a topic (\"strategic options\") instead of an answer (\"pursue Option B because...\"). Non-MECE supports that overlap or fail to cover the universe.",
        "cardinality": null,
        "narrativePurpose": "Transfer conviction with minimum reader effort by mirroring how decision-makers consume information: answer first, scaffolding behind."
      },
      {
        "tool": {
          "name": "The Rule of Three",
          "slug": "the-rule-of-three",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-8962-75cf-b4f8-9394501a6f33",
          "version": 1,
          "bodyDocId": null,
          "description": "Ideas presented in threes are more memorable and satisfying",
          "familyLabel": null,
          "categoryName": "Block",
          "categorySlug": "block"
        },
        "agent": "Storyteller",
        "layer": "block",
        "agents": [
          "Storyteller"
        ],
        "matchId": "019dd95a-1a13-73b8-b32e-ee7be78f8ad3",
        "evidence": "Three parallel airline columns of accomplishments.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 85,
        "extraction": {
          "at": "2026-04-29 13:07:34.164277+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 4,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Three Pillars",
          "slug": "three-pillars",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-81ef-7455-a365-b234d95a6bbb",
          "version": 1,
          "bodyDocId": null,
          "description": "Three major supporting arguments that are MECE and address key concerns",
          "familyLabel": null,
          "categoryName": "Block",
          "categorySlug": "block"
        },
        "agent": "Architect",
        "layer": "block",
        "agents": [
          "Architect"
        ],
        "matchId": "019dd95a-1a13-73b8-b32e-eac6cfdfc9f7",
        "evidence": "Three branded columns: Air France, KLM, Transavia.",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": null,
        "confidence": 85,
        "extraction": {
          "at": "2026-04-29 13:07:34.164277+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 4,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Anchoring Bias",
          "slug": "anchoring-bias",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-9254-73de-8f1b-c7250f8f4c9c",
          "version": 1,
          "bodyDocId": null,
          "description": "First piece of information becomes reference point for all subsequent judgments",
          "familyLabel": null,
          "categoryName": "Block",
          "categorySlug": "block"
        },
        "agent": "Architect",
        "layer": "block",
        "agents": [
          "Architect",
          "Storyteller"
        ],
        "matchId": "019dd95a-1a13-73b8-b32f-4bf7c6c98567",
        "evidence": "Q3 2024 vs Q3 2023 columns set the comparison anchor.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 75,
        "extraction": {
          "at": "2026-04-29 13:07:34.164277+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 11,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Loss Aversion",
          "slug": "loss-aversion",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-9761-738f-8fd4-558a63ea744a",
          "version": 1,
          "bodyDocId": null,
          "description": "Losses are felt 2x more strongly than equivalent gains - frame stakes as potential loss",
          "familyLabel": null,
          "categoryName": "Block",
          "categorySlug": "block"
        },
        "agent": "Storyteller",
        "layer": "block",
        "agents": [
          "Storyteller"
        ],
        "matchId": "019dd95a-1a13-73b8-b32f-aed9c3246178",
        "evidence": "Frames flight tax purely as loss: 'negative impact on key strategic domains', '€90-€170m on operating result'.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 85,
        "extraction": {
          "at": "2026-04-29 13:07:34.164277+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 20,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Anchoring Bias",
          "slug": "anchoring-bias",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-9254-73de-8f1b-c7250f8f4c9c",
          "version": 1,
          "bodyDocId": null,
          "description": "First piece of information becomes reference point for all subsequent judgments",
          "familyLabel": null,
          "categoryName": "Block",
          "categorySlug": "block"
        },
        "agent": "Architect",
        "layer": "block",
        "agents": [
          "Architect",
          "Storyteller"
        ],
        "matchId": "019dd95a-1a13-73b8-b32f-e394d62d9eab",
        "evidence": "9M 2024 vs 9M 2023 anchor columns in summary table.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 75,
        "extraction": {
          "at": "2026-04-29 13:07:34.164277+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 24,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Anchoring Bias",
          "slug": "anchoring-bias",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-9254-73de-8f1b-c7250f8f4c9c",
          "version": 1,
          "bodyDocId": null,
          "description": "First piece of information becomes reference point for all subsequent judgments",
          "familyLabel": null,
          "categoryName": "Block",
          "categorySlug": "block"
        },
        "agent": "Architect",
        "layer": "block",
        "agents": [
          "Architect",
          "Storyteller"
        ],
        "matchId": "019dd95a-1a13-73b8-b32f-fae2116d964f",
        "evidence": "Prior-year column anchors comparison in detailed airline table.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 70,
        "extraction": {
          "at": "2026-04-29 13:07:34.164277+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 26,
        "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": "019dd95a-1a13-73b8-b32e-e1007d2eeeea",
        "evidence": "Eight bolded bullet chunks with key phrase highlighted.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 80,
        "extraction": {
          "at": "2026-04-29 13:07:34.164277+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 3,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Parallel Structure",
          "slug": "parallel-structure",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-9f34-762a-93b7-1d8e84bbd153",
          "version": 1,
          "bodyDocId": null,
          "description": "Using similar grammatical structure for related ideas",
          "familyLabel": null,
          "categoryName": "Loop",
          "categorySlug": "loop"
        },
        "agent": "Architect",
        "layer": "loop",
        "agents": [
          "Architect"
        ],
        "matchId": "019dd95a-1a13-73b8-b32e-f1d6d33e6304",
        "evidence": "Identical column scaffold per airline (header image, bullet list).",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 80,
        "extraction": {
          "at": "2026-04-29 13:07:34.164277+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 4,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Chunking",
          "slug": "chunking",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-abab-72ce-b64c-2924cc83cf39",
          "version": 1,
          "bodyDocId": null,
          "description": "Information grouped into chunks is remembered better - structure content in digestible units",
          "familyLabel": null,
          "categoryName": "Loop",
          "categorySlug": "loop"
        },
        "agent": "Architect",
        "layer": "loop",
        "agents": [
          "Architect"
        ],
        "matchId": "019dd95a-1a13-73b8-b32f-182bed5cfc81",
        "evidence": "5 numbered chunks: productivity, revenues, capacity, business mix, capex.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 85,
        "extraction": {
          "at": "2026-04-29 13:07:34.164277+00",
          "model": "claude-legacy",
          "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": "019dd95a-1a13-73b8-b32f-33547ab79705",
        "evidence": "Favorable revenue vs unfavorable cost framed as antithesis.",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": null,
        "confidence": 80,
        "extraction": {
          "at": "2026-04-29 13:07:34.164277+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 9,
        "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": "019dd95a-1a13-73b8-b32f-379203f28d9b",
        "evidence": "Context (P&L) → conflict (cost) → insight ('stable ex-Olympics').",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": null,
        "confidence": 75,
        "extraction": {
          "at": "2026-04-29 13:07:34.164277+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 9,
        "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": "019dd95a-1a13-73b8-b32f-40d28c552412",
        "evidence": "Revenue broken into Passenger / Transavia / Cargo segments.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 70,
        "extraction": {
          "at": "2026-04-29 13:07:34.164277+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 10,
        "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": "019dd95a-1a13-73b8-b32f-58d81410c2f4",
        "evidence": "Three commentary bullets, one per airline entity.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 70,
        "extraction": {
          "at": "2026-04-29 13:07:34.164277+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 11,
        "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": "019dd95a-1a13-73b8-b32f-87a94c8c586d",
        "evidence": "2023 vs 2024 forward bookings paired across all three sub-fleets.",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": null,
        "confidence": 75,
        "extraction": {
          "at": "2026-04-29 13:07:34.164277+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 15,
        "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": "019dd95a-1a13-73b8-b32f-a0afd403d83a",
        "evidence": "Three guidance rows: Capacity, Unit cost, Net Capex.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 80,
        "extraction": {
          "at": "2026-04-29 13:07:34.164277+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 18,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Chunking",
          "slug": "chunking",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-abab-72ce-b64c-2924cc83cf39",
          "version": 1,
          "bodyDocId": null,
          "description": "Information grouped into chunks is remembered better - structure content in digestible units",
          "familyLabel": null,
          "categoryName": "Loop",
          "categorySlug": "loop"
        },
        "agent": "Architect",
        "layer": "loop",
        "agents": [
          "Architect"
        ],
        "matchId": "019dd95a-1a13-73b8-b32f-ba4695e06b9d",
        "evidence": "Four icon-tagged impact themes: fares, profitability, sustainability, competitiveness.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 80,
        "extraction": {
          "at": "2026-04-29 13:07:34.164277+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 20,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Chunking",
          "slug": "chunking",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-abab-72ce-b64c-2924cc83cf39",
          "version": 1,
          "bodyDocId": null,
          "description": "Information grouped into chunks is remembered better - structure content in digestible units",
          "familyLabel": null,
          "categoryName": "Loop",
          "categorySlug": "loop"
        },
        "agent": "Architect",
        "layer": "loop",
        "agents": [
          "Architect"
        ],
        "matchId": "019dd95a-1a13-73b8-b32f-c73a1c3858e0",
        "evidence": "Six geographic chunks on map plus three brand-side route announcements.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 75,
        "extraction": {
          "at": "2026-04-29 13:07:34.164277+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 21,
        "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": "019dd95a-1a13-73b8-b32f-d44a26e1860a",
        "evidence": "Four icon-led conclusion blocks (Paris 2024, priorities, profitability target, sustainability).",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 80,
        "extraction": {
          "at": "2026-04-29 13:07:34.164277+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 22,
        "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": "019dd95a-1a13-73b8-b32f-e8820c30af51",
        "evidence": "Tabular row chunks: revenues, expenses, EBITDA, op result, margin, net income.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 70,
        "extraction": {
          "at": "2026-04-29 13:07:34.164277+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 24,
        "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": "019dd95a-1a13-73b8-b32f-eca1e8d8dde2",
        "evidence": "Business contributions broken into segment rows.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 70,
        "extraction": {
          "at": "2026-04-29 13:07:34.164277+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 25,
        "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": "019dd95a-1a13-73b8-b32e-df7eade30a7c",
        "evidence": "Each chart annotated with delta callout (+4%, -2.4pts, +0.1x).",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 90,
        "extraction": {
          "at": "2026-04-29 13:07:34.164277+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 3,
        "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": "019dd95a-1a13-73b8-b32e-d87cc85d41e5",
        "evidence": "Four parallel KPI mini-bar-charts: passengers, revenue, op margin, leverage.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 90,
        "extraction": {
          "at": "2026-04-29 13:07:34.164277+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 3,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Visual Hierarchy",
          "slug": "visual-hierarchy",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-b2ca-706b-937f-e52441086fd7",
          "version": 1,
          "bodyDocId": null,
          "description": "Order of perception through Size > Color > Position > Weight > Space",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Designer",
        "layer": "slide",
        "agents": [
          "Designer"
        ],
        "matchId": "019dd95a-1a13-73b8-b32e-e4e3d182b515",
        "evidence": "Bolded numbers and topic phrases lead each bullet.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 80,
        "extraction": {
          "at": "2026-04-29 13:07:34.164277+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 3,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Action Titles",
          "slug": "action-titles",
          "status": "active",
          "bestFor": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
          "canonId": "019dd956-ac70-700b-a608-ba58e78f5dcc",
          "version": 1,
          "bodyDocId": "816dad3c-9983-41c1-a86e-978ebd582841",
          "description": "The McKinsey-bred discipline of writing every slide title as a complete declarative sentence with a verb and an insight, not a topic label. Each title is a sub-claim that ladders up to the deck's governing thought; read in sequence, the titles reconstruct the executive summary.",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Architect",
        "layer": "slide",
        "agents": [
          "Architect"
        ],
        "matchId": "019dd95a-1a13-73b8-b32e-fa908571f0c7",
        "evidence": "Title states insight: 'transformational efforts remain priority'.",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
        "confidence": 70,
        "extraction": {
          "at": "2026-04-29 13:07:34.164277+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 4,
        "whyItWorks": "Solves two failure modes at once. (1) The buried claim: action titles place the conclusion on the page before any analysis is read, so a busy reader doesn't reverse-engineer it from the chart. (2) The spineless deck: because each title is a claim, slides have to ladder up to the governing thought; logical gaps become visible as topic-shaped titles in a sequence that no longer reads as a story.",
        "antipattern": "Topic labels disguised as titles — Volume by quarter, Key findings, Pricing strategy, Margins have been impacted. No verb, or a passive verb with no agent, or a fact (Revenue grew 12%) without the so-what. Also: titles that overreach the chart's evidence, multi-claim X-grew-but-Y-fell welded titles, and mechanical repetition of the same X-drove-Y template across the deck.",
        "cardinality": null,
        "narrativePurpose": "Forces the deck to carry its argument in the title bar so a senior reader can extract the recommendation without opening a single slide; converts a binder of topics into a navigable pyramid where every slide is a node defending the apex."
      },
      {
        "tool": {
          "name": "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": "019dd95a-1a13-73b8-b32e-f7ebf249635c",
        "evidence": "Each column branded by airline color (red AF, blue KLM, green Transavia).",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 70,
        "extraction": {
          "at": "2026-04-29 13:07:34.164277+00",
          "model": "claude-legacy",
          "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": "019dd95a-1a13-73b8-b32e-fe2bc8be84b7",
        "evidence": "Title is a claim: 'we continue uplifting our customer experience'.",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
        "confidence": 70,
        "extraction": {
          "at": "2026-04-29 13:07:34.164277+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 5,
        "whyItWorks": "Solves two failure modes at once. (1) The buried claim: action titles place the conclusion on the page before any analysis is read, so a busy reader doesn't reverse-engineer it from the chart. (2) The spineless deck: because each title is a claim, slides have to ladder up to the governing thought; logical gaps become visible as topic-shaped titles in a sequence that no longer reads as a story.",
        "antipattern": "Topic labels disguised as titles — Volume by quarter, Key findings, Pricing strategy, Margins have been impacted. No verb, or a passive verb with no agent, or a fact (Revenue grew 12%) without the so-what. Also: titles that overreach the chart's evidence, multi-claim X-grew-but-Y-fell welded titles, and mechanical repetition of the same X-drove-Y template across the deck.",
        "cardinality": null,
        "narrativePurpose": "Forces the deck to carry its argument in the title bar so a senior reader can extract the recommendation without opening a single slide; converts a binder of topics into a navigable pyramid where every slide is a node defending the apex."
      },
      {
        "tool": {
          "name": "Concrete Language",
          "slug": "concrete-language",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-bcd4-7398-9723-6aa72346170b",
          "version": 1,
          "bodyDocId": null,
          "description": "Using specific sensory details instead of abstract terms",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Storyteller",
        "layer": "slide",
        "agents": [
          "Storyteller"
        ],
        "matchId": "019dd95a-1a13-73b8-b32f-03f91f5db787",
        "evidence": "Callout names concrete event: 'SAS commercial cooperation is live'.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 65,
        "extraction": {
          "at": "2026-04-29 13:07:34.164277+00",
          "model": "claude-legacy",
          "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": "019dd95a-1a13-73b8-b32f-0e26bdb6a065",
        "evidence": "Title states sourcing claim, not topic.",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
        "confidence": 70,
        "extraction": {
          "at": "2026-04-29 13:07:34.164277+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 6,
        "whyItWorks": "Solves two failure modes at once. (1) The buried claim: action titles place the conclusion on the page before any analysis is read, so a busy reader doesn't reverse-engineer it from the chart. (2) The spineless deck: because each title is a claim, slides have to ladder up to the governing thought; logical gaps become visible as topic-shaped titles in a sequence that no longer reads as a story.",
        "antipattern": "Topic labels disguised as titles — Volume by quarter, Key findings, Pricing strategy, Margins have been impacted. No verb, or a passive verb with no agent, or a fact (Revenue grew 12%) without the so-what. Also: titles that overreach the chart's evidence, multi-claim X-grew-but-Y-fell welded titles, and mechanical repetition of the same X-drove-Y template across the deck.",
        "cardinality": null,
        "narrativePurpose": "Forces the deck to carry its argument in the title bar so a senior reader can extract the recommendation without opening a single slide; converts a binder of topics into a navigable pyramid where every slide is a node defending the apex."
      },
      {
        "tool": {
          "name": "Authority Bias",
          "slug": "authority-bias",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-c38d-70b9-a284-b2b479763356",
          "version": 1,
          "bodyDocId": null,
          "description": "Expert opinions are weighted more heavily - cite credible sources",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Storyteller",
        "layer": "slide",
        "agents": [
          "Architect",
          "Storyteller"
        ],
        "matchId": "019dd95a-1a13-73b8-b32f-06142ecec58e",
        "evidence": "Title claims 'world's largest SAF purchaser among airlines for 2 consecutive years'.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 80,
        "extraction": {
          "at": "2026-04-29 13:07:34.164277+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 6,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Concrete Language",
          "slug": "concrete-language",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-bcd4-7398-9723-6aa72346170b",
          "version": 1,
          "bodyDocId": null,
          "description": "Using specific sensory details instead of abstract terms",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Storyteller",
        "layer": "slide",
        "agents": [
          "Storyteller"
        ],
        "matchId": "019dd95a-1a13-73b8-b32f-0bd3a38ede27",
        "evidence": "Specific volume: 1.5 million tons of SAF.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 80,
        "extraction": {
          "at": "2026-04-29 13:07:34.164277+00",
          "model": "claude-legacy",
          "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": "019dd95a-1a13-73b8-b32f-13c60d81d579",
        "evidence": "Title states quantified target: '€450M short-term EBIT improvement and EBIT margin above 8% by 2026-2028'.",
        "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-04-29 13:07:34.164277+00",
          "model": "claude-legacy",
          "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": "Concrete Language",
          "slug": "concrete-language",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-bcd4-7398-9723-6aa72346170b",
          "version": 1,
          "bodyDocId": null,
          "description": "Using specific sensory details instead of abstract terms",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Storyteller",
        "layer": "slide",
        "agents": [
          "Storyteller"
        ],
        "matchId": "019dd95a-1a13-73b8-b32f-1dead1ba90cd",
        "evidence": "Specific figures: 5% productivity, €200M, €100M, Q1 2025 catering test.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 80,
        "extraction": {
          "at": "2026-04-29 13:07:34.164277+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 7,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Grid System",
          "slug": "grid-system",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-b745-710f-8b70-825c603b1163",
          "version": 1,
          "bodyDocId": null,
          "description": "Aligning elements to invisible grid for visual harmony",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Designer",
        "layer": "slide",
        "agents": [
          "Designer"
        ],
        "matchId": "019dd95a-1a13-73b8-b32f-1785d4e3156b",
        "evidence": "Five numbered levers aligned on a strict left-to-right grid radiating from circle.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 85,
        "extraction": {
          "at": "2026-04-29 13:07:34.164277+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 7,
        "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": "019dd95a-1a13-73b8-b32f-228568f097f9",
        "evidence": "Bold lever headlines dominate over bullet sub-detail.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 70,
        "extraction": {
          "at": "2026-04-29 13:07:34.164277+00",
          "model": "claude-legacy",
          "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": "019dd95a-1a13-73b8-b32f-2fb7ff42dea4",
        "evidence": "Two-line action title: 'unit revenue favorable / unit cost development unfavorable at KLM'.",
        "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-04-29 13:07:34.164277+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 9,
        "whyItWorks": "Solves two failure modes at once. (1) The buried claim: action titles place the conclusion on the page before any analysis is read, so a busy reader doesn't reverse-engineer it from the chart. (2) The spineless deck: because each title is a claim, slides have to ladder up to the governing thought; logical gaps become visible as topic-shaped titles in a sequence that no longer reads as a story.",
        "antipattern": "Topic labels disguised as titles — Volume by quarter, Key findings, Pricing strategy, Margins have been impacted. No verb, or a passive verb with no agent, or a fact (Revenue grew 12%) without the so-what. Also: titles that overreach the chart's evidence, multi-claim X-grew-but-Y-fell welded titles, and mechanical repetition of the same X-drove-Y template across the deck.",
        "cardinality": null,
        "narrativePurpose": "Forces the deck to carry its argument in the title bar so a senior reader can extract the recommendation without opening a single slide; converts a binder of topics into a navigable pyramid where every slide is a node defending the apex."
      },
      {
        "tool": {
          "name": "Annotation",
          "slug": "annotation",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-b5b9-7668-bf0e-3af99823ec5c",
          "version": 1,
          "bodyDocId": null,
          "description": "Adding explanatory labels to highlight key data points",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Designer",
        "layer": "slide",
        "agents": [
          "Designer"
        ],
        "matchId": "019dd95a-1a13-73b8-b32f-28f15b6bfabd",
        "evidence": "Each waterfall step labelled (Olympic -160, Unit Revenue +113, Fuel +100, Unit cost -230).",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 85,
        "extraction": {
          "at": "2026-04-29 13:07:34.164277+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 9,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Chart Selection Guide",
          "slug": "chart-selection-guide",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-b1a0-700b-ba17-0e16c4d5bcae",
          "version": 1,
          "bodyDocId": null,
          "description": "Choosing the right chart type for your data and message",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Designer",
        "layer": "slide",
        "agents": [
          "Designer"
        ],
        "matchId": "019dd95a-1a13-73b8-b32f-26347aad9d09",
        "evidence": "Operating result evolution drawn as a value waterfall — fitting bridge data.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 90,
        "extraction": {
          "at": "2026-04-29 13:07:34.164277+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 9,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Color Strategy",
          "slug": "color-strategy",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-b202-77cf-8a6e-f445b08c0fd3",
          "version": 1,
          "bodyDocId": null,
          "description": "Using color for emphasis, categories, sentiment, and hierarchy",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Designer",
        "layer": "slide",
        "agents": [
          "Designer"
        ],
        "matchId": "019dd95a-1a13-73b8-b32f-3b2d13f0bfeb",
        "evidence": "Endpoint bars in deep blue, deltas in grey to separate baseline from drivers.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 70,
        "extraction": {
          "at": "2026-04-29 13:07:34.164277+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 9,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Waterfall chart",
          "slug": "waterfall-chart",
          "status": "active",
          "bestFor": null,
          "canonId": "e2799da3-725f-44a9-a093-570f1f388e64",
          "version": 1,
          "bodyDocId": null,
          "description": null,
          "familyLabel": null,
          "categoryName": null,
          "categorySlug": null
        },
        "agent": null,
        "layer": "slide",
        "agents": null,
        "matchId": "51a4ab01-ba4d-46a3-9a0c-3e80fc3e89bd",
        "evidence": "The slide contains a waterfall chart showing the operating result evolution, which is a clear instantiation of a waterfall chart.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.9,
        "extraction": {
          "at": "2026-07-16 22:15:50.155444+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 9,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Action Titles",
          "slug": "action-titles",
          "status": "active",
          "bestFor": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
          "canonId": "019dd956-ac70-700b-a608-ba58e78f5dcc",
          "version": 1,
          "bodyDocId": "816dad3c-9983-41c1-a86e-978ebd582841",
          "description": "The McKinsey-bred discipline of writing every slide title as a complete declarative sentence with a verb and an insight, not a topic label. Each title is a sub-claim that ladders up to the deck's governing thought; read in sequence, the titles reconstruct the executive summary.",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Architect",
        "layer": "slide",
        "agents": [
          "Architect"
        ],
        "matchId": "019dd95a-1a13-73b8-b32f-4555d6d4d718",
        "evidence": "Title asserts 'revenue growth in line with capacity, Transavia well oriented & cargo rebound'.",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
        "confidence": 70,
        "extraction": {
          "at": "2026-04-29 13:07:34.164277+00",
          "model": "claude-legacy",
          "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": "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": "019dd95a-1a13-73b8-b32f-3d8b3dc3783e",
        "evidence": "Olympic-corrected unit revenue and margin called out in note.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 80,
        "extraction": {
          "at": "2026-04-29 13:07:34.164277+00",
          "model": "claude-legacy",
          "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": "019dd95a-1a13-73b8-b32f-55ebfdb31c4f",
        "evidence": "Title states the insight: 'cost pressure at KLM and Olympic Games at Air France'.",
        "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-04-29 13:07:34.164277+00",
          "model": "claude-legacy",
          "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": "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": "019dd95a-1a13-73b8-b32f-4f93314195b9",
        "evidence": "Green for positive %, red for negative — sentiment encoded in color.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 85,
        "extraction": {
          "at": "2026-04-29 13:07:34.164277+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 11,
        "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": "019dd95a-1a13-73b8-b32f-53d5691d2bb6",
        "evidence": "Group total row in deeper blue, anchor airlines above.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 75,
        "extraction": {
          "at": "2026-04-29 13:07:34.164277+00",
          "model": "claude-legacy",
          "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": "019dd95a-1a13-73b8-b32f-6181ae68fe4c",
        "evidence": "Title is a claim: 'robust underlying yield development'.",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
        "confidence": 75,
        "extraction": {
          "at": "2026-04-29 13:07:34.164277+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 12,
        "whyItWorks": "Solves two failure modes at once. (1) The buried claim: action titles place the conclusion on the page before any analysis is read, so a busy reader doesn't reverse-engineer it from the chart. (2) The spineless deck: because each title is a claim, slides have to ladder up to the governing thought; logical gaps become visible as topic-shaped titles in a sequence that no longer reads as a story.",
        "antipattern": "Topic labels disguised as titles — Volume by quarter, Key findings, Pricing strategy, Margins have been impacted. No verb, or a passive verb with no agent, or a fact (Revenue grew 12%) without the so-what. Also: titles that overreach the chart's evidence, multi-claim X-grew-but-Y-fell welded titles, and mechanical repetition of the same X-drove-Y template across the deck.",
        "cardinality": null,
        "narrativePurpose": "Forces the deck to carry its argument in the title bar so a senior reader can extract the recommendation without opening a single slide; converts a binder of topics into a navigable pyramid where every slide is a node defending the apex."
      },
      {
        "tool": {
          "name": "Annotation",
          "slug": "annotation",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-b5b9-7668-bf0e-3af99823ec5c",
          "version": 1,
          "bodyDocId": null,
          "description": "Adding explanatory labels to highlight key data points",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Designer",
        "layer": "slide",
        "agents": [
          "Designer"
        ],
        "matchId": "019dd95a-1a13-73b8-b32f-65c59907932b",
        "evidence": "Yield delta annotated.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 70,
        "extraction": {
          "at": "2026-04-29 13:07:34.164277+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 12,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Chart Selection Guide",
          "slug": "chart-selection-guide",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-b1a0-700b-ba17-0e16c4d5bcae",
          "version": 1,
          "bodyDocId": null,
          "description": "Choosing the right chart type for your data and message",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Designer",
        "layer": "slide",
        "agents": [
          "Designer"
        ],
        "matchId": "019dd95a-1a13-73b8-b32f-5f09a8552b9b",
        "evidence": "Yield trend depicted via comparison chart with +1.5% callout.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 75,
        "extraction": {
          "at": "2026-04-29 13:07:34.164277+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 12,
        "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": "ca349b3a-dcd7-45dc-a0b6-d42cee63ff54",
        "evidence": "metric/big-number: Leverage ratio (Net debt/EBITDA) 1.7x (Ambition 1.5x - 2.0x)",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.5,
        "extraction": {
          "at": "2026-07-16 22:15:41.094061+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 13,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": "common",
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Action Titles",
          "slug": "action-titles",
          "status": "active",
          "bestFor": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
          "canonId": "019dd956-ac70-700b-a608-ba58e78f5dcc",
          "version": 1,
          "bodyDocId": "816dad3c-9983-41c1-a86e-978ebd582841",
          "description": "The McKinsey-bred discipline of writing every slide title as a complete declarative sentence with a verb and an insight, not a topic label. Each title is a sub-claim that ladders up to the deck's governing thought; read in sequence, the titles reconstruct the executive summary.",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Architect",
        "layer": "slide",
        "agents": [
          "Architect"
        ],
        "matchId": "019dd95a-1a13-73b8-b32f-7093671b6bc7",
        "evidence": "Title 'leverage ratio in line with ambition' states the conclusion.",
        "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-04-29 13:07:34.164277+00",
          "model": "claude-legacy",
          "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": "019dd95a-1a13-73b8-b32f-6c942d197d6b",
        "evidence": "Exceptionals box (€610m, €362m) annotates a specific waterfall step.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 85,
        "extraction": {
          "at": "2026-04-29 13:07:34.164277+00",
          "model": "claude-legacy",
          "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": "019dd95a-1a13-73b8-b32f-682410b746d8",
        "evidence": "Cash flow and net debt drawn as twin waterfalls — bridge data fits waterfall.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 90,
        "extraction": {
          "at": "2026-04-29 13:07:34.164277+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 13,
        "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": "019dd95a-1a13-73b8-b32f-743fdf874aa6",
        "evidence": "Three top-right callouts (cash, leverage) elevated above chart detail.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 70,
        "extraction": {
          "at": "2026-04-29 13:07:34.164277+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 13,
        "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": "85eacd8d-37f0-465b-bfd3-474cffb5496d",
        "evidence": "chart/waterfall: 9m 2024 Free cash flow evolution",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.9,
        "extraction": {
          "at": "2026-07-16 22:15:41.050015+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 13,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "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": "019dd95a-1a13-73b8-b32f-8864c0b66918",
        "evidence": "Title states claim: 'Q4 bookings promising as capacity further increases'.",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
        "confidence": 75,
        "extraction": {
          "at": "2026-04-29 13:07:34.164277+00",
          "model": "claude-legacy",
          "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": "019dd95a-1a13-73b8-b32f-7d707ba0fd62",
        "evidence": "Each panel annotated with capacity delta (+1%, +5%, +5-10%).",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 80,
        "extraction": {
          "at": "2026-04-29 13:07:34.164277+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 15,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Color Strategy",
          "slug": "color-strategy",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-b202-77cf-8a6e-f445b08c0fd3",
          "version": 1,
          "bodyDocId": null,
          "description": "Using color for emphasis, categories, sentiment, and hierarchy",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Designer",
        "layer": "slide",
        "agents": [
          "Designer"
        ],
        "matchId": "019dd95a-1a13-73b8-b32f-807f816e2955",
        "evidence": "Tan = 2023, deep blue = 2024 — consistent across panels.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 80,
        "extraction": {
          "at": "2026-04-29 13:07:34.164277+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 15,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Small Multiples",
          "slug": "small-multiples",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-b32d-7586-b368-baa1dd388ed4",
          "version": 1,
          "bodyDocId": null,
          "description": "Repeating similar charts for comparison across categories or time",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Designer",
        "layer": "slide",
        "agents": [
          "Designer"
        ],
        "matchId": "019dd95a-1a13-73b8-b32f-7ad7d8ba8b45",
        "evidence": "Three identical mini bar-charts: long-haul, short/medium-haul, Transavia.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 90,
        "extraction": {
          "at": "2026-04-29 13:07:34.164277+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 15,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Action Titles",
          "slug": "action-titles",
          "status": "active",
          "bestFor": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
          "canonId": "019dd956-ac70-700b-a608-ba58e78f5dcc",
          "version": 1,
          "bodyDocId": "816dad3c-9983-41c1-a86e-978ebd582841",
          "description": "The McKinsey-bred discipline of writing every slide title as a complete declarative sentence with a verb and an insight, not a topic label. Each title is a sub-claim that ladders up to the deck's governing thought; read in sequence, the titles reconstruct the executive summary.",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Architect",
        "layer": "slide",
        "agents": [
          "Architect"
        ],
        "matchId": "019dd95a-1a13-73b8-b32f-9281c5ab84df",
        "evidence": "Title is the guidance number itself: 'Full year unit cost outlook at +3%'.",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
        "confidence": 80,
        "extraction": {
          "at": "2026-04-29 13:07:34.164277+00",
          "model": "claude-legacy",
          "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": "Concrete Language",
          "slug": "concrete-language",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-bcd4-7398-9723-6aa72346170b",
          "version": 1,
          "bodyDocId": null,
          "description": "Using specific sensory details instead of abstract terms",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Storyteller",
        "layer": "slide",
        "agents": [
          "Storyteller"
        ],
        "matchId": "019dd95a-1a13-73b8-b32f-8cfe230540c2",
        "evidence": "Specific guidance figure: '+3% vs 2023'.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 80,
        "extraction": {
          "at": "2026-04-29 13:07:34.164277+00",
          "model": "claude-legacy",
          "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": "019dd95a-1a13-73b8-b32f-9a60be71f135",
        "evidence": "Title states the hedge ratios and outcome: 'fuel bill below last year while capacity increased'.",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
        "confidence": 80,
        "extraction": {
          "at": "2026-04-29 13:07:34.164277+00",
          "model": "claude-legacy",
          "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": "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": "019dd95a-1a13-73b8-b32f-9fe24e380747",
        "evidence": "Hedge percentages annotated on chart.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 70,
        "extraction": {
          "at": "2026-04-29 13:07:34.164277+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 17,
        "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": "019dd95a-1a13-73b8-b32f-955cdc0c64fd",
        "evidence": "Hedging coverage shown via comparison chart.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 75,
        "extraction": {
          "at": "2026-04-29 13:07:34.164277+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 17,
        "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": "c9ae6bf9-95e6-4ee8-8c99-6db2bfe66c24",
        "evidence": "chart/bar-vertical: Fuel bill after hedge ($bn)",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.8,
        "extraction": {
          "at": "2026-07-16 22:15:41.292634+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 17,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Concrete Language",
          "slug": "concrete-language",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-bcd4-7398-9723-6aa72346170b",
          "version": 1,
          "bodyDocId": null,
          "description": "Using specific sensory details instead of abstract terms",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Storyteller",
        "layer": "slide",
        "agents": [
          "Storyteller"
        ],
        "matchId": "019dd95a-1a13-73b8-b32f-a5d302bbc07b",
        "evidence": "Specific values with prior comparison: '+c.3% (previously: +2%)', '€3bn (previously below €3bn)'.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 85,
        "extraction": {
          "at": "2026-04-29 13:07:34.164277+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 18,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "White Space (Negative Space)",
          "slug": "white-space-negative-space",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-b6e3-72de-bd7e-8cc963390837",
          "version": 1,
          "bodyDocId": null,
          "description": "Using empty space to reduce cognitive load and create focus",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Designer",
        "layer": "slide",
        "agents": [
          "Designer"
        ],
        "matchId": "019dd95a-1a13-73b8-b32f-a89882ce50ae",
        "evidence": "Sparse data on left, full-bleed photo on right; deliberate empty rows.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 70,
        "extraction": {
          "at": "2026-04-29 13:07:34.164277+00",
          "model": "claude-legacy",
          "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": "019dd95a-1a13-73b8-b32f-b5f5ae29bc11",
        "evidence": "Title states the threat: 'flight tax in France would impact profitability and competitiveness'.",
        "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-04-29 13:07:34.164277+00",
          "model": "claude-legacy",
          "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": "Concrete Language",
          "slug": "concrete-language",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-bcd4-7398-9723-6aa72346170b",
          "version": 1,
          "bodyDocId": null,
          "description": "Using specific sensory details instead of abstract terms",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Storyteller",
        "layer": "slide",
        "agents": [
          "Storyteller"
        ],
        "matchId": "019dd95a-1a13-73b8-b32f-b319274238d0",
        "evidence": "Concrete figures: €280m incremental tax, €90-€170m 2025 impact.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 85,
        "extraction": {
          "at": "2026-04-29 13:07:34.164277+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 20,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Emotional Appeal",
          "slug": "emotional-appeal",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-bde9-7668-8be7-0097678fec59",
          "version": 1,
          "bodyDocId": null,
          "description": "Connecting to audience feelings rather than just logic",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Storyteller",
        "layer": "slide",
        "agents": [
          "Storyteller"
        ],
        "matchId": "019dd95a-1a13-73b8-b32f-bc001e8d3e31",
        "evidence": "Politicized framing referencing French Parliament with Palais Bourbon photo.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 65,
        "extraction": {
          "at": "2026-04-29 13:07:34.164277+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 20,
        "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": "019dd95a-1a13-73b8-b32f-c2cbaa3f05e2",
        "evidence": "World map regions annotated with destination count and YoY % (e.g. North America 33, +2%).",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 85,
        "extraction": {
          "at": "2026-04-29 13:07:34.164277+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 21,
        "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": "019dd95a-1a13-73b8-b32f-cb4f83f3cb16",
        "evidence": "Right column color-keyed by airline brand.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 70,
        "extraction": {
          "at": "2026-04-29 13:07:34.164277+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 21,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Picture Superiority Effect",
          "slug": "picture-superiority-effect",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-c201-7014-bb58-3e85e3e11dfd",
          "version": 1,
          "bodyDocId": null,
          "description": "Pictures remembered 6x better than words - prioritize visuals over text",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Designer",
        "layer": "slide",
        "agents": [
          "Designer"
        ],
        "matchId": "019dd95a-1a13-73b8-b32f-cf3760fd9acb",
        "evidence": "Map dominates layout to convey global footprint at a glance.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 70,
        "extraction": {
          "at": "2026-04-29 13:07:34.164277+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 21,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Closing Techniques",
          "slug": "closing-techniques",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-af13-774b-a4fd-7db0a3a88d51",
          "version": 1,
          "bodyDocId": null,
          "description": "Strong endings: Callback, challenge, vision, clear CTA, memorable line",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Storyteller",
        "layer": "slide",
        "agents": [
          "Storyteller"
        ],
        "matchId": "019dd95a-1a13-73b8-b32f-d2c3e89a505d",
        "evidence": "'To conclude' page recaps strategic priorities with vision-style statements.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 85,
        "extraction": {
          "at": "2026-04-29 13:07:34.164277+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 22,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Core Message Extraction",
          "slug": "core-message-extraction",
          "status": "active",
          "bestFor": "Any slide that carries an argument or finding. The diagnostic: if the slide has a chart on it, it needs a core message. Run extraction whenever the current title is a topic (Q3 performance, Customer satisfaction) rather than a claim, or when a reader could reasonably draw more than one conclusion from the visible evidence.",
          "canonId": "019dd956-bc71-707d-8867-1b2e810175cf",
          "version": 1,
          "bodyDocId": "f85613cb-4b77-462f-bfe6-3b862516e1a6",
          "description": "The discipline of distilling raw analysis, data, or content into a single declarative sentence — the slide's core message — that the audience would walk away with if they remembered nothing else. Process, not artefact: extraction questions run on the raw content until one sentence falls out.",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Architect",
        "layer": "slide",
        "agents": [
          "Architect"
        ],
        "matchId": "019dd95a-1a13-73b8-b32f-d83b6cebd003",
        "evidence": "Distills entire deck into four headline takeaways.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": "Any slide that carries an argument or finding. The diagnostic: if the slide has a chart on it, it needs a core message. Run extraction whenever the current title is a topic (Q3 performance, Customer satisfaction) rather than a claim, or when a reader could reasonably draw more than one conclusion from the visible evidence.",
        "confidence": 70,
        "extraction": {
          "at": "2026-04-29 13:07:34.164277+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 22,
        "whyItWorks": "Solves the two failure modes of slide writing simultaneously: the topic title (which outsources interpretation to the audience and produces three different conclusions in three different heads) and the multi-thesis stapler (which exceeds working memory and gets remembered as fragments). Aligns with how readers actually consume decks — Heath & Heath's Find the Core, the journalist's nut graf, and Minto's governing thought all converge on the same cognitive economics.",
        "antipattern": "Topic titles disguised as core messages (Customer satisfaction, no verb, no stake); multi-thesis sentences stapled with and; hedged sentences (may show signs of possible softening); chart-caption titles (Revenue fell 4%) that restate what the chart already shows instead of naming the so-what; meta-commentary (this slide explores...) that describes the slide rather than concluding it.",
        "cardinality": null,
        "narrativePurpose": "Forces the slide author to do the interpretive work before the slide ships, so the audience does not have to do it during the meeting. Wins the WYSIATI battle on purpose — the loudest fragment on the page becomes the author's chosen sentence rather than whichever chart label happens to be largest."
      },
      {
        "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": "019dd95a-1a13-73b8-b32f-dc9b7428ffc8",
        "evidence": "Bold blue takeaway headers dominate over supporting bullets.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 70,
        "extraction": {
          "at": "2026-04-29 13:07:34.164277+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 22,
        "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": "019dd95a-1a13-73b8-b32f-e6659c3c9bcc",
        "evidence": "Red/green sentiment coloring on change column.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 75,
        "extraction": {
          "at": "2026-04-29 13:07:34.164277+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 24,
        "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": "4a196e04-b7f8-4a0e-bfda-efbe1ee84df0",
        "evidence": "chart/waterfall: Operating result evolution",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.8,
        "extraction": {
          "at": "2026-07-16 22:15:41.608736+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 24,
        "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": "019dd95a-1a13-73b8-b32f-f25911bea183",
        "evidence": "Sentiment coloring on YoY changes.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 70,
        "extraction": {
          "at": "2026-04-29 13:07:34.164277+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 25,
        "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": "22e00900-7a61-4fdd-af79-69339b0af6ab",
        "evidence": "table/kpi: Financial and operational performance table for Network, Transavia, Maintenance, and Group.",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": null,
        "confidence": 0.7,
        "extraction": {
          "at": "2026-07-16 22:15:50.199981+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 25,
        "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": "019dd95a-1a13-73b8-b32f-f61609c8207e",
        "evidence": "Sentiment coloring on YoY change cells across airline rows.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 70,
        "extraction": {
          "at": "2026-04-29 13:07:34.164277+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 26,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Table data",
          "slug": "table-data",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd9e1-4fab-7168-a82f-b847350a006d",
          "version": 1,
          "bodyDocId": null,
          "description": "Tabular layouts of structured data.",
          "familyLabel": null,
          "categoryName": null,
          "categorySlug": null
        },
        "agent": null,
        "layer": "slide",
        "agents": null,
        "matchId": "51df0c3d-ed13-497f-80dd-8fe78e3b70a4",
        "evidence": "table/data: 9M 2024 vs 9M 2023 Capacity change Revenues (€ m) Change YoY Operating result (€ m) Change YoY Operating margin Change YoY",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.9,
        "extraction": {
          "at": "2026-07-16 22:15:50.277079+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 26,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": "common",
        "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": "019dd95a-1a13-73b8-b330-01a8c2965aec",
        "evidence": "Currency steps labelled with values (e.g. -33).",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 70,
        "extraction": {
          "at": "2026-04-29 13:07:34.164277+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 27,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Chart Selection Guide",
          "slug": "chart-selection-guide",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-b1a0-700b-ba17-0e16c4d5bcae",
          "version": 1,
          "bodyDocId": null,
          "description": "Choosing the right chart type for your data and message",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Designer",
        "layer": "slide",
        "agents": [
          "Designer"
        ],
        "matchId": "019dd95a-1a13-73b8-b32f-fe3e8bb8c869",
        "evidence": "Currency impact rendered as a bridge / contribution chart.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 70,
        "extraction": {
          "at": "2026-04-29 13:07:34.164277+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 27,
        "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": "a731ed08-27ed-40b2-bc2e-88a6baeba641",
        "evidence": "chart/waterfall: Currency impact on revenues and costs in Q3 2024",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.8,
        "extraction": {
          "at": "2026-07-16 22:15:50.357262+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 27,
        "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": "019dd95a-1a13-73b8-b330-0bc23d639846",
        "evidence": "Maturity totals (€2,600m) called out.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 70,
        "extraction": {
          "at": "2026-04-29 13:07:34.164277+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 28,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Chart Selection Guide",
          "slug": "chart-selection-guide",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-b1a0-700b-ba17-0e16c4d5bcae",
          "version": 1,
          "bodyDocId": null,
          "description": "Choosing the right chart type for your data and message",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Designer",
        "layer": "slide",
        "agents": [
          "Designer"
        ],
        "matchId": "019dd95a-1a13-73b8-b330-069454461146",
        "evidence": "Debt redemption profile shown as time-stacked bar chart.",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 80,
        "extraction": {
          "at": "2026-04-29 13:07:34.164277+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 28,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Chart Selection Guide",
          "slug": "chart-selection-guide",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-b1a0-700b-ba17-0e16c4d5bcae",
          "version": 1,
          "bodyDocId": null,
          "description": "Choosing the right chart type for your data and message",
          "familyLabel": null,
          "categoryName": "Slide",
          "categorySlug": "slide"
        },
        "agent": "Designer",
        "layer": "slide",
        "agents": [
          "Designer"
        ],
        "matchId": "afbeca8f-d4d0-46b5-9faa-fb6ff9b2a1c8",
        "evidence": "chart/bar-stacked: Debt reimbursement profile",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.5,
        "extraction": {
          "at": "2026-07-16 22:15:50.439822+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 28,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      }
    ],
    "frameworks": [
      {
        "matchId": "019dd95a-1d21-7467-a466-b3be5988a87b",
        "evidence": "Right panel labelled 'Operating result evolution' as classic waterfall (Olympics, Unit Revenue, Fuel, Unit cost, Other).",
        "framework": null,
        "confidence": 90,
        "extraction": {
          "at": "2026-04-29 13:07:34.940444+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 9,
        "frameworkName": "Value Bridge / Operating Result Waterfall"
      },
      {
        "matchId": "019dd95a-1d21-7467-a466-b41f22081ce8",
        "evidence": "Table with Q3 2024 vs Q3 2023 columns and Change YoY for capacity/revenue/op result/margin per airline.",
        "framework": null,
        "confidence": 75,
        "extraction": {
          "at": "2026-04-29 13:07:34.940444+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 11,
        "frameworkName": "Variance Analysis Table (YoY)"
      },
      {
        "matchId": "019dd95a-1d21-7467-a466-b992ea75aadc",
        "evidence": "Free cash flow evolution from cash-flow-before-WC down to recurring adjusted FCF as waterfall.",
        "framework": null,
        "confidence": 85,
        "extraction": {
          "at": "2026-04-29 13:07:34.940444+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 13,
        "frameworkName": "Cash Flow Waterfall"
      },
      {
        "matchId": "019dd95a-1d21-7467-a466-bcf1cd9cb610",
        "evidence": "Right-side bridge from Net debt 31 Dec 2023 to Net debt 30 Sep 2024.",
        "framework": null,
        "confidence": 80,
        "extraction": {
          "at": "2026-04-29 13:07:34.940444+00",
          "model": "claude-legacy",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 13,
        "frameworkName": "Net Debt Bridge"
      },
      {
        "matchId": "3739b99f-9482-4b94-8f63-e01dc43ad4f0",
        "evidence": "Visual representation of sequential changes to a starting value",
        "framework": null,
        "confidence": 1,
        "extraction": {
          "at": "2026-05-02 16:57:36.062+00",
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 13,
        "frameworkName": "waterfall-chart"
      },
      {
        "matchId": "2c8a965e-8587-4b85-8905-0e2008b4cb1a",
        "evidence": "The chart visualizes the bridge between 9M 2023 and 9M 2024 operating results.",
        "framework": null,
        "confidence": 1,
        "extraction": {
          "at": "2026-05-02 16:57:37.608+00",
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 24,
        "frameworkName": "waterfall-chart"
      }
    ],
    "patterns": []
  },
  "storymakers": {
    "model": "claude-cli-sonnet-4.6",
    "backend": null,
    "rawJson": {
      "arc": {
        "id": 11,
        "slug": "triple-take",
        "beats": [
          {
            "name": "The Facts (What)",
            "end_page": 13,
            "evidence": "Q3 highlights through financial results tables and waterfalls.",
            "position": 1,
            "start_page": 2
          },
          {
            "name": "The Implications (So What)",
            "end_page": 21,
            "evidence": "Outlook 2024, fuel hedging, flight tax risk, market positioning.",
            "position": 2,
            "start_page": 14
          },
          {
            "name": "The Action (Now What)",
            "end_page": 22,
            "evidence": "'To conclude' lists 4 strategic priorities going forward.",
            "position": 3,
            "start_page": 22
          }
        ],
        "evidence": "Earnings deck reports facts (p3-13), draws implications/outlook (p14-21), then closes with strategic priorities (p22).",
        "confidence": 78
      },
      "loops": [
        {
          "id": 40,
          "slug": "40-mece-breakdown",
          "end_page": 6,
          "evidence": "p4 ops (3 brand columns), p5 customer experience, p6 sustainability — three non-overlapping activity buckets.",
          "position": 1,
          "objective": "Show three distinct pillars of Q3 strategic activity",
          "confidence": 70,
          "start_page": 4
        },
        {
          "id": 41,
          "slug": "41-so-what-cascade",
          "end_page": 13,
          "evidence": "p9 waterfall, p10 revenue by segment, p11 op result by airline, p12 yield, p13 leverage — data → so-what.",
          "position": 2,
          "objective": "Cascade from headline P&L to implications by airline and balance sheet",
          "confidence": 75,
          "start_page": 9
        },
        {
          "id": 4,
          "slug": "04-tale-two-worlds",
          "end_page": 18,
          "evidence": "p15 Q4 booking load factors vs LY, p16 unit cost outlook +3%, p17 fuel hedging, p18 full-year guidance.",
          "position": 3,
          "objective": "Move from current Q3 actuals to forward-looking 2024 outlook",
          "confidence": 60,
          "start_page": 15
        },
        {
          "id": 34,
          "slug": "34-segmentation-split",
          "end_page": 28,
          "evidence": "9M aggregate then businesses contribution, airline & Flying Blue, currency, debt — segment breakdowns.",
          "position": 4,
          "objective": "Decompose 9M results into segments and drivers",
          "confidence": 70,
          "start_page": 24
        }
      ],
      "slide_tools": [
        {
          "tools": [
            {
              "id": 3,
              "slug": "pyramid-principle",
              "layer": "Block",
              "evidence": "Answer-first executive summary anchors the whole deck; bullets + 4 KPI charts support headline.",
              "confidence": 75
            },
            {
              "id": 133,
              "slug": "small-multiples",
              "layer": "Slide",
              "evidence": "Four parallel KPI mini-bar-charts: passengers, revenue, op margin, leverage.",
              "confidence": 90
            },
            {
              "id": 138,
              "slug": "annotation",
              "layer": "Slide",
              "evidence": "Each chart annotated with delta callout (+4%, -2.4pts, +0.1x).",
              "confidence": 90
            },
            {
              "id": 116,
              "slug": "chunking",
              "layer": "Loop",
              "evidence": "Eight bolded bullet chunks with key phrase highlighted.",
              "confidence": 80
            },
            {
              "id": 132,
              "slug": "visual-hierarchy",
              "layer": "Slide",
              "evidence": "Bolded numbers and topic phrases lead each bullet.",
              "confidence": 80
            }
          ],
          "page_number": 3
        },
        {
          "tools": [
            {
              "id": 16,
              "slug": "three-pillars",
              "layer": "Block",
              "evidence": "Three branded columns: Air France, KLM, Transavia.",
              "confidence": 85
            },
            {
              "id": 34,
              "slug": "the-rule-of-three",
              "layer": "Block",
              "evidence": "Three parallel airline columns of accomplishments.",
              "confidence": 85
            },
            {
              "id": 87,
              "slug": "parallel-structure",
              "layer": "Loop",
              "evidence": "Identical column scaffold per airline (header image, bullet list).",
              "confidence": 80
            },
            {
              "id": 130,
              "slug": "color-strategy",
              "layer": "Slide",
              "evidence": "Each column branded by airline color (red AF, blue KLM, green Transavia).",
              "confidence": 70
            },
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "Title states insight: 'transformational efforts remain priority'.",
              "confidence": 70
            }
          ],
          "page_number": 4
        },
        {
          "tools": [
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "Title is a claim: 'we continue uplifting our customer experience'.",
              "confidence": 70
            },
            {
              "id": 154,
              "slug": "concrete-language",
              "layer": "Slide",
              "evidence": "Callout names concrete event: 'SAS commercial cooperation is live'.",
              "confidence": 65
            }
          ],
          "page_number": 5
        },
        {
          "tools": [
            {
              "id": 169,
              "slug": "authority-bias",
              "layer": "Slide",
              "evidence": "Title claims 'world's largest SAF purchaser among airlines for 2 consecutive years'.",
              "confidence": 80
            },
            {
              "id": 154,
              "slug": "concrete-language",
              "layer": "Slide",
              "evidence": "Specific volume: 1.5 million tons of SAF.",
              "confidence": 80
            },
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "Title states sourcing claim, not topic.",
              "confidence": 70
            }
          ],
          "page_number": 6
        },
        {
          "tools": [
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "Title states quantified target: '€450M short-term EBIT improvement and EBIT margin above 8% by 2026-2028'.",
              "confidence": 90
            },
            {
              "id": 142,
              "slug": "grid-system",
              "layer": "Slide",
              "evidence": "Five numbered levers aligned on a strict left-to-right grid radiating from circle.",
              "confidence": 85
            },
            {
              "id": 116,
              "slug": "chunking",
              "layer": "Loop",
              "evidence": "5 numbered chunks: productivity, revenues, capacity, business mix, capex.",
              "confidence": 85
            },
            {
              "id": 154,
              "slug": "concrete-language",
              "layer": "Slide",
              "evidence": "Specific figures: 5% productivity, €200M, €100M, Q1 2025 catering test.",
              "confidence": 80
            },
            {
              "id": 132,
              "slug": "visual-hierarchy",
              "layer": "Slide",
              "evidence": "Bold lever headlines dominate over bullet sub-detail.",
              "confidence": 70
            }
          ],
          "page_number": 7
        },
        {
          "tools": [
            {
              "id": 129,
              "slug": "chart-selection-guide",
              "layer": "Slide",
              "evidence": "Operating result evolution drawn as a value waterfall — fitting bridge data.",
              "confidence": 90
            },
            {
              "id": 138,
              "slug": "annotation",
              "layer": "Slide",
              "evidence": "Each waterfall step labelled (Olympic -160, Unit Revenue +113, Fuel +100, Unit cost -230).",
              "confidence": 85
            },
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "Two-line action title: 'unit revenue favorable / unit cost development unfavorable at KLM'.",
              "confidence": 90
            },
            {
              "id": 78,
              "slug": "contrast-pairs",
              "layer": "Loop",
              "evidence": "Favorable revenue vs unfavorable cost framed as antithesis.",
              "confidence": 80
            },
            {
              "id": 80,
              "slug": "data-story-arc",
              "layer": "Loop",
              "evidence": "Context (P&L) → conflict (cost) → insight ('stable ex-Olympics').",
              "confidence": 75
            },
            {
              "id": 130,
              "slug": "color-strategy",
              "layer": "Slide",
              "evidence": "Endpoint bars in deep blue, deltas in grey to separate baseline from drivers.",
              "confidence": 70
            }
          ],
          "page_number": 9
        },
        {
          "tools": [
            {
              "id": 138,
              "slug": "annotation",
              "layer": "Slide",
              "evidence": "Olympic-corrected unit revenue and margin called out in note.",
              "confidence": 80
            },
            {
              "id": 116,
              "slug": "chunking",
              "layer": "Loop",
              "evidence": "Revenue broken into Passenger / Transavia / Cargo segments.",
              "confidence": 70
            },
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "Title asserts 'revenue growth in line with capacity, Transavia well oriented & cargo rebound'.",
              "confidence": 70
            }
          ],
          "page_number": 10
        },
        {
          "tools": [
            {
              "id": 56,
              "slug": "anchoring-bias",
              "layer": "Block",
              "evidence": "Q3 2024 vs Q3 2023 columns set the comparison anchor.",
              "confidence": 75
            },
            {
              "id": 130,
              "slug": "color-strategy",
              "layer": "Slide",
              "evidence": "Green for positive %, red for negative — sentiment encoded in color.",
              "confidence": 85
            },
            {
              "id": 132,
              "slug": "visual-hierarchy",
              "layer": "Slide",
              "evidence": "Group total row in deeper blue, anchor airlines above.",
              "confidence": 75
            },
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "Title states the insight: 'cost pressure at KLM and Olympic Games at Air France'.",
              "confidence": 85
            },
            {
              "id": 116,
              "slug": "chunking",
              "layer": "Loop",
              "evidence": "Three commentary bullets, one per airline entity.",
              "confidence": 70
            }
          ],
          "page_number": 11
        },
        {
          "tools": [
            {
              "id": 129,
              "slug": "chart-selection-guide",
              "layer": "Slide",
              "evidence": "Yield trend depicted via comparison chart with +1.5% callout.",
              "confidence": 75
            },
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "Title is a claim: 'robust underlying yield development'.",
              "confidence": 75
            },
            {
              "id": 138,
              "slug": "annotation",
              "layer": "Slide",
              "evidence": "Yield delta annotated.",
              "confidence": 70
            }
          ],
          "page_number": 12
        },
        {
          "tools": [
            {
              "id": 129,
              "slug": "chart-selection-guide",
              "layer": "Slide",
              "evidence": "Cash flow and net debt drawn as twin waterfalls — bridge data fits waterfall.",
              "confidence": 90
            },
            {
              "id": 138,
              "slug": "annotation",
              "layer": "Slide",
              "evidence": "Exceptionals box (€610m, €362m) annotates a specific waterfall step.",
              "confidence": 85
            },
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "Title 'leverage ratio in line with ambition' states the conclusion.",
              "confidence": 85
            },
            {
              "id": 132,
              "slug": "visual-hierarchy",
              "layer": "Slide",
              "evidence": "Three top-right callouts (cash, leverage) elevated above chart detail.",
              "confidence": 70
            }
          ],
          "page_number": 13
        },
        {
          "tools": [
            {
              "id": 133,
              "slug": "small-multiples",
              "layer": "Slide",
              "evidence": "Three identical mini bar-charts: long-haul, short/medium-haul, Transavia.",
              "confidence": 90
            },
            {
              "id": 138,
              "slug": "annotation",
              "layer": "Slide",
              "evidence": "Each panel annotated with capacity delta (+1%, +5%, +5-10%).",
              "confidence": 80
            },
            {
              "id": 130,
              "slug": "color-strategy",
              "layer": "Slide",
              "evidence": "Tan = 2023, deep blue = 2024 — consistent across panels.",
              "confidence": 80
            },
            {
              "id": 78,
              "slug": "contrast-pairs",
              "layer": "Loop",
              "evidence": "2023 vs 2024 forward bookings paired across all three sub-fleets.",
              "confidence": 75
            },
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "Title states claim: 'Q4 bookings promising as capacity further increases'.",
              "confidence": 75
            }
          ],
          "page_number": 15
        },
        {
          "tools": [
            {
              "id": 154,
              "slug": "concrete-language",
              "layer": "Slide",
              "evidence": "Specific guidance figure: '+3% vs 2023'.",
              "confidence": 80
            },
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "Title is the guidance number itself: 'Full year unit cost outlook at +3%'.",
              "confidence": 80
            }
          ],
          "page_number": 16
        },
        {
          "tools": [
            {
              "id": 129,
              "slug": "chart-selection-guide",
              "layer": "Slide",
              "evidence": "Hedging coverage shown via comparison chart.",
              "confidence": 75
            },
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "Title states the hedge ratios and outcome: 'fuel bill below last year while capacity increased'.",
              "confidence": 80
            },
            {
              "id": 138,
              "slug": "annotation",
              "layer": "Slide",
              "evidence": "Hedge percentages annotated on chart.",
              "confidence": 70
            }
          ],
          "page_number": 17
        },
        {
          "tools": [
            {
              "id": 116,
              "slug": "chunking",
              "layer": "Loop",
              "evidence": "Three guidance rows: Capacity, Unit cost, Net Capex.",
              "confidence": 80
            },
            {
              "id": 154,
              "slug": "concrete-language",
              "layer": "Slide",
              "evidence": "Specific values with prior comparison: '+c.3% (previously: +2%)', '€3bn (previously below €3bn)'.",
              "confidence": 85
            },
            {
              "id": 141,
              "slug": "white-space-negative-space",
              "layer": "Slide",
              "evidence": "Sparse data on left, full-bleed photo on right; deliberate empty rows.",
              "confidence": 70
            }
          ],
          "page_number": 18
        },
        {
          "tools": [
            {
              "id": 68,
              "slug": "loss-aversion",
              "layer": "Block",
              "evidence": "Frames flight tax purely as loss: 'negative impact on key strategic domains', '€90-€170m on operating result'.",
              "confidence": 85
            },
            {
              "id": 154,
              "slug": "concrete-language",
              "layer": "Slide",
              "evidence": "Concrete figures: €280m incremental tax, €90-€170m 2025 impact.",
              "confidence": 85
            },
            {
              "id": 118,
              "slug": "action-titles",
              "layer": "Slide",
              "evidence": "Title states the threat: 'flight tax in France would impact profitability and competitiveness'.",
              "confidence": 85
            },
            {
              "id": 116,
              "slug": "chunking",
              "layer": "Loop",
              "evidence": "Four icon-tagged impact themes: fares, profitability, sustainability, competitiveness.",
              "confidence": 80
            },
            {
              "id": 156,
              "slug": "emotional-appeal",
              "layer": "Slide",
              "evidence": "Politicized framing referencing French Parliament with Palais Bourbon photo.",
              "confidence": 65
            }
          ],
          "page_number": 20
        },
        {
          "tools": [
            {
              "id": 138,
              "slug": "annotation",
              "layer": "Slide",
              "evidence": "World map regions annotated with destination count and YoY % (e.g. North America 33, +2%).",
              "confidence": 85
            },
            {
              "id": 116,
              "slug": "chunking",
              "layer": "Loop",
              "evidence": "Six geographic chunks on map plus three brand-side route announcements.",
              "confidence": 75
            },
            {
              "id": 130,
              "slug": "color-strategy",
              "layer": "Slide",
              "evidence": "Right column color-keyed by airline brand.",
              "confidence": 70
            },
            {
              "id": 165,
              "slug": "picture-superiority-effect",
              "layer": "Slide",
              "evidence": "Map dominates layout to convey global footprint at a glance.",
              "confidence": 70
            }
          ],
          "page_number": 21
        },
        {
          "tools": [
            {
              "id": 124,
              "slug": "closing-techniques",
              "layer": "Slide",
              "evidence": "'To conclude' page recaps strategic priorities with vision-style statements.",
              "confidence": 85
            },
            {
              "id": 116,
              "slug": "chunking",
              "layer": "Loop",
              "evidence": "Four icon-led conclusion blocks (Paris 2024, priorities, profitability target, sustainability).",
              "confidence": 80
            },
            {
              "id": 153,
              "slug": "core-message-extraction",
              "layer": "Slide",
              "evidence": "Distills entire deck into four headline takeaways.",
              "confidence": 70
            },
            {
              "id": 132,
              "slug": "visual-hierarchy",
              "layer": "Slide",
              "evidence": "Bold blue takeaway headers dominate over supporting bullets.",
              "confidence": 70
            }
          ],
          "page_number": 22
        },
        {
          "tools": [
            {
              "id": 56,
              "slug": "anchoring-bias",
              "layer": "Block",
              "evidence": "9M 2024 vs 9M 2023 anchor columns in summary table.",
              "confidence": 75
            },
            {
              "id": 130,
              "slug": "color-strategy",
              "layer": "Slide",
              "evidence": "Red/green sentiment coloring on change column.",
              "confidence": 75
            },
            {
              "id": 116,
              "slug": "chunking",
              "layer": "Loop",
              "evidence": "Tabular row chunks: revenues, expenses, EBITDA, op result, margin, net income.",
              "confidence": 70
            }
          ],
          "page_number": 24
        },
        {
          "tools": [
            {
              "id": 116,
              "slug": "chunking",
              "layer": "Loop",
              "evidence": "Business contributions broken into segment rows.",
              "confidence": 70
            },
            {
              "id": 130,
              "slug": "color-strategy",
              "layer": "Slide",
              "evidence": "Sentiment coloring on YoY changes.",
              "confidence": 70
            }
          ],
          "page_number": 25
        },
        {
          "tools": [
            {
              "id": 130,
              "slug": "color-strategy",
              "layer": "Slide",
              "evidence": "Sentiment coloring on YoY change cells across airline rows.",
              "confidence": 70
            },
            {
              "id": 56,
              "slug": "anchoring-bias",
              "layer": "Block",
              "evidence": "Prior-year column anchors comparison in detailed airline table.",
              "confidence": 70
            }
          ],
          "page_number": 26
        },
        {
          "tools": [
            {
              "id": 129,
              "slug": "chart-selection-guide",
              "layer": "Slide",
              "evidence": "Currency impact rendered as a bridge / contribution chart.",
              "confidence": 70
            },
            {
              "id": 138,
              "slug": "annotation",
              "layer": "Slide",
              "evidence": "Currency steps labelled with values (e.g. -33).",
              "confidence": 70
            }
          ],
          "page_number": 27
        },
        {
          "tools": [
            {
              "id": 129,
              "slug": "chart-selection-guide",
              "layer": "Slide",
              "evidence": "Debt redemption profile shown as time-stacked bar chart.",
              "confidence": 80
            },
            {
              "id": 138,
              "slug": "annotation",
              "layer": "Slide",
              "evidence": "Maturity totals (€2,600m) called out.",
              "confidence": 70
            }
          ],
          "page_number": 28
        }
      ],
      "slides_seen": 29,
      "deck_summary": "Conventional investor-relations earnings deck: action-titled headlines, MECE strategic context, financial waterfalls and YoY tables, then forward outlook. Aligns moderately with Storymakers Triple Take (Facts → So-What → Now-What) but the 'Now What' is thin — recommendations are framed as ongoing transformation rather than a sharp call to action.",
      "secondary_arcs": [
        {
          "id": 1,
          "slug": "consultants-gambit",
          "beats": [
            {
              "name": "Situation & Context",
              "end_page": 6,
              "evidence": "Highlights and strategic context (ops, customer, SAF).",
              "position": 1,
              "start_page": 2
            },
            {
              "name": "Problem & Complication",
              "end_page": 11,
              "evidence": "Cost pressure at KLM and Olympic Games impact at Air France.",
              "position": 2,
              "start_page": 9
            },
            {
              "name": "Solution & Approach",
              "end_page": 7,
              "evidence": "KLM Back on Track 5-lever transformation plan.",
              "position": 3,
              "start_page": 7
            },
            {
              "name": "Evidence & Proof",
              "end_page": 13,
              "evidence": "Financial deep dive: revenue, operating result, yield, leverage.",
              "position": 4,
              "start_page": 8
            },
            {
              "name": "Impact & Next Steps",
              "end_page": 22,
              "evidence": "Outlook, flight tax, markets, conclude with priorities.",
              "position": 5,
              "start_page": 14
            }
          ],
          "evidence": "Loose fit: situation/problem/solution/evidence/impact present but Back on Track plan (p7) precedes the cost problem (p9-11).",
          "confidence": 55
        }
      ],
      "images_inspected": 9,
      "slide_frameworks": [
        {
          "frameworks": [
            {
              "name": "Value Bridge / Operating Result Waterfall",
              "slug": "value-bridge-waterfall",
              "evidence": "Right panel labelled 'Operating result evolution' as classic waterfall (Olympics, Unit Revenue, Fuel, Unit cost, Other).",
              "confidence": 90
            }
          ],
          "page_number": 9
        },
        {
          "frameworks": [
            {
              "name": "Variance Analysis Table (YoY)",
              "slug": "yoy-variance-table",
              "evidence": "Table with Q3 2024 vs Q3 2023 columns and Change YoY for capacity/revenue/op result/margin per airline.",
              "confidence": 75
            }
          ],
          "page_number": 11
        },
        {
          "frameworks": [
            {
              "name": "Cash Flow Waterfall",
              "slug": "cash-flow-waterfall",
              "evidence": "Free cash flow evolution from cash-flow-before-WC down to recurring adjusted FCF as waterfall.",
              "confidence": 85
            },
            {
              "name": "Net Debt Bridge",
              "slug": "net-debt-bridge",
              "evidence": "Right-side bridge from Net debt 31 Dec 2023 to Net debt 30 Sep 2024.",
              "confidence": 80
            }
          ],
          "page_number": 13
        }
      ]
    },
    "matchedAt": "2026-04-27 07:41:20+00",
    "slidesSeen": 29,
    "deckSummary": "Conventional investor-relations earnings deck: action-titled headlines, MECE strategic context, financial waterfalls and YoY tables, then forward outlook. Aligns moderately with Storymakers Triple Take (Facts → So-What → Now-What) but the 'Now What' is thin — recommendations are framed as ongoing transformation rather than a sharp call to action.",
    "imagesInspected": 9,
    "extractionSeconds": 437.40985
  },
  "score": {
    "backend": "claude",
    "scoredAt": "2026-05-02 12:53:31.349+00",
    "subScores": {
      "scqa_arc": 47,
      "action_titles": 78,
      "mece_structure": 62,
      "closing_strength": 52,
      "evidence_quality": 82,
      "clarity_of_thesis": 52,
      "production_quality": 72,
      "visual_storytelling": 68
    },
    "totalScore": 64,
    "coveragePct": 100,
    "explanations": {
      "scqa_arc": "Reads as classic IR analytical dump: situation (Q3 highlights) and a few complications (Olympics, KLM costs, French tax slide 20) appear, but no explicit question/answer arc drives the deck.",
      "action_titles": "Most body slides use insight-bearing sentences (e.g. slide 11 'OPERATING RESULT IMPACTED BY STRONG COST PRESSURE AT KLM AND BY THE OLYMPIC GAMES AT AIR FRANCE'), but appendix slides 24-28 revert to topic labels ('9M 2024 RESULTS', 'CURRENCY IMPACT ON OPERATING RESULT').",
      "mece_structure": "Clear section dividers (Highlights, Financial Results, Outlook, Update & Outlook, Appendix), but 'Outlook' (slides 14-18) and 'Update & Outlook' (slides 19-22) overlap thematically and slide 13 vs slide 24 partially duplicate the leverage/bridge story.",
      "closing_strength": "Slide 22 'TO CONCLUDE' offers a sparse icon-bullet summary of priorities but no concrete call to action or numeric guidance recap; slide 29 is just IR contact info, weak for a closer.",
      "evidence_quality": "Claims are consistently backed by quantified data (€1.2bn operating result, +3.4% unit cost, 1.7x leverage, €450m EBIT target, hedging %), with footnotes and waterfall decompositions supporting variance narratives.",
      "clarity_of_thesis": "Slides 3-4 convey an implicit thesis of 'stable results despite Olympics and KLM cost pressure, transformation on track', but no single declarative argument is stated up front; reader must infer from the highlights bullets.",
      "production_quality": "Action-title density is high in the main body and footnotes are used, but slide 4's title spans two long sentences, slide 10 is overcrowded, and several slides (9, 17) stack two action-title sentences instead of one crisp message.",
      "visual_storytelling": "Mostly correct tool-to-message fit — waterfalls for variance bridges (9, 13, 24), bar charts for YoY comparisons (3, 15, 17), maps for geographic data (12, 21) — but slide 10 is overcrowded at 32 data points and dilutes the message."
    },
    "slidesAnalyzed": 29
  },
  "review": {
    "backend": "claude",
    "verdict": "A competent investor-relations quarterly deck with strong action titles on most data slides, but only a moderate Storymakers exemplar — it informs more than it argues, lacking a unifying SCQA spine.",
    "reviewedAt": "2026-05-02 06:54:05.159+00",
    "slidesSeen": 29,
    "suggestions": [
      "Add an SCQA frame slide right after the cover: 'Stable €1.2bn ex-Olympics, but KLM cost pressure and a proposed €280m flight tax threaten 2025 — here is our response' to set tension before the data dump",
      "Merge Slides 14 and 19 into a single 'Outlook & Strategic Response' pillar so dividers represent MECE acts rather than speaker handoffs",
      "Rewrite Slide 4 as a one-line action title (e.g., 'Summer ops met record demand; fleet renewal stays the priority') and push detail into the body",
      "Replace 'TO CONCLUDE' (S22) with a numeric, forward-looking action title and end on explicit FY guidance + leverage ambition reaffirmation",
      "Consolidate the three overcrowded financial slides (S9, S10, S20) by promoting one waterfall as the canonical bridge and moving the granular tables to appendix"
    ],
    "closingScore": 70,
    "openingScore": 62,
    "topStrengths": [
      "Slides 7, 9, 11, 17, 20 carry insight-bearing action titles with specific numbers (€450m, +8.4%, €280m tax, 70% hedged)",
      "Slide 3 executive summary lands the headline metric (€1.2bn stable ex-Olympics) early",
      "Slide 20 frames the French flight tax risk crisply with quantified downside (€90–170m)"
    ],
    "topWeaknesses": [
      "No upfront SCQA framing — the Complication (KLM cost pressure, Olympics, tax risk) is buried in financial slides 9–11 and 20 instead of established in Act I",
      "Slide 4's action title runs ~20 words and reads as a paragraph, not a headline",
      "Two consecutive 'Outlook' sections (S14 and S19) signal unclear pillar structure; closing slide 22 is a generic 'TO CONCLUDE' without a numeric reaffirmation or ask"
    ],
    "narrativeScore": 68,
    "pillarCritique": "Section dividers (Highlights / Financial Results / Outlook / Update & Outlook / Appendix) are functional IR chapters, not MECE strategic pillars; 'Outlook' (S14) and 'Update & Outlook' (S19) overlap and blur the structure.",
    "closingCritique": "Slide 22 ('TO CONCLUDE') exists and recaps priorities, but the title is a topic label not an action title, and there is no explicit numeric guidance reaffirmation or call-to-action — Slide 21's market expansion message would have made a stronger penultimate punch.",
    "openingCritique": "Slide 3 leads with the answer (€1.2bn operating result, stable ex-Olympics) which is good, but Slide 4's title is a paragraph-length operational update rather than a punchy thesis, and the first 5 slides front-load operations/CX/SAF before any financial framing — the stakes for the quarter aren't crisply set.",
    "extractionSeconds": 65.553,
    "narrativeCritique": "The deck follows a conventional IR arc — Highlights (S2) → Financials (S8) → Outlook (S14, S19) → Conclude (S22) — but lacks a clear S→C→A→R: the Complication (cost pressure at KLM, Olympics, French flight tax) is dispersed across slides 9, 11, and 20 rather than framed upfront, leaving Act II diluted.",
    "titleQualityScore": 74,
    "titleQualityCritique": "Most body slides use strong declarative action titles (S7 'KLM Back on Track targets €450m...', S20 'Proposed flight tax would impact profitability...', S15 'Q4 bookings promising as capacity increases'), but appendix and divider slides default to noun labels ('OUTLOOK 2024', '9M 2024 Results', 'TO CONCLUDE') and Slide 4's title is too long to read as a headline."
  },
  "activistThesis": null,
  "pitchdeck": {
    "metadata": null,
    "profile": null
  },
  "slides": [
    {
      "page": 1,
      "type": "setup",
      "function": "front_matter",
      "imagePath": "https://imgproxy.kitesheet.com/RjYb9hFjXeb4aUM42-Fr1PobCoaPjUs9TVmZskj63Ec/rs:fit:1200:1200:0/q:82/f:webp/czM6Ly9raXRlc2hlZXQvY29ycHVzL3NsaWRlcy82MzVmMTE4ODE5NTMxYjM5L3AwMDEuanBn",
      "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": 8,
        "componentCount": 3,
        "textChars": 88,
        "nDataPoints": 0,
        "notes": null,
        "elementsJson": [
          "photo",
          "logo_grid"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 16:57:33.556+00",
          "seconds": 2.204,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5eff-723e-9be6-2c36e04f2df6/1",
        "deck": "/decks/019dd923-5eff-723e-9be6-2c36e04f2df6",
        "deckAnchor": "/decks/019dd923-5eff-723e-9be6-2c36e04f2df6#slide-1",
        "deckJson": "/decks/019dd923-5eff-723e-9be6-2c36e04f2df6.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.05,
            "w": 0.2,
            "x": 0.75,
            "y": 0.05
          },
          "kind": "image",
          "text": "AIRFRANCE KLM 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 16:57:33.556+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "e9bc5101-09f1-414f-8825-c3593fc6171e",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 1,
            "w": 1,
            "x": 0,
            "y": 0
          },
          "kind": "image",
          "text": "Group of airline staff standing in an airport terminal",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Image",
              "slug": "image",
              "status": "active",
              "canonId": "019de52c-f978-701f-a720-51d029d769e7",
              "version": 1,
              "description": "Photo, illustration, screenshot or icon."
            },
            "tool": null,
            "subkind": {
              "name": "Photo",
              "slug": "photo",
              "status": "active",
              "canonId": "019de52c-fd37-757f-b4a8-ca26d4888875",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "photo",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 16:57:33.556+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "151f34ca-b6b3-48fe-af82-3a4c1f0edb4d",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.2,
            "w": 0.3,
            "x": 0.35,
            "y": 0.25
          },
          "kind": "title",
          "text": "Q3 2024 RESULTS",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 16:57:33.556+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "1f23a0e9-a1a6-4a18-b669-24bdfd704dae",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [],
      "frameworks": [],
      "arcBeats": [],
      "loops": [],
      "thumbSrc": "https://imgproxy.kitesheet.com/Z5RdkE7JPyJFk-jQIpE1BKXm9_wW3gxUcSS0ZLVkWd0/rs:fit:480:480:0/q:78/f:webp/czM6Ly9raXRlc2hlZXQvY29ycHVzL3NsaWRlcy82MzVmMTE4ODE5NTMxYjM5L3AwMDEuanBn",
      "imagePathAlt": "https://imgproxy.kitesheet.com/1YazQLuCYmhY-rkdetiw2VU3oK8RefbyVZCCTn-mY7I/rs:fit:1200:1200:0/q:82/f:webp/czM6Ly9raXRlc2hlZXQvY29ycHVzL3NsaWRlcy82MzVmMTE4ODE5NTMxYjM5L3AwMDEucG5n",
      "thumbSrcAlt": "https://imgproxy.kitesheet.com/oAFr6j5dJTc0I1mHM9qH3Ali5kAc4yWFwMbm8Y2MrRk/rs:fit:480:480:0/q:78/f:webp/czM6Ly9raXRlc2hlZXQvY29ycHVzL3NsaWRlcy82MzVmMTE4ODE5NTMxYjM5L3AwMDEucG5n"
    },
    {
      "page": 2,
      "type": "setup",
      "function": "transition",
      "rawType": "section_divider",
      "block": null,
      "metadata": {
        "slideType": "section_divider",
        "slideTypeCanon": {
          "name": "Section divider",
          "slug": "section_divider",
          "status": "active",
          "canonId": "019de52d-066a-7402-9554-6ae504999041",
          "version": 1,
          "description": null
        },
        "function": "transition",
        "functionCanon": {
          "name": "Transition",
          "slug": "transition",
          "status": "active",
          "canonId": "019de52d-1365-7149-92aa-66df859e75fd",
          "version": 1,
          "description": null
        },
        "density": "sparse",
        "densityScore": 8,
        "componentCount": 3,
        "textChars": 92,
        "nDataPoints": 0,
        "notes": null,
        "elementsJson": [
          "headline_text",
          "subtitle_text",
          "logo_grid"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 16:57:33.403+00",
          "seconds": 1.993,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5eff-723e-9be6-2c36e04f2df6/2",
        "deck": "/decks/019dd923-5eff-723e-9be6-2c36e04f2df6",
        "deckAnchor": "/decks/019dd923-5eff-723e-9be6-2c36e04f2df6#slide-2",
        "deckJson": "/decks/019dd923-5eff-723e-9be6-2c36e04f2df6.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.025,
            "w": 0.234,
            "x": 0.766,
            "y": 0.935
          },
          "kind": "image",
          "text": "AIRFRANCE KLM 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 16:57:33.403+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "d8ad36f0-8208-4710-be81-0e67464d58be",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.024,
            "w": 0.473,
            "x": 0.056,
            "y": 0.574
          },
          "kind": "paragraph",
          "text": "Benjamin Smith – Chief Executive Officer Air France-KLM",
          "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 16:57:33.403+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "9fd86189-9c9f-43c7-855d-228e7c4a24cf",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.054,
            "w": 0.402,
            "x": 0.056,
            "y": 0.488
          },
          "kind": "title",
          "text": "Q3 2024 HIGHLIGHTS",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 16:57:33.403+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "ff9118d5-073c-41d2-96ca-108b13929b63",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 13,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 2,
          "name": "The Facts (What)",
          "beatId": "019dd95a-07a7-7579-bd62-3f9db52c8507",
          "matchId": "019dd95a-0543-7581-99b2-9d0776b15a85",
          "beatType": {
            "name": "The Facts (What)",
            "slug": "triple-take-the-facts-what",
            "status": "active",
            "canonId": "019dd9b8-092b-754c-8eaa-ede3ffdcb060",
            "version": 1,
            "description": null
          },
          "evidence": "Q3 highlights through financial results tables and waterfalls.",
          "position": 1,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Setup",
            "slug": "setup",
            "status": "active",
            "canonId": "019dd9b8-020e-7505-af9b-d9b9a4679bcc",
            "version": 1,
            "description": "Where the deck grounds the reader before doing anything else. Almost every arc opens here."
          },
          "alignedBlockIds": null,
          "matchConfidence": 78
        },
        {
          "to": 6,
          "arc": {
            "name": "The Consultant's Gambit",
            "slug": "consultants-gambit",
            "status": "active",
            "bestFor": "Business cases, project proposals, strategic recommendations",
            "canonId": "019dd956-5e0a-73c8-b305-81c38c959e9c",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Situation & Context -> Problem & Complication -> Solution & Approach -> Evidence & Proof -> Impact & Next Steps",
            "description": null,
            "familyLabel": null
          },
          "from": 2,
          "name": "Situation & Context",
          "beatId": "019dd95a-07a7-7579-bd62-4ab78502009f",
          "matchId": "019dd95a-0543-7581-99b2-a15900b78386",
          "beatType": {
            "name": "Situation & Context",
            "slug": "consultants-gambit-situation-context",
            "status": "active",
            "canonId": "019dd9b8-05ae-741b-992d-65ee83c639b3",
            "version": 1,
            "description": null
          },
          "evidence": "Highlights and strategic context (ops, customer, SAF).",
          "position": 1,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Setup",
            "slug": "setup",
            "status": "active",
            "canonId": "019dd9b8-020e-7505-af9b-d9b9a4679bcc",
            "version": 1,
            "description": "Where the deck grounds the reader before doing anything else. Almost every arc opens here."
          },
          "alignedBlockIds": null,
          "matchConfidence": 55
        }
      ],
      "loops": [],
      "locked": true
    },
    {
      "page": 3,
      "type": "analysis",
      "title": "Includes specific mentions of Olympic Games impact and strategic partnerships.",
      "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": 83,
        "componentCount": 9,
        "textChars": 981,
        "nDataPoints": 12,
        "notes": "Includes specific mentions of Olympic Games impact and strategic partnerships.",
        "elementsJson": [
          "bullet_list",
          "bar_chart_vertical",
          "footnote"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 16:57:39.071+00",
          "seconds": 7.481,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5eff-723e-9be6-2c36e04f2df6/3",
        "deck": "/decks/019dd923-5eff-723e-9be6-2c36e04f2df6",
        "deckAnchor": "/decks/019dd923-5eff-723e-9be6-2c36e04f2df6#slide-3",
        "deckJson": "/decks/019dd923-5eff-723e-9be6-2c36e04f2df6.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "Operating result stood at €1.2bn, stable compared to last year excluding Olympic Games €160m impact.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": {
              "name": "Visual emphasis",
              "slug": "visual-emphasis",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-474b-736b-a8eb-a794dd88241c",
              "version": 1,
              "bodyDocId": null,
              "description": "Drawing the eye to one element above the rest of the slide.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-27 03:06:42+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-5be9-7345-ace6-e27fcdd9b3ca",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.4,
            "w": 0.2,
            "x": 0.75,
            "y": 0.05
          },
          "kind": "chart",
          "text": "Group revenues",
          "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 16:57:39.071+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "3e9836bb-1b85-4003-90ee-4bed7635832a",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.4,
            "w": 0.2,
            "x": 0.5,
            "y": 0.5
          },
          "kind": "chart",
          "text": "Operating 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 16:57:39.071+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "5035a207-e639-4bff-afed-eacfee6c3853",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.4,
            "w": 0.2,
            "x": 0.75,
            "y": 0.5
          },
          "kind": "chart",
          "text": "Net Debt/EBITDA 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 16:57:39.071+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "66ff4e20-bf30-494e-bcea-a70f06ff05d7",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.4,
            "w": 0.2,
            "x": 0.5,
            "y": 0.05
          },
          "kind": "chart",
          "text": "Passengers carried",
          "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 16:57:39.071+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "f848aef1-4674-4af9-a33b-03e6768a9c6a",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.3,
            "x": 0.05,
            "y": 0.95
          },
          "kind": "disclaimer",
          "text": "1) Last year net debt/EBITDA ratio was positively impacted by equity financings",
          "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 16:57:39.071+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "3c182568-fcba-4773-9c82-a66e1b7ed00c",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.65,
            "w": 0.42,
            "x": 0.05,
            "y": 0.18
          },
          "kind": "list",
          "text": "Operating result stood at €1.2bn, stable compared to last year excluding Olympic Games €160m impact\nGroup revenue up 4% compared to last year, in sync with capacity development\nBroadly stable unit revenue compared to Q3 2023, up 1.4% excluding Olympic Games\nUnfavorable unit cost development to be tackled, especially at KLM that has announced firm measures\nNet debt/EBITDA ratio at 1.7x in line with 1.5x-2.0x ambition\nCodeshare with SAS AB went live with the latter joining Skyteam alliance\nShare of next generation aircraft is 24% of total fleet, up by +5pts since Q3 2023\nAgreement with TotalEnergies for up to 1.5 million tons of Sustainable Aviation Fuel to be delivered over 10 years",
          "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 16:57:39.071+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "99a0daf4-04ff-458a-bb4c-7e04c3dea816",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Group revenues: €9.0bn",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-27 03:06:42+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-5be9-7345-ace6-e5e4f63dae2a",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.35,
            "x": 0.05,
            "y": 0.1
          },
          "kind": "title",
          "text": "Q3 RESULTS HIGHLIGHTS",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 16:57:39.071+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "8288ccd2-f80e-4080-aee9-50f51fe49434",
          "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": "019dd95a-1a13-73b8-b32e-d4a31fca6faf",
          "evidence": "Answer-first executive summary anchors the whole deck; bullets + 4 KPI charts support headline.",
          "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": 75,
          "extraction": {
            "at": "2026-04-29 13:07:34.164277+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 3,
          "whyItWorks": "Solves the two failure modes of expert communication at once: (1) the long climb where readers wait pages for the answer, and (2) logical mush from non-MECE groupings. Progressive disclosure lets a reader stop at any depth and get the right information.",
          "antipattern": "Chronological structure (\"what we did, what we found, what we conclude\") instead of logical hierarchy. Top-of-pyramid that is a topic (\"strategic options\") instead of an answer (\"pursue Option B because...\"). Non-MECE supports that overlap or fail to cover the universe.",
          "cardinality": null,
          "narrativePurpose": "Transfer conviction with minimum reader effort by mirroring how decision-makers consume information: answer first, scaffolding behind."
        },
        {
          "tool": {
            "name": "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": "019dd95a-1a13-73b8-b32e-e1007d2eeeea",
          "evidence": "Eight bolded bullet chunks with key phrase highlighted.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 80,
          "extraction": {
            "at": "2026-04-29 13:07:34.164277+00",
            "model": "claude-legacy",
            "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": "019dd95a-1a13-73b8-b32e-df7eade30a7c",
          "evidence": "Each chart annotated with delta callout (+4%, -2.4pts, +0.1x).",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 90,
          "extraction": {
            "at": "2026-04-29 13:07:34.164277+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 3,
          "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": "019dd95a-1a13-73b8-b32e-d87cc85d41e5",
          "evidence": "Four parallel KPI mini-bar-charts: passengers, revenue, op margin, leverage.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 90,
          "extraction": {
            "at": "2026-04-29 13:07:34.164277+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 3,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Visual Hierarchy",
            "slug": "visual-hierarchy",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-b2ca-706b-937f-e52441086fd7",
            "version": 1,
            "bodyDocId": null,
            "description": "Order of perception through Size > Color > Position > Weight > Space",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "019dd95a-1a13-73b8-b32e-e4e3d182b515",
          "evidence": "Bolded numbers and topic phrases lead each bullet.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 80,
          "extraction": {
            "at": "2026-04-29 13:07:34.164277+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 3,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 13,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 2,
          "name": "The Facts (What)",
          "beatId": "019dd95a-07a7-7579-bd62-3f9db52c8507",
          "matchId": "019dd95a-0543-7581-99b2-9d0776b15a85",
          "beatType": {
            "name": "The Facts (What)",
            "slug": "triple-take-the-facts-what",
            "status": "active",
            "canonId": "019dd9b8-092b-754c-8eaa-ede3ffdcb060",
            "version": 1,
            "description": null
          },
          "evidence": "Q3 highlights through financial results tables and waterfalls.",
          "position": 1,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Setup",
            "slug": "setup",
            "status": "active",
            "canonId": "019dd9b8-020e-7505-af9b-d9b9a4679bcc",
            "version": 1,
            "description": "Where the deck grounds the reader before doing anything else. Almost every arc opens here."
          },
          "alignedBlockIds": null,
          "matchConfidence": 78
        },
        {
          "to": 6,
          "arc": {
            "name": "The Consultant's Gambit",
            "slug": "consultants-gambit",
            "status": "active",
            "bestFor": "Business cases, project proposals, strategic recommendations",
            "canonId": "019dd956-5e0a-73c8-b305-81c38c959e9c",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Situation & Context -> Problem & Complication -> Solution & Approach -> Evidence & Proof -> Impact & Next Steps",
            "description": null,
            "familyLabel": null
          },
          "from": 2,
          "name": "Situation & Context",
          "beatId": "019dd95a-07a7-7579-bd62-4ab78502009f",
          "matchId": "019dd95a-0543-7581-99b2-a15900b78386",
          "beatType": {
            "name": "Situation & Context",
            "slug": "consultants-gambit-situation-context",
            "status": "active",
            "canonId": "019dd9b8-05ae-741b-992d-65ee83c639b3",
            "version": 1,
            "description": null
          },
          "evidence": "Highlights and strategic context (ops, customer, SAF).",
          "position": 1,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Setup",
            "slug": "setup",
            "status": "active",
            "canonId": "019dd9b8-020e-7505-af9b-d9b9a4679bcc",
            "version": 1,
            "description": "Where the deck grounds the reader before doing anything else. Almost every arc opens here."
          },
          "alignedBlockIds": null,
          "matchConfidence": 55
        }
      ],
      "loops": [],
      "locked": true
    },
    {
      "page": 4,
      "type": "setup",
      "function": "summarize",
      "rawType": "executive_summary",
      "block": null,
      "metadata": {
        "slideType": "executive_summary",
        "slideTypeCanon": {
          "name": "Executive summary",
          "slug": "executive_summary",
          "status": "active",
          "canonId": "019de52d-06be-73ff-81b3-f99fe7f0025e",
          "version": 1,
          "description": null
        },
        "function": "summarize",
        "functionCanon": {
          "name": "Summarize",
          "slug": "summarize",
          "status": "active",
          "canonId": "019de52d-1541-704f-b86f-bf7b75056373",
          "version": 1,
          "description": null
        },
        "density": "dense",
        "densityScore": 67,
        "componentCount": 9,
        "textChars": 424,
        "nDataPoints": 5,
        "notes": null,
        "elementsJson": [
          "headline_text",
          "photo",
          "bullet_list",
          "paragraph"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 16:57:34.69+00",
          "seconds": 2.838,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5eff-723e-9be6-2c36e04f2df6/4",
        "deck": "/decks/019dd923-5eff-723e-9be6-2c36e04f2df6",
        "deckAnchor": "/decks/019dd923-5eff-723e-9be6-2c36e04f2df6#slide-4",
        "deckJson": "/decks/019dd923-5eff-723e-9be6-2c36e04f2df6.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "Ongoing deliveries of A350, A220 and A320neo family aircraft across all airlines in Q3",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": {
              "name": "Visual emphasis",
              "slug": "visual-emphasis",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-474b-736b-a8eb-a794dd88241c",
              "version": 1,
              "bodyDocId": null,
              "description": "Drawing the eye to one element above the rest of the slide.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-27 03:06:42+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-5be9-7345-ace7-4bd56ab7721a",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.28,
            "x": 0.67,
            "y": 0.265
          },
          "kind": "image",
          "text": "Transavia aircraft",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Image",
              "slug": "image",
              "status": "active",
              "canonId": "019de52c-f978-701f-a720-51d029d769e7",
              "version": 1,
              "description": "Photo, illustration, screenshot or icon."
            },
            "tool": null,
            "subkind": {
              "name": "Photo",
              "slug": "photo",
              "status": "active",
              "canonId": "019de52c-fd37-757f-b4a8-ca26d4888875",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "photo",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 16:57:34.69+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "1b4ba817-dedf-4560-ad87-7ca3db79fd19",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.28,
            "x": 0.05,
            "y": 0.265
          },
          "kind": "image",
          "text": "Air France branding",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Image",
              "slug": "image",
              "status": "active",
              "canonId": "019de52c-f978-701f-a720-51d029d769e7",
              "version": 1,
              "description": "Photo, illustration, screenshot or icon."
            },
            "tool": null,
            "subkind": {
              "name": "Photo",
              "slug": "photo",
              "status": "active",
              "canonId": "019de52c-fd37-757f-b4a8-ca26d4888875",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "photo",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 16:57:34.69+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "20608c9d-6e6a-41ab-bf1a-3a7100266bd9",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.28,
            "x": 0.36,
            "y": 0.265
          },
          "kind": "image",
          "text": "KLM aircraft",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Image",
              "slug": "image",
              "status": "active",
              "canonId": "019de52c-f978-701f-a720-51d029d769e7",
              "version": 1,
              "description": "Photo, illustration, screenshot or icon."
            },
            "tool": null,
            "subkind": {
              "name": "Photo",
              "slug": "photo",
              "status": "active",
              "canonId": "019de52c-fd37-757f-b4a8-ca26d4888875",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "photo",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 16:57:34.69+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "fa33005e-52c5-45b5-a757-99aa1aaa8b43",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.3,
            "w": 0.28,
            "x": 0.67,
            "y": 0.45
          },
          "kind": "list",
          "text": "Transavia performance highlights",
          "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 16:57:34.69+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "937a0b84-bdf9-4d6a-af3d-3a8e8454b201",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.3,
            "w": 0.28,
            "x": 0.36,
            "y": 0.45
          },
          "kind": "list",
          "text": "KLM performance highlights",
          "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 16:57:34.69+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "b17820cc-360b-4517-a586-00aa44827a79",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.3,
            "w": 0.28,
            "x": 0.05,
            "y": 0.45
          },
          "kind": "list",
          "text": "Air France performance highlights",
          "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 16:57:34.69+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "bdefe743-1532-4310-a1a9-6bf8eab1ab2e",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.8,
            "x": 0.1,
            "y": 0.84
          },
          "kind": "paragraph",
          "text": "Ongoing deliveries of A350, A220 and A320neo family aircraft across all airlines in Q3",
          "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 16:57:34.69+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "91093e56-ee23-41a8-993b-256b2f13d73b",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.1,
            "w": 0.9,
            "x": 0.05,
            "y": 0.1
          },
          "kind": "title",
          "text": "THIS SUMMER OUR GROUP PUT HARD WORK TO MEET THE OPERATIONAL CHALLENGES. TRANSFORMATIONAL EFFORTS REMAIN PRIORITY",
          "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 16:57:34.69+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "3e5a49be-202d-4331-b401-115e6227be36",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "The Rule of Three",
            "slug": "the-rule-of-three",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-8962-75cf-b4f8-9394501a6f33",
            "version": 1,
            "bodyDocId": null,
            "description": "Ideas presented in threes are more memorable and satisfying",
            "familyLabel": null,
            "categoryName": "Block",
            "categorySlug": "block"
          },
          "agent": "Storyteller",
          "layer": "block",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019dd95a-1a13-73b8-b32e-ee7be78f8ad3",
          "evidence": "Three parallel airline columns of accomplishments.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 85,
          "extraction": {
            "at": "2026-04-29 13:07:34.164277+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 4,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Three Pillars",
            "slug": "three-pillars",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-81ef-7455-a365-b234d95a6bbb",
            "version": 1,
            "bodyDocId": null,
            "description": "Three major supporting arguments that are MECE and address key concerns",
            "familyLabel": null,
            "categoryName": "Block",
            "categorySlug": "block"
          },
          "agent": "Architect",
          "layer": "block",
          "agents": [
            "Architect"
          ],
          "matchId": "019dd95a-1a13-73b8-b32e-eac6cfdfc9f7",
          "evidence": "Three branded columns: Air France, KLM, Transavia.",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": null,
          "confidence": 85,
          "extraction": {
            "at": "2026-04-29 13:07:34.164277+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 4,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Parallel Structure",
            "slug": "parallel-structure",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-9f34-762a-93b7-1d8e84bbd153",
            "version": 1,
            "bodyDocId": null,
            "description": "Using similar grammatical structure for related ideas",
            "familyLabel": null,
            "categoryName": "Loop",
            "categorySlug": "loop"
          },
          "agent": "Architect",
          "layer": "loop",
          "agents": [
            "Architect"
          ],
          "matchId": "019dd95a-1a13-73b8-b32e-f1d6d33e6304",
          "evidence": "Identical column scaffold per airline (header image, bullet list).",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 80,
          "extraction": {
            "at": "2026-04-29 13:07:34.164277+00",
            "model": "claude-legacy",
            "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": "019dd95a-1a13-73b8-b32e-fa908571f0c7",
          "evidence": "Title states insight: 'transformational efforts remain priority'.",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
          "confidence": 70,
          "extraction": {
            "at": "2026-04-29 13:07:34.164277+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 4,
          "whyItWorks": "Solves two failure modes at once. (1) The buried claim: action titles place the conclusion on the page before any analysis is read, so a busy reader doesn't reverse-engineer it from the chart. (2) The spineless deck: because each title is a claim, slides have to ladder up to the governing thought; logical gaps become visible as topic-shaped titles in a sequence that no longer reads as a story.",
          "antipattern": "Topic labels disguised as titles — Volume by quarter, Key findings, Pricing strategy, Margins have been impacted. No verb, or a passive verb with no agent, or a fact (Revenue grew 12%) without the so-what. Also: titles that overreach the chart's evidence, multi-claim X-grew-but-Y-fell welded titles, and mechanical repetition of the same X-drove-Y template across the deck.",
          "cardinality": null,
          "narrativePurpose": "Forces the deck to carry its argument in the title bar so a senior reader can extract the recommendation without opening a single slide; converts a binder of topics into a navigable pyramid where every slide is a node defending the apex."
        },
        {
          "tool": {
            "name": "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": "019dd95a-1a13-73b8-b32e-f7ebf249635c",
          "evidence": "Each column branded by airline color (red AF, blue KLM, green Transavia).",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 70,
          "extraction": {
            "at": "2026-04-29 13:07:34.164277+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 4,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 13,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 2,
          "name": "The Facts (What)",
          "beatId": "019dd95a-07a7-7579-bd62-3f9db52c8507",
          "matchId": "019dd95a-0543-7581-99b2-9d0776b15a85",
          "beatType": {
            "name": "The Facts (What)",
            "slug": "triple-take-the-facts-what",
            "status": "active",
            "canonId": "019dd9b8-092b-754c-8eaa-ede3ffdcb060",
            "version": 1,
            "description": null
          },
          "evidence": "Q3 highlights through financial results tables and waterfalls.",
          "position": 1,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Setup",
            "slug": "setup",
            "status": "active",
            "canonId": "019dd9b8-020e-7505-af9b-d9b9a4679bcc",
            "version": 1,
            "description": "Where the deck grounds the reader before doing anything else. Almost every arc opens here."
          },
          "alignedBlockIds": null,
          "matchConfidence": 78
        },
        {
          "to": 6,
          "arc": {
            "name": "The Consultant's Gambit",
            "slug": "consultants-gambit",
            "status": "active",
            "bestFor": "Business cases, project proposals, strategic recommendations",
            "canonId": "019dd956-5e0a-73c8-b305-81c38c959e9c",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Situation & Context -> Problem & Complication -> Solution & Approach -> Evidence & Proof -> Impact & Next Steps",
            "description": null,
            "familyLabel": null
          },
          "from": 2,
          "name": "Situation & Context",
          "beatId": "019dd95a-07a7-7579-bd62-4ab78502009f",
          "matchId": "019dd95a-0543-7581-99b2-a15900b78386",
          "beatType": {
            "name": "Situation & Context",
            "slug": "consultants-gambit-situation-context",
            "status": "active",
            "canonId": "019dd9b8-05ae-741b-992d-65ee83c639b3",
            "version": 1,
            "description": null
          },
          "evidence": "Highlights and strategic context (ops, customer, SAF).",
          "position": 1,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Setup",
            "slug": "setup",
            "status": "active",
            "canonId": "019dd9b8-020e-7505-af9b-d9b9a4679bcc",
            "version": 1,
            "description": "Where the deck grounds the reader before doing anything else. Almost every arc opens here."
          },
          "alignedBlockIds": null,
          "matchConfidence": 55
        }
      ],
      "loops": [
        {
          "to": 6,
          "from": 4,
          "loop": {
            "name": "40_mece_breakdown",
            "slug": "40-mece-breakdown",
            "status": "active",
            "bestFor": "Problem structuring, ensuring completeness, strategic analysis",
            "canonId": "019dd956-763c-765e-8b68-6ee3ae1ef184",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Whole -> Category A (distinct) -> Category B (distinct) -> Category C (distinct) -> Complete Coverage",
            "description": "Divide a complex topic into mutually exclusive, collectively exhaustive categories",
            "familyLabel": null
          },
          "matchId": "019dd95a-08f8-7619-ac2b-64e879b02735",
          "evidence": "p4 ops (3 brand columns), p5 customer experience, p6 sustainability — three non-overlapping activity buckets.",
          "position": 1,
          "objective": "Show three distinct pillars of Q3 strategic activity",
          "confidence": 70,
          "extraction": {
            "at": "2026-04-29 13:07:29.779839+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 5,
      "type": "setup",
      "function": "summarize",
      "rawType": "key_messages",
      "block": null,
      "metadata": {
        "slideType": "key_messages",
        "slideTypeCanon": {
          "name": "Key messages",
          "slug": "key_messages",
          "status": "active",
          "canonId": "019de52d-0712-703f-89f5-bda6688faf3f",
          "version": 1,
          "description": null
        },
        "function": "summarize",
        "functionCanon": {
          "name": "Summarize",
          "slug": "summarize",
          "status": "active",
          "canonId": "019de52d-1541-704f-b86f-bf7b75056373",
          "version": 1,
          "description": null
        },
        "density": "dense",
        "densityScore": 63,
        "componentCount": 8,
        "textChars": 614,
        "nDataPoints": 0,
        "notes": null,
        "elementsJson": [
          "headline_text",
          "action_title",
          "photo",
          "icon_grid"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 16:57:38.471+00",
          "seconds": 6.595,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5eff-723e-9be6-2c36e04f2df6/5",
        "deck": "/decks/019dd923-5eff-723e-9be6-2c36e04f2df6",
        "deckAnchor": "/decks/019dd923-5eff-723e-9be6-2c36e04f2df6#slide-5",
        "deckJson": "/decks/019dd923-5eff-723e-9be6-2c36e04f2df6.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.12,
            "w": 0.25,
            "x": 0.425,
            "y": 0.582
          },
          "kind": "image",
          "text": null,
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Image",
              "slug": "image",
              "status": "active",
              "canonId": "019de52c-f978-701f-a720-51d029d769e7",
              "version": 1,
              "description": "Photo, illustration, screenshot or icon."
            },
            "tool": null,
            "subkind": {
              "name": "Photo",
              "slug": "photo",
              "status": "active",
              "canonId": "019de52c-fd37-757f-b4a8-ca26d4888875",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "photo",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 16:57:38.471+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "37380457-a80c-4873-a6ba-c12696fa065d",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.12,
            "w": 0.25,
            "x": 0.425,
            "y": 0.442
          },
          "kind": "image",
          "text": null,
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Image",
              "slug": "image",
              "status": "active",
              "canonId": "019de52c-f978-701f-a720-51d029d769e7",
              "version": 1,
              "description": "Photo, illustration, screenshot or icon."
            },
            "tool": null,
            "subkind": {
              "name": "Photo",
              "slug": "photo",
              "status": "active",
              "canonId": "019de52c-fd37-757f-b4a8-ca26d4888875",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "photo",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 16:57:38.471+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "4d8a7a94-de46-4f0e-80ad-cbaa3b2ddac4",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.12,
            "w": 0.25,
            "x": 0.425,
            "y": 0.302
          },
          "kind": "image",
          "text": null,
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Image",
              "slug": "image",
              "status": "active",
              "canonId": "019de52c-f978-701f-a720-51d029d769e7",
              "version": 1,
              "description": "Photo, illustration, screenshot or icon."
            },
            "tool": null,
            "subkind": {
              "name": "Photo",
              "slug": "photo",
              "status": "active",
              "canonId": "019de52c-fd37-757f-b4a8-ca26d4888875",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "photo",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 16:57:38.471+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "c22d7e3a-5aaa-48e6-abdf-003d2dddcef3",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.09,
            "w": 0.28,
            "x": 0.708,
            "y": 0.317
          },
          "kind": "list",
          "text": "Even more exclusive La Première luxury ground experience. Inauguration of private and confidential journey for La Premiere customers at Paris-Charles de Gaulle",
          "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 16:57:38.471+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "2fa3186b-d671-4f83-8a64-71396cc0658f",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.09,
            "w": 0.28,
            "x": 0.708,
            "y": 0.597
          },
          "kind": "list",
          "text": "Flying Blue best airline loyalty program. According to points.me, grading program the highest score “Great” on 5 out of 7 criteria",
          "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 16:57:38.471+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "4eddfc59-f747-42bd-bd9f-0ce378a2ab78",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.09,
            "w": 0.28,
            "x": 0.708,
            "y": 0.457
          },
          "kind": "list",
          "text": "Free ultra-high-speed Wi-Fi starting from 2025. Starlink to provide a “ground-like” (x100) in-flight internet access as of S25 completely free of charge across all Air France network",
          "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 16:57:38.471+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "ed22220d-745c-4735-a91b-bac45a5eee31",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.065,
            "w": 0.328,
            "x": 0.089,
            "y": 0.247
          },
          "kind": "paragraph",
          "text": "SAS commercial cooperation is live. Air France and KLM codeshare, SkyTeam Alliance and Flying Blue",
          "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 16:57:38.471+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "8c9f1eba-caa4-47a1-ae3c-8b9605308197",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.06,
            "w": 0.55,
            "x": 0.409,
            "y": 0.115
          },
          "kind": "title",
          "text": "WE CONTINUE UPLIFTING OUR CUSTOMER EXPERIENCE",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 16:57:38.471+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "60068c4d-196f-424a-b235-085c34adc949",
          "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": "019dd95a-1a13-73b8-b32e-fe2bc8be84b7",
          "evidence": "Title is a claim: 'we continue uplifting our customer experience'.",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
          "confidence": 70,
          "extraction": {
            "at": "2026-04-29 13:07:34.164277+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 5,
          "whyItWorks": "Solves two failure modes at once. (1) The buried claim: action titles place the conclusion on the page before any analysis is read, so a busy reader doesn't reverse-engineer it from the chart. (2) The spineless deck: because each title is a claim, slides have to ladder up to the governing thought; logical gaps become visible as topic-shaped titles in a sequence that no longer reads as a story.",
          "antipattern": "Topic labels disguised as titles — Volume by quarter, Key findings, Pricing strategy, Margins have been impacted. No verb, or a passive verb with no agent, or a fact (Revenue grew 12%) without the so-what. Also: titles that overreach the chart's evidence, multi-claim X-grew-but-Y-fell welded titles, and mechanical repetition of the same X-drove-Y template across the deck.",
          "cardinality": null,
          "narrativePurpose": "Forces the deck to carry its argument in the title bar so a senior reader can extract the recommendation without opening a single slide; converts a binder of topics into a navigable pyramid where every slide is a node defending the apex."
        },
        {
          "tool": {
            "name": "Concrete Language",
            "slug": "concrete-language",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-bcd4-7398-9723-6aa72346170b",
            "version": 1,
            "bodyDocId": null,
            "description": "Using specific sensory details instead of abstract terms",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Storyteller",
          "layer": "slide",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019dd95a-1a13-73b8-b32f-03f91f5db787",
          "evidence": "Callout names concrete event: 'SAS commercial cooperation is live'.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 65,
          "extraction": {
            "at": "2026-04-29 13:07:34.164277+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 5,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 13,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 2,
          "name": "The Facts (What)",
          "beatId": "019dd95a-07a7-7579-bd62-3f9db52c8507",
          "matchId": "019dd95a-0543-7581-99b2-9d0776b15a85",
          "beatType": {
            "name": "The Facts (What)",
            "slug": "triple-take-the-facts-what",
            "status": "active",
            "canonId": "019dd9b8-092b-754c-8eaa-ede3ffdcb060",
            "version": 1,
            "description": null
          },
          "evidence": "Q3 highlights through financial results tables and waterfalls.",
          "position": 1,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Setup",
            "slug": "setup",
            "status": "active",
            "canonId": "019dd9b8-020e-7505-af9b-d9b9a4679bcc",
            "version": 1,
            "description": "Where the deck grounds the reader before doing anything else. Almost every arc opens here."
          },
          "alignedBlockIds": null,
          "matchConfidence": 78
        },
        {
          "to": 6,
          "arc": {
            "name": "The Consultant's Gambit",
            "slug": "consultants-gambit",
            "status": "active",
            "bestFor": "Business cases, project proposals, strategic recommendations",
            "canonId": "019dd956-5e0a-73c8-b305-81c38c959e9c",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Situation & Context -> Problem & Complication -> Solution & Approach -> Evidence & Proof -> Impact & Next Steps",
            "description": null,
            "familyLabel": null
          },
          "from": 2,
          "name": "Situation & Context",
          "beatId": "019dd95a-07a7-7579-bd62-4ab78502009f",
          "matchId": "019dd95a-0543-7581-99b2-a15900b78386",
          "beatType": {
            "name": "Situation & Context",
            "slug": "consultants-gambit-situation-context",
            "status": "active",
            "canonId": "019dd9b8-05ae-741b-992d-65ee83c639b3",
            "version": 1,
            "description": null
          },
          "evidence": "Highlights and strategic context (ops, customer, SAF).",
          "position": 1,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Setup",
            "slug": "setup",
            "status": "active",
            "canonId": "019dd9b8-020e-7505-af9b-d9b9a4679bcc",
            "version": 1,
            "description": "Where the deck grounds the reader before doing anything else. Almost every arc opens here."
          },
          "alignedBlockIds": null,
          "matchConfidence": 55
        }
      ],
      "loops": [
        {
          "to": 6,
          "from": 4,
          "loop": {
            "name": "40_mece_breakdown",
            "slug": "40-mece-breakdown",
            "status": "active",
            "bestFor": "Problem structuring, ensuring completeness, strategic analysis",
            "canonId": "019dd956-763c-765e-8b68-6ee3ae1ef184",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Whole -> Category A (distinct) -> Category B (distinct) -> Category C (distinct) -> Complete Coverage",
            "description": "Divide a complex topic into mutually exclusive, collectively exhaustive categories",
            "familyLabel": null
          },
          "matchId": "019dd95a-08f8-7619-ac2b-64e879b02735",
          "evidence": "p4 ops (3 brand columns), p5 customer experience, p6 sustainability — three non-overlapping activity buckets.",
          "position": 1,
          "objective": "Show three distinct pillars of Q3 strategic activity",
          "confidence": 70,
          "extraction": {
            "at": "2026-04-29 13:07:29.779839+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 6,
      "type": "resolution",
      "title": "The slide uses icons to categorize three key pillars of their SAF strategy: supply agreements, production partnerships, and advocacy.",
      "function": "summarize",
      "rawType": "key_takeaways",
      "block": null,
      "metadata": {
        "slideType": "key_takeaways",
        "slideTypeCanon": {
          "name": "Key takeaways",
          "slug": "key_takeaways",
          "status": "active",
          "canonId": "019de52d-06e7-7674-a891-9f7de3b11b6d",
          "version": 1,
          "description": null
        },
        "function": "summarize",
        "functionCanon": {
          "name": "Summarize",
          "slug": "summarize",
          "status": "active",
          "canonId": "019de52d-1541-704f-b86f-bf7b75056373",
          "version": 1,
          "description": null
        },
        "density": "dense",
        "densityScore": 56,
        "componentCount": 6,
        "textChars": 750,
        "nDataPoints": 2,
        "notes": "The slide uses icons to categorize three key pillars of their SAF strategy: supply agreements, production partnerships, and advocacy.",
        "elementsJson": [
          "headline_text",
          "bullet_list",
          "icon_grid",
          "photo",
          "footnote"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 16:57:35.089+00",
          "seconds": 3.115,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5eff-723e-9be6-2c36e04f2df6/6",
        "deck": "/decks/019dd923-5eff-723e-9be6-2c36e04f2df6",
        "deckAnchor": "/decks/019dd923-5eff-723e-9be6-2c36e04f2df6#slide-6",
        "deckJson": "/decks/019dd923-5eff-723e-9be6-2c36e04f2df6.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.15,
            "w": 0.65,
            "x": 0.15,
            "y": 0.5
          },
          "kind": "list",
          "text": "Several strategic agreements signed across the globe to push forward SAF production initiatives, including: SAF+ International Group, Raven, DG Fuels, KerEauzen (ENGIE), Take Kair (EDF), BioTJet, Neste, OMV",
          "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 16:57:35.089+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "1f4a727a-72a8-4cf9-b452-425da249c082",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.65,
            "x": 0.15,
            "y": 0.3
          },
          "kind": "list",
          "text": "Signature of a SAF offtake agreement with TotalEnergies, for the supply of up to 1.5 million tons of SAF over 10 years, increasing the Group's planned direct contribution to its' homebase economies",
          "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 16:57:35.089+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "a9193fc0-d9a0-4353-9799-e0e910789250",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.65,
            "x": 0.15,
            "y": 0.7
          },
          "kind": "list",
          "text": "We multiply our efforts in advocating for a level-playing field across national and global platforms: in favor of harmonized and aligned industrial mechanisms",
          "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 16:57:35.089+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "b5f7f214-2861-4590-86b7-c768292d894f",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "SAF volume: 1.5 million tons",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-27 03:06:43+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-5be9-7345-ace7-869b81f752bd",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.3,
            "x": 0.05,
            "y": 0.95
          },
          "kind": "source-note",
          "text": "Notes: (1) based on IATA data as of December 2023",
          "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 16:57:35.089+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "7ee59338-5574-4707-be29-fd51e232a7f0",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.9,
            "x": 0.05,
            "y": 0.1
          },
          "kind": "title",
          "text": "AS THE WORLD'S LARGEST SAF PURCHASER¹ AMONG AIRLINES FOR 2 CONSECUTIVE YEARS, WE CONTINUE TO SECURE OUR SOURCING",
          "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 16:57:35.089+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "a229fd05-5ba5-4d07-83c7-664c5bbd5853",
          "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": "019dd95a-1a13-73b8-b32f-0e26bdb6a065",
          "evidence": "Title states sourcing claim, not topic.",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
          "confidence": 70,
          "extraction": {
            "at": "2026-04-29 13:07:34.164277+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 6,
          "whyItWorks": "Solves two failure modes at once. (1) The buried claim: action titles place the conclusion on the page before any analysis is read, so a busy reader doesn't reverse-engineer it from the chart. (2) The spineless deck: because each title is a claim, slides have to ladder up to the governing thought; logical gaps become visible as topic-shaped titles in a sequence that no longer reads as a story.",
          "antipattern": "Topic labels disguised as titles — Volume by quarter, Key findings, Pricing strategy, Margins have been impacted. No verb, or a passive verb with no agent, or a fact (Revenue grew 12%) without the so-what. Also: titles that overreach the chart's evidence, multi-claim X-grew-but-Y-fell welded titles, and mechanical repetition of the same X-drove-Y template across the deck.",
          "cardinality": null,
          "narrativePurpose": "Forces the deck to carry its argument in the title bar so a senior reader can extract the recommendation without opening a single slide; converts a binder of topics into a navigable pyramid where every slide is a node defending the apex."
        },
        {
          "tool": {
            "name": "Authority Bias",
            "slug": "authority-bias",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-c38d-70b9-a284-b2b479763356",
            "version": 1,
            "bodyDocId": null,
            "description": "Expert opinions are weighted more heavily - cite credible sources",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Storyteller",
          "layer": "slide",
          "agents": [
            "Architect",
            "Storyteller"
          ],
          "matchId": "019dd95a-1a13-73b8-b32f-06142ecec58e",
          "evidence": "Title claims 'world's largest SAF purchaser among airlines for 2 consecutive years'.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 80,
          "extraction": {
            "at": "2026-04-29 13:07:34.164277+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 6,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Concrete Language",
            "slug": "concrete-language",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-bcd4-7398-9723-6aa72346170b",
            "version": 1,
            "bodyDocId": null,
            "description": "Using specific sensory details instead of abstract terms",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Storyteller",
          "layer": "slide",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019dd95a-1a13-73b8-b32f-0bd3a38ede27",
          "evidence": "Specific volume: 1.5 million tons of SAF.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 80,
          "extraction": {
            "at": "2026-04-29 13:07:34.164277+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 6,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 13,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 2,
          "name": "The Facts (What)",
          "beatId": "019dd95a-07a7-7579-bd62-3f9db52c8507",
          "matchId": "019dd95a-0543-7581-99b2-9d0776b15a85",
          "beatType": {
            "name": "The Facts (What)",
            "slug": "triple-take-the-facts-what",
            "status": "active",
            "canonId": "019dd9b8-092b-754c-8eaa-ede3ffdcb060",
            "version": 1,
            "description": null
          },
          "evidence": "Q3 highlights through financial results tables and waterfalls.",
          "position": 1,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Setup",
            "slug": "setup",
            "status": "active",
            "canonId": "019dd9b8-020e-7505-af9b-d9b9a4679bcc",
            "version": 1,
            "description": "Where the deck grounds the reader before doing anything else. Almost every arc opens here."
          },
          "alignedBlockIds": null,
          "matchConfidence": 78
        },
        {
          "to": 6,
          "arc": {
            "name": "The Consultant's Gambit",
            "slug": "consultants-gambit",
            "status": "active",
            "bestFor": "Business cases, project proposals, strategic recommendations",
            "canonId": "019dd956-5e0a-73c8-b305-81c38c959e9c",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Situation & Context -> Problem & Complication -> Solution & Approach -> Evidence & Proof -> Impact & Next Steps",
            "description": null,
            "familyLabel": null
          },
          "from": 2,
          "name": "Situation & Context",
          "beatId": "019dd95a-07a7-7579-bd62-4ab78502009f",
          "matchId": "019dd95a-0543-7581-99b2-a15900b78386",
          "beatType": {
            "name": "Situation & Context",
            "slug": "consultants-gambit-situation-context",
            "status": "active",
            "canonId": "019dd9b8-05ae-741b-992d-65ee83c639b3",
            "version": 1,
            "description": null
          },
          "evidence": "Highlights and strategic context (ops, customer, SAF).",
          "position": 1,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Setup",
            "slug": "setup",
            "status": "active",
            "canonId": "019dd9b8-020e-7505-af9b-d9b9a4679bcc",
            "version": 1,
            "description": "Where the deck grounds the reader before doing anything else. Almost every arc opens here."
          },
          "alignedBlockIds": null,
          "matchConfidence": 55
        }
      ],
      "loops": [
        {
          "to": 6,
          "from": 4,
          "loop": {
            "name": "40_mece_breakdown",
            "slug": "40-mece-breakdown",
            "status": "active",
            "bestFor": "Problem structuring, ensuring completeness, strategic analysis",
            "canonId": "019dd956-763c-765e-8b68-6ee3ae1ef184",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Whole -> Category A (distinct) -> Category B (distinct) -> Category C (distinct) -> Complete Coverage",
            "description": "Divide a complex topic into mutually exclusive, collectively exhaustive categories",
            "familyLabel": null
          },
          "matchId": "019dd95a-08f8-7619-ac2b-64e879b02735",
          "evidence": "p4 ops (3 brand columns), p5 customer experience, p6 sustainability — three non-overlapping activity buckets.",
          "position": 1,
          "objective": "Show three distinct pillars of Q3 strategic activity",
          "confidence": 70,
          "extraction": {
            "at": "2026-04-29 13:07:29.779839+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 7,
      "type": "setup",
      "function": "present_solution",
      "rawType": "initiative_list",
      "block": null,
      "metadata": {
        "slideType": "initiative_list",
        "slideTypeCanon": {
          "name": "Initiative list",
          "slug": "initiative_list",
          "status": "active",
          "canonId": "019de52d-0caf-770e-9b91-b99239121f50",
          "version": 1,
          "description": null
        },
        "function": "present_solution",
        "functionCanon": {
          "name": "Present solution",
          "slug": "present_solution",
          "status": "active",
          "canonId": "019de52d-15b8-71da-bd23-2b767850cbce",
          "version": 1,
          "description": null
        },
        "density": "dense",
        "densityScore": 73,
        "componentCount": 8,
        "textChars": 798,
        "nDataPoints": 3,
        "notes": null,
        "elementsJson": [
          "headline_text",
          "photo",
          "bullet_list",
          "process_diagram"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 16:57:41.468+00",
          "seconds": 9.353,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5eff-723e-9be6-2c36e04f2df6/7",
        "deck": "/decks/019dd923-5eff-723e-9be6-2c36e04f2df6",
        "deckAnchor": "/decks/019dd923-5eff-723e-9be6-2c36e04f2df6#slide-7",
        "deckJson": "/decks/019dd923-5eff-723e-9be6-2c36e04f2df6.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.6,
            "w": 0.28,
            "x": 0.02,
            "y": 0.23
          },
          "kind": "image",
          "text": null,
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Image",
              "slug": "image",
              "status": "active",
              "canonId": "019de52c-f978-701f-a720-51d029d769e7",
              "version": 1,
              "description": "Photo, illustration, screenshot or icon."
            },
            "tool": null,
            "subkind": {
              "name": "Photo",
              "slug": "photo",
              "status": "active",
              "canonId": "019de52c-fd37-757f-b4a8-ca26d4888875",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "photo",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 16:57:41.468+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "95c7d1e3-a773-42af-a0b7-a25b11d26a1c",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.5,
            "x": 0.44,
            "y": 0.81
          },
          "kind": "list",
          "text": "Reconsider Capex: Run CAPEX prioritization program to improve Free Cash Flow",
          "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 16:57:41.468+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "2e8f1f91-ac4d-4095-a082-24b369130035",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.08,
            "w": 0.5,
            "x": 0.44,
            "y": 0.67
          },
          "kind": "list",
          "text": "Reconsider business mix: Optimize the contribution of E&M, Cargo and Transavia; Explore strategic options for KLM Catering Services",
          "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 16:57:41.468+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "37354757-6b9a-401c-9e72-09e5ff71e28e",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.08,
            "w": 0.5,
            "x": 0.44,
            "y": 0.54
          },
          "kind": "list",
          "text": "Increase operational capacity: Secure long haul production capacity growth; Enhance fleet availability",
          "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 16:57:41.468+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "751379ca-96c1-47df-813b-d22631360183",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.1,
            "w": 0.5,
            "x": 0.44,
            "y": 0.26
          },
          "kind": "list",
          "text": "Increase productivity: Improve labor productivity in 2025 by 5%, saving €200M; Focus and advancement on structural improvement projects; To be included in collective labor agreement discussion",
          "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 16:57:41.468+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "922b9cea-5a2a-4a4e-9973-2c0555293c64",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.1,
            "w": 0.5,
            "x": 0.44,
            "y": 0.41
          },
          "kind": "list",
          "text": "Increase revenues: Increase revenues by at least by at least €100m with increased focus on ancillaries, dynamic pricing and premium product; Start test paid catering Q1 2025",
          "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 16:57:41.468+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "aac017cb-05db-4c9d-9039-7ed38193617c",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "EBIT improvement: €450M",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-27 03:06:42+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-5be9-7345-ace7-2e7f4e5f9a85",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.9,
            "x": 0.05,
            "y": 0.05
          },
          "kind": "title",
          "text": "KLM'S 'BACK ON TRACK' TARGETS €450M SHORT-TERM EBIT IMPROVEMENT AND EBIT MARGIN ABOVE 8% BY 2026-2028",
          "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 16:57:41.468+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "0bd5d34d-b037-4419-94a7-c0e7b685683e",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "Chunking",
            "slug": "chunking",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-abab-72ce-b64c-2924cc83cf39",
            "version": 1,
            "bodyDocId": null,
            "description": "Information grouped into chunks is remembered better - structure content in digestible units",
            "familyLabel": null,
            "categoryName": "Loop",
            "categorySlug": "loop"
          },
          "agent": "Architect",
          "layer": "loop",
          "agents": [
            "Architect"
          ],
          "matchId": "019dd95a-1a13-73b8-b32f-182bed5cfc81",
          "evidence": "5 numbered chunks: productivity, revenues, capacity, business mix, capex.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 85,
          "extraction": {
            "at": "2026-04-29 13:07:34.164277+00",
            "model": "claude-legacy",
            "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": "019dd95a-1a13-73b8-b32f-13c60d81d579",
          "evidence": "Title states quantified target: '€450M short-term EBIT improvement and EBIT margin above 8% by 2026-2028'.",
          "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-04-29 13:07:34.164277+00",
            "model": "claude-legacy",
            "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": "Concrete Language",
            "slug": "concrete-language",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-bcd4-7398-9723-6aa72346170b",
            "version": 1,
            "bodyDocId": null,
            "description": "Using specific sensory details instead of abstract terms",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Storyteller",
          "layer": "slide",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019dd95a-1a13-73b8-b32f-1dead1ba90cd",
          "evidence": "Specific figures: 5% productivity, €200M, €100M, Q1 2025 catering test.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 80,
          "extraction": {
            "at": "2026-04-29 13:07:34.164277+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 7,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Grid System",
            "slug": "grid-system",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-b745-710f-8b70-825c603b1163",
            "version": 1,
            "bodyDocId": null,
            "description": "Aligning elements to invisible grid for visual harmony",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "019dd95a-1a13-73b8-b32f-1785d4e3156b",
          "evidence": "Five numbered levers aligned on a strict left-to-right grid radiating from circle.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 85,
          "extraction": {
            "at": "2026-04-29 13:07:34.164277+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 7,
          "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": "019dd95a-1a13-73b8-b32f-228568f097f9",
          "evidence": "Bold lever headlines dominate over bullet sub-detail.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 70,
          "extraction": {
            "at": "2026-04-29 13:07:34.164277+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 7,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 13,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 2,
          "name": "The Facts (What)",
          "beatId": "019dd95a-07a7-7579-bd62-3f9db52c8507",
          "matchId": "019dd95a-0543-7581-99b2-9d0776b15a85",
          "beatType": {
            "name": "The Facts (What)",
            "slug": "triple-take-the-facts-what",
            "status": "active",
            "canonId": "019dd9b8-092b-754c-8eaa-ede3ffdcb060",
            "version": 1,
            "description": null
          },
          "evidence": "Q3 highlights through financial results tables and waterfalls.",
          "position": 1,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Setup",
            "slug": "setup",
            "status": "active",
            "canonId": "019dd9b8-020e-7505-af9b-d9b9a4679bcc",
            "version": 1,
            "description": "Where the deck grounds the reader before doing anything else. Almost every arc opens here."
          },
          "alignedBlockIds": null,
          "matchConfidence": 78
        },
        {
          "to": 7,
          "arc": {
            "name": "The Consultant's Gambit",
            "slug": "consultants-gambit",
            "status": "active",
            "bestFor": "Business cases, project proposals, strategic recommendations",
            "canonId": "019dd956-5e0a-73c8-b305-81c38c959e9c",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Situation & Context -> Problem & Complication -> Solution & Approach -> Evidence & Proof -> Impact & Next Steps",
            "description": null,
            "familyLabel": null
          },
          "from": 7,
          "name": "Solution & Approach",
          "beatId": "019dd95a-07a7-7579-bd62-53cc5823fa2a",
          "matchId": "019dd95a-0543-7581-99b2-a15900b78386",
          "beatType": {
            "name": "Solution & Approach",
            "slug": "consultants-gambit-solution-approach",
            "status": "active",
            "canonId": "019dd9b8-071c-7161-9184-580fdac7a4f9",
            "version": 1,
            "description": null
          },
          "evidence": "KLM Back on Track 5-lever transformation plan.",
          "position": 3,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Turn",
            "slug": "turn",
            "status": "active",
            "canonId": "019dd9b8-0396-702b-ac2f-9901f8dd8b54",
            "version": 1,
            "description": "The pivot — solution proposed, catalyst introduced, decision made. Common (15/20 arcs) but not universal: Triple-take, AIDA, PAS, Voyage-return and Pixar substitute it with a strong reflection or development beat."
          },
          "alignedBlockIds": null,
          "matchConfidence": 55
        }
      ],
      "loops": [],
      "locked": true
    },
    {
      "page": 8,
      "type": "setup",
      "function": "front_matter",
      "rawType": "cover",
      "block": null,
      "metadata": {
        "slideType": "cover",
        "slideTypeCanon": {
          "name": "Cover",
          "slug": "cover",
          "status": "active",
          "canonId": "019de52d-05f2-729d-9f93-e0504f0a2410",
          "version": 1,
          "description": null
        },
        "function": "front_matter",
        "functionCanon": {
          "name": "Front matter",
          "slug": "front_matter",
          "status": "active",
          "canonId": "019de52d-133d-73f0-9e26-201eda96b098",
          "version": 1,
          "description": null
        },
        "density": "sparse",
        "densityScore": 8,
        "componentCount": 3,
        "textChars": 96,
        "nDataPoints": 0,
        "notes": null,
        "elementsJson": [
          "headline_text"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 16:57:34.251+00",
          "seconds": 2.082,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5eff-723e-9be6-2c36e04f2df6/8",
        "deck": "/decks/019dd923-5eff-723e-9be6-2c36e04f2df6",
        "deckAnchor": "/decks/019dd923-5eff-723e-9be6-2c36e04f2df6#slide-8",
        "deckJson": "/decks/019dd923-5eff-723e-9be6-2c36e04f2df6.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.03,
            "w": 0.18,
            "x": 0.765,
            "y": 0.935
          },
          "kind": "image",
          "text": "AIRFRANCE KLM 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 16:57:34.251+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "f0e01742-9d6d-4888-b15a-a08c9cf34ec8",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.025,
            "w": 0.435,
            "x": 0.055,
            "y": 0.575
          },
          "kind": "paragraph",
          "text": "Steven Zaat – Chief Financial Officer Air France-KLM",
          "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 16:57:34.251+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "5a95ce34-25c8-4e2c-80ec-92fb3847b944",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.045,
            "w": 0.535,
            "x": 0.055,
            "y": 0.485
          },
          "kind": "title",
          "text": "Q3 2024 FINANCIAL RESULTS",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 16:57:34.251+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "24791c71-f100-4ccf-b1c3-cb87fcde0ac0",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 13,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 2,
          "name": "The Facts (What)",
          "beatId": "019dd95a-07a7-7579-bd62-3f9db52c8507",
          "matchId": "019dd95a-0543-7581-99b2-9d0776b15a85",
          "beatType": {
            "name": "The Facts (What)",
            "slug": "triple-take-the-facts-what",
            "status": "active",
            "canonId": "019dd9b8-092b-754c-8eaa-ede3ffdcb060",
            "version": 1,
            "description": null
          },
          "evidence": "Q3 highlights through financial results tables and waterfalls.",
          "position": 1,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Setup",
            "slug": "setup",
            "status": "active",
            "canonId": "019dd9b8-020e-7505-af9b-d9b9a4679bcc",
            "version": 1,
            "description": "Where the deck grounds the reader before doing anything else. Almost every arc opens here."
          },
          "alignedBlockIds": null,
          "matchConfidence": 78
        },
        {
          "to": 13,
          "arc": {
            "name": "The Consultant's Gambit",
            "slug": "consultants-gambit",
            "status": "active",
            "bestFor": "Business cases, project proposals, strategic recommendations",
            "canonId": "019dd956-5e0a-73c8-b305-81c38c959e9c",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Situation & Context -> Problem & Complication -> Solution & Approach -> Evidence & Proof -> Impact & Next Steps",
            "description": null,
            "familyLabel": null
          },
          "from": 8,
          "name": "Evidence & Proof",
          "beatId": "019dd95a-07a7-7579-bd62-57ea905a897f",
          "matchId": "019dd95a-0543-7581-99b2-a15900b78386",
          "beatType": {
            "name": "Evidence & Proof",
            "slug": "consultants-gambit-evidence-proof",
            "status": "active",
            "canonId": "019dd9b8-07b1-7688-8e1e-7637fec3802a",
            "version": 1,
            "description": null
          },
          "evidence": "Financial deep dive: revenue, operating result, yield, leverage.",
          "position": 4,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Evidence",
            "slug": "evidence",
            "status": "active",
            "canonId": "019dd9b8-03f9-772a-b84a-4f07b415b77a",
            "version": 1,
            "description": "A dedicated proof beat exists in only ~4 arcs (Gambit, Sequoia, AIDA, Monroes). Other arcs embed evidence inline within development."
          },
          "alignedBlockIds": null,
          "matchConfidence": 55
        }
      ],
      "loops": [],
      "locked": true
    },
    {
      "page": 9,
      "type": "analysis",
      "function": "analyze_data",
      "rawType": "kpi_dashboard",
      "block": null,
      "metadata": {
        "slideType": "kpi_dashboard",
        "slideTypeCanon": {
          "name": "KPI dashboard",
          "slug": "kpi_dashboard",
          "status": "active",
          "canonId": "019de52d-0be5-7295-af4d-b850fe7b7e65",
          "version": 1,
          "description": null
        },
        "function": "analyze_data",
        "functionCanon": {
          "name": "Analyze data",
          "slug": "analyze_data",
          "status": "active",
          "canonId": "019de52d-1590-7413-8c82-cc218cff40b4",
          "version": 1,
          "description": null
        },
        "density": "dense",
        "densityScore": 67,
        "componentCount": 8,
        "textChars": 483,
        "nDataPoints": 25,
        "notes": null,
        "elementsJson": [
          "data_table",
          "waterfall_chart",
          "bar_chart_vertical",
          "callout_box"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 16:57:34.902+00",
          "seconds": 2.686,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5eff-723e-9be6-2c36e04f2df6/9",
        "deck": "/decks/019dd923-5eff-723e-9be6-2c36e04f2df6",
        "deckAnchor": "/decks/019dd923-5eff-723e-9be6-2c36e04f2df6#slide-9",
        "deckJson": "/decks/019dd923-5eff-723e-9be6-2c36e04f2df6.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.15,
            "w": 0.48,
            "x": 0.5,
            "y": 0.7
          },
          "kind": "callout",
          "text": "Operating result stable excluding Olympic Games impact",
          "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 16:57:34.902+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "3d575599-31e8-4480-8b12-4da423174173",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "callout",
          "text": "Unit cost evolution per airline Air France-KLM: +3.4% (€230m) > Air France Group: -0.4% > KLM Group: +8.4%",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": {
              "name": "Visual emphasis",
              "slug": "visual-emphasis",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-474b-736b-a8eb-a794dd88241c",
              "version": 1,
              "bodyDocId": null,
              "description": "Drawing the eye to one element above the rest of the slide.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-27 03:06:46+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-5be9-7345-ace9-b622e48cdff1",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.2,
            "w": 0.44,
            "x": 0.02,
            "y": 0.7
          },
          "kind": "chart",
          "text": "Operating result Year-on-Year evolution normalized after Olympic Games",
          "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 16:57:34.902+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "5445c642-2436-4333-84e4-2aac08040985",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.45,
            "w": 0.48,
            "x": 0.5,
            "y": 0.22
          },
          "kind": "chart",
          "text": "Operating result evolution waterfall chart",
          "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 16:57:34.902+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "bc8e3194-24a7-4f4f-b64c-fa7fd9582b0f",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Operating result: 1,180",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-27 03:06:46+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-5be9-7345-ace9-b92fb99e1456",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.4,
            "x": 0.02,
            "y": 0.9
          },
          "kind": "source-note",
          "text": "1) Unit cost at constant fuel, constant currency and excluding ETS",
          "attrs": {
            "numbered": true
          },
          "canon": {
            "kind": {
              "name": "Source note",
              "slug": "source-note",
              "status": "active",
              "canonId": "23484952-494b-4a5e-b1ad-550d0d70e948",
              "version": 1,
              "description": "Attribution / source / caveat placed at the slide footer. Numbered footnotes use attrs.numbered."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 16:57:34.902+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "0ef6f121-47b9-47fa-8d56-4340db30e3fd",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.25,
            "w": 0.44,
            "x": 0.02,
            "y": 0.318
          },
          "kind": "table",
          "text": "Q3 2024 vs Q3 2023 financial results table",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Table",
              "slug": "table",
              "status": "active",
              "canonId": "019de52c-f9c8-7148-8119-eaac9594cd28",
              "version": 1,
              "description": "Tabular data layout."
            },
            "tool": null,
            "subkind": {
              "name": "Data table",
              "slug": "data",
              "status": "active",
              "canonId": "019de52d-02d5-75b8-8abf-88e92bf63569",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "data",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 16:57:34.902+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "88418828-b214-4543-bd5e-13bb4f6f0dd6",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.08,
            "w": 0.6,
            "x": 0.02,
            "y": 0.08
          },
          "kind": "title",
          "text": "UNDERLYING UNIT REVENUE TREND FAVORABLE\nUNFAVORABLE UNIT COST DEVELOPMENT AT KLM",
          "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 16:57:34.902+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "89a31dfa-4628-4491-818c-5515039b5efb",
          "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": "019dd95a-1a13-73b8-b32f-33547ab79705",
          "evidence": "Favorable revenue vs unfavorable cost framed as antithesis.",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": null,
          "confidence": 80,
          "extraction": {
            "at": "2026-04-29 13:07:34.164277+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 9,
          "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": "019dd95a-1a13-73b8-b32f-379203f28d9b",
          "evidence": "Context (P&L) → conflict (cost) → insight ('stable ex-Olympics').",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": null,
          "confidence": 75,
          "extraction": {
            "at": "2026-04-29 13:07:34.164277+00",
            "model": "claude-legacy",
            "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": "019dd95a-1a13-73b8-b32f-2fb7ff42dea4",
          "evidence": "Two-line action title: 'unit revenue favorable / unit cost development unfavorable at KLM'.",
          "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-04-29 13:07:34.164277+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 9,
          "whyItWorks": "Solves two failure modes at once. (1) The buried claim: action titles place the conclusion on the page before any analysis is read, so a busy reader doesn't reverse-engineer it from the chart. (2) The spineless deck: because each title is a claim, slides have to ladder up to the governing thought; logical gaps become visible as topic-shaped titles in a sequence that no longer reads as a story.",
          "antipattern": "Topic labels disguised as titles — Volume by quarter, Key findings, Pricing strategy, Margins have been impacted. No verb, or a passive verb with no agent, or a fact (Revenue grew 12%) without the so-what. Also: titles that overreach the chart's evidence, multi-claim X-grew-but-Y-fell welded titles, and mechanical repetition of the same X-drove-Y template across the deck.",
          "cardinality": null,
          "narrativePurpose": "Forces the deck to carry its argument in the title bar so a senior reader can extract the recommendation without opening a single slide; converts a binder of topics into a navigable pyramid where every slide is a node defending the apex."
        },
        {
          "tool": {
            "name": "Annotation",
            "slug": "annotation",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-b5b9-7668-bf0e-3af99823ec5c",
            "version": 1,
            "bodyDocId": null,
            "description": "Adding explanatory labels to highlight key data points",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "019dd95a-1a13-73b8-b32f-28f15b6bfabd",
          "evidence": "Each waterfall step labelled (Olympic -160, Unit Revenue +113, Fuel +100, Unit cost -230).",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 85,
          "extraction": {
            "at": "2026-04-29 13:07:34.164277+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 9,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Chart Selection Guide",
            "slug": "chart-selection-guide",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-b1a0-700b-ba17-0e16c4d5bcae",
            "version": 1,
            "bodyDocId": null,
            "description": "Choosing the right chart type for your data and message",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "019dd95a-1a13-73b8-b32f-26347aad9d09",
          "evidence": "Operating result evolution drawn as a value waterfall — fitting bridge data.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 90,
          "extraction": {
            "at": "2026-04-29 13:07:34.164277+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 9,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Color Strategy",
            "slug": "color-strategy",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-b202-77cf-8a6e-f445b08c0fd3",
            "version": 1,
            "bodyDocId": null,
            "description": "Using color for emphasis, categories, sentiment, and hierarchy",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "019dd95a-1a13-73b8-b32f-3b2d13f0bfeb",
          "evidence": "Endpoint bars in deep blue, deltas in grey to separate baseline from drivers.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 70,
          "extraction": {
            "at": "2026-04-29 13:07:34.164277+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 9,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Waterfall chart",
            "slug": "waterfall-chart",
            "status": "active",
            "bestFor": null,
            "canonId": "e2799da3-725f-44a9-a093-570f1f388e64",
            "version": 1,
            "bodyDocId": null,
            "description": null,
            "familyLabel": null,
            "categoryName": null,
            "categorySlug": null
          },
          "agent": null,
          "layer": "slide",
          "agents": null,
          "matchId": "51a4ab01-ba4d-46a3-9a0c-3e80fc3e89bd",
          "evidence": "The slide contains a waterfall chart showing the operating result evolution, which is a clear instantiation of a waterfall chart.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.9,
          "extraction": {
            "at": "2026-07-16 22:15:50.155444+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 9,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [
        {
          "matchId": "019dd95a-1d21-7467-a466-b3be5988a87b",
          "evidence": "Right panel labelled 'Operating result evolution' as classic waterfall (Olympics, Unit Revenue, Fuel, Unit cost, Other).",
          "framework": null,
          "confidence": 90,
          "extraction": {
            "at": "2026-04-29 13:07:34.940444+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 9,
          "frameworkName": "Value Bridge / Operating Result Waterfall"
        }
      ],
      "arcBeats": [
        {
          "to": 13,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 2,
          "name": "The Facts (What)",
          "beatId": "019dd95a-07a7-7579-bd62-3f9db52c8507",
          "matchId": "019dd95a-0543-7581-99b2-9d0776b15a85",
          "beatType": {
            "name": "The Facts (What)",
            "slug": "triple-take-the-facts-what",
            "status": "active",
            "canonId": "019dd9b8-092b-754c-8eaa-ede3ffdcb060",
            "version": 1,
            "description": null
          },
          "evidence": "Q3 highlights through financial results tables and waterfalls.",
          "position": 1,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Setup",
            "slug": "setup",
            "status": "active",
            "canonId": "019dd9b8-020e-7505-af9b-d9b9a4679bcc",
            "version": 1,
            "description": "Where the deck grounds the reader before doing anything else. Almost every arc opens here."
          },
          "alignedBlockIds": null,
          "matchConfidence": 78
        },
        {
          "to": 11,
          "arc": {
            "name": "The Consultant's Gambit",
            "slug": "consultants-gambit",
            "status": "active",
            "bestFor": "Business cases, project proposals, strategic recommendations",
            "canonId": "019dd956-5e0a-73c8-b305-81c38c959e9c",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Situation & Context -> Problem & Complication -> Solution & Approach -> Evidence & Proof -> Impact & Next Steps",
            "description": null,
            "familyLabel": null
          },
          "from": 9,
          "name": "Problem & Complication",
          "beatId": "019dd95a-07a7-7579-bd62-4c4f0ea4594f",
          "matchId": "019dd95a-0543-7581-99b2-a15900b78386",
          "beatType": {
            "name": "Problem & Complication",
            "slug": "consultants-gambit-problem-complication",
            "status": "active",
            "canonId": "019dd9b8-064a-777f-a374-e9a8c43dedd4",
            "version": 1,
            "description": null
          },
          "evidence": "Cost pressure at KLM and Olympic Games impact at Air France.",
          "position": 2,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Complication",
            "slug": "complication",
            "status": "active",
            "canonId": "019dd9b8-0275-7709-b2d6-4f77c3fc7579",
            "version": 1,
            "description": "The point in the narrative where the audience should feel discomfort. Required for argumentative arcs."
          },
          "alignedBlockIds": null,
          "matchConfidence": 55
        },
        {
          "to": 13,
          "arc": {
            "name": "The Consultant's Gambit",
            "slug": "consultants-gambit",
            "status": "active",
            "bestFor": "Business cases, project proposals, strategic recommendations",
            "canonId": "019dd956-5e0a-73c8-b305-81c38c959e9c",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Situation & Context -> Problem & Complication -> Solution & Approach -> Evidence & Proof -> Impact & Next Steps",
            "description": null,
            "familyLabel": null
          },
          "from": 8,
          "name": "Evidence & Proof",
          "beatId": "019dd95a-07a7-7579-bd62-57ea905a897f",
          "matchId": "019dd95a-0543-7581-99b2-a15900b78386",
          "beatType": {
            "name": "Evidence & Proof",
            "slug": "consultants-gambit-evidence-proof",
            "status": "active",
            "canonId": "019dd9b8-07b1-7688-8e1e-7637fec3802a",
            "version": 1,
            "description": null
          },
          "evidence": "Financial deep dive: revenue, operating result, yield, leverage.",
          "position": 4,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Evidence",
            "slug": "evidence",
            "status": "active",
            "canonId": "019dd9b8-03f9-772a-b84a-4f07b415b77a",
            "version": 1,
            "description": "A dedicated proof beat exists in only ~4 arcs (Gambit, Sequoia, AIDA, Monroes). Other arcs embed evidence inline within development."
          },
          "alignedBlockIds": null,
          "matchConfidence": 55
        }
      ],
      "loops": [
        {
          "to": 13,
          "from": 9,
          "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": "019dd95a-08f8-7619-ac2b-6831b7fe5a53",
          "evidence": "p9 waterfall, p10 revenue by segment, p11 op result by airline, p12 yield, p13 leverage — data → so-what.",
          "position": 2,
          "objective": "Cascade from headline P&L to implications by airline and balance sheet",
          "confidence": 75,
          "extraction": {
            "at": "2026-04-29 13:07:29.779839+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 10,
      "type": "analysis",
      "title": "Includes Olympic Games impact correction notes at the bottom.",
      "function": "analyze_data",
      "rawType": "data_table",
      "block": null,
      "metadata": {
        "slideType": "data_table",
        "slideTypeCanon": {
          "name": "Data table",
          "slug": "data_table",
          "status": "active",
          "canonId": "019de52d-0bbd-71b9-9918-417f904abbf8",
          "version": 1,
          "description": null
        },
        "function": "analyze_data",
        "functionCanon": {
          "name": "Analyze data",
          "slug": "analyze_data",
          "status": "active",
          "canonId": "019de52d-1590-7413-8c82-cc218cff40b4",
          "version": 1,
          "description": null
        },
        "density": "dense",
        "densityScore": 61,
        "componentCount": 6,
        "textChars": 759,
        "nDataPoints": 40,
        "notes": "Includes Olympic Games impact correction notes at the bottom.",
        "elementsJson": [
          "headline_text",
          "data_table",
          "bullet_list",
          "footnote",
          "logo_grid"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 16:57:35.439+00",
          "seconds": 2.911,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5eff-723e-9be6-2c36e04f2df6/10",
        "deck": "/decks/019dd923-5eff-723e-9be6-2c36e04f2df6",
        "deckAnchor": "/decks/019dd923-5eff-723e-9be6-2c36e04f2df6#slide-10",
        "deckJson": "/decks/019dd923-5eff-723e-9be6-2c36e04f2df6.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "Corrected for the Olympic Games impact: Passenger unit revenue at +0.1% & operating margin for network at 13.7%; Transavia unit revenue at +8.2% & operating margin at 22.6%.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": {
              "name": "Visual emphasis",
              "slug": "visual-emphasis",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-474b-736b-a8eb-a794dd88241c",
              "version": 1,
              "bodyDocId": null,
              "description": "Drawing the eye to one element above the rest of the slide.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-27 03:06:46+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-5be9-7345-ace8-b8e30661fc35",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Operating margin: 13.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-27 03:06:46+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-5be9-7345-ace8-bca9844711f8",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.1,
            "w": 0.6,
            "x": 0.04,
            "y": 0.7
          },
          "kind": "paragraph",
          "text": "Corrected for the Olympic Games impact: Passenger unit revenue at +0.1% & operating margin for network at 13.7%. Transavia unit revenue at +8.2% & operating margin at 22.6%.",
          "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 16:57:35.439+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "b785cc9e-7a53-4d49-a37a-f411b059ee29",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.1,
            "w": 0.7,
            "x": 0.04,
            "y": 0.87
          },
          "kind": "source-note",
          "text": "Air France-KLM passenger network + cargo = network. 1) Capacity is defined as Available Seat Kilometers (ASK)... 2) Unit revenues... 3) Revenue is the third-party revenues, margin calculated on the total revenues",
          "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 16:57:35.439+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "15eb971c-eb88-405d-afc3-33f703e2e5b3",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.45,
            "w": 0.96,
            "x": 0.02,
            "y": 0.25
          },
          "kind": "table",
          "text": "Q3 2024 vs Q3 2023 performance table for Network, Cargo, Transavia, Maintenance, and Group.",
          "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 16:57:35.439+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "6a8790af-8be3-44cb-87f5-0a3ea1a35431",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.12,
            "w": 0.75,
            "x": 0.02,
            "y": 0.08
          },
          "kind": "title",
          "text": "REVENUE GROWTH IN LINE WITH CAPACITY DEPLOYMENT\nTRANSAVIA WELL ORIENTED & CARGO REBOUND",
          "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 16:57:35.439+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "639e3b6b-5231-4e41-aa0a-dbec518f5d34",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "Chunking",
            "slug": "chunking",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-abab-72ce-b64c-2924cc83cf39",
            "version": 1,
            "bodyDocId": null,
            "description": "Information grouped into chunks is remembered better - structure content in digestible units",
            "familyLabel": null,
            "categoryName": "Loop",
            "categorySlug": "loop"
          },
          "agent": "Architect",
          "layer": "loop",
          "agents": [
            "Architect"
          ],
          "matchId": "019dd95a-1a13-73b8-b32f-40d28c552412",
          "evidence": "Revenue broken into Passenger / Transavia / Cargo segments.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 70,
          "extraction": {
            "at": "2026-04-29 13:07:34.164277+00",
            "model": "claude-legacy",
            "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": "019dd95a-1a13-73b8-b32f-4555d6d4d718",
          "evidence": "Title asserts 'revenue growth in line with capacity, Transavia well oriented & cargo rebound'.",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
          "confidence": 70,
          "extraction": {
            "at": "2026-04-29 13:07:34.164277+00",
            "model": "claude-legacy",
            "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": "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": "019dd95a-1a13-73b8-b32f-3d8b3dc3783e",
          "evidence": "Olympic-corrected unit revenue and margin called out in note.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 80,
          "extraction": {
            "at": "2026-04-29 13:07:34.164277+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 10,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 13,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 2,
          "name": "The Facts (What)",
          "beatId": "019dd95a-07a7-7579-bd62-3f9db52c8507",
          "matchId": "019dd95a-0543-7581-99b2-9d0776b15a85",
          "beatType": {
            "name": "The Facts (What)",
            "slug": "triple-take-the-facts-what",
            "status": "active",
            "canonId": "019dd9b8-092b-754c-8eaa-ede3ffdcb060",
            "version": 1,
            "description": null
          },
          "evidence": "Q3 highlights through financial results tables and waterfalls.",
          "position": 1,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Setup",
            "slug": "setup",
            "status": "active",
            "canonId": "019dd9b8-020e-7505-af9b-d9b9a4679bcc",
            "version": 1,
            "description": "Where the deck grounds the reader before doing anything else. Almost every arc opens here."
          },
          "alignedBlockIds": null,
          "matchConfidence": 78
        },
        {
          "to": 11,
          "arc": {
            "name": "The Consultant's Gambit",
            "slug": "consultants-gambit",
            "status": "active",
            "bestFor": "Business cases, project proposals, strategic recommendations",
            "canonId": "019dd956-5e0a-73c8-b305-81c38c959e9c",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Situation & Context -> Problem & Complication -> Solution & Approach -> Evidence & Proof -> Impact & Next Steps",
            "description": null,
            "familyLabel": null
          },
          "from": 9,
          "name": "Problem & Complication",
          "beatId": "019dd95a-07a7-7579-bd62-4c4f0ea4594f",
          "matchId": "019dd95a-0543-7581-99b2-a15900b78386",
          "beatType": {
            "name": "Problem & Complication",
            "slug": "consultants-gambit-problem-complication",
            "status": "active",
            "canonId": "019dd9b8-064a-777f-a374-e9a8c43dedd4",
            "version": 1,
            "description": null
          },
          "evidence": "Cost pressure at KLM and Olympic Games impact at Air France.",
          "position": 2,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Complication",
            "slug": "complication",
            "status": "active",
            "canonId": "019dd9b8-0275-7709-b2d6-4f77c3fc7579",
            "version": 1,
            "description": "The point in the narrative where the audience should feel discomfort. Required for argumentative arcs."
          },
          "alignedBlockIds": null,
          "matchConfidence": 55
        },
        {
          "to": 13,
          "arc": {
            "name": "The Consultant's Gambit",
            "slug": "consultants-gambit",
            "status": "active",
            "bestFor": "Business cases, project proposals, strategic recommendations",
            "canonId": "019dd956-5e0a-73c8-b305-81c38c959e9c",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Situation & Context -> Problem & Complication -> Solution & Approach -> Evidence & Proof -> Impact & Next Steps",
            "description": null,
            "familyLabel": null
          },
          "from": 8,
          "name": "Evidence & Proof",
          "beatId": "019dd95a-07a7-7579-bd62-57ea905a897f",
          "matchId": "019dd95a-0543-7581-99b2-a15900b78386",
          "beatType": {
            "name": "Evidence & Proof",
            "slug": "consultants-gambit-evidence-proof",
            "status": "active",
            "canonId": "019dd9b8-07b1-7688-8e1e-7637fec3802a",
            "version": 1,
            "description": null
          },
          "evidence": "Financial deep dive: revenue, operating result, yield, leverage.",
          "position": 4,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Evidence",
            "slug": "evidence",
            "status": "active",
            "canonId": "019dd9b8-03f9-772a-b84a-4f07b415b77a",
            "version": 1,
            "description": "A dedicated proof beat exists in only ~4 arcs (Gambit, Sequoia, AIDA, Monroes). Other arcs embed evidence inline within development."
          },
          "alignedBlockIds": null,
          "matchConfidence": 55
        }
      ],
      "loops": [
        {
          "to": 13,
          "from": 9,
          "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": "019dd95a-08f8-7619-ac2b-6831b7fe5a53",
          "evidence": "p9 waterfall, p10 revenue by segment, p11 op result by airline, p12 yield, p13 leverage — data → so-what.",
          "position": 2,
          "objective": "Cascade from headline P&L to implications by airline and balance sheet",
          "confidence": 75,
          "extraction": {
            "at": "2026-04-29 13:07:29.779839+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 11,
      "type": "analysis",
      "title": "The slide highlights specific operational challenges (Olympic Games, pilot shortages, maintenance) and positive performance drivers (Flying Blue partnerships).",
      "function": "summarize",
      "rawType": "data_table",
      "block": null,
      "metadata": {
        "slideType": "data_table",
        "slideTypeCanon": {
          "name": "Data table",
          "slug": "data_table",
          "status": "active",
          "canonId": "019de52d-0bbd-71b9-9918-417f904abbf8",
          "version": 1,
          "description": null
        },
        "function": "summarize",
        "functionCanon": {
          "name": "Summarize",
          "slug": "summarize",
          "status": "active",
          "canonId": "019de52d-1541-704f-b86f-bf7b75056373",
          "version": 1,
          "description": null
        },
        "density": "balanced",
        "densityScore": 47,
        "componentCount": 5,
        "textChars": 567,
        "nDataPoints": 24,
        "notes": "The slide highlights specific operational challenges (Olympic Games, pilot shortages, maintenance) and positive performance drivers (Flying Blue partnerships).",
        "elementsJson": [
          "headline_text",
          "data_table",
          "bullet_list",
          "footnote"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 16:57:35.504+00",
          "seconds": 2.832,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5eff-723e-9be6-2c36e04f2df6/11",
        "deck": "/decks/019dd923-5eff-723e-9be6-2c36e04f2df6",
        "deckAnchor": "/decks/019dd923-5eff-723e-9be6-2c36e04f2df6#slide-11",
        "deckJson": "/decks/019dd923-5eff-723e-9be6-2c36e04f2df6.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.08,
            "w": 0.5,
            "x": 0.05,
            "y": 0.9
          },
          "kind": "disclaimer",
          "text": "NB: Sum of individual airline results does not add up to Air France-KLM total due to intercompany eliminations at Group level. 1) Flying Blue Miles total gross turnover... 2) Airlines 2023 results were still including Flying Blue figures...",
          "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 16:57:35.504+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "4fbc1fda-c32f-4a9c-88bf-01475e84506f",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.2,
            "w": 0.7,
            "x": 0.1,
            "y": 0.65
          },
          "kind": "list",
          "text": "Air France affected by Olympic Games; KLM impacted by pilot/maintenance issues and CLA; Flying Blue benefiting from partnerships.",
          "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 16:57:35.504+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "40fc8c76-f8bc-4cfe-a3f4-5668cafc9b0d",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Operating result: 1,180",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-27 03:06:46+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-5be9-7345-ace9-750b8a8b695f",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.35,
            "w": 0.8,
            "x": 0.1,
            "y": 0.24
          },
          "kind": "table",
          "text": "Q3 2024 vs Q3 2023 performance table for Air France, KLM, Flying Blue, and Group",
          "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 16:57:35.504+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "85556b9f-a772-42f0-9a75-30a90e16983f",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.1,
            "w": 0.8,
            "x": 0.05,
            "y": 0.08
          },
          "kind": "title",
          "text": "OPERATING RESULT IMPACTED BY STRONG COST PRESSURE AT KLM AND BY THE OLYMPIC GAMES AT AIR FRANCE",
          "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 16:57:35.504+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "75641797-996b-4856-a441-8a64918109a2",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "Anchoring Bias",
            "slug": "anchoring-bias",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-9254-73de-8f1b-c7250f8f4c9c",
            "version": 1,
            "bodyDocId": null,
            "description": "First piece of information becomes reference point for all subsequent judgments",
            "familyLabel": null,
            "categoryName": "Block",
            "categorySlug": "block"
          },
          "agent": "Architect",
          "layer": "block",
          "agents": [
            "Architect",
            "Storyteller"
          ],
          "matchId": "019dd95a-1a13-73b8-b32f-4bf7c6c98567",
          "evidence": "Q3 2024 vs Q3 2023 columns set the comparison anchor.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 75,
          "extraction": {
            "at": "2026-04-29 13:07:34.164277+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 11,
          "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": "019dd95a-1a13-73b8-b32f-58d81410c2f4",
          "evidence": "Three commentary bullets, one per airline entity.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 70,
          "extraction": {
            "at": "2026-04-29 13:07:34.164277+00",
            "model": "claude-legacy",
            "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": "019dd95a-1a13-73b8-b32f-55ebfdb31c4f",
          "evidence": "Title states the insight: 'cost pressure at KLM and Olympic Games at Air France'.",
          "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-04-29 13:07:34.164277+00",
            "model": "claude-legacy",
            "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": "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": "019dd95a-1a13-73b8-b32f-4f93314195b9",
          "evidence": "Green for positive %, red for negative — sentiment encoded in color.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 85,
          "extraction": {
            "at": "2026-04-29 13:07:34.164277+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 11,
          "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": "019dd95a-1a13-73b8-b32f-53d5691d2bb6",
          "evidence": "Group total row in deeper blue, anchor airlines above.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 75,
          "extraction": {
            "at": "2026-04-29 13:07:34.164277+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 11,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [
        {
          "matchId": "019dd95a-1d21-7467-a466-b41f22081ce8",
          "evidence": "Table with Q3 2024 vs Q3 2023 columns and Change YoY for capacity/revenue/op result/margin per airline.",
          "framework": null,
          "confidence": 75,
          "extraction": {
            "at": "2026-04-29 13:07:34.940444+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 11,
          "frameworkName": "Variance Analysis Table (YoY)"
        }
      ],
      "arcBeats": [
        {
          "to": 13,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 2,
          "name": "The Facts (What)",
          "beatId": "019dd95a-07a7-7579-bd62-3f9db52c8507",
          "matchId": "019dd95a-0543-7581-99b2-9d0776b15a85",
          "beatType": {
            "name": "The Facts (What)",
            "slug": "triple-take-the-facts-what",
            "status": "active",
            "canonId": "019dd9b8-092b-754c-8eaa-ede3ffdcb060",
            "version": 1,
            "description": null
          },
          "evidence": "Q3 highlights through financial results tables and waterfalls.",
          "position": 1,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Setup",
            "slug": "setup",
            "status": "active",
            "canonId": "019dd9b8-020e-7505-af9b-d9b9a4679bcc",
            "version": 1,
            "description": "Where the deck grounds the reader before doing anything else. Almost every arc opens here."
          },
          "alignedBlockIds": null,
          "matchConfidence": 78
        },
        {
          "to": 11,
          "arc": {
            "name": "The Consultant's Gambit",
            "slug": "consultants-gambit",
            "status": "active",
            "bestFor": "Business cases, project proposals, strategic recommendations",
            "canonId": "019dd956-5e0a-73c8-b305-81c38c959e9c",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Situation & Context -> Problem & Complication -> Solution & Approach -> Evidence & Proof -> Impact & Next Steps",
            "description": null,
            "familyLabel": null
          },
          "from": 9,
          "name": "Problem & Complication",
          "beatId": "019dd95a-07a7-7579-bd62-4c4f0ea4594f",
          "matchId": "019dd95a-0543-7581-99b2-a15900b78386",
          "beatType": {
            "name": "Problem & Complication",
            "slug": "consultants-gambit-problem-complication",
            "status": "active",
            "canonId": "019dd9b8-064a-777f-a374-e9a8c43dedd4",
            "version": 1,
            "description": null
          },
          "evidence": "Cost pressure at KLM and Olympic Games impact at Air France.",
          "position": 2,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Complication",
            "slug": "complication",
            "status": "active",
            "canonId": "019dd9b8-0275-7709-b2d6-4f77c3fc7579",
            "version": 1,
            "description": "The point in the narrative where the audience should feel discomfort. Required for argumentative arcs."
          },
          "alignedBlockIds": null,
          "matchConfidence": 55
        },
        {
          "to": 13,
          "arc": {
            "name": "The Consultant's Gambit",
            "slug": "consultants-gambit",
            "status": "active",
            "bestFor": "Business cases, project proposals, strategic recommendations",
            "canonId": "019dd956-5e0a-73c8-b305-81c38c959e9c",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Situation & Context -> Problem & Complication -> Solution & Approach -> Evidence & Proof -> Impact & Next Steps",
            "description": null,
            "familyLabel": null
          },
          "from": 8,
          "name": "Evidence & Proof",
          "beatId": "019dd95a-07a7-7579-bd62-57ea905a897f",
          "matchId": "019dd95a-0543-7581-99b2-a15900b78386",
          "beatType": {
            "name": "Evidence & Proof",
            "slug": "consultants-gambit-evidence-proof",
            "status": "active",
            "canonId": "019dd9b8-07b1-7688-8e1e-7637fec3802a",
            "version": 1,
            "description": null
          },
          "evidence": "Financial deep dive: revenue, operating result, yield, leverage.",
          "position": 4,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Evidence",
            "slug": "evidence",
            "status": "active",
            "canonId": "019dd9b8-03f9-772a-b84a-4f07b415b77a",
            "version": 1,
            "description": "A dedicated proof beat exists in only ~4 arcs (Gambit, Sequoia, AIDA, Monroes). Other arcs embed evidence inline within development."
          },
          "alignedBlockIds": null,
          "matchConfidence": 55
        }
      ],
      "loops": [
        {
          "to": 13,
          "from": 9,
          "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": "019dd95a-08f8-7619-ac2b-6831b7fe5a53",
          "evidence": "p9 waterfall, p10 revenue by segment, p11 op result by airline, p12 yield, p13 leverage — data → so-what.",
          "position": 2,
          "objective": "Cascade from headline P&L to implications by airline and balance sheet",
          "confidence": 75,
          "extraction": {
            "at": "2026-04-29 13:07:29.779839+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 12,
      "type": "analysis",
      "title": "The slide uses a consistent visual language to compare ASK (brown), load factor change (grey text), and yield (blue) across various airline segments and geograp",
      "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": "balanced",
        "densityScore": 36,
        "componentCount": 5,
        "textChars": 296,
        "nDataPoints": 33,
        "notes": "The slide uses a consistent visual language to compare ASK (brown), load factor change (grey text), and yield (blue) across various airline segments and geographic regions.",
        "elementsJson": [
          "headline_text",
          "other",
          "footnote",
          "icon_grid"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 16:57:35.346+00",
          "seconds": 2.595,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5eff-723e-9be6-2c36e04f2df6/12",
        "deck": "/decks/019dd923-5eff-723e-9be6-2c36e04f2df6",
        "deckAnchor": "/decks/019dd923-5eff-723e-9be6-2c36e04f2df6#slide-12",
        "deckJson": "/decks/019dd923-5eff-723e-9be6-2c36e04f2df6.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.65,
            "w": 0.9,
            "x": 0.05,
            "y": 0.18
          },
          "kind": "chart",
          "text": "Yield development metrics across segments and regions",
          "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 16:57:35.346+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "4b7ccb01-14e9-46a0-99f0-5b65f54c9241",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.2,
            "x": 0.02,
            "y": 0.94
          },
          "kind": "disclaimer",
          "text": "1) Air France-KLM network, excluding Transavia",
          "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 16:57:35.346+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "d4f433e4-19a9-46b5-98f9-110134b55cd5",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.5,
            "x": 0.25,
            "y": 0.88
          },
          "kind": "legend",
          "text": "ASK (brown), Load factor change (grey), Yield ex currency (blue), Yield excl Olympic Games impact (blue oval), Actual Load factor (grey %)",
          "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 16:57:35.346+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "9ea03445-2a81-4b97-9a93-5f399664ac00",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Yield ex currency: +1.5%",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-27 03:06:46+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-5be9-7345-ace8-dcf367eea03c",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.4,
            "x": 0.05,
            "y": 0.08
          },
          "kind": "title",
          "text": "ROBUST UNDERLYING YIELD DEVELOPMENT",
          "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 16:57:35.346+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "a6dee6b5-1eb8-4d14-a7b4-1e1098f8905e",
          "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": "019dd95a-1a13-73b8-b32f-6181ae68fe4c",
          "evidence": "Title is a claim: 'robust underlying yield development'.",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
          "confidence": 75,
          "extraction": {
            "at": "2026-04-29 13:07:34.164277+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 12,
          "whyItWorks": "Solves two failure modes at once. (1) The buried claim: action titles place the conclusion on the page before any analysis is read, so a busy reader doesn't reverse-engineer it from the chart. (2) The spineless deck: because each title is a claim, slides have to ladder up to the governing thought; logical gaps become visible as topic-shaped titles in a sequence that no longer reads as a story.",
          "antipattern": "Topic labels disguised as titles — Volume by quarter, Key findings, Pricing strategy, Margins have been impacted. No verb, or a passive verb with no agent, or a fact (Revenue grew 12%) without the so-what. Also: titles that overreach the chart's evidence, multi-claim X-grew-but-Y-fell welded titles, and mechanical repetition of the same X-drove-Y template across the deck.",
          "cardinality": null,
          "narrativePurpose": "Forces the deck to carry its argument in the title bar so a senior reader can extract the recommendation without opening a single slide; converts a binder of topics into a navigable pyramid where every slide is a node defending the apex."
        },
        {
          "tool": {
            "name": "Annotation",
            "slug": "annotation",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-b5b9-7668-bf0e-3af99823ec5c",
            "version": 1,
            "bodyDocId": null,
            "description": "Adding explanatory labels to highlight key data points",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "019dd95a-1a13-73b8-b32f-65c59907932b",
          "evidence": "Yield delta annotated.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 70,
          "extraction": {
            "at": "2026-04-29 13:07:34.164277+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 12,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Chart Selection Guide",
            "slug": "chart-selection-guide",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-b1a0-700b-ba17-0e16c4d5bcae",
            "version": 1,
            "bodyDocId": null,
            "description": "Choosing the right chart type for your data and message",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "019dd95a-1a13-73b8-b32f-5f09a8552b9b",
          "evidence": "Yield trend depicted via comparison chart with +1.5% callout.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 75,
          "extraction": {
            "at": "2026-04-29 13:07:34.164277+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 12,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 13,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 2,
          "name": "The Facts (What)",
          "beatId": "019dd95a-07a7-7579-bd62-3f9db52c8507",
          "matchId": "019dd95a-0543-7581-99b2-9d0776b15a85",
          "beatType": {
            "name": "The Facts (What)",
            "slug": "triple-take-the-facts-what",
            "status": "active",
            "canonId": "019dd9b8-092b-754c-8eaa-ede3ffdcb060",
            "version": 1,
            "description": null
          },
          "evidence": "Q3 highlights through financial results tables and waterfalls.",
          "position": 1,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Setup",
            "slug": "setup",
            "status": "active",
            "canonId": "019dd9b8-020e-7505-af9b-d9b9a4679bcc",
            "version": 1,
            "description": "Where the deck grounds the reader before doing anything else. Almost every arc opens here."
          },
          "alignedBlockIds": null,
          "matchConfidence": 78
        },
        {
          "to": 13,
          "arc": {
            "name": "The Consultant's Gambit",
            "slug": "consultants-gambit",
            "status": "active",
            "bestFor": "Business cases, project proposals, strategic recommendations",
            "canonId": "019dd956-5e0a-73c8-b305-81c38c959e9c",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Situation & Context -> Problem & Complication -> Solution & Approach -> Evidence & Proof -> Impact & Next Steps",
            "description": null,
            "familyLabel": null
          },
          "from": 8,
          "name": "Evidence & Proof",
          "beatId": "019dd95a-07a7-7579-bd62-57ea905a897f",
          "matchId": "019dd95a-0543-7581-99b2-a15900b78386",
          "beatType": {
            "name": "Evidence & Proof",
            "slug": "consultants-gambit-evidence-proof",
            "status": "active",
            "canonId": "019dd9b8-07b1-7688-8e1e-7637fec3802a",
            "version": 1,
            "description": null
          },
          "evidence": "Financial deep dive: revenue, operating result, yield, leverage.",
          "position": 4,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Evidence",
            "slug": "evidence",
            "status": "active",
            "canonId": "019dd9b8-03f9-772a-b84a-4f07b415b77a",
            "version": 1,
            "description": "A dedicated proof beat exists in only ~4 arcs (Gambit, Sequoia, AIDA, Monroes). Other arcs embed evidence inline within development."
          },
          "alignedBlockIds": null,
          "matchConfidence": 55
        }
      ],
      "loops": [
        {
          "to": 13,
          "from": 9,
          "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": "019dd95a-08f8-7619-ac2b-6831b7fe5a53",
          "evidence": "p9 waterfall, p10 revenue by segment, p11 op result by airline, p12 yield, p13 leverage — data → so-what.",
          "position": 2,
          "objective": "Cascade from headline P&L to implications by airline and balance sheet",
          "confidence": 75,
          "extraction": {
            "at": "2026-04-29 13:07:29.779839+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 13,
      "type": "analysis",
      "title": "The slide uses a dual-waterfall structure to bridge cash flow components to net debt changes.",
      "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": 55,
        "componentCount": 7,
        "textChars": 382,
        "nDataPoints": 14,
        "notes": "The slide uses a dual-waterfall structure to bridge cash flow components to net debt changes.",
        "elementsJson": [
          "headline_text",
          "waterfall_chart",
          "callout_box",
          "big_number"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 16:57:36.062+00",
          "seconds": 2.954,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5eff-723e-9be6-2c36e04f2df6/13",
        "deck": "/decks/019dd923-5eff-723e-9be6-2c36e04f2df6",
        "deckAnchor": "/decks/019dd923-5eff-723e-9be6-2c36e04f2df6#slide-13",
        "deckJson": "/decks/019dd923-5eff-723e-9be6-2c36e04f2df6.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.15,
            "w": 0.23,
            "x": 0.33,
            "y": 0.18
          },
          "kind": "callout",
          "text": "Exceptionals: €610m one-time payment to the Air France flight crew pension fund (CRPN); €362m deferred social charges and wages taxes",
          "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 16:57:36.062+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "385a959a-3a16-4f36-b71d-fcf1d4eba5ec",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "callout",
          "text": "Leverage ratio (Net debt/EBITDA) 1.7x vs 1.5x Ambition.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": {
              "name": "Visual emphasis",
              "slug": "visual-emphasis",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-474b-736b-a8eb-a794dd88241c",
              "version": 1,
              "bodyDocId": null,
              "description": "Drawing the eye to one element above the rest of the slide.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-27 03:06:45+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-5be9-7345-ace7-ddf7369734aa",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.6,
            "w": 0.9,
            "x": 0.05,
            "y": 0.2
          },
          "kind": "chart",
          "text": "9m 2024 Free cash flow evolution",
          "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 16:57:36.062+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "9fcb1d0f-9a96-45b5-b38e-1c5b9ec0951a",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.12,
            "w": 0.15,
            "x": 0.75,
            "y": 0.18
          },
          "kind": "metric",
          "text": "Leverage ratio (Net debt/EBITDA) 1.7x (Ambition 1.5x - 2.0x)",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": null,
            "subkind": {
              "name": "Big number",
              "slug": "big-number",
              "status": "active",
              "canonId": "019de52c-fc70-70c8-b965-0584548a9204",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "big-number",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 16:57:36.062+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "3a7c3b7b-329c-4822-bb65-c80f78cd9637",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.12,
            "w": 0.13,
            "x": 0.59,
            "y": 0.18
          },
          "kind": "metric",
          "text": "Solid Cash at hand at end September €9.0bn",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": null,
            "subkind": {
              "name": "Big number",
              "slug": "big-number",
              "status": "active",
              "canonId": "019de52c-fc70-70c8-b965-0584548a9204",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "big-number",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 16:57:36.062+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "4beea7e5-1aeb-4c38-b84d-eb01bf51f451",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Leverage ratio: 1.7x",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-27 03:06:45+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-5be9-7345-ace7-e0da8a4224fb",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.6,
            "x": 0.05,
            "y": 0.05
          },
          "kind": "title",
          "text": "9M: LEVERAGE RATIO IN LINE WITH AMBITION",
          "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 16:57:36.062+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "aac2477d-7526-46fd-a2c8-b90f7ad3574f",
          "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": "ca349b3a-dcd7-45dc-a0b6-d42cee63ff54",
          "evidence": "metric/big-number: Leverage ratio (Net debt/EBITDA) 1.7x (Ambition 1.5x - 2.0x)",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.5,
          "extraction": {
            "at": "2026-07-16 22:15:41.094061+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 13,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": "common",
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Action Titles",
            "slug": "action-titles",
            "status": "active",
            "bestFor": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
            "canonId": "019dd956-ac70-700b-a608-ba58e78f5dcc",
            "version": 1,
            "bodyDocId": "816dad3c-9983-41c1-a86e-978ebd582841",
            "description": "The McKinsey-bred discipline of writing every slide title as a complete declarative sentence with a verb and an insight, not a topic label. Each title is a sub-claim that ladders up to the deck's governing thought; read in sequence, the titles reconstruct the executive summary.",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Architect",
          "layer": "slide",
          "agents": [
            "Architect"
          ],
          "matchId": "019dd95a-1a13-73b8-b32f-7093671b6bc7",
          "evidence": "Title 'leverage ratio in line with ambition' states the conclusion.",
          "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-04-29 13:07:34.164277+00",
            "model": "claude-legacy",
            "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": "019dd95a-1a13-73b8-b32f-6c942d197d6b",
          "evidence": "Exceptionals box (€610m, €362m) annotates a specific waterfall step.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 85,
          "extraction": {
            "at": "2026-04-29 13:07:34.164277+00",
            "model": "claude-legacy",
            "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": "019dd95a-1a13-73b8-b32f-682410b746d8",
          "evidence": "Cash flow and net debt drawn as twin waterfalls — bridge data fits waterfall.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 90,
          "extraction": {
            "at": "2026-04-29 13:07:34.164277+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 13,
          "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": "019dd95a-1a13-73b8-b32f-743fdf874aa6",
          "evidence": "Three top-right callouts (cash, leverage) elevated above chart detail.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 70,
          "extraction": {
            "at": "2026-04-29 13:07:34.164277+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 13,
          "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": "85eacd8d-37f0-465b-bfd3-474cffb5496d",
          "evidence": "chart/waterfall: 9m 2024 Free cash flow evolution",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.9,
          "extraction": {
            "at": "2026-07-16 22:15:41.050015+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 13,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [
        {
          "matchId": "019dd95a-1d21-7467-a466-b992ea75aadc",
          "evidence": "Free cash flow evolution from cash-flow-before-WC down to recurring adjusted FCF as waterfall.",
          "framework": null,
          "confidence": 85,
          "extraction": {
            "at": "2026-04-29 13:07:34.940444+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 13,
          "frameworkName": "Cash Flow Waterfall"
        },
        {
          "matchId": "019dd95a-1d21-7467-a466-bcf1cd9cb610",
          "evidence": "Right-side bridge from Net debt 31 Dec 2023 to Net debt 30 Sep 2024.",
          "framework": null,
          "confidence": 80,
          "extraction": {
            "at": "2026-04-29 13:07:34.940444+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 13,
          "frameworkName": "Net Debt Bridge"
        },
        {
          "matchId": "3739b99f-9482-4b94-8f63-e01dc43ad4f0",
          "evidence": "Visual representation of sequential changes to a starting value",
          "framework": null,
          "confidence": 1,
          "extraction": {
            "at": "2026-05-02 16:57:36.062+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 13,
          "frameworkName": "waterfall-chart"
        }
      ],
      "arcBeats": [
        {
          "to": 13,
          "arc": {
            "name": "The Triple Take",
            "slug": "triple-take",
            "status": "active",
            "bestFor": "Data-driven presentations, research findings",
            "canonId": "019dd956-6221-73ad-bc12-378f8eb1f018",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "The Facts (What) -> The Implications (So What) -> The Action (Now What)",
            "description": null,
            "familyLabel": null
          },
          "from": 2,
          "name": "The Facts (What)",
          "beatId": "019dd95a-07a7-7579-bd62-3f9db52c8507",
          "matchId": "019dd95a-0543-7581-99b2-9d0776b15a85",
          "beatType": {
            "name": "The Facts (What)",
            "slug": "triple-take-the-facts-what",
            "status": "active",
            "canonId": "019dd9b8-092b-754c-8eaa-ede3ffdcb060",
            "version": 1,
            "description": null
          },
          "evidence": "Q3 highlights through financial results tables and waterfalls.",
          "position": 1,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Setup",
            "slug": "setup",
            "status": "active",
            "canonId": "019dd9b8-020e-7505-af9b-d9b9a4679bcc",
            "version": 1,
            "description": "Where the deck grounds the reader before doing anything else. Almost every arc opens here."
          },
          "alignedBlockIds": null,
          "matchConfidence": 78
        },
        {
          "to": 13,
          "arc": {
            "name": "The Consultant's Gambit",
            "slug": "consultants-gambit",
            "status": "active",
            "bestFor": "Business cases, project proposals, strategic recommendations",
            "canonId": "019dd956-5e0a-73c8-b305-81c38c959e9c",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Situation & Context -> Problem & Complication -> Solution & Approach -> Evidence & Proof -> Impact & Next Steps",
            "description": null,
            "familyLabel": null
          },
          "from": 8,
          "name": "Evidence & Proof",
          "beatId": "019dd95a-07a7-7579-bd62-57ea905a897f",
          "matchId": "019dd95a-0543-7581-99b2-a15900b78386",
          "beatType": {
            "name": "Evidence & Proof",
            "slug": "consultants-gambit-evidence-proof",
            "status": "active",
            "canonId": "019dd9b8-07b1-7688-8e1e-7637fec3802a",
            "version": 1,
            "description": null
          },
          "evidence": "Financial deep dive: revenue, operating result, yield, leverage.",
          "position": 4,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Evidence",
            "slug": "evidence",
            "status": "active",
            "canonId": "019dd9b8-03f9-772a-b84a-4f07b415b77a",
            "version": 1,
            "description": "A dedicated proof beat exists in only ~4 arcs (Gambit, Sequoia, AIDA, Monroes). Other arcs embed evidence inline within development."
          },
          "alignedBlockIds": null,
          "matchConfidence": 55
        }
      ],
      "loops": [
        {
          "to": 13,
          "from": 9,
          "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": "019dd95a-08f8-7619-ac2b-6831b7fe5a53",
          "evidence": "p9 waterfall, p10 revenue by segment, p11 op result by airline, p12 yield, p13 leverage — data → so-what.",
          "position": 2,
          "objective": "Cascade from headline P&L to implications by airline and balance sheet",
          "confidence": 75,
          "extraction": {
            "at": "2026-04-29 13:07:29.779839+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 14,
      "type": "setup",
      "function": "transition",
      "rawType": "section_divider",
      "block": null,
      "metadata": {
        "slideType": "section_divider",
        "slideTypeCanon": {
          "name": "Section divider",
          "slug": "section_divider",
          "status": "active",
          "canonId": "019de52d-066a-7402-9554-6ae504999041",
          "version": 1,
          "description": null
        },
        "function": "transition",
        "functionCanon": {
          "name": "Transition",
          "slug": "transition",
          "status": "active",
          "canonId": "019de52d-1365-7149-92aa-66df859e75fd",
          "version": 1,
          "description": null
        },
        "density": "sparse",
        "densityScore": 3,
        "componentCount": 2,
        "textChars": 59,
        "nDataPoints": 0,
        "notes": null,
        "elementsJson": [
          "headline_text"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 16:57:37.029+00",
          "seconds": 3.817,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5eff-723e-9be6-2c36e04f2df6/14",
        "deck": "/decks/019dd923-5eff-723e-9be6-2c36e04f2df6",
        "deckAnchor": "/decks/019dd923-5eff-723e-9be6-2c36e04f2df6#slide-14",
        "deckJson": "/decks/019dd923-5eff-723e-9be6-2c36e04f2df6.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.023,
            "w": 0.436,
            "x": 0.056,
            "y": 0.574
          },
          "kind": "paragraph",
          "text": "Steven Zaat – Chief Financial Officer Air France-KLM",
          "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 16:57:37.029+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "4b4dc010-c8ea-41fe-959c-312ce63460d8",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.053,
            "w": 0.222,
            "x": 0.056,
            "y": 0.488
          },
          "kind": "title",
          "text": "OUTLOOK",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 16:57:37.029+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "033e59de-cd18-4234-9115-d315a48d504e",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [],
      "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": 14,
          "name": "The Implications (So What)",
          "beatId": "019dd95a-07a7-7579-bd62-43aa06058e96",
          "matchId": "019dd95a-0543-7581-99b2-9d0776b15a85",
          "beatType": {
            "name": "The Implications (So What)",
            "slug": "triple-take-the-implications-so-what",
            "status": "active",
            "canonId": "019dd9b8-09c7-75cd-8c7b-ae0e23cca2b8",
            "version": 1,
            "description": null
          },
          "evidence": "Outlook 2024, fuel hedging, flight tax risk, market positioning.",
          "position": 2,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Reflection",
            "slug": "reflection",
            "status": "active",
            "canonId": "019dd9b8-0510-73fd-8d00-1c7e45f7bc98",
            "version": 1,
            "description": "The \"so what\" beat. Used by analytical arcs (Triple-take, Onion) and learning arcs (Voyage-return, Tragedy)."
          },
          "alignedBlockIds": null,
          "matchConfidence": 78
        },
        {
          "to": 22,
          "arc": {
            "name": "The Consultant's Gambit",
            "slug": "consultants-gambit",
            "status": "active",
            "bestFor": "Business cases, project proposals, strategic recommendations",
            "canonId": "019dd956-5e0a-73c8-b305-81c38c959e9c",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Situation & Context -> Problem & Complication -> Solution & Approach -> Evidence & Proof -> Impact & Next Steps",
            "description": null,
            "familyLabel": null
          },
          "from": 14,
          "name": "Impact & Next Steps",
          "beatId": "019dd95a-07a7-7579-bd62-5ab390f3b029",
          "matchId": "019dd95a-0543-7581-99b2-a15900b78386",
          "beatType": {
            "name": "Impact & Next Steps",
            "slug": "consultants-gambit-impact-next-steps",
            "status": "active",
            "canonId": "019dd9b8-0849-7728-9ee9-fd1609c4c655",
            "version": 1,
            "description": null
          },
          "evidence": "Outlook, flight tax, markets, conclude with priorities.",
          "position": 5,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Resolution",
            "slug": "resolution",
            "status": "active",
            "canonId": "019dd9b8-045d-703b-8dd7-e92aba3ba91b",
            "version": 1,
            "description": "How the deck ends. Required in 19/20 arcs. The exception (Sparkline) ends with new bliss which is functionally a resolution."
          },
          "alignedBlockIds": null,
          "matchConfidence": 55
        }
      ],
      "loops": [],
      "locked": true
    },
    {
      "page": 15,
      "type": "analysis",
      "title": "Snapshot date: 29th October 2023 and 2024.",
      "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": "balanced",
        "densityScore": 32,
        "componentCount": 5,
        "textChars": 252,
        "nDataPoints": 12,
        "notes": "Snapshot date: 29th October 2023 and 2024.",
        "elementsJson": [
          "headline_text",
          "bar_chart_grouped",
          "other"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 16:57:35.54+00",
          "seconds": 2.216,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5eff-723e-9be6-2c36e04f2df6/15",
        "deck": "/decks/019dd923-5eff-723e-9be6-2c36e04f2df6",
        "deckAnchor": "/decks/019dd923-5eff-723e-9be6-2c36e04f2df6#slide-15",
        "deckJson": "/decks/019dd923-5eff-723e-9be6-2c36e04f2df6.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.5,
            "w": 0.78,
            "x": 0.11,
            "y": 0.25
          },
          "kind": "chart",
          "text": "Load factor comparison for Long-Haul, Short/Medium-Haul, and Transavia",
          "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 16:57:35.54+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "947c46b8-9615-41e1-9fc8-3714668b8034",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.6,
            "x": 0.07,
            "y": 0.82
          },
          "kind": "legend",
          "text": "Forward booking load factor 2023 (tan) and 2024 (blue)",
          "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 16:57:35.54+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "74ca0cf5-740e-4ddb-9cd9-970702513ea8",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Forward booking load factor: 77%",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-27 03:06:45+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-5be9-7345-ace7-f6b25af102f3",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.3,
            "x": 0.03,
            "y": 0.87
          },
          "kind": "paragraph",
          "text": "Snapshot of the 29th of October 2023 and 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 16:57:35.54+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "0a1dc9a8-4375-4715-8050-18b175801824",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.9,
            "x": 0.05,
            "y": 0.08
          },
          "kind": "title",
          "text": "Q4 BOOKINGS PROMISING AS CAPACITY FURTHER INCREASES",
          "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 16:57:35.54+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "85a1d6ec-b802-4b18-b4d9-d19a1cc822c3",
          "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": "019dd95a-1a13-73b8-b32f-87a94c8c586d",
          "evidence": "2023 vs 2024 forward bookings paired across all three sub-fleets.",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": null,
          "confidence": 75,
          "extraction": {
            "at": "2026-04-29 13:07:34.164277+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 15,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Action Titles",
            "slug": "action-titles",
            "status": "active",
            "bestFor": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
            "canonId": "019dd956-ac70-700b-a608-ba58e78f5dcc",
            "version": 1,
            "bodyDocId": "816dad3c-9983-41c1-a86e-978ebd582841",
            "description": "The McKinsey-bred discipline of writing every slide title as a complete declarative sentence with a verb and an insight, not a topic label. Each title is a sub-claim that ladders up to the deck's governing thought; read in sequence, the titles reconstruct the executive summary.",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Architect",
          "layer": "slide",
          "agents": [
            "Architect"
          ],
          "matchId": "019dd95a-1a13-73b8-b32f-8864c0b66918",
          "evidence": "Title states claim: 'Q4 bookings promising as capacity further increases'.",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
          "confidence": 75,
          "extraction": {
            "at": "2026-04-29 13:07:34.164277+00",
            "model": "claude-legacy",
            "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": "019dd95a-1a13-73b8-b32f-7d707ba0fd62",
          "evidence": "Each panel annotated with capacity delta (+1%, +5%, +5-10%).",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 80,
          "extraction": {
            "at": "2026-04-29 13:07:34.164277+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 15,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Color Strategy",
            "slug": "color-strategy",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-b202-77cf-8a6e-f445b08c0fd3",
            "version": 1,
            "bodyDocId": null,
            "description": "Using color for emphasis, categories, sentiment, and hierarchy",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "019dd95a-1a13-73b8-b32f-807f816e2955",
          "evidence": "Tan = 2023, deep blue = 2024 — consistent across panels.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 80,
          "extraction": {
            "at": "2026-04-29 13:07:34.164277+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 15,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Small Multiples",
            "slug": "small-multiples",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-b32d-7586-b368-baa1dd388ed4",
            "version": 1,
            "bodyDocId": null,
            "description": "Repeating similar charts for comparison across categories or time",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "019dd95a-1a13-73b8-b32f-7ad7d8ba8b45",
          "evidence": "Three identical mini bar-charts: long-haul, short/medium-haul, Transavia.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 90,
          "extraction": {
            "at": "2026-04-29 13:07:34.164277+00",
            "model": "claude-legacy",
            "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": 14,
          "name": "The Implications (So What)",
          "beatId": "019dd95a-07a7-7579-bd62-43aa06058e96",
          "matchId": "019dd95a-0543-7581-99b2-9d0776b15a85",
          "beatType": {
            "name": "The Implications (So What)",
            "slug": "triple-take-the-implications-so-what",
            "status": "active",
            "canonId": "019dd9b8-09c7-75cd-8c7b-ae0e23cca2b8",
            "version": 1,
            "description": null
          },
          "evidence": "Outlook 2024, fuel hedging, flight tax risk, market positioning.",
          "position": 2,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Reflection",
            "slug": "reflection",
            "status": "active",
            "canonId": "019dd9b8-0510-73fd-8d00-1c7e45f7bc98",
            "version": 1,
            "description": "The \"so what\" beat. Used by analytical arcs (Triple-take, Onion) and learning arcs (Voyage-return, Tragedy)."
          },
          "alignedBlockIds": null,
          "matchConfidence": 78
        },
        {
          "to": 22,
          "arc": {
            "name": "The Consultant's Gambit",
            "slug": "consultants-gambit",
            "status": "active",
            "bestFor": "Business cases, project proposals, strategic recommendations",
            "canonId": "019dd956-5e0a-73c8-b305-81c38c959e9c",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Situation & Context -> Problem & Complication -> Solution & Approach -> Evidence & Proof -> Impact & Next Steps",
            "description": null,
            "familyLabel": null
          },
          "from": 14,
          "name": "Impact & Next Steps",
          "beatId": "019dd95a-07a7-7579-bd62-5ab390f3b029",
          "matchId": "019dd95a-0543-7581-99b2-a15900b78386",
          "beatType": {
            "name": "Impact & Next Steps",
            "slug": "consultants-gambit-impact-next-steps",
            "status": "active",
            "canonId": "019dd9b8-0849-7728-9ee9-fd1609c4c655",
            "version": 1,
            "description": null
          },
          "evidence": "Outlook, flight tax, markets, conclude with priorities.",
          "position": 5,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Resolution",
            "slug": "resolution",
            "status": "active",
            "canonId": "019dd9b8-045d-703b-8dd7-e92aba3ba91b",
            "version": 1,
            "description": "How the deck ends. Required in 19/20 arcs. The exception (Sparkline) ends with new bliss which is functionally a resolution."
          },
          "alignedBlockIds": null,
          "matchConfidence": 55
        }
      ],
      "loops": [
        {
          "to": 18,
          "from": 15,
          "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": "019dd95a-08f8-7619-ac2b-6c2e0c1615fb",
          "evidence": "p15 Q4 booking load factors vs LY, p16 unit cost outlook +3%, p17 fuel hedging, p18 full-year guidance.",
          "position": 3,
          "objective": "Move from current Q3 actuals to forward-looking 2024 outlook",
          "confidence": 60,
          "extraction": {
            "at": "2026-04-29 13:07:29.779839+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 16,
      "type": "analysis",
      "title": "The slide uses a bar chart to show quarterly trends and text boxes to explain the variance drivers for the second half of the year.",
      "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": 59,
        "componentCount": 7,
        "textChars": 512,
        "nDataPoints": 7,
        "notes": "The slide uses a bar chart to show quarterly trends and text boxes to explain the variance drivers for the second half of the year.",
        "elementsJson": [
          "headline_text",
          "bar_chart_vertical",
          "bullet_list",
          "footnote"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 16:57:37.605+00",
          "seconds": 4.013,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5eff-723e-9be6-2c36e04f2df6/16",
        "deck": "/decks/019dd923-5eff-723e-9be6-2c36e04f2df6",
        "deckAnchor": "/decks/019dd923-5eff-723e-9be6-2c36e04f2df6#slide-16",
        "deckJson": "/decks/019dd923-5eff-723e-9be6-2c36e04f2df6.json"
      },
      "components": [
        {
          "bbox": null,
          "kind": "callout",
          "text": "FULL YEAR UNIT COST OUTLOOK AT +3% COMPARED TO 2023",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": {
              "name": "Visual emphasis",
              "slug": "visual-emphasis",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-474b-736b-a8eb-a794dd88241c",
              "version": 1,
              "bodyDocId": null,
              "description": "Drawing the eye to one element above the rest of the slide.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-27 03:06:49+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-5be9-7345-acec-0babac96ac6c",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.6,
            "w": 0.45,
            "x": 0.05,
            "y": 0.2
          },
          "kind": "chart",
          "text": "2024 Quarterly unit cost per ASK evolution",
          "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 16:57:37.605+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "5ce1e716-c4a5-45a4-8c72-4efb5bf41449",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.3,
            "w": 0.45,
            "x": 0.52,
            "y": 0.2
          },
          "kind": "list",
          "text": "Q3 Unit cost drivers: Olympic payment, disruption costs, Crowdstrike, Transavia capacity, KLM/AF group performance.",
          "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 16:57:37.605+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "2f152cd5-20dd-48c4-a4c0-9c634518b3b6",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.3,
            "w": 0.45,
            "x": 0.52,
            "y": 0.58
          },
          "kind": "list",
          "text": "Q4 Unit cost drivers: Less capacity, maintenance costs, supply chain, repair costs, B787 contracts.",
          "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 16:57:37.605+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "f8a8c66f-1080-4845-86a9-b1dedaa11d7f",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Unit cost per ASK: +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-27 03:06:49+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-5be9-7345-acec-0cd844d3484f",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.4,
            "x": 0.05,
            "y": 0.88
          },
          "kind": "source-note",
          "text": "1) Against a constant fuel price, constant currency and excluding ETS contribution versus 2023\n2) Initially communicated €10m impact",
          "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 16:57:37.605+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "adb63570-ff5b-49f8-9364-5cd8c2e89dd2",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.8,
            "x": 0.05,
            "y": 0.08
          },
          "kind": "title",
          "text": "FULL YEAR UNIT COST OUTLOOK AT +3% COMPARED TO 2023",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "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 16:57:37.605+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "40086cb5-665e-46a2-9eb4-4a01126bafca",
          "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": "019dd95a-1a13-73b8-b32f-9281c5ab84df",
          "evidence": "Title is the guidance number itself: 'Full year unit cost outlook at +3%'.",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
          "confidence": 80,
          "extraction": {
            "at": "2026-04-29 13:07:34.164277+00",
            "model": "claude-legacy",
            "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": "Concrete Language",
            "slug": "concrete-language",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-bcd4-7398-9723-6aa72346170b",
            "version": 1,
            "bodyDocId": null,
            "description": "Using specific sensory details instead of abstract terms",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Storyteller",
          "layer": "slide",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019dd95a-1a13-73b8-b32f-8cfe230540c2",
          "evidence": "Specific guidance figure: '+3% vs 2023'.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 80,
          "extraction": {
            "at": "2026-04-29 13:07:34.164277+00",
            "model": "claude-legacy",
            "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": 14,
          "name": "The Implications (So What)",
          "beatId": "019dd95a-07a7-7579-bd62-43aa06058e96",
          "matchId": "019dd95a-0543-7581-99b2-9d0776b15a85",
          "beatType": {
            "name": "The Implications (So What)",
            "slug": "triple-take-the-implications-so-what",
            "status": "active",
            "canonId": "019dd9b8-09c7-75cd-8c7b-ae0e23cca2b8",
            "version": 1,
            "description": null
          },
          "evidence": "Outlook 2024, fuel hedging, flight tax risk, market positioning.",
          "position": 2,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Reflection",
            "slug": "reflection",
            "status": "active",
            "canonId": "019dd9b8-0510-73fd-8d00-1c7e45f7bc98",
            "version": 1,
            "description": "The \"so what\" beat. Used by analytical arcs (Triple-take, Onion) and learning arcs (Voyage-return, Tragedy)."
          },
          "alignedBlockIds": null,
          "matchConfidence": 78
        },
        {
          "to": 22,
          "arc": {
            "name": "The Consultant's Gambit",
            "slug": "consultants-gambit",
            "status": "active",
            "bestFor": "Business cases, project proposals, strategic recommendations",
            "canonId": "019dd956-5e0a-73c8-b305-81c38c959e9c",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Situation & Context -> Problem & Complication -> Solution & Approach -> Evidence & Proof -> Impact & Next Steps",
            "description": null,
            "familyLabel": null
          },
          "from": 14,
          "name": "Impact & Next Steps",
          "beatId": "019dd95a-07a7-7579-bd62-5ab390f3b029",
          "matchId": "019dd95a-0543-7581-99b2-a15900b78386",
          "beatType": {
            "name": "Impact & Next Steps",
            "slug": "consultants-gambit-impact-next-steps",
            "status": "active",
            "canonId": "019dd9b8-0849-7728-9ee9-fd1609c4c655",
            "version": 1,
            "description": null
          },
          "evidence": "Outlook, flight tax, markets, conclude with priorities.",
          "position": 5,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Resolution",
            "slug": "resolution",
            "status": "active",
            "canonId": "019dd9b8-045d-703b-8dd7-e92aba3ba91b",
            "version": 1,
            "description": "How the deck ends. Required in 19/20 arcs. The exception (Sparkline) ends with new bliss which is functionally a resolution."
          },
          "alignedBlockIds": null,
          "matchConfidence": 55
        }
      ],
      "loops": [
        {
          "to": 18,
          "from": 15,
          "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": "019dd95a-08f8-7619-ac2b-6c2e0c1615fb",
          "evidence": "p15 Q4 booking load factors vs LY, p16 unit cost outlook +3%, p17 fuel hedging, p18 full-year guidance.",
          "position": 3,
          "objective": "Move from current Q3 actuals to forward-looking 2024 outlook",
          "confidence": 60,
          "extraction": {
            "at": "2026-04-29 13:07:29.779839+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 17,
      "type": "analysis",
      "title": "The chart shows a reduction in the total fuel bill from 7.7bn in FY 2023 to 7.3bn in FY 2024.",
      "function": "analyze_data",
      "rawType": "financial_analysis",
      "block": null,
      "metadata": {
        "slideType": "financial_analysis",
        "slideTypeCanon": {
          "name": "Financial analysis",
          "slug": "financial_analysis",
          "status": "active",
          "canonId": "019de52d-0b45-709c-bfcc-0cf83dd00f13",
          "version": 1,
          "description": null
        },
        "function": "analyze_data",
        "functionCanon": {
          "name": "Analyze data",
          "slug": "analyze_data",
          "status": "active",
          "canonId": "019de52d-1590-7413-8c82-cc218cff40b4",
          "version": 1,
          "description": null
        },
        "density": "balanced",
        "densityScore": 37,
        "componentCount": 5,
        "textChars": 300,
        "nDataPoints": 54,
        "notes": "The chart shows a reduction in the total fuel bill from 7.7bn in FY 2023 to 7.3bn in FY 2024.",
        "elementsJson": [
          "bar_chart_vertical",
          "data_table"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 16:57:36.154+00",
          "seconds": 2.557,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5eff-723e-9be6-2c36e04f2df6/17",
        "deck": "/decks/019dd923-5eff-723e-9be6-2c36e04f2df6",
        "deckAnchor": "/decks/019dd923-5eff-723e-9be6-2c36e04f2df6#slide-17",
        "deckJson": "/decks/019dd923-5eff-723e-9be6-2c36e04f2df6.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.3,
            "w": 0.6,
            "x": 0.25,
            "y": 0.2
          },
          "kind": "chart",
          "text": "Fuel bill after hedge ($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 16:57:36.154+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "f36be1a3-3e58-4b92-8fd6-3603f916217b",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.3,
            "x": 0.05,
            "y": 0.9
          },
          "kind": "disclaimer",
          "text": "Based on forward curve at 1st November 2024. Jet fuel price including into plane cost, excluding SAF premium.",
          "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 16:57:36.154+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "92060d25-5abd-4591-9139-f9397ea2daf1",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Fuel bill after hedge: 7.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-27 03:06:45+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-5be9-7345-ace8-0ea9c6ef8f62",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.3,
            "w": 0.9,
            "x": 0.05,
            "y": 0.6
          },
          "kind": "table",
          "text": "Market price and Price after hedge data table",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Table",
              "slug": "table",
              "status": "active",
              "canonId": "019de52c-f9c8-7148-8119-eaac9594cd28",
              "version": 1,
              "description": "Tabular data layout."
            },
            "tool": null,
            "subkind": {
              "name": "Data table",
              "slug": "data",
              "status": "active",
              "canonId": "019de52d-02d5-75b8-8abf-88e92bf63569",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "data",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 16:57:36.154+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "e0451775-1ed4-4b8f-a218-c5f1e25271f1",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.1,
            "w": 0.9,
            "x": 0.05,
            "y": 0.08
          },
          "kind": "title",
          "text": "70% HEDGED FOR 2024 AND 50% FOR 2025\nTOTAL FUEL BILL BELOW LAST YEAR WHILE CAPACITY INCREASED",
          "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 16:57:36.154+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "506dc835-a676-41bf-9ff6-e204094a6e3a",
          "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": "019dd95a-1a13-73b8-b32f-9a60be71f135",
          "evidence": "Title states the hedge ratios and outcome: 'fuel bill below last year while capacity increased'.",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": "Any decision-grade deliverable — strategy recommendation, board update, investment memo, M&A review, post-mortem — where the reader is being asked to agree, decide, or act and will skim the title bar at speed.",
          "confidence": 80,
          "extraction": {
            "at": "2026-04-29 13:07:34.164277+00",
            "model": "claude-legacy",
            "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": "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": "019dd95a-1a13-73b8-b32f-9fe24e380747",
          "evidence": "Hedge percentages annotated on chart.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 70,
          "extraction": {
            "at": "2026-04-29 13:07:34.164277+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 17,
          "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": "019dd95a-1a13-73b8-b32f-955cdc0c64fd",
          "evidence": "Hedging coverage shown via comparison chart.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 75,
          "extraction": {
            "at": "2026-04-29 13:07:34.164277+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 17,
          "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": "c9ae6bf9-95e6-4ee8-8c99-6db2bfe66c24",
          "evidence": "chart/bar-vertical: Fuel bill after hedge ($bn)",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.8,
          "extraction": {
            "at": "2026-07-16 22:15:41.292634+00",
            "model": "or:meta-llama/llama-4-scout",
            "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": 14,
          "name": "The Implications (So What)",
          "beatId": "019dd95a-07a7-7579-bd62-43aa06058e96",
          "matchId": "019dd95a-0543-7581-99b2-9d0776b15a85",
          "beatType": {
            "name": "The Implications (So What)",
            "slug": "triple-take-the-implications-so-what",
            "status": "active",
            "canonId": "019dd9b8-09c7-75cd-8c7b-ae0e23cca2b8",
            "version": 1,
            "description": null
          },
          "evidence": "Outlook 2024, fuel hedging, flight tax risk, market positioning.",
          "position": 2,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Reflection",
            "slug": "reflection",
            "status": "active",
            "canonId": "019dd9b8-0510-73fd-8d00-1c7e45f7bc98",
            "version": 1,
            "description": "The \"so what\" beat. Used by analytical arcs (Triple-take, Onion) and learning arcs (Voyage-return, Tragedy)."
          },
          "alignedBlockIds": null,
          "matchConfidence": 78
        },
        {
          "to": 22,
          "arc": {
            "name": "The Consultant's Gambit",
            "slug": "consultants-gambit",
            "status": "active",
            "bestFor": "Business cases, project proposals, strategic recommendations",
            "canonId": "019dd956-5e0a-73c8-b305-81c38c959e9c",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Situation & Context -> Problem & Complication -> Solution & Approach -> Evidence & Proof -> Impact & Next Steps",
            "description": null,
            "familyLabel": null
          },
          "from": 14,
          "name": "Impact & Next Steps",
          "beatId": "019dd95a-07a7-7579-bd62-5ab390f3b029",
          "matchId": "019dd95a-0543-7581-99b2-a15900b78386",
          "beatType": {
            "name": "Impact & Next Steps",
            "slug": "consultants-gambit-impact-next-steps",
            "status": "active",
            "canonId": "019dd9b8-0849-7728-9ee9-fd1609c4c655",
            "version": 1,
            "description": null
          },
          "evidence": "Outlook, flight tax, markets, conclude with priorities.",
          "position": 5,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Resolution",
            "slug": "resolution",
            "status": "active",
            "canonId": "019dd9b8-045d-703b-8dd7-e92aba3ba91b",
            "version": 1,
            "description": "How the deck ends. Required in 19/20 arcs. The exception (Sparkline) ends with new bliss which is functionally a resolution."
          },
          "alignedBlockIds": null,
          "matchConfidence": 55
        }
      ],
      "loops": [
        {
          "to": 18,
          "from": 15,
          "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": "019dd95a-08f8-7619-ac2b-6c2e0c1615fb",
          "evidence": "p15 Q4 booking load factors vs LY, p16 unit cost outlook +3%, p17 fuel hedging, p18 full-year guidance.",
          "position": 3,
          "objective": "Move from current Q3 actuals to forward-looking 2024 outlook",
          "confidence": 60,
          "extraction": {
            "at": "2026-04-29 13:07:29.779839+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 18,
      "type": "analysis",
      "title": "The slide uses a simple table format to present 2024 projections against 2023 baselines.",
      "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": "balanced",
        "densityScore": 31,
        "componentCount": 5,
        "textChars": 278,
        "nDataPoints": 3,
        "notes": "The slide uses a simple table format to present 2024 projections against 2023 baselines.",
        "elementsJson": [
          "headline_text",
          "data_table",
          "photo",
          "footnote"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 16:57:39.021+00",
          "seconds": 5.418,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5eff-723e-9be6-2c36e04f2df6/18",
        "deck": "/decks/019dd923-5eff-723e-9be6-2c36e04f2df6",
        "deckAnchor": "/decks/019dd923-5eff-723e-9be6-2c36e04f2df6#slide-18",
        "deckJson": "/decks/019dd923-5eff-723e-9be6-2c36e04f2df6.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.85,
            "w": 0.4,
            "x": 0.6,
            "y": 0
          },
          "kind": "image",
          "text": null,
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Image",
              "slug": "image",
              "status": "active",
              "canonId": "019de52c-f978-701f-a720-51d029d769e7",
              "version": 1,
              "description": "Photo, illustration, screenshot or icon."
            },
            "tool": null,
            "subkind": {
              "name": "Photo",
              "slug": "photo",
              "status": "active",
              "canonId": "019de52c-fd37-757f-b4a8-ca26d4888875",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "photo",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 16:57:39.021+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "d8f78962-9e28-453f-9285-e28d59d838e7",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Group Capacity: +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-27 03:06:46+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-5be9-7345-ace8-639f351cbd7d",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.5,
            "x": 0.05,
            "y": 0.92
          },
          "kind": "source-note",
          "text": "1) At constant fuel price including SAF, constant currency and excluding Emission Trading Scheme cost (ETS) against 2023",
          "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 16:57:39.021+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "05eaefe0-5bde-475c-a052-50bcca594090",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.4,
            "w": 0.5,
            "x": 0.05,
            "y": 0.3
          },
          "kind": "table",
          "text": "Group Capacity: +4% vs. 2023; Unit cost: +c.3% (previously: +2%); Net Capex: €3bn (previously below €3bn) Due to timing effects",
          "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 16:57:39.021+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "8decd28b-c165-49e1-9c28-0a69e321e968",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.25,
            "x": 0.05,
            "y": 0.08
          },
          "kind": "title",
          "text": "OUTLOOK 2024",
          "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 16:57:39.021+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "a9ce97ee-dd57-423b-9edd-4bd1ee0a0183",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "Chunking",
            "slug": "chunking",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-abab-72ce-b64c-2924cc83cf39",
            "version": 1,
            "bodyDocId": null,
            "description": "Information grouped into chunks is remembered better - structure content in digestible units",
            "familyLabel": null,
            "categoryName": "Loop",
            "categorySlug": "loop"
          },
          "agent": "Architect",
          "layer": "loop",
          "agents": [
            "Architect"
          ],
          "matchId": "019dd95a-1a13-73b8-b32f-a0afd403d83a",
          "evidence": "Three guidance rows: Capacity, Unit cost, Net Capex.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 80,
          "extraction": {
            "at": "2026-04-29 13:07:34.164277+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 18,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Concrete Language",
            "slug": "concrete-language",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-bcd4-7398-9723-6aa72346170b",
            "version": 1,
            "bodyDocId": null,
            "description": "Using specific sensory details instead of abstract terms",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Storyteller",
          "layer": "slide",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019dd95a-1a13-73b8-b32f-a5d302bbc07b",
          "evidence": "Specific values with prior comparison: '+c.3% (previously: +2%)', '€3bn (previously below €3bn)'.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 85,
          "extraction": {
            "at": "2026-04-29 13:07:34.164277+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 18,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "White Space (Negative Space)",
            "slug": "white-space-negative-space",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-b6e3-72de-bd7e-8cc963390837",
            "version": 1,
            "bodyDocId": null,
            "description": "Using empty space to reduce cognitive load and create focus",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "019dd95a-1a13-73b8-b32f-a89882ce50ae",
          "evidence": "Sparse data on left, full-bleed photo on right; deliberate empty rows.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 70,
          "extraction": {
            "at": "2026-04-29 13:07:34.164277+00",
            "model": "claude-legacy",
            "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": 14,
          "name": "The Implications (So What)",
          "beatId": "019dd95a-07a7-7579-bd62-43aa06058e96",
          "matchId": "019dd95a-0543-7581-99b2-9d0776b15a85",
          "beatType": {
            "name": "The Implications (So What)",
            "slug": "triple-take-the-implications-so-what",
            "status": "active",
            "canonId": "019dd9b8-09c7-75cd-8c7b-ae0e23cca2b8",
            "version": 1,
            "description": null
          },
          "evidence": "Outlook 2024, fuel hedging, flight tax risk, market positioning.",
          "position": 2,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Reflection",
            "slug": "reflection",
            "status": "active",
            "canonId": "019dd9b8-0510-73fd-8d00-1c7e45f7bc98",
            "version": 1,
            "description": "The \"so what\" beat. Used by analytical arcs (Triple-take, Onion) and learning arcs (Voyage-return, Tragedy)."
          },
          "alignedBlockIds": null,
          "matchConfidence": 78
        },
        {
          "to": 22,
          "arc": {
            "name": "The Consultant's Gambit",
            "slug": "consultants-gambit",
            "status": "active",
            "bestFor": "Business cases, project proposals, strategic recommendations",
            "canonId": "019dd956-5e0a-73c8-b305-81c38c959e9c",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Situation & Context -> Problem & Complication -> Solution & Approach -> Evidence & Proof -> Impact & Next Steps",
            "description": null,
            "familyLabel": null
          },
          "from": 14,
          "name": "Impact & Next Steps",
          "beatId": "019dd95a-07a7-7579-bd62-5ab390f3b029",
          "matchId": "019dd95a-0543-7581-99b2-a15900b78386",
          "beatType": {
            "name": "Impact & Next Steps",
            "slug": "consultants-gambit-impact-next-steps",
            "status": "active",
            "canonId": "019dd9b8-0849-7728-9ee9-fd1609c4c655",
            "version": 1,
            "description": null
          },
          "evidence": "Outlook, flight tax, markets, conclude with priorities.",
          "position": 5,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Resolution",
            "slug": "resolution",
            "status": "active",
            "canonId": "019dd9b8-045d-703b-8dd7-e92aba3ba91b",
            "version": 1,
            "description": "How the deck ends. Required in 19/20 arcs. The exception (Sparkline) ends with new bliss which is functionally a resolution."
          },
          "alignedBlockIds": null,
          "matchConfidence": 55
        }
      ],
      "loops": [
        {
          "to": 18,
          "from": 15,
          "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": "019dd95a-08f8-7619-ac2b-6c2e0c1615fb",
          "evidence": "p15 Q4 booking load factors vs LY, p16 unit cost outlook +3%, p17 fuel hedging, p18 full-year guidance.",
          "position": 3,
          "objective": "Move from current Q3 actuals to forward-looking 2024 outlook",
          "confidence": 60,
          "extraction": {
            "at": "2026-04-29 13:07:29.779839+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 19,
      "type": "setup",
      "function": "transition",
      "rawType": "section_divider",
      "block": null,
      "metadata": {
        "slideType": "section_divider",
        "slideTypeCanon": {
          "name": "Section divider",
          "slug": "section_divider",
          "status": "active",
          "canonId": "019de52d-066a-7402-9554-6ae504999041",
          "version": 1,
          "description": null
        },
        "function": "transition",
        "functionCanon": {
          "name": "Transition",
          "slug": "transition",
          "status": "active",
          "canonId": "019de52d-1365-7149-92aa-66df859e75fd",
          "version": 1,
          "description": null
        },
        "density": "sparse",
        "densityScore": 4,
        "componentCount": 2,
        "textChars": 71,
        "nDataPoints": 0,
        "notes": null,
        "elementsJson": [
          "headline_text"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 16:57:35.472+00",
          "seconds": 1.829,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5eff-723e-9be6-2c36e04f2df6/19",
        "deck": "/decks/019dd923-5eff-723e-9be6-2c36e04f2df6",
        "deckAnchor": "/decks/019dd923-5eff-723e-9be6-2c36e04f2df6#slide-19",
        "deckJson": "/decks/019dd923-5eff-723e-9be6-2c36e04f2df6.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.024,
            "w": 0.468,
            "x": 0.056,
            "y": 0.574
          },
          "kind": "paragraph",
          "text": "Benjamin Smith – Chief Executive Officer Air France-KLM",
          "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 16:57:35.472+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "b2ae4713-b7c5-4f33-a878-8cd0cc077296",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.054,
            "w": 0.399,
            "x": 0.056,
            "y": 0.488
          },
          "kind": "title",
          "text": "UPDATE & OUTLOOK",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 16:57:35.472+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "6ad5e8e0-a07e-48ad-9c42-bf15693531c6",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [],
      "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": 14,
          "name": "The Implications (So What)",
          "beatId": "019dd95a-07a7-7579-bd62-43aa06058e96",
          "matchId": "019dd95a-0543-7581-99b2-9d0776b15a85",
          "beatType": {
            "name": "The Implications (So What)",
            "slug": "triple-take-the-implications-so-what",
            "status": "active",
            "canonId": "019dd9b8-09c7-75cd-8c7b-ae0e23cca2b8",
            "version": 1,
            "description": null
          },
          "evidence": "Outlook 2024, fuel hedging, flight tax risk, market positioning.",
          "position": 2,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Reflection",
            "slug": "reflection",
            "status": "active",
            "canonId": "019dd9b8-0510-73fd-8d00-1c7e45f7bc98",
            "version": 1,
            "description": "The \"so what\" beat. Used by analytical arcs (Triple-take, Onion) and learning arcs (Voyage-return, Tragedy)."
          },
          "alignedBlockIds": null,
          "matchConfidence": 78
        },
        {
          "to": 22,
          "arc": {
            "name": "The Consultant's Gambit",
            "slug": "consultants-gambit",
            "status": "active",
            "bestFor": "Business cases, project proposals, strategic recommendations",
            "canonId": "019dd956-5e0a-73c8-b305-81c38c959e9c",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Situation & Context -> Problem & Complication -> Solution & Approach -> Evidence & Proof -> Impact & Next Steps",
            "description": null,
            "familyLabel": null
          },
          "from": 14,
          "name": "Impact & Next Steps",
          "beatId": "019dd95a-07a7-7579-bd62-5ab390f3b029",
          "matchId": "019dd95a-0543-7581-99b2-a15900b78386",
          "beatType": {
            "name": "Impact & Next Steps",
            "slug": "consultants-gambit-impact-next-steps",
            "status": "active",
            "canonId": "019dd9b8-0849-7728-9ee9-fd1609c4c655",
            "version": 1,
            "description": null
          },
          "evidence": "Outlook, flight tax, markets, conclude with priorities.",
          "position": 5,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Resolution",
            "slug": "resolution",
            "status": "active",
            "canonId": "019dd9b8-045d-703b-8dd7-e92aba3ba91b",
            "version": 1,
            "description": "How the deck ends. Required in 19/20 arcs. The exception (Sparkline) ends with new bliss which is functionally a resolution."
          },
          "alignedBlockIds": null,
          "matchConfidence": 55
        }
      ],
      "loops": [],
      "locked": true
    },
    {
      "page": 20,
      "type": "tension",
      "function": "frame_problem",
      "rawType": "problem_statement",
      "block": null,
      "metadata": {
        "slideType": "problem_statement",
        "slideTypeCanon": {
          "name": "Problem statement",
          "slug": "problem_statement",
          "status": "active",
          "canonId": "019de52d-0879-768d-bba8-8da8a5a121d4",
          "version": 1,
          "description": null
        },
        "function": "frame_problem",
        "functionCanon": {
          "name": "Frame problem",
          "slug": "frame_problem",
          "status": "active",
          "canonId": "019de52d-13db-753e-ad70-e9b2d0dab398",
          "version": 1,
          "description": null
        },
        "density": "dense",
        "densityScore": 64,
        "componentCount": 7,
        "textChars": 696,
        "nDataPoints": 3,
        "notes": null,
        "elementsJson": [
          "headline_text",
          "paragraph",
          "icon_grid",
          "callout_box",
          "photo"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 16:57:39.368+00",
          "seconds": 5.619,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5eff-723e-9be6-2c36e04f2df6/20",
        "deck": "/decks/019dd923-5eff-723e-9be6-2c36e04f2df6",
        "deckAnchor": "/decks/019dd923-5eff-723e-9be6-2c36e04f2df6#slide-20",
        "deckJson": "/decks/019dd923-5eff-723e-9be6-2c36e04f2df6.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.15,
            "w": 0.8,
            "x": 0.05,
            "y": 0.075
          },
          "kind": "callout",
          "text": "Projected incremental tax of €280m\nPotential 2025 negative impact vs 2024: €90-€170m on the operating result",
          "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 16:57:39.368+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "fed17c61-8d89-4d31-909b-56fcc915ec0d",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "callout",
          "text": "Projected incremental tax of €280m. Potential 2025 negative impact vs 2024: €90-€170m on the operating result",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": {
              "name": "Visual emphasis",
              "slug": "visual-emphasis",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-474b-736b-a8eb-a794dd88241c",
              "version": 1,
              "bodyDocId": null,
              "description": "Drawing the eye to one element above the rest of the slide.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": null,
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-27 03:06:46+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-5be9-7345-ace9-57f0394347a5",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.06,
            "w": 0.025,
            "x": 0.075,
            "y": 0.03
          },
          "kind": "image",
          "text": null,
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Image",
              "slug": "image",
              "status": "active",
              "canonId": "019de52c-f978-701f-a720-51d029d769e7",
              "version": 1,
              "description": "Photo, illustration, screenshot or icon."
            },
            "tool": null,
            "subkind": {
              "name": "Photo",
              "slug": "photo",
              "status": "active",
              "canonId": "019de52c-fd37-757f-b4a8-ca26d4888875",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "photo",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 16:57:39.368+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "408f8fb2-eb97-4342-a305-dee2de8eb62c",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.4,
            "w": 0.7,
            "x": 0.1,
            "y": 0.035
          },
          "kind": "list",
          "text": "higher fares\nreduced profitability\nhamper our ability to deliver our sustainability trajectory\nfurther reduction of competitiveness",
          "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 16:57:39.368+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "f1719095-55f6-4eb2-92e7-ec7c8c124842",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Operating result impact: €90-€170m",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-27 03:06:46+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-5be9-7345-ace9-5a6fce9534f5",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.08,
            "w": 0.9,
            "x": 0.05,
            "y": 0.25
          },
          "kind": "paragraph",
          "text": "Currently discussed in the French Parliament for the 2025 budget, the aviation tax (\"TSBA\") increase on all flights departing from France could result in a negative impact on key strategic domains of our Group:",
          "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 16:57:39.368+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "aa79b4a3-918f-4e68-86b5-8b017c1a14b4",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.1,
            "w": 0.9,
            "x": 0.05,
            "y": 0.08
          },
          "kind": "title",
          "text": "PROPOSED INCREASE OF THE FLIGHT TAX IN FRANCE WOULD IMPACT THE GROUP’S PROFITABILITY AND COMPETITIVENESS",
          "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 16:57:39.368+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "b3b5d2ac-dff4-4f4b-9315-2a61aafb2606",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "Loss Aversion",
            "slug": "loss-aversion",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-9761-738f-8fd4-558a63ea744a",
            "version": 1,
            "bodyDocId": null,
            "description": "Losses are felt 2x more strongly than equivalent gains - frame stakes as potential loss",
            "familyLabel": null,
            "categoryName": "Block",
            "categorySlug": "block"
          },
          "agent": "Storyteller",
          "layer": "block",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019dd95a-1a13-73b8-b32f-aed9c3246178",
          "evidence": "Frames flight tax purely as loss: 'negative impact on key strategic domains', '€90-€170m on operating result'.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 85,
          "extraction": {
            "at": "2026-04-29 13:07:34.164277+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 20,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Chunking",
            "slug": "chunking",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-abab-72ce-b64c-2924cc83cf39",
            "version": 1,
            "bodyDocId": null,
            "description": "Information grouped into chunks is remembered better - structure content in digestible units",
            "familyLabel": null,
            "categoryName": "Loop",
            "categorySlug": "loop"
          },
          "agent": "Architect",
          "layer": "loop",
          "agents": [
            "Architect"
          ],
          "matchId": "019dd95a-1a13-73b8-b32f-ba4695e06b9d",
          "evidence": "Four icon-tagged impact themes: fares, profitability, sustainability, competitiveness.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 80,
          "extraction": {
            "at": "2026-04-29 13:07:34.164277+00",
            "model": "claude-legacy",
            "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": "019dd95a-1a13-73b8-b32f-b5f5ae29bc11",
          "evidence": "Title states the threat: 'flight tax in France would impact profitability and competitiveness'.",
          "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-04-29 13:07:34.164277+00",
            "model": "claude-legacy",
            "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": "Concrete Language",
            "slug": "concrete-language",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-bcd4-7398-9723-6aa72346170b",
            "version": 1,
            "bodyDocId": null,
            "description": "Using specific sensory details instead of abstract terms",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Storyteller",
          "layer": "slide",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019dd95a-1a13-73b8-b32f-b319274238d0",
          "evidence": "Concrete figures: €280m incremental tax, €90-€170m 2025 impact.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 85,
          "extraction": {
            "at": "2026-04-29 13:07:34.164277+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 20,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Emotional Appeal",
            "slug": "emotional-appeal",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-bde9-7668-8be7-0097678fec59",
            "version": 1,
            "bodyDocId": null,
            "description": "Connecting to audience feelings rather than just logic",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Storyteller",
          "layer": "slide",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019dd95a-1a13-73b8-b32f-bc001e8d3e31",
          "evidence": "Politicized framing referencing French Parliament with Palais Bourbon photo.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 65,
          "extraction": {
            "at": "2026-04-29 13:07:34.164277+00",
            "model": "claude-legacy",
            "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": 14,
          "name": "The Implications (So What)",
          "beatId": "019dd95a-07a7-7579-bd62-43aa06058e96",
          "matchId": "019dd95a-0543-7581-99b2-9d0776b15a85",
          "beatType": {
            "name": "The Implications (So What)",
            "slug": "triple-take-the-implications-so-what",
            "status": "active",
            "canonId": "019dd9b8-09c7-75cd-8c7b-ae0e23cca2b8",
            "version": 1,
            "description": null
          },
          "evidence": "Outlook 2024, fuel hedging, flight tax risk, market positioning.",
          "position": 2,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Reflection",
            "slug": "reflection",
            "status": "active",
            "canonId": "019dd9b8-0510-73fd-8d00-1c7e45f7bc98",
            "version": 1,
            "description": "The \"so what\" beat. Used by analytical arcs (Triple-take, Onion) and learning arcs (Voyage-return, Tragedy)."
          },
          "alignedBlockIds": null,
          "matchConfidence": 78
        },
        {
          "to": 22,
          "arc": {
            "name": "The Consultant's Gambit",
            "slug": "consultants-gambit",
            "status": "active",
            "bestFor": "Business cases, project proposals, strategic recommendations",
            "canonId": "019dd956-5e0a-73c8-b305-81c38c959e9c",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Situation & Context -> Problem & Complication -> Solution & Approach -> Evidence & Proof -> Impact & Next Steps",
            "description": null,
            "familyLabel": null
          },
          "from": 14,
          "name": "Impact & Next Steps",
          "beatId": "019dd95a-07a7-7579-bd62-5ab390f3b029",
          "matchId": "019dd95a-0543-7581-99b2-a15900b78386",
          "beatType": {
            "name": "Impact & Next Steps",
            "slug": "consultants-gambit-impact-next-steps",
            "status": "active",
            "canonId": "019dd9b8-0849-7728-9ee9-fd1609c4c655",
            "version": 1,
            "description": null
          },
          "evidence": "Outlook, flight tax, markets, conclude with priorities.",
          "position": 5,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Resolution",
            "slug": "resolution",
            "status": "active",
            "canonId": "019dd9b8-045d-703b-8dd7-e92aba3ba91b",
            "version": 1,
            "description": "How the deck ends. Required in 19/20 arcs. The exception (Sparkline) ends with new bliss which is functionally a resolution."
          },
          "alignedBlockIds": null,
          "matchConfidence": 55
        }
      ],
      "loops": [],
      "locked": true
    },
    {
      "page": 21,
      "type": "setup",
      "title": "The slide uses a map-based visualization to show destination counts and capacity growth percentages by region, complemented by brand-specific route expansion hi",
      "function": "summarize",
      "rawType": "geographic_map",
      "block": null,
      "metadata": {
        "slideType": "geographic_map",
        "slideTypeCanon": {
          "name": "Geographic map",
          "slug": "geographic_map",
          "status": "active",
          "canonId": "019de52d-09de-7153-8845-584c1a9d0c83",
          "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": 86,
        "componentCount": 10,
        "textChars": 962,
        "nDataPoints": 12,
        "notes": "The slide uses a map-based visualization to show destination counts and capacity growth percentages by region, complemented by brand-specific route expansion highlights.",
        "elementsJson": [
          "headline_text",
          "map",
          "bullet_list",
          "photo",
          "footnote"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 16:57:37.176+00",
          "seconds": 3.21,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5eff-723e-9be6-2c36e04f2df6/21",
        "deck": "/decks/019dd923-5eff-723e-9be6-2c36e04f2df6",
        "deckAnchor": "/decks/019dd923-5eff-723e-9be6-2c36e04f2df6#slide-21",
        "deckJson": "/decks/019dd923-5eff-723e-9be6-2c36e04f2df6.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.55,
            "w": 0.55,
            "x": 0.05,
            "y": 0.35
          },
          "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": "Map",
              "slug": "map",
              "status": "active",
              "canonId": "019de52c-fe4d-77bd-b0a4-d72d58b9e5a4",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "map",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 16:57:37.176+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "e66c0087-4c64-4d45-b890-db25c97f166b",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.55,
            "w": 0.55,
            "x": 0.05,
            "y": 0.35
          },
          "kind": "list",
          "text": "North America: 33 destinations, +2% vs. LY; Caribbean & Indian Ocean: 14 destinations, +6% vs. LY; Central & South America: 13 destinations, +4% vs. LY; European Network: 175 destinations, +7% vs. LY; Asia & Middle East: 24 destinations, +3% vs. LY; Africa: 29 destinations, +6% vs. LY",
          "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 16:57:37.176+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "142ce278-ef08-4a33-ac7d-1e2291affa7d",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.35,
            "x": 0.62,
            "y": 0.48
          },
          "kind": "list",
          "text": "KLM: North America: opening of Portland and Tampa; Asia: continuous capacity recovery",
          "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 16:57:37.176+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "6f3d3f41-d321-4d70-87d9-4905a40c982c",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.35,
            "x": 0.62,
            "y": 0.27
          },
          "kind": "list",
          "text": "Air France: opening of Manila, ongoing capacity recovery; South America: opening of Salvador de Bahia; Africa: opening of Kilimanjaro; Caribbean and Indian Ocean: opening Malé; Medium Haul: opening of Kiruna",
          "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 16:57:37.176+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "7a15d04d-f272-44d4-b71e-a4ebdbe1554d",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.35,
            "x": 0.62,
            "y": 0.68
          },
          "kind": "list",
          "text": "Transavia: France: opening of Jeddah among 20+ other routes; Netherlands: extension of Granada and Tbilisi from summer season",
          "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 16:57:37.176+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "c23de68e-b36e-4001-9f22-a6a81dc8f702",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Capacity (ASKs): +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-27 03:06:46+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-5be9-7345-ace9-1dbc687d9806",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.4,
            "x": 0.05,
            "y": 0.95
          },
          "kind": "source-note",
          "text": "1) Combination of Air France and KLM Short & Medium haul networks and Transavia networks",
          "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 16:57:37.176+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "a8e17742-c5b5-4f65-abb3-14ed9dcd1f69",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.3,
            "x": 0.05,
            "y": 0.31
          },
          "kind": "subtitle",
          "text": "Air France-KLM Group, capacity in ASKs",
          "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 16:57:37.176+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "0babadd6-98de-4c3c-8381-ae7d914789d2",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.08,
            "w": 0.9,
            "x": 0.05,
            "y": 0.11
          },
          "kind": "title",
          "text": "AIR FRANCE-KLM CONTINUE STRENGTHENING THE POSITION ON ITS' MAIN MARKETS",
          "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 16:57:37.176+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "644371a3-472d-47dc-85ed-f4628b17682e",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.4,
            "x": 0.05,
            "y": 0.27
          },
          "kind": "title",
          "text": "Winter 24/25 Season Capacity & Destinations",
          "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 16:57:37.176+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "86d32bdf-b3ea-44b8-8b56-1ad57576ceea",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "Chunking",
            "slug": "chunking",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-abab-72ce-b64c-2924cc83cf39",
            "version": 1,
            "bodyDocId": null,
            "description": "Information grouped into chunks is remembered better - structure content in digestible units",
            "familyLabel": null,
            "categoryName": "Loop",
            "categorySlug": "loop"
          },
          "agent": "Architect",
          "layer": "loop",
          "agents": [
            "Architect"
          ],
          "matchId": "019dd95a-1a13-73b8-b32f-c73a1c3858e0",
          "evidence": "Six geographic chunks on map plus three brand-side route announcements.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 75,
          "extraction": {
            "at": "2026-04-29 13:07:34.164277+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 21,
          "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": "019dd95a-1a13-73b8-b32f-c2cbaa3f05e2",
          "evidence": "World map regions annotated with destination count and YoY % (e.g. North America 33, +2%).",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 85,
          "extraction": {
            "at": "2026-04-29 13:07:34.164277+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 21,
          "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": "019dd95a-1a13-73b8-b32f-cb4f83f3cb16",
          "evidence": "Right column color-keyed by airline brand.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 70,
          "extraction": {
            "at": "2026-04-29 13:07:34.164277+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 21,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Picture Superiority Effect",
            "slug": "picture-superiority-effect",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-c201-7014-bb58-3e85e3e11dfd",
            "version": 1,
            "bodyDocId": null,
            "description": "Pictures remembered 6x better than words - prioritize visuals over text",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "019dd95a-1a13-73b8-b32f-cf3760fd9acb",
          "evidence": "Map dominates layout to convey global footprint at a glance.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 70,
          "extraction": {
            "at": "2026-04-29 13:07:34.164277+00",
            "model": "claude-legacy",
            "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": 14,
          "name": "The Implications (So What)",
          "beatId": "019dd95a-07a7-7579-bd62-43aa06058e96",
          "matchId": "019dd95a-0543-7581-99b2-9d0776b15a85",
          "beatType": {
            "name": "The Implications (So What)",
            "slug": "triple-take-the-implications-so-what",
            "status": "active",
            "canonId": "019dd9b8-09c7-75cd-8c7b-ae0e23cca2b8",
            "version": 1,
            "description": null
          },
          "evidence": "Outlook 2024, fuel hedging, flight tax risk, market positioning.",
          "position": 2,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Reflection",
            "slug": "reflection",
            "status": "active",
            "canonId": "019dd9b8-0510-73fd-8d00-1c7e45f7bc98",
            "version": 1,
            "description": "The \"so what\" beat. Used by analytical arcs (Triple-take, Onion) and learning arcs (Voyage-return, Tragedy)."
          },
          "alignedBlockIds": null,
          "matchConfidence": 78
        },
        {
          "to": 22,
          "arc": {
            "name": "The Consultant's Gambit",
            "slug": "consultants-gambit",
            "status": "active",
            "bestFor": "Business cases, project proposals, strategic recommendations",
            "canonId": "019dd956-5e0a-73c8-b305-81c38c959e9c",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Situation & Context -> Problem & Complication -> Solution & Approach -> Evidence & Proof -> Impact & Next Steps",
            "description": null,
            "familyLabel": null
          },
          "from": 14,
          "name": "Impact & Next Steps",
          "beatId": "019dd95a-07a7-7579-bd62-5ab390f3b029",
          "matchId": "019dd95a-0543-7581-99b2-a15900b78386",
          "beatType": {
            "name": "Impact & Next Steps",
            "slug": "consultants-gambit-impact-next-steps",
            "status": "active",
            "canonId": "019dd9b8-0849-7728-9ee9-fd1609c4c655",
            "version": 1,
            "description": null
          },
          "evidence": "Outlook, flight tax, markets, conclude with priorities.",
          "position": 5,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Resolution",
            "slug": "resolution",
            "status": "active",
            "canonId": "019dd9b8-045d-703b-8dd7-e92aba3ba91b",
            "version": 1,
            "description": "How the deck ends. Required in 19/20 arcs. The exception (Sparkline) ends with new bliss which is functionally a resolution."
          },
          "alignedBlockIds": null,
          "matchConfidence": 55
        }
      ],
      "loops": [],
      "locked": true
    },
    {
      "page": 22,
      "type": "resolution",
      "function": "summarize",
      "rawType": "key_takeaways",
      "block": null,
      "metadata": {
        "slideType": "key_takeaways",
        "slideTypeCanon": {
          "name": "Key takeaways",
          "slug": "key_takeaways",
          "status": "active",
          "canonId": "019de52d-06e7-7674-a891-9f7de3b11b6d",
          "version": 1,
          "description": null
        },
        "function": "summarize",
        "functionCanon": {
          "name": "Summarize",
          "slug": "summarize",
          "status": "active",
          "canonId": "019de52d-1541-704f-b86f-bf7b75056373",
          "version": 1,
          "description": null
        },
        "density": "sparse",
        "densityScore": 22,
        "componentCount": 4,
        "textChars": 331,
        "nDataPoints": 0,
        "notes": null,
        "elementsJson": [
          "headline_text",
          "bullet_list",
          "icon_grid",
          "photo"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 16:57:38.839+00",
          "seconds": 4.851,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5eff-723e-9be6-2c36e04f2df6/22",
        "deck": "/decks/019dd923-5eff-723e-9be6-2c36e04f2df6",
        "deckAnchor": "/decks/019dd923-5eff-723e-9be6-2c36e04f2df6#slide-22",
        "deckJson": "/decks/019dd923-5eff-723e-9be6-2c36e04f2df6.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.6,
            "w": 0.06,
            "x": 0.05,
            "y": 0.25
          },
          "kind": "image",
          "text": "Icons representing operational success, strategy, profitability, and sustainability",
          "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": "Icon grid",
              "slug": "icon-grid",
              "status": "active",
              "canonId": "019de52c-fdfe-749d-9990-1db465a3eed4",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "icon-grid",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 16:57:38.839+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "1ce3e3f7-2173-4285-94dc-bf1f837f9986",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.6,
            "w": 0.3,
            "x": 0.65,
            "y": 0.2
          },
          "kind": "image",
          "text": "Air France and KLM aircraft images",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Image",
              "slug": "image",
              "status": "active",
              "canonId": "019de52c-f978-701f-a720-51d029d769e7",
              "version": 1,
              "description": "Photo, illustration, screenshot or icon."
            },
            "tool": null,
            "subkind": {
              "name": "Photo",
              "slug": "photo",
              "status": "active",
              "canonId": "019de52c-fd37-757f-b4a8-ca26d4888875",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "photo",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 16:57:38.839+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "fd82a033-91b5-40cb-bbe2-571162198e71",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.6,
            "w": 0.5,
            "x": 0.12,
            "y": 0.25
          },
          "kind": "list",
          "text": "Successful operational contribution to Paris 2024; Our strategic priorities deliver great achievements; We maintain our medium-term profitability target; Generating value with a more sustainable aviation",
          "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 16:57:38.839+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "cf4cc48e-8c31-4231-8d85-1758eeb1e458",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.25,
            "x": 0.05,
            "y": 0.05
          },
          "kind": "title",
          "text": "TO CONCLUDE",
          "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 16:57:38.839+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "45899a5b-e1d0-4daa-a54d-ec897a86e425",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "Chunking",
            "slug": "chunking",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-abab-72ce-b64c-2924cc83cf39",
            "version": 1,
            "bodyDocId": null,
            "description": "Information grouped into chunks is remembered better - structure content in digestible units",
            "familyLabel": null,
            "categoryName": "Loop",
            "categorySlug": "loop"
          },
          "agent": "Architect",
          "layer": "loop",
          "agents": [
            "Architect"
          ],
          "matchId": "019dd95a-1a13-73b8-b32f-d44a26e1860a",
          "evidence": "Four icon-led conclusion blocks (Paris 2024, priorities, profitability target, sustainability).",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 80,
          "extraction": {
            "at": "2026-04-29 13:07:34.164277+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 22,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Closing Techniques",
            "slug": "closing-techniques",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-af13-774b-a4fd-7db0a3a88d51",
            "version": 1,
            "bodyDocId": null,
            "description": "Strong endings: Callback, challenge, vision, clear CTA, memorable line",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Storyteller",
          "layer": "slide",
          "agents": [
            "Storyteller"
          ],
          "matchId": "019dd95a-1a13-73b8-b32f-d2c3e89a505d",
          "evidence": "'To conclude' page recaps strategic priorities with vision-style statements.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 85,
          "extraction": {
            "at": "2026-04-29 13:07:34.164277+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 22,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Core Message Extraction",
            "slug": "core-message-extraction",
            "status": "active",
            "bestFor": "Any slide that carries an argument or finding. The diagnostic: if the slide has a chart on it, it needs a core message. Run extraction whenever the current title is a topic (Q3 performance, Customer satisfaction) rather than a claim, or when a reader could reasonably draw more than one conclusion from the visible evidence.",
            "canonId": "019dd956-bc71-707d-8867-1b2e810175cf",
            "version": 1,
            "bodyDocId": "f85613cb-4b77-462f-bfe6-3b862516e1a6",
            "description": "The discipline of distilling raw analysis, data, or content into a single declarative sentence — the slide's core message — that the audience would walk away with if they remembered nothing else. Process, not artefact: extraction questions run on the raw content until one sentence falls out.",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Architect",
          "layer": "slide",
          "agents": [
            "Architect"
          ],
          "matchId": "019dd95a-1a13-73b8-b32f-d83b6cebd003",
          "evidence": "Distills entire deck into four headline takeaways.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": "Any slide that carries an argument or finding. The diagnostic: if the slide has a chart on it, it needs a core message. Run extraction whenever the current title is a topic (Q3 performance, Customer satisfaction) rather than a claim, or when a reader could reasonably draw more than one conclusion from the visible evidence.",
          "confidence": 70,
          "extraction": {
            "at": "2026-04-29 13:07:34.164277+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 22,
          "whyItWorks": "Solves the two failure modes of slide writing simultaneously: the topic title (which outsources interpretation to the audience and produces three different conclusions in three different heads) and the multi-thesis stapler (which exceeds working memory and gets remembered as fragments). Aligns with how readers actually consume decks — Heath & Heath's Find the Core, the journalist's nut graf, and Minto's governing thought all converge on the same cognitive economics.",
          "antipattern": "Topic titles disguised as core messages (Customer satisfaction, no verb, no stake); multi-thesis sentences stapled with and; hedged sentences (may show signs of possible softening); chart-caption titles (Revenue fell 4%) that restate what the chart already shows instead of naming the so-what; meta-commentary (this slide explores...) that describes the slide rather than concluding it.",
          "cardinality": null,
          "narrativePurpose": "Forces the slide author to do the interpretive work before the slide ships, so the audience does not have to do it during the meeting. Wins the WYSIATI battle on purpose — the loudest fragment on the page becomes the author's chosen sentence rather than whichever chart label happens to be largest."
        },
        {
          "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": "019dd95a-1a13-73b8-b32f-dc9b7428ffc8",
          "evidence": "Bold blue takeaway headers dominate over supporting bullets.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 70,
          "extraction": {
            "at": "2026-04-29 13:07:34.164277+00",
            "model": "claude-legacy",
            "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 Action (Now What)",
          "beatId": "019dd95a-07a7-7579-bd62-476a6aa06250",
          "matchId": "019dd95a-0543-7581-99b2-9d0776b15a85",
          "beatType": {
            "name": "The Action (Now What)",
            "slug": "triple-take-the-action-now-what",
            "status": "active",
            "canonId": "019dd9b8-0a5e-735a-bf53-3a1ba629b7aa",
            "version": 1,
            "description": null
          },
          "evidence": "'To conclude' lists 4 strategic priorities going forward.",
          "position": 3,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Resolution",
            "slug": "resolution",
            "status": "active",
            "canonId": "019dd9b8-045d-703b-8dd7-e92aba3ba91b",
            "version": 1,
            "description": "How the deck ends. Required in 19/20 arcs. The exception (Sparkline) ends with new bliss which is functionally a resolution."
          },
          "alignedBlockIds": null,
          "matchConfidence": 78
        },
        {
          "to": 22,
          "arc": {
            "name": "The Consultant's Gambit",
            "slug": "consultants-gambit",
            "status": "active",
            "bestFor": "Business cases, project proposals, strategic recommendations",
            "canonId": "019dd956-5e0a-73c8-b305-81c38c959e9c",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Situation & Context -> Problem & Complication -> Solution & Approach -> Evidence & Proof -> Impact & Next Steps",
            "description": null,
            "familyLabel": null
          },
          "from": 14,
          "name": "Impact & Next Steps",
          "beatId": "019dd95a-07a7-7579-bd62-5ab390f3b029",
          "matchId": "019dd95a-0543-7581-99b2-a15900b78386",
          "beatType": {
            "name": "Impact & Next Steps",
            "slug": "consultants-gambit-impact-next-steps",
            "status": "active",
            "canonId": "019dd9b8-0849-7728-9ee9-fd1609c4c655",
            "version": 1,
            "description": null
          },
          "evidence": "Outlook, flight tax, markets, conclude with priorities.",
          "position": 5,
          "isPrimaryArc": false,
          "parentBeatType": {
            "name": "Resolution",
            "slug": "resolution",
            "status": "active",
            "canonId": "019dd9b8-045d-703b-8dd7-e92aba3ba91b",
            "version": 1,
            "description": "How the deck ends. Required in 19/20 arcs. The exception (Sparkline) ends with new bliss which is functionally a resolution."
          },
          "alignedBlockIds": null,
          "matchConfidence": 55
        }
      ],
      "loops": [],
      "locked": true
    },
    {
      "page": 23,
      "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": 0,
        "componentCount": 1,
        "textChars": 8,
        "nDataPoints": 0,
        "notes": null,
        "elementsJson": [
          "headline_text"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 16:57:36.045+00",
          "seconds": 1.68,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5eff-723e-9be6-2c36e04f2df6/23",
        "deck": "/decks/019dd923-5eff-723e-9be6-2c36e04f2df6",
        "deckAnchor": "/decks/019dd923-5eff-723e-9be6-2c36e04f2df6#slide-23",
        "deckJson": "/decks/019dd923-5eff-723e-9be6-2c36e04f2df6.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.05,
            "w": 0.23,
            "x": 0.055,
            "y": 0.485
          },
          "kind": "title",
          "text": "APPENDIX",
          "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 16:57:36.045+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "bd187e9f-3715-4ed8-a9f4-b214d4559119",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [],
      "frameworks": [],
      "arcBeats": [],
      "loops": [],
      "locked": true
    },
    {
      "page": 24,
      "type": "analysis",
      "title": "The waterfall chart details the drivers of the operating result decline, specifically highlighting the impact of Olympic Games, unit revenue, fuel/ETS costs, un",
      "function": "analyze_data",
      "rawType": "financial_analysis",
      "block": null,
      "metadata": {
        "slideType": "financial_analysis",
        "slideTypeCanon": {
          "name": "Financial analysis",
          "slug": "financial_analysis",
          "status": "active",
          "canonId": "019de52d-0b45-709c-bfcc-0cf83dd00f13",
          "version": 1,
          "description": null
        },
        "function": "analyze_data",
        "functionCanon": {
          "name": "Analyze data",
          "slug": "analyze_data",
          "status": "active",
          "canonId": "019de52d-1590-7413-8c82-cc218cff40b4",
          "version": 1,
          "description": null
        },
        "density": "balanced",
        "densityScore": 32,
        "componentCount": 5,
        "textChars": 229,
        "nDataPoints": 24,
        "notes": "The waterfall chart details the drivers of the operating result decline, specifically highlighting the impact of Olympic Games, unit revenue, fuel/ETS costs, unit costs, and currency/other factors.",
        "elementsJson": [
          "data_table",
          "waterfall_chart",
          "footnote"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 16:57:37.608+00",
          "seconds": 3.147,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5eff-723e-9be6-2c36e04f2df6/24",
        "deck": "/decks/019dd923-5eff-723e-9be6-2c36e04f2df6",
        "deckAnchor": "/decks/019dd923-5eff-723e-9be6-2c36e04f2df6#slide-24",
        "deckJson": "/decks/019dd923-5eff-723e-9be6-2c36e04f2df6.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.5,
            "w": 0.45,
            "x": 0.5,
            "y": 0.25
          },
          "kind": "chart",
          "text": "Operating result evolution",
          "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 16:57:37.608+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "0bc921c2-6cab-4963-8312-9655ec032cfd",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.02,
            "w": 0.3,
            "x": 0.05,
            "y": 0.91
          },
          "kind": "disclaimer",
          "text": "1) Unit cost at constant fuel, constant currency and excluding ETS",
          "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 16:57:37.608+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "7b333da0-3864-4196-a462-47a9b8c5586d",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Operating result: 1,204",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-27 03:06:46+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-5be9-7345-ace8-9e4addbd7cff",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.25,
            "w": 0.4,
            "x": 0.05,
            "y": 0.37
          },
          "kind": "table",
          "text": "Revenues, Operating expenses, EBITDA, Operating result, Operating margin, Net income for the period",
          "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 16:57:37.608+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "d8ea0c1b-98a8-4a51-9088-6154b07c0f62",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.04,
            "w": 0.25,
            "x": 0.05,
            "y": 0.08
          },
          "kind": "title",
          "text": "9M 2024 RESULTS",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 16:57:37.608+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "1ee21256-6961-4273-b65d-85f13019740a",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "Anchoring Bias",
            "slug": "anchoring-bias",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-9254-73de-8f1b-c7250f8f4c9c",
            "version": 1,
            "bodyDocId": null,
            "description": "First piece of information becomes reference point for all subsequent judgments",
            "familyLabel": null,
            "categoryName": "Block",
            "categorySlug": "block"
          },
          "agent": "Architect",
          "layer": "block",
          "agents": [
            "Architect",
            "Storyteller"
          ],
          "matchId": "019dd95a-1a13-73b8-b32f-e394d62d9eab",
          "evidence": "9M 2024 vs 9M 2023 anchor columns in summary table.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 75,
          "extraction": {
            "at": "2026-04-29 13:07:34.164277+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 24,
          "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": "019dd95a-1a13-73b8-b32f-e8820c30af51",
          "evidence": "Tabular row chunks: revenues, expenses, EBITDA, op result, margin, net income.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 70,
          "extraction": {
            "at": "2026-04-29 13:07:34.164277+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 24,
          "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": "019dd95a-1a13-73b8-b32f-e6659c3c9bcc",
          "evidence": "Red/green sentiment coloring on change column.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 75,
          "extraction": {
            "at": "2026-04-29 13:07:34.164277+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 24,
          "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": "4a196e04-b7f8-4a0e-bfda-efbe1ee84df0",
          "evidence": "chart/waterfall: Operating result evolution",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.8,
          "extraction": {
            "at": "2026-07-16 22:15:41.608736+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 24,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [
        {
          "matchId": "2c8a965e-8587-4b85-8905-0e2008b4cb1a",
          "evidence": "The chart visualizes the bridge between 9M 2023 and 9M 2024 operating results.",
          "framework": null,
          "confidence": 1,
          "extraction": {
            "at": "2026-05-02 16:57:37.608+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 24,
          "frameworkName": "waterfall-chart"
        }
      ],
      "arcBeats": [],
      "loops": [
        {
          "to": 28,
          "from": 24,
          "loop": {
            "name": "34_segmentation_split",
            "slug": "34-segmentation-split",
            "status": "active",
            "bestFor": "Customer analysis, market research, resource allocation",
            "canonId": "019dd956-7398-77a8-9a5f-2e4d39589f42",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Aggregate View -> Segment A Behavior -> Segment B Behavior -> The Insight in the Difference",
            "description": "Divide a whole into meaningful segments to reveal hidden patterns",
            "familyLabel": null
          },
          "matchId": "019dd95a-08f8-7619-ac2b-717ed44dbb06",
          "evidence": "9M aggregate then businesses contribution, airline & Flying Blue, currency, debt — segment breakdowns.",
          "position": 4,
          "objective": "Decompose 9M results into segments and drivers",
          "confidence": 70,
          "extraction": {
            "at": "2026-04-29 13:07:29.779839+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 25,
      "type": "analysis",
      "title": "The table includes specific footnotes defining capacity, unit revenue, and cargo-related metrics.",
      "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": "balanced",
        "densityScore": 34,
        "componentCount": 5,
        "textChars": 250,
        "nDataPoints": 35,
        "notes": "The table includes specific footnotes defining capacity, unit revenue, and cargo-related metrics.",
        "elementsJson": [
          "kpi_table",
          "footnote"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 16:57:37.018+00",
          "seconds": 2.266,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5eff-723e-9be6-2c36e04f2df6/25",
        "deck": "/decks/019dd923-5eff-723e-9be6-2c36e04f2df6",
        "deckAnchor": "/decks/019dd923-5eff-723e-9be6-2c36e04f2df6#slide-25",
        "deckJson": "/decks/019dd923-5eff-723e-9be6-2c36e04f2df6.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.04,
            "w": 0.15,
            "x": 0.76,
            "y": 0.92
          },
          "kind": "image",
          "text": "Air France-KLM Group logo",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Image",
              "slug": "image",
              "status": "active",
              "canonId": "019de52c-f978-701f-a720-51d029d769e7",
              "version": 1,
              "description": "Photo, illustration, screenshot or icon."
            },
            "tool": null,
            "subkind": {
              "name": "Logo",
              "slug": "logo",
              "status": "active",
              "canonId": "019de52c-fdaf-743d-94c4-d7c6a0e55302",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "logo",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 16:57:37.018+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "aa76be20-02c4-420d-8379-c1ee79feff18",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Operating margin: 5.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-27 03:06:49+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-5be9-7345-aceb-c00acfd53787",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.1,
            "w": 0.6,
            "x": 0.05,
            "y": 0.85
          },
          "kind": "source-note",
          "text": "Footnotes 1-4 detailing definitions of capacity, unit revenue, and cargo metrics.",
          "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 16:57:37.018+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "fe5a1388-723d-4f39-8657-717f89f339cd",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.45,
            "w": 0.9,
            "x": 0.05,
            "y": 0.28
          },
          "kind": "table",
          "text": "Financial and operational performance table for Network, Transavia, Maintenance, and Group.",
          "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 16:57:37.018+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "e4dc7e05-f1f2-4082-9f13-1693e7e02abe",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.04,
            "w": 0.4,
            "x": 0.05,
            "y": 0.08
          },
          "kind": "title",
          "text": "9M 2024 BUSINESSES CONTRIBUTION",
          "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 16:57:37.018+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "d40de7ba-2358-43eb-a958-0c7a3c34fcaf",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "Chunking",
            "slug": "chunking",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-abab-72ce-b64c-2924cc83cf39",
            "version": 1,
            "bodyDocId": null,
            "description": "Information grouped into chunks is remembered better - structure content in digestible units",
            "familyLabel": null,
            "categoryName": "Loop",
            "categorySlug": "loop"
          },
          "agent": "Architect",
          "layer": "loop",
          "agents": [
            "Architect"
          ],
          "matchId": "019dd95a-1a13-73b8-b32f-eca1e8d8dde2",
          "evidence": "Business contributions broken into segment rows.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 70,
          "extraction": {
            "at": "2026-04-29 13:07:34.164277+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 25,
          "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": "019dd95a-1a13-73b8-b32f-f25911bea183",
          "evidence": "Sentiment coloring on YoY changes.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 70,
          "extraction": {
            "at": "2026-04-29 13:07:34.164277+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 25,
          "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": "22e00900-7a61-4fdd-af79-69339b0af6ab",
          "evidence": "table/kpi: Financial and operational performance table for Network, Transavia, Maintenance, and Group.",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": null,
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 22:15:50.199981+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 25,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [],
      "loops": [
        {
          "to": 28,
          "from": 24,
          "loop": {
            "name": "34_segmentation_split",
            "slug": "34-segmentation-split",
            "status": "active",
            "bestFor": "Customer analysis, market research, resource allocation",
            "canonId": "019dd956-7398-77a8-9a5f-2e4d39589f42",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Aggregate View -> Segment A Behavior -> Segment B Behavior -> The Insight in the Difference",
            "description": "Divide a whole into meaningful segments to reveal hidden patterns",
            "familyLabel": null
          },
          "matchId": "019dd95a-08f8-7619-ac2b-717ed44dbb06",
          "evidence": "9M aggregate then businesses contribution, airline & Flying Blue, currency, debt — segment breakdowns.",
          "position": 4,
          "objective": "Decompose 9M results into segments and drivers",
          "confidence": 70,
          "extraction": {
            "at": "2026-04-29 13:07:29.779839+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 26,
      "type": "analysis",
      "title": "The table includes footnotes regarding intercompany eliminations and the inclusion of Flying Blue figures in 2023 results.",
      "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": 46,
        "componentCount": 5,
        "textChars": 537,
        "nDataPoints": 24,
        "notes": "The table includes footnotes regarding intercompany eliminations and the inclusion of Flying Blue figures in 2023 results.",
        "elementsJson": [
          "headline_text",
          "data_table",
          "photo",
          "footnote"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 16:57:37.926+00",
          "seconds": 3.018,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5eff-723e-9be6-2c36e04f2df6/26",
        "deck": "/decks/019dd923-5eff-723e-9be6-2c36e04f2df6",
        "deckAnchor": "/decks/019dd923-5eff-723e-9be6-2c36e04f2df6#slide-26",
        "deckJson": "/decks/019dd923-5eff-723e-9be6-2c36e04f2df6.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.06,
            "w": 0.45,
            "x": 0.05,
            "y": 0.91
          },
          "kind": "disclaimer",
          "text": "NB: Sum of individual airline results does not add up to Air France-KLM total due to intercompany eliminations at Group level. 1) Flying Blue Miles total gross turnover, including third party airline and non airline partners revenue. 2) Airlines 2023 results were still including Flying Blue figures, resulting in a negative impact in the change columns",
          "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 16:57:37.926+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "4b83b0b7-6850-4322-a994-f80e49213d52",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.8,
            "x": 0.1,
            "y": 0.74
          },
          "kind": "image",
          "text": null,
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Image",
              "slug": "image",
              "status": "active",
              "canonId": "019de52c-f978-701f-a720-51d029d769e7",
              "version": 1,
              "description": "Photo, illustration, screenshot or icon."
            },
            "tool": null,
            "subkind": {
              "name": "Photo",
              "slug": "photo",
              "status": "active",
              "canonId": "019de52c-fd37-757f-b4a8-ca26d4888875",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "photo",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 16:57:37.926+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "a3df1df5-7fb7-4f15-8d99-c2eb7bc5cc9e",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Operating result: 1,204",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-27 03:06:46+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-5be9-7345-ace8-79a84a29ce1b",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.35,
            "w": 0.8,
            "x": 0.1,
            "y": 0.25
          },
          "kind": "table",
          "text": "9M 2024 vs 9M 2023 Capacity change Revenues (€ m) Change YoY Operating result (€ m) Change YoY Operating margin Change YoY",
          "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 16:57:37.926+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "f310fa2d-739b-4f41-a52a-0e27985d9aa1",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.5,
            "x": 0.05,
            "y": 0.08
          },
          "kind": "title",
          "text": "9M 2024 AIRLINE AND FLYING BLUE RESULTS",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 16:57:37.926+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "dd2e05b3-f743-4e1d-a382-1bbc8a6e43f6",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "Anchoring Bias",
            "slug": "anchoring-bias",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-9254-73de-8f1b-c7250f8f4c9c",
            "version": 1,
            "bodyDocId": null,
            "description": "First piece of information becomes reference point for all subsequent judgments",
            "familyLabel": null,
            "categoryName": "Block",
            "categorySlug": "block"
          },
          "agent": "Architect",
          "layer": "block",
          "agents": [
            "Architect",
            "Storyteller"
          ],
          "matchId": "019dd95a-1a13-73b8-b32f-fae2116d964f",
          "evidence": "Prior-year column anchors comparison in detailed airline table.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 70,
          "extraction": {
            "at": "2026-04-29 13:07:34.164277+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 26,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Color Strategy",
            "slug": "color-strategy",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-b202-77cf-8a6e-f445b08c0fd3",
            "version": 1,
            "bodyDocId": null,
            "description": "Using color for emphasis, categories, sentiment, and hierarchy",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "019dd95a-1a13-73b8-b32f-f61609c8207e",
          "evidence": "Sentiment coloring on YoY change cells across airline rows.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 70,
          "extraction": {
            "at": "2026-04-29 13:07:34.164277+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 26,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Table data",
            "slug": "table-data",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd9e1-4fab-7168-a82f-b847350a006d",
            "version": 1,
            "bodyDocId": null,
            "description": "Tabular layouts of structured data.",
            "familyLabel": null,
            "categoryName": null,
            "categorySlug": null
          },
          "agent": null,
          "layer": "slide",
          "agents": null,
          "matchId": "51df0c3d-ed13-497f-80dd-8fe78e3b70a4",
          "evidence": "table/data: 9M 2024 vs 9M 2023 Capacity change Revenues (€ m) Change YoY Operating result (€ m) Change YoY Operating margin Change YoY",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.9,
          "extraction": {
            "at": "2026-07-16 22:15:50.277079+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 26,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": "common",
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [],
      "loops": [
        {
          "to": 28,
          "from": 24,
          "loop": {
            "name": "34_segmentation_split",
            "slug": "34-segmentation-split",
            "status": "active",
            "bestFor": "Customer analysis, market research, resource allocation",
            "canonId": "019dd956-7398-77a8-9a5f-2e4d39589f42",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Aggregate View -> Segment A Behavior -> Segment B Behavior -> The Insight in the Difference",
            "description": "Divide a whole into meaningful segments to reveal hidden patterns",
            "familyLabel": null
          },
          "matchId": "019dd95a-08f8-7619-ac2b-717ed44dbb06",
          "evidence": "9M aggregate then businesses contribution, airline & Flying Blue, currency, debt — segment breakdowns.",
          "position": 4,
          "objective": "Decompose 9M results into segments and drivers",
          "confidence": 70,
          "extraction": {
            "at": "2026-04-29 13:07:29.779839+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 27,
      "type": "analysis",
      "title": "The slide uses a waterfall-like logic for the currency impact and donut charts for currency exposure.",
      "function": "analyze_data",
      "rawType": "financial_analysis",
      "block": null,
      "metadata": {
        "slideType": "financial_analysis",
        "slideTypeCanon": {
          "name": "Financial analysis",
          "slug": "financial_analysis",
          "status": "active",
          "canonId": "019de52d-0b45-709c-bfcc-0cf83dd00f13",
          "version": 1,
          "description": null
        },
        "function": "analyze_data",
        "functionCanon": {
          "name": "Analyze data",
          "slug": "analyze_data",
          "status": "active",
          "canonId": "019de52d-1590-7413-8c82-cc218cff40b4",
          "version": 1,
          "description": null
        },
        "density": "balanced",
        "densityScore": 40,
        "componentCount": 6,
        "textChars": 268,
        "nDataPoints": 9,
        "notes": "The slide uses a waterfall-like logic for the currency impact and donut charts for currency exposure.",
        "elementsJson": [
          "bar_chart_horizontal",
          "donut_chart",
          "icon_grid"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 16:57:37.424+00",
          "seconds": 2.483,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5eff-723e-9be6-2c36e04f2df6/27",
        "deck": "/decks/019dd923-5eff-723e-9be6-2c36e04f2df6",
        "deckAnchor": "/decks/019dd923-5eff-723e-9be6-2c36e04f2df6#slide-27",
        "deckJson": "/decks/019dd923-5eff-723e-9be6-2c36e04f2df6.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.25,
            "w": 0.15,
            "x": 0.75,
            "y": 0.6
          },
          "kind": "chart",
          "text": "Costs per currency FY 2023",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Chart",
              "slug": "chart",
              "status": "active",
              "canonId": "019de52c-f9a0-76ef-adc6-0b859109d1f8",
              "version": 1,
              "description": "Quantitative chart."
            },
            "tool": null,
            "subkind": {
              "name": "Donut chart",
              "slug": "donut",
              "status": "active",
              "canonId": "019de52d-0006-752c-9528-0fef476b8004",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "donut",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 16:57:37.424+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "3a790956-bd92-404f-a9f1-20c19e1992fe",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.25,
            "w": 0.15,
            "x": 0.55,
            "y": 0.6
          },
          "kind": "chart",
          "text": "Revenues per currency FY 2023",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Chart",
              "slug": "chart",
              "status": "active",
              "canonId": "019de52c-f9a0-76ef-adc6-0b859109d1f8",
              "version": 1,
              "description": "Quantitative chart."
            },
            "tool": null,
            "subkind": {
              "name": "Donut chart",
              "slug": "donut",
              "status": "active",
              "canonId": "019de52d-0006-752c-9528-0fef476b8004",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "donut",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 16:57:37.424+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "815232e7-7a2c-4eca-b777-cff57ed2d4b1",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.25,
            "w": 0.4,
            "x": 0.07,
            "y": 0.28
          },
          "kind": "chart",
          "text": "Currency impact on revenues and costs in Q3 2024",
          "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 16:57:37.424+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "8743206e-baed-4bea-9694-1da7017c29e7",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.4,
            "x": 0.07,
            "y": 0.7
          },
          "kind": "list",
          "text": "Currency impact on revenues; Currency impact on costs, including hedging; Currency impact on operating result",
          "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 16:57:37.424+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "782b1f26-803c-4a28-9da4-37becc8d178e",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Operating Result: -33",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-27 03:06:46+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-5be9-7345-ace9-38b43273b356",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.04,
            "w": 0.45,
            "x": 0.05,
            "y": 0.08
          },
          "kind": "title",
          "text": "CURRENCY IMPACT ON OPERATING RESULT",
          "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 16:57:37.424+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "4730e94a-459f-4821-a13e-9ee54ca66867",
          "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": "019dd95a-1a13-73b8-b330-01a8c2965aec",
          "evidence": "Currency steps labelled with values (e.g. -33).",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 70,
          "extraction": {
            "at": "2026-04-29 13:07:34.164277+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 27,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Chart Selection Guide",
            "slug": "chart-selection-guide",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-b1a0-700b-ba17-0e16c4d5bcae",
            "version": 1,
            "bodyDocId": null,
            "description": "Choosing the right chart type for your data and message",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "019dd95a-1a13-73b8-b32f-fe3e8bb8c869",
          "evidence": "Currency impact rendered as a bridge / contribution chart.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 70,
          "extraction": {
            "at": "2026-04-29 13:07:34.164277+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 27,
          "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": "a731ed08-27ed-40b2-bc2e-88a6baeba641",
          "evidence": "chart/waterfall: Currency impact on revenues and costs in Q3 2024",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.8,
          "extraction": {
            "at": "2026-07-16 22:15:50.357262+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 27,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [],
      "loops": [
        {
          "to": 28,
          "from": 24,
          "loop": {
            "name": "34_segmentation_split",
            "slug": "34-segmentation-split",
            "status": "active",
            "bestFor": "Customer analysis, market research, resource allocation",
            "canonId": "019dd956-7398-77a8-9a5f-2e4d39589f42",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Aggregate View -> Segment A Behavior -> Segment B Behavior -> The Insight in the Difference",
            "description": "Divide a whole into meaningful segments to reveal hidden patterns",
            "familyLabel": null
          },
          "matchId": "019dd95a-08f8-7619-ac2b-717ed44dbb06",
          "evidence": "9M aggregate then businesses contribution, airline & Flying Blue, currency, debt — segment breakdowns.",
          "position": 4,
          "objective": "Decompose 9M results into segments and drivers",
          "confidence": 70,
          "extraction": {
            "at": "2026-04-29 13:07:29.779839+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 28,
      "type": "analysis",
      "title": "The chart visualizes debt maturity profile with specific callouts for bond issuances.",
      "function": "analyze_data",
      "rawType": "financial_analysis",
      "block": null,
      "metadata": {
        "slideType": "financial_analysis",
        "slideTypeCanon": {
          "name": "Financial analysis",
          "slug": "financial_analysis",
          "status": "active",
          "canonId": "019de52d-0b45-709c-bfcc-0cf83dd00f13",
          "version": 1,
          "description": null
        },
        "function": "analyze_data",
        "functionCanon": {
          "name": "Analyze data",
          "slug": "analyze_data",
          "status": "active",
          "canonId": "019de52d-1590-7413-8c82-cc218cff40b4",
          "version": 1,
          "description": null
        },
        "density": "dense",
        "densityScore": 56,
        "componentCount": 7,
        "textChars": 422,
        "nDataPoints": 11,
        "notes": "The chart visualizes debt maturity profile with specific callouts for bond issuances.",
        "elementsJson": [
          "bar_chart_stacked",
          "footnote"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 16:57:37.86+00",
          "seconds": 2.672,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5eff-723e-9be6-2c36e04f2df6/28",
        "deck": "/decks/019dd923-5eff-723e-9be6-2c36e04f2df6",
        "deckAnchor": "/decks/019dd923-5eff-723e-9be6-2c36e04f2df6#slide-28",
        "deckJson": "/decks/019dd923-5eff-723e-9be6-2c36e04f2df6.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.5,
            "w": 0.8,
            "x": 0.1,
            "y": 0.2
          },
          "kind": "chart",
          "text": "Debt reimbursement profile",
          "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 16:57:37.86+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "ceb8479e-1bdc-4cf7-93d1-d6f2c2e6d5cf",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.03,
            "w": 0.5,
            "x": 0.08,
            "y": 0.91
          },
          "kind": "disclaimer",
          "text": "(1) Excluding operating lease debt payments, KLM perpetual debt, and Air France perpetual quasi-equity",
          "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 16:57:37.86+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "8e4e17a8-9108-469f-bfeb-7687cde9cb03",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.1,
            "w": 0.2,
            "x": 0.65,
            "y": 0.65
          },
          "kind": "legend",
          "text": "Sustainability-Linked Bonds: 2026: 7.250% (€500m), 2028: 8.125% (€500m)",
          "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 16:57:37.86+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "b17a5503-7c53-46e8-b1cb-9440cf34fc23",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.1,
            "w": 0.2,
            "x": 0.43,
            "y": 0.65
          },
          "kind": "legend",
          "text": "Other long-term Debt: AF and KLM Secured Debt, mainly 'Asset-backed'",
          "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 16:57:37.86+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "b9b41464-d7df-4550-9e7b-49f3c7262044",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.2,
            "w": 0.3,
            "x": 0.1,
            "y": 0.65
          },
          "kind": "list",
          "text": "Bonds issued by Air France-KLM: January 2025, June 2026, December 2026, May 2029 details.",
          "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 16:57:37.86+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "8aa080bd-dd7b-40e8-ba76-c67359ca8f91",
          "parentComponentId": null
        },
        {
          "bbox": null,
          "kind": "metric",
          "text": "Debt maturity: €2,600m",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": {
              "name": "Quantification",
              "slug": "quantification",
              "status": "active",
              "bestFor": null,
              "canonId": "019dd9e1-47ab-72ce-a079-aab1f5299e88",
              "version": 1,
              "bodyDocId": null,
              "description": "Translating a claim into numbers, charts, or tables.",
              "familyLabel": null
            },
            "subkind": null,
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-04-27 03:06:45+00",
            "model": "or:google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "019dd952-5be9-7345-ace7-c44740f2e84a",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.6,
            "x": 0.05,
            "y": 0.08
          },
          "kind": "title",
          "text": "DEBT REDEMPTION PROFILE AT 30 SEPTEMBER 2024",
          "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 16:57:37.86+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "42117d94-b678-48b4-8aaa-ab1d585a02c7",
          "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": "019dd95a-1a13-73b8-b330-0bc23d639846",
          "evidence": "Maturity totals (€2,600m) called out.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 70,
          "extraction": {
            "at": "2026-04-29 13:07:34.164277+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 28,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Chart Selection Guide",
            "slug": "chart-selection-guide",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-b1a0-700b-ba17-0e16c4d5bcae",
            "version": 1,
            "bodyDocId": null,
            "description": "Choosing the right chart type for your data and message",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "019dd95a-1a13-73b8-b330-069454461146",
          "evidence": "Debt redemption profile shown as time-stacked bar chart.",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 80,
          "extraction": {
            "at": "2026-04-29 13:07:34.164277+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 28,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Chart Selection Guide",
            "slug": "chart-selection-guide",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-b1a0-700b-ba17-0e16c4d5bcae",
            "version": 1,
            "bodyDocId": null,
            "description": "Choosing the right chart type for your data and message",
            "familyLabel": null,
            "categoryName": "Slide",
            "categorySlug": "slide"
          },
          "agent": "Designer",
          "layer": "slide",
          "agents": [
            "Designer"
          ],
          "matchId": "afbeca8f-d4d0-46b5-9faa-fb6ff9b2a1c8",
          "evidence": "chart/bar-stacked: Debt reimbursement profile",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.5,
          "extraction": {
            "at": "2026-07-16 22:15:50.439822+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 28,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [],
      "loops": [
        {
          "to": 28,
          "from": 24,
          "loop": {
            "name": "34_segmentation_split",
            "slug": "34-segmentation-split",
            "status": "active",
            "bestFor": "Customer analysis, market research, resource allocation",
            "canonId": "019dd956-7398-77a8-9a5f-2e4d39589f42",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Aggregate View -> Segment A Behavior -> Segment B Behavior -> The Insight in the Difference",
            "description": "Divide a whole into meaningful segments to reveal hidden patterns",
            "familyLabel": null
          },
          "matchId": "019dd95a-08f8-7619-ac2b-717ed44dbb06",
          "evidence": "9M aggregate then businesses contribution, airline & Flying Blue, currency, debt — segment breakdowns.",
          "position": 4,
          "objective": "Decompose 9M results into segments and drivers",
          "confidence": 70,
          "extraction": {
            "at": "2026-04-29 13:07:29.779839+00",
            "model": "claude-legacy",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          }
        }
      ],
      "locked": true
    },
    {
      "page": 29,
      "type": "appendix",
      "function": "other",
      "rawType": "appendix",
      "block": null,
      "metadata": {
        "slideType": "appendix",
        "slideTypeCanon": {
          "name": "Appendix",
          "slug": "appendix",
          "status": "active",
          "canonId": "019de52d-0762-71f8-b564-89ab863301cc",
          "version": 1,
          "description": null
        },
        "function": "other",
        "functionCanon": {
          "name": "Other (fallback)",
          "slug": "other",
          "status": "active",
          "canonId": "019de52d-15e1-75bc-99dc-07732380e2ce",
          "version": 1,
          "description": null
        },
        "density": "sparse",
        "densityScore": 14,
        "componentCount": 4,
        "textChars": 142,
        "nDataPoints": 0,
        "notes": null,
        "elementsJson": [
          "other"
        ],
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview-20260303",
          "runId": null,
          "at": "2026-05-02 16:57:37.473+00",
          "seconds": 2.257,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019dd923-5eff-723e-9be6-2c36e04f2df6/29",
        "deck": "/decks/019dd923-5eff-723e-9be6-2c36e04f2df6",
        "deckAnchor": "/decks/019dd923-5eff-723e-9be6-2c36e04f2df6#slide-29",
        "deckJson": "/decks/019dd923-5eff-723e-9be6-2c36e04f2df6.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.052,
            "w": 0.186,
            "x": 0.407,
            "y": 0.445
          },
          "kind": "image",
          "text": "AIRFRANCE KLM 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 16:57:37.473+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "d519a2ec-5a7c-4e89-9766-16b24f7021b1",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.065,
            "w": 0.314,
            "x": 0.361,
            "y": 0.785
          },
          "kind": "list",
          "text": "Marouane Mami\nMarouane.mami@airfranceklm.com",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "List",
              "slug": "list",
              "status": "active",
              "canonId": "019de52c-f94b-779b-a53b-fd4904a5f4d2",
              "version": 1,
              "description": "Bullet or numbered list."
            },
            "tool": null,
            "subkind": {
              "name": "Bullet list",
              "slug": "bullet",
              "status": "active",
              "canonId": "019de52c-fc98-7169-a083-5cab805076ca",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bullet",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 16:57:37.473+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "3681bb4a-3cca-4d65-aa2b-fc89ac20bbb1",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.065,
            "w": 0.314,
            "x": 0.058,
            "y": 0.785
          },
          "kind": "list",
          "text": "Michiel Klinkers\nMichiel.klinkers@airfranceklm.com",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "List",
              "slug": "list",
              "status": "active",
              "canonId": "019de52c-f94b-779b-a53b-fd4904a5f4d2",
              "version": 1,
              "description": "Bullet or numbered list."
            },
            "tool": null,
            "subkind": {
              "name": "Bullet list",
              "slug": "bullet",
              "status": "active",
              "canonId": "019de52c-fc98-7169-a083-5cab805076ca",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bullet",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-05-02 16:57:37.473+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "5af71996-86f7-4e43-9d5e-6cefa79f399b",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.025,
            "w": 0.293,
            "x": 0.058,
            "y": 0.691
          },
          "kind": "paragraph",
          "text": "Investor Relations department",
          "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 16:57:37.473+00",
            "model": "google/gemini-3.1-flash-lite-preview-20260303",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "d3104b66-6b29-4b8b-bed4-615597f59437",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [],
      "frameworks": [],
      "arcBeats": [],
      "loops": [],
      "locked": true
    }
  ],
  "arcBeats": [
    {
      "from": 2,
      "to": 13,
      "label": "The Facts (What)",
      "description": "Q3 highlights through financial results tables and waterfalls."
    },
    {
      "from": 14,
      "to": 21,
      "label": "The Implications (So What)",
      "description": "Outlook 2024, fuel hedging, flight tax risk, market positioning."
    },
    {
      "from": 22,
      "to": 22,
      "label": "The Action (Now What)",
      "description": "'To conclude' lists 4 strategic priorities going forward."
    }
  ],
  "loops": [
    {
      "from": 4,
      "to": 6,
      "label": "Mece Breakdown",
      "description": "Show three distinct pillars of Q3 strategic activity"
    },
    {
      "from": 9,
      "to": 13,
      "label": "So What Cascade",
      "description": "Cascade from headline P&L to implications by airline and balance sheet"
    },
    {
      "from": 15,
      "to": 18,
      "label": "Tale Two Worlds",
      "description": "Move from current Q3 actuals to forward-looking 2024 outlook"
    },
    {
      "from": 24,
      "to": 28,
      "label": "Segmentation Split",
      "description": "Decompose 9M results into segments and drivers"
    }
  ]
}