{
  "schemaVersion": "deck-intelligence.v1",
  "id": "019f6b8f-533f-709b-ab81-3e4d5b923e12",
  "slug": "jarvis-platform-sh-pitch-deck",
  "title": "Platform.sh Pitch Deck",
  "subtitle": "platform-sh-pitch-deck",
  "author": "platform-sh-pitch-deck",
  "pageCount": 28,
  "kind": "pitchdeck",
  "document": {
    "id": "019f6b8f-533f-709b-ab81-3e4d5b923e12",
    "slug": "jarvis-platform-sh-pitch-deck",
    "title": "Platform.sh Pitch Deck",
    "rawTitle": "Platform.sh Pitch Deck",
    "authorId": "platform-sh-pitch-deck",
    "authorName": null,
    "authorDisplay": "platform-sh-pitch-deck",
    "kind": {
      "slug": "pitchdeck",
      "label": "Pitch deck"
    },
    "sourceType": {
      "slug": "investor_relations",
      "label": "Investor relations"
    },
    "fileName": "jarvis-platform-sh-pitch-deck.pdf",
    "sourceUrl": "file://Jarvis_Resources/Platform.sh-Pitch-Deck.pdf",
    "sourceDate": null,
    "presentationDate": null,
    "ingestedAt": "2026-07-16 15:33:02.992494+00",
    "status": "ready",
    "pageCount": 28,
    "orientation": null,
    "aspectRatio": null,
    "targetCompany": null,
    "targetTicker": null,
    "metadata": {
      "corpus": "jarvis",
      "industry": null,
      "local_root": "/Users/miguelsuredasuau/Desktop/jarvis-staging/decks/jarvis-platform-sh-pitch-deck",
      "image_width": 1995,
      "image_format": "jpg",
      "deck_type_raw": "pitch-deck",
      "deck_type_slug": null,
      "source_url_pattern": null
    }
  },
  "coverage": {
    "pageCount": 28,
    "pagesIndexed": 28,
    "pagesWithImages": 28,
    "pagesWithMetadata": 28,
    "imageCoveragePct": 100,
    "metadataCoveragePct": 100,
    "componentCount": 91,
    "chartCount": 0,
    "metricSlides": 0,
    "toolMatches": 5,
    "documentToolMatches": 0,
    "frameworkMatches": 7,
    "arcMatches": 1,
    "beatMatches": 3,
    "loopMatches": 2,
    "patternMatches": 0,
    "storymakersMatch": false,
    "scoreAvailable": false,
    "reviewAvailable": false,
    "activistThesisAvailable": false,
    "pitchdeckMetadataAvailable": false,
    "pitchdeckProfileAvailable": false
  },
  "blocks": [],
  "matches": {
    "arcs": [
      {
        "arc": {
          "name": "Problem-Agitate-Solution",
          "slug": "problem-agitate-solution",
          "status": "active",
          "bestFor": "Sales pitches, urgency-driven, competitive displacement",
          "canonId": "019dd956-5ec6-70f9-9fd8-fdbaaff39acf",
          "version": 1,
          "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
          "structure": "Problem (Identify pain) -> Agitate (Make it worse) -> Solution (Provide relief)",
          "description": null,
          "familyLabel": null,
          "categoryName": "Strategy & Business",
          "categorySlug": "strategy-business"
        },
        "matchId": "a4da7fe8-337c-47ae-8f37-7e987f29cc58",
        "evidence": "The deck follows a clear problem → agitation → solution structure, effectively engaging the audience with relatable pain points and presenting Platform.sh as the solution.",
        "isPrimary": true,
        "confidence": 0.9,
        "extraction": {
          "at": "2026-07-16 23:21:29.925948+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": "doc-narrative-v1"
        }
      }
    ],
    "beats": [
      {
        "to": 7,
        "arc": {
          "name": "Problem-Agitate-Solution",
          "slug": "problem-agitate-solution",
          "status": "active",
          "bestFor": "Sales pitches, urgency-driven, competitive displacement",
          "canonId": "019dd956-5ec6-70f9-9fd8-fdbaaff39acf",
          "version": 1,
          "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
          "structure": "Problem (Identify pain) -> Agitate (Make it worse) -> Solution (Provide relief)",
          "description": null,
          "familyLabel": null,
          "categoryName": "Strategy & Business",
          "categorySlug": "strategy-business"
        },
        "from": 6,
        "name": "Problem",
        "beatId": "5286ccba-1017-4d7d-8057-a92ba19ee3eb",
        "matchId": "a4da7fe8-337c-47ae-8f37-7e987f29cc58",
        "beatType": {
          "name": "Problem (Identify pain)",
          "slug": "problem-agitate-solution-problem-identify-pain",
          "status": "active",
          "canonId": "019dd9b8-0e78-74bb-b8f6-54348367a131",
          "version": 1,
          "description": null
        },
        "evidence": "Slides 6 and 7 highlight the pain points developers face, effectively identifying the problem.",
        "position": 0,
        "isPrimaryArc": true,
        "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": 0.9
      },
      {
        "to": 8,
        "arc": {
          "name": "Problem-Agitate-Solution",
          "slug": "problem-agitate-solution",
          "status": "active",
          "bestFor": "Sales pitches, urgency-driven, competitive displacement",
          "canonId": "019dd956-5ec6-70f9-9fd8-fdbaaff39acf",
          "version": 1,
          "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
          "structure": "Problem (Identify pain) -> Agitate (Make it worse) -> Solution (Provide relief)",
          "description": null,
          "familyLabel": null,
          "categoryName": "Strategy & Business",
          "categorySlug": "strategy-business"
        },
        "from": 7,
        "name": "Agitate",
        "beatId": "d31610d3-10bc-409a-9f5b-95c6682a2deb",
        "matchId": "a4da7fe8-337c-47ae-8f37-7e987f29cc58",
        "beatType": {
          "name": "Agitate (Make it worse)",
          "slug": "problem-agitate-solution-agitate-make-it-worse",
          "status": "active",
          "canonId": "019dd9b8-0f5a-71dd-bae7-8fadb0d09456",
          "version": 1,
          "description": null
        },
        "evidence": "Slide 8 implies the need for change, slightly agitating the status quo.",
        "position": 1,
        "isPrimaryArc": true,
        "parentBeatType": {
          "name": "Development",
          "slug": "development",
          "status": "active",
          "canonId": "019dd9b8-0332-7008-b3aa-11b0840a57b1",
          "version": 1,
          "description": "The middle stretch in arcs that have one. Often where length problems creep in."
        },
        "alignedBlockIds": null,
        "matchConfidence": 0.9
      },
      {
        "to": 28,
        "arc": {
          "name": "Problem-Agitate-Solution",
          "slug": "problem-agitate-solution",
          "status": "active",
          "bestFor": "Sales pitches, urgency-driven, competitive displacement",
          "canonId": "019dd956-5ec6-70f9-9fd8-fdbaaff39acf",
          "version": 1,
          "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
          "structure": "Problem (Identify pain) -> Agitate (Make it worse) -> Solution (Provide relief)",
          "description": null,
          "familyLabel": null,
          "categoryName": "Strategy & Business",
          "categorySlug": "strategy-business"
        },
        "from": 8,
        "name": "Solution",
        "beatId": "1efa9196-4165-4f3e-b31b-c0eaf98969bc",
        "matchId": "a4da7fe8-337c-47ae-8f37-7e987f29cc58",
        "beatType": {
          "name": "Solution (Provide relief)",
          "slug": "problem-agitate-solution-solution-provide-relief",
          "status": "active",
          "canonId": "019dd9b8-0fee-73e9-9ae5-799c7f3895cd",
          "version": 1,
          "description": null
        },
        "evidence": "Slides 9 through 28 detail the solution offered by Platform.sh, providing relief to the identified pain points.",
        "position": 2,
        "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": 0.9
      }
    ],
    "loops": [
      {
        "to": 3,
        "from": 3,
        "loop": {
          "name": "11_golden_circle",
          "slug": "11-golden-circle",
          "status": "active",
          "bestFor": "Visionary leadership, brand positioning, mission statements",
          "canonId": "019dd956-6a50-7202-882d-505fcb9922ed",
          "version": 1,
          "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
          "structure": "The Why (Belief) -> The How (Process) -> The What (Result)",
          "description": "Invert the typical pitch by starting with why you exist, rather than what you do",
          "familyLabel": null,
          "categoryName": "Vision",
          "categorySlug": "vision"
        },
        "matchId": "3a171434-30ed-4e38-8ecc-5e5a8ebc0156",
        "evidence": "Slide 3 clearly states the company's belief, setting the stage for understanding the 'why'.",
        "position": 0,
        "objective": "Establishing the 'why' behind Platform.sh's mission",
        "confidence": 0.8,
        "extraction": {
          "at": "2026-07-16 23:21:30.092997+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": "doc-narrative-v1"
        }
      },
      {
        "to": 28,
        "from": 6,
        "loop": {
          "name": "21_before_after",
          "slug": "21-before-after",
          "status": "active",
          "bestFor": "Product demos, process improvements, ROI justification",
          "canonId": "019dd956-6e68-73fd-a295-fe90145c2da8",
          "version": 1,
          "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
          "structure": "The Old Way (Pain) -> The Moment of Change -> The New Way (Glory) -> The Measurable Delta",
          "description": "Show the dramatic contrast between the old way and the new way through side-by-side comparison",
          "familyLabel": null,
          "categoryName": "Comparison",
          "categorySlug": "comparison"
        },
        "matchId": "8a3cdc16-b7ed-4568-a72c-982f0b0df59e",
        "evidence": "The deck progresses from highlighting pain points to showcasing the comprehensive solution provided by Platform.sh.",
        "position": 1,
        "objective": "Showing the transformation from current pain points to future relief with Platform.sh",
        "confidence": 0.7,
        "extraction": {
          "at": "2026-07-16 23:21:30.134356+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": "doc-narrative-v1"
        }
      }
    ],
    "tools": [
      {
        "tool": {
          "name": "Before-After-Bridge",
          "slug": "before-after-bridge",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-8604-7188-883f-42370288ad05",
          "version": 1,
          "bodyDocId": null,
          "description": "Narrative structure: Paint the before, show the after, explain the bridge",
          "familyLabel": null,
          "categoryName": "Block",
          "categorySlug": "block"
        },
        "agent": "Storyteller",
        "layer": "slide",
        "agents": [
          "Storyteller"
        ],
        "matchId": "aaf1ccc0-8ebc-4780-8ba2-dc0dc9ea058d",
        "evidence": "Complex stack (DevOps, IaaS, Compliance, CI, DB, Deployment) -> Platform.sh -> Simplified Shipping",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.7,
        "extraction": {
          "at": "2026-07-17 02:19:48.600493+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 8,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Storytelling: audience calibration",
          "slug": "audience",
          "status": "active",
          "bestFor": null,
          "canonId": "019df269-23ea-723a-87c0-af1d78d702d2",
          "version": 1,
          "bodyDocId": "019df269-23c5-72ec-8b94-78fc1da7b656",
          "description": "The same thesis, written for four different audiences, produces four",
          "familyLabel": "narrative-block",
          "categoryName": "Narrative & Transformation",
          "categorySlug": "narrative-transformation"
        },
        "agent": "storyteller",
        "layer": "slide",
        "agents": [
          "storyteller"
        ],
        "matchId": "67c064bc-1bd6-4f49-97c8-c0742cf87d61",
        "evidence": "Development teams live in Git",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.7,
        "extraction": {
          "at": "2026-07-17 02:19:45.72309+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 11,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Section divider",
          "slug": "section-divider",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd9e1-4c66-707d-8d1f-6e14547134c7",
          "version": 1,
          "bodyDocId": null,
          "description": "A transitional slide marking the start of a new section.",
          "familyLabel": null,
          "categoryName": null,
          "categorySlug": null
        },
        "agent": null,
        "layer": "slide",
        "agents": null,
        "matchId": "b9f90239-0948-43d1-b0ed-75532b0c0d89",
        "evidence": "Who we sell to",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.9,
        "extraction": {
          "at": "2026-07-17 03:51:25.440982+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 25,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": "common",
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Audience Definition",
          "slug": "audience-definition",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-7f2a-775d-aeee-ff099bcb7756",
          "version": 1,
          "bodyDocId": null,
          "description": "Six key questions: Who are they? What do they know? What do they believe? What do they care about? What do they fear? What decisions can they make?",
          "familyLabel": null,
          "categoryName": "Block",
          "categorySlug": "block"
        },
        "agent": "Storyteller",
        "layer": "slide",
        "agents": [
          "Storyteller"
        ],
        "matchId": "ba6c2b08-c15e-48d0-907d-1f1e2aedb298",
        "evidence": "list/bullet: Central technology managers & teams: CIO, VPE, Director of IT, IT Manager. Tasked with securing the organization and making it more efficient",
        "pageRefs": null,
        "priority": "Core",
        "whenToUse": null,
        "confidence": 0.7,
        "extraction": {
          "at": "2026-07-17 03:51:34.879413+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 26,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      },
      {
        "tool": {
          "name": "Audience Segmentation",
          "slug": "audience-segmentation",
          "status": "active",
          "bestFor": null,
          "canonId": "019dd956-8079-7046-8e6b-ecdf1bf15590",
          "version": 1,
          "bodyDocId": null,
          "description": "Grouping audience by attitude toward your message: Champions, Neutrals, Skeptics",
          "familyLabel": null,
          "categoryName": "Block",
          "categorySlug": "block"
        },
        "agent": "Storyteller",
        "layer": "slide",
        "agents": [
          "Storyteller"
        ],
        "matchId": "2314eb1e-735f-4ad6-a2fb-c72b500099ad",
        "evidence": "list/bullet: Central technology managers & teams: CIO, VPE, Director of IT, IT Manager. Tasked with securing the organization and making it more efficient",
        "pageRefs": null,
        "priority": null,
        "whenToUse": null,
        "confidence": 0.7,
        "extraction": {
          "at": "2026-07-17 03:51:34.848453+00",
          "model": "or:meta-llama/llama-4-scout",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 26,
        "whyItWorks": null,
        "antipattern": null,
        "cardinality": null,
        "narrativePurpose": null
      }
    ],
    "frameworks": [
      {
        "matchId": "57e1b410-babd-4612-a2f0-ee2e2d18a592",
        "evidence": "Distinguishes between core value-add tasks and secondary operational tasks.",
        "framework": null,
        "confidence": 0.8,
        "extraction": {
          "at": "2026-07-16 19:08:55.483+00",
          "model": "google/gemini-3.1-flash-lite-preview",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 7,
        "frameworkName": "jobs-to-be-done"
      },
      {
        "matchId": "14535519-f09e-46a2-9411-63a4b55f29f0",
        "evidence": "Visual contrast between a complex, multi-step process and a simplified outcome facilitated by the product.",
        "framework": null,
        "confidence": 0.9,
        "extraction": {
          "at": "2026-07-16 19:08:56.076+00",
          "model": "google/gemini-3.1-flash-lite-preview",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 8,
        "frameworkName": "before-after-bridge"
      },
      {
        "matchId": "4e2c2c25-0769-4ca8-a5fe-f1063f66f348",
        "evidence": "Using a Git branch diagram to represent team workflow",
        "framework": null,
        "confidence": 0.9,
        "extraction": {
          "at": "2026-07-16 19:08:55.787+00",
          "model": "google/gemini-3.1-flash-lite-preview",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 10,
        "frameworkName": "metaphor-analogy"
      },
      {
        "matchId": "ec7f7309-ef69-4889-9395-db7091fb8772",
        "evidence": "The headline explicitly uses an analogy to define the product's value.",
        "framework": null,
        "confidence": 1,
        "extraction": {
          "at": "2026-07-16 19:08:57.057+00",
          "model": "google/gemini-3.1-flash-lite-preview",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 12,
        "frameworkName": "argument-from-analogy"
      },
      {
        "matchId": "ed0f1018-d76d-4048-bd36-450a17441c93",
        "evidence": "Visual representation of branching and merging code",
        "framework": null,
        "confidence": 0.8,
        "extraction": {
          "at": "2026-07-16 19:08:57.456+00",
          "model": "google/gemini-3.1-flash-lite-preview",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 15,
        "frameworkName": "git-flow"
      },
      {
        "matchId": "f39e8d20-1a15-4ef7-8146-3fc0f1444337",
        "evidence": "Uses the analogy of airplane takeoff/landing to explain software deployment risk.",
        "framework": null,
        "confidence": 1,
        "extraction": {
          "at": "2026-07-16 19:08:59.204+00",
          "model": "google/gemini-3.1-flash-lite-preview",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 21,
        "frameworkName": "metaphor-analogy"
      },
      {
        "matchId": "7ca188fc-1eff-4ee0-906a-4e0cce8a65ea",
        "evidence": "Categorization of target customers by role and motivation",
        "framework": null,
        "confidence": 1,
        "extraction": {
          "at": "2026-07-16 19:09:00.397+00",
          "model": "google/gemini-3.1-flash-lite-preview",
          "runId": null,
          "seconds": null,
          "promptVersion": null
        },
        "pageNumber": 26,
        "frameworkName": "audience-segmentation"
      }
    ],
    "patterns": []
  },
  "storymakers": null,
  "score": null,
  "review": null,
  "activistThesis": null,
  "pitchdeck": {
    "metadata": null,
    "profile": null
  },
  "slides": [
    {
      "page": 1,
      "type": "setup",
      "function": "front_matter",
      "imagePath": "https://imgproxy.kitesheet.com/7GnmOoRbTJaijAawcH6s5R10BqeFVJrX_57Mf-bR6KQ/rs:fit:1200:1200:0/q:82/f:webp/czM6Ly9raXRlc2hlZXQvY29ycHVzL3NsaWRlcy9qYXJ2aXMtcGxhdGZvcm0tc2gtcGl0Y2gtZGVjay9wMDAxLmpwZw",
      "rawType": "cover",
      "block": null,
      "metadata": {
        "slideType": "cover",
        "slideTypeCanon": {
          "name": "Cover",
          "slug": "cover",
          "status": "active",
          "canonId": "019de52d-05f2-729d-9f93-e0504f0a2410",
          "version": 1,
          "description": null
        },
        "function": "front_matter",
        "functionCanon": {
          "name": "Front matter",
          "slug": "front_matter",
          "status": "active",
          "canonId": "019de52d-133d-73f0-9e26-201eda96b098",
          "version": 1,
          "description": null
        },
        "density": "sparse",
        "densityScore": 12,
        "componentCount": 3,
        "textChars": 81,
        "nDataPoints": 0,
        "notes": null,
        "elementsJson": null,
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview",
          "runId": null,
          "at": "2026-07-16 19:08:54.004+00",
          "seconds": 2.058,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019f6b8f-533f-709b-ab81-3e4d5b923e12/1",
        "deck": "/decks/019f6b8f-533f-709b-ab81-3e4d5b923e12",
        "deckAnchor": "/decks/019f6b8f-533f-709b-ab81-3e4d5b923e12#slide-1",
        "deckJson": "/decks/019f6b8f-533f-709b-ab81-3e4d5b923e12.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.05,
            "w": 0.2,
            "x": 0.05,
            "y": 0.85
          },
          "kind": "image",
          "text": "platform.sh 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-07-16 19:08:54.004+00",
            "model": "google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "48143bea-0c6a-4891-978d-131d8f0f7d5d",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.8,
            "w": 0.4,
            "x": 0.6,
            "y": 0
          },
          "kind": "image",
          "text": "Product UI screenshots",
          "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": "Screenshot",
              "slug": "screenshot",
              "status": "active",
              "canonId": "019de52c-fd87-7509-8391-3d79fb339379",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "screenshot",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-07-16 19:08:54.004+00",
            "model": "google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "2ec3ed76-1a47-4f3f-a0c7-1e3c012b9070",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.3,
            "w": 0.6,
            "x": 0.05,
            "y": 0.15
          },
          "kind": "title",
          "text": "The end-to-end web platform for agile teams",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-07-16 19:08:54.004+00",
            "model": "google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "e7cf9822-8fb3-430a-b56a-f99460f64ae3",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [],
      "frameworks": [],
      "arcBeats": [],
      "loops": [],
      "thumbSrc": "https://imgproxy.kitesheet.com/YoKTnl1igNYte2ySaEkk_5lKaoYKhYdnj0Vdn2z1TJk/rs:fit:480:480:0/q:78/f:webp/czM6Ly9raXRlc2hlZXQvY29ycHVzL3NsaWRlcy9qYXJ2aXMtcGxhdGZvcm0tc2gtcGl0Y2gtZGVjay9wMDAxLmpwZw",
      "imagePathAlt": "https://imgproxy.kitesheet.com/uD60RVXw9VnrQ43PidMjaFRqbGybCt99RkBDXBEHjaM/rs:fit:1200:1200:0/q:82/f:webp/czM6Ly9raXRlc2hlZXQvY29ycHVzL3NsaWRlcy9qYXJ2aXMtcGxhdGZvcm0tc2gtcGl0Y2gtZGVjay9wMDAxLnBuZw",
      "thumbSrcAlt": "https://imgproxy.kitesheet.com/EY8E4n4YFD3o2d1hzrT-DQprNuT5_KWCkJT4CT76Cwo/rs:fit:480:480:0/q:78/f:webp/czM6Ly9raXRlc2hlZXQvY29ycHVzL3NsaWRlcy9qYXJ2aXMtcGxhdGZvcm0tc2gtcGl0Y2gtZGVjay9wMDAxLnBuZw"
    },
    {
      "page": 2,
      "type": "evidence",
      "function": "show_traction",
      "rawType": "traction",
      "block": null,
      "metadata": {
        "slideType": "traction",
        "slideTypeCanon": {
          "name": "Traction",
          "slug": "traction",
          "status": "active",
          "canonId": "019de52d-0edd-72ab-820f-3ebc71a9c542",
          "version": 1,
          "description": null
        },
        "function": "show_traction",
        "functionCanon": {
          "name": "Show traction",
          "slug": "show_traction",
          "status": "active",
          "canonId": "019de52d-16a8-756a-9b38-a7d35420561d",
          "version": 1,
          "description": null
        },
        "density": "balanced",
        "densityScore": 49,
        "componentCount": 5,
        "textChars": 286,
        "nDataPoints": 7,
        "notes": null,
        "elementsJson": null,
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview",
          "runId": null,
          "at": "2026-07-16 19:08:54.373+00",
          "seconds": 2.315,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019f6b8f-533f-709b-ab81-3e4d5b923e12/2",
        "deck": "/decks/019f6b8f-533f-709b-ab81-3e4d5b923e12",
        "deckAnchor": "/decks/019f6b8f-533f-709b-ab81-3e4d5b923e12#slide-2",
        "deckJson": "/decks/019f6b8f-533f-709b-ab81-3e4d5b923e12.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.25,
            "w": 0.35,
            "x": 0.05,
            "y": 0.65
          },
          "kind": "image",
          "text": "Magento, Orange, Microsoft logos",
          "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 grid",
              "slug": "logo-grid",
              "status": "active",
              "canonId": "019de52c-fdd7-7409-93e5-81280a8ca215",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "logo-grid",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-07-16 19:08:54.373+00",
            "model": "google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "9b45e558-0d3b-4bd3-8a35-e65680e60d4e",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.2,
            "w": 0.4,
            "x": 0.05,
            "y": 0.2
          },
          "kind": "list",
          "text": "Staff: 150 worldwide / 200 in Q2 2020. Global footprint: 70 in Europe / 60 in the USA / 20 in APAC.",
          "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-07-16 19:08:54.373+00",
            "model": "google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "57368dee-e9bd-4452-ae66-cc5b8314f180",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.4,
            "x": 0.5,
            "y": 0.2
          },
          "kind": "list",
          "text": "Fast growing / Well funded: $47m funding, way ahead of all the managed service / CMPs",
          "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-07-16 19:08:54.373+00",
            "model": "google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "b9a82ce6-722f-48e4-a140-8739bdadd89f",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.1,
            "w": 0.4,
            "x": 0.05,
            "y": 0.5
          },
          "kind": "list",
          "text": "Customers: 5000+ Customers, incl. 2,000 enterprise customers",
          "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-07-16 19:08:54.373+00",
            "model": "google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "e392a5ec-1f07-4327-a1de-fcd19b14fcb1",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.1,
            "w": 0.3,
            "x": 0.05,
            "y": 0.05
          },
          "kind": "title",
          "text": "Who we are",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-07-16 19:08:54.373+00",
            "model": "google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "f89b5a24-e55f-4c56-9850-437764bca2eb",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [],
      "frameworks": [],
      "arcBeats": [],
      "loops": [],
      "locked": true
    },
    {
      "page": 3,
      "type": "setup",
      "function": "inspire_vision",
      "rawType": "mission",
      "block": null,
      "metadata": {
        "slideType": "mission",
        "slideTypeCanon": {
          "name": "Mission",
          "slug": "mission",
          "status": "active",
          "canonId": "019de52d-0fce-7496-b34c-18fd6a6e3310",
          "version": 1,
          "description": null
        },
        "function": "inspire_vision",
        "functionCanon": {
          "name": "Inspire vision",
          "slug": "inspire_vision",
          "status": "active",
          "canonId": "019de52d-16d0-7756-83de-376eeac6fa40",
          "version": 1,
          "description": null
        },
        "density": "balanced",
        "densityScore": 38,
        "componentCount": 3,
        "textChars": 593,
        "nDataPoints": 0,
        "notes": null,
        "elementsJson": null,
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview",
          "runId": null,
          "at": "2026-07-16 19:54:28.798+00",
          "seconds": 4.6,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019f6b8f-533f-709b-ab81-3e4d5b923e12/3",
        "deck": "/decks/019f6b8f-533f-709b-ab81-3e4d5b923e12",
        "deckAnchor": "/decks/019f6b8f-533f-709b-ab81-3e4d5b923e12#slide-3",
        "deckJson": "/decks/019f6b8f-533f-709b-ab81-3e4d5b923e12.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.7,
            "w": 0.5,
            "x": 0.45,
            "y": 0.15
          },
          "kind": "list",
          "text": "We believe developers should concern themselves with features and code quality, not servers and tooling. We believe the infrastructure can and should be abstracted away. We believe there is no enterprise software. Just software. That auditability, security, compliance, data protection and high-availability are fundamentals. We believe you can move fast without breaking things, that software is change, and that fear of change can be overcome. We believe that we know how to do this. That it's our job to make software just run. Everywhere.",
          "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-07-16 19:54:28.798+00",
            "model": "google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "bc13ccbd-8470-4dc2-b303-c0b086f220c4",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.4,
            "w": 0.35,
            "x": 0.05,
            "y": 0.05
          },
          "kind": "title",
          "text": "What we believe: Software should just run.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-07-16 19:54:28.798+00",
            "model": "google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "9ca3d2a2-8dbd-4a95-8e96-e74e1be0ab8e",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.1,
            "x": 0.45,
            "y": 0.05
          },
          "kind": "title",
          "text": "MANIFESTO",
          "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-07-16 19:54:28.798+00",
            "model": "google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "6708c3eb-75bc-4f85-9a05-421ac5d58e7d",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [],
      "frameworks": [],
      "arcBeats": [],
      "loops": [
        {
          "to": 3,
          "from": 3,
          "loop": {
            "name": "11_golden_circle",
            "slug": "11-golden-circle",
            "status": "active",
            "bestFor": "Visionary leadership, brand positioning, mission statements",
            "canonId": "019dd956-6a50-7202-882d-505fcb9922ed",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Why (Belief) -> The How (Process) -> The What (Result)",
            "description": "Invert the typical pitch by starting with why you exist, rather than what you do",
            "familyLabel": null
          },
          "matchId": "3a171434-30ed-4e38-8ecc-5e5a8ebc0156",
          "evidence": "Slide 3 clearly states the company's belief, setting the stage for understanding the 'why'.",
          "position": 0,
          "objective": "Establishing the 'why' behind Platform.sh's mission",
          "confidence": 0.8,
          "extraction": {
            "at": "2026-07-16 23:21:30.092997+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": "doc-narrative-v1"
          }
        }
      ],
      "locked": true
    },
    {
      "page": 4,
      "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": 2,
        "componentCount": 1,
        "textChars": 29,
        "nDataPoints": 0,
        "notes": null,
        "elementsJson": null,
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview",
          "runId": null,
          "at": "2026-07-16 19:08:53.696+00",
          "seconds": 1.571,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019f6b8f-533f-709b-ab81-3e4d5b923e12/4",
        "deck": "/decks/019f6b8f-533f-709b-ab81-3e4d5b923e12",
        "deckAnchor": "/decks/019f6b8f-533f-709b-ab81-3e4d5b923e12#slide-4",
        "deckJson": "/decks/019f6b8f-533f-709b-ab81-3e4d5b923e12.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.4,
            "w": 0.5,
            "x": 0.05,
            "y": 0.3
          },
          "kind": "title",
          "text": "[briefly] What is Platform.sh",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-07-16 19:08:53.696+00",
            "model": "google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "d863157f-38a5-4077-8b02-08c3c39ba644",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [],
      "frameworks": [],
      "arcBeats": [],
      "loops": [],
      "locked": true
    },
    {
      "page": 5,
      "type": "setup",
      "title": "The slide uses a central heart icon to visually represent the love between developers and the platform.",
      "function": "inspire_vision",
      "rawType": "testimonial",
      "block": null,
      "metadata": {
        "slideType": "testimonial",
        "slideTypeCanon": {
          "name": "Testimonial",
          "slug": "testimonial",
          "status": "active",
          "canonId": "019de52d-0a2d-7782-8a48-7e84df92cc97",
          "version": 1,
          "description": null
        },
        "function": "inspire_vision",
        "functionCanon": {
          "name": "Inspire vision",
          "slug": "inspire_vision",
          "status": "active",
          "canonId": "019de52d-16d0-7756-83de-376eeac6fa40",
          "version": 1,
          "description": null
        },
        "density": "overcrowded",
        "densityScore": 76,
        "componentCount": 8,
        "textChars": 734,
        "nDataPoints": 0,
        "notes": "The slide uses a central heart icon to visually represent the love between developers and the platform.",
        "elementsJson": null,
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview",
          "runId": null,
          "at": "2026-07-16 19:08:56.247+00",
          "seconds": 3.221,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019f6b8f-533f-709b-ab81-3e4d5b923e12/5",
        "deck": "/decks/019f6b8f-533f-709b-ab81-3e4d5b923e12",
        "deckAnchor": "/decks/019f6b8f-533f-709b-ab81-3e4d5b923e12#slide-5",
        "deckJson": "/decks/019f6b8f-533f-709b-ab81-3e4d5b923e12.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.1,
            "w": 0.3,
            "x": 0.3,
            "y": 0.1
          },
          "kind": "quote",
          "text": "Thanks for making my life so much easier. Refreshing to see a platform that works in the right way.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Quote",
              "slug": "quote",
              "status": "active",
              "canonId": "019de52c-f8fb-751e-8bc6-d58e2d59562a",
              "version": 1,
              "description": "Pull quote or testimonial."
            },
            "tool": null,
            "subkind": {
              "name": "Testimonial",
              "slug": "testimonial",
              "status": "active",
              "canonId": "019de52c-fc21-71b6-9ac3-8266a64945e8",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "testimonial",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-07-16 19:08:56.247+00",
            "model": "google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "05a46954-56ff-4ba4-91f0-5a3d31db2d7d",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.3,
            "x": 0.3,
            "y": 0.7
          },
          "kind": "quote",
          "text": "I can confirm, @platformsh is by far one of the best developer and hosting experiences I've made in my entire career.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Quote",
              "slug": "quote",
              "status": "active",
              "canonId": "019de52c-f8fb-751e-8bc6-d58e2d59562a",
              "version": 1,
              "description": "Pull quote or testimonial."
            },
            "tool": null,
            "subkind": {
              "name": "Testimonial",
              "slug": "testimonial",
              "status": "active",
              "canonId": "019de52c-fc21-71b6-9ac3-8266a64945e8",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "testimonial",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-07-16 19:08:56.247+00",
            "model": "google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "1ea6a7a6-fb22-4e94-8409-23526fded0d7",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.1,
            "w": 0.25,
            "x": 0.05,
            "y": 0.8
          },
          "kind": "quote",
          "text": "The team at @platformsh just saved my rump. Top-tier service experience!",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Quote",
              "slug": "quote",
              "status": "active",
              "canonId": "019de52c-f8fb-751e-8bc6-d58e2d59562a",
              "version": 1,
              "description": "Pull quote or testimonial."
            },
            "tool": null,
            "subkind": {
              "name": "Testimonial",
              "slug": "testimonial",
              "status": "active",
              "canonId": "019de52c-fc21-71b6-9ac3-8266a64945e8",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "testimonial",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-07-16 19:08:56.247+00",
            "model": "google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "5ce629fe-264c-4fa4-b2c2-3c8951aaba27",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.25,
            "x": 0.7,
            "y": 0.65
          },
          "kind": "quote",
          "text": "I know 'deploy friday' as a slogan of @platformsh fits. We can really trust their infrastructure.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Quote",
              "slug": "quote",
              "status": "active",
              "canonId": "019de52c-f8fb-751e-8bc6-d58e2d59562a",
              "version": 1,
              "description": "Pull quote or testimonial."
            },
            "tool": null,
            "subkind": {
              "name": "Testimonial",
              "slug": "testimonial",
              "status": "active",
              "canonId": "019de52c-fc21-71b6-9ac3-8266a64945e8",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "testimonial",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-07-16 19:08:56.247+00",
            "model": "google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "c0c52b92-c434-4474-b013-b72062361f00",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.1,
            "w": 0.25,
            "x": 0.7,
            "y": 0.1
          },
          "kind": "quote",
          "text": "Not alone do I deploy on a Friday, I deploy at 17:00 on a Friday. Have a great weekend everyone!",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Quote",
              "slug": "quote",
              "status": "active",
              "canonId": "019de52c-f8fb-751e-8bc6-d58e2d59562a",
              "version": 1,
              "description": "Pull quote or testimonial."
            },
            "tool": null,
            "subkind": {
              "name": "Testimonial",
              "slug": "testimonial",
              "status": "active",
              "canonId": "019de52c-fc21-71b6-9ac3-8266a64945e8",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "testimonial",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-07-16 19:08:56.247+00",
            "model": "google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "d41e74f6-7498-4c23-9155-56ffd280f3b9",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.1,
            "w": 0.25,
            "x": 0.7,
            "y": 0.4
          },
          "kind": "quote",
          "text": "Put a website as a test that was taking 2 minutes to load... and it loaded in 2 seconds. #superfast",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Quote",
              "slug": "quote",
              "status": "active",
              "canonId": "019de52c-f8fb-751e-8bc6-d58e2d59562a",
              "version": 1,
              "description": "Pull quote or testimonial."
            },
            "tool": null,
            "subkind": {
              "name": "Testimonial",
              "slug": "testimonial",
              "status": "active",
              "canonId": "019de52c-fc21-71b6-9ac3-8266a64945e8",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "testimonial",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-07-16 19:08:56.247+00",
            "model": "google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "e5ee7dce-b046-452a-91a2-897314012980",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.3,
            "x": 0.3,
            "y": 0.4
          },
          "kind": "quote",
          "text": "In the several years we've been with Platform.sh, it's uncommon that a question isn't answered quickly through the Slack channel.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Quote",
              "slug": "quote",
              "status": "active",
              "canonId": "019de52c-f8fb-751e-8bc6-d58e2d59562a",
              "version": 1,
              "description": "Pull quote or testimonial."
            },
            "tool": null,
            "subkind": {
              "name": "Testimonial",
              "slug": "testimonial",
              "status": "active",
              "canonId": "019de52c-fc21-71b6-9ac3-8266a64945e8",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "testimonial",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-07-16 19:08:56.247+00",
            "model": "google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "f68c2429-5d02-47f0-b3bb-6b5bac50520f",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.5,
            "w": 0.5,
            "x": 0.25,
            "y": 0.25
          },
          "kind": "title",
          "text": "Developers ❤️ Platform.sh",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-07-16 19:08:56.247+00",
            "model": "google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "962fe82d-a8ed-498b-bc68-4d41cf593365",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [],
      "frameworks": [],
      "arcBeats": [],
      "loops": [],
      "locked": true
    },
    {
      "page": 6,
      "type": "tension",
      "title": "The visual uses a contrast between the goal ('Shipping Great Code') and the operational overhead.",
      "function": "frame_problem",
      "rawType": "pain_points",
      "block": null,
      "metadata": {
        "slideType": "pain_points",
        "slideTypeCanon": {
          "name": "Pain points",
          "slug": "pain_points",
          "status": "active",
          "canonId": "019de52d-08a0-761d-a14f-1dbc5e447381",
          "version": 1,
          "description": null
        },
        "function": "frame_problem",
        "functionCanon": {
          "name": "Frame problem",
          "slug": "frame_problem",
          "status": "active",
          "canonId": "019de52d-13db-753e-ad70-e9b2d0dab398",
          "version": 1,
          "description": null
        },
        "density": "sparse",
        "densityScore": 17,
        "componentCount": 3,
        "textChars": 168,
        "nDataPoints": 0,
        "notes": "The visual uses a contrast between the goal ('Shipping Great Code') and the operational overhead.",
        "elementsJson": null,
        "confidence": 0.9,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview",
          "runId": null,
          "at": "2026-07-16 19:09:02.371+00",
          "seconds": 9.118,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019f6b8f-533f-709b-ab81-3e4d5b923e12/6",
        "deck": "/decks/019f6b8f-533f-709b-ab81-3e4d5b923e12",
        "deckAnchor": "/decks/019f6b8f-533f-709b-ab81-3e4d5b923e12#slide-6",
        "deckJson": "/decks/019f6b8f-533f-709b-ab81-3e4d5b923e12.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.5,
            "w": 0.3,
            "x": 0.05,
            "y": 0.25
          },
          "kind": "list",
          "text": "DevOps, Infrastructure-IaaS, Compliance, Continuous Integration, Database management, Deployment",
          "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-07-16 19:09:02.371+00",
            "model": "google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "7a75be05-eb77-4d0c-abfd-0d79125e5c52",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.3,
            "w": 0.45,
            "x": 0.45,
            "y": 0.3
          },
          "kind": "title",
          "text": "This is how a day breaks down for a typical developer",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-07-16 19:09:02.371+00",
            "model": "google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "4b58798a-0bd6-4395-b560-f75026408c29",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.1,
            "w": 0.3,
            "x": 0.05,
            "y": 0.1
          },
          "kind": "title",
          "text": "Shipping Great Code",
          "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-07-16 19:09:02.371+00",
            "model": "google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "b4e5ea43-ad62-467c-b4c8-b851835545cc",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 7,
          "arc": {
            "name": "Problem-Agitate-Solution",
            "slug": "problem-agitate-solution",
            "status": "active",
            "bestFor": "Sales pitches, urgency-driven, competitive displacement",
            "canonId": "019dd956-5ec6-70f9-9fd8-fdbaaff39acf",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Problem (Identify pain) -> Agitate (Make it worse) -> Solution (Provide relief)",
            "description": null,
            "familyLabel": null
          },
          "from": 6,
          "name": "Problem",
          "beatId": "5286ccba-1017-4d7d-8057-a92ba19ee3eb",
          "matchId": "a4da7fe8-337c-47ae-8f37-7e987f29cc58",
          "beatType": {
            "name": "Problem (Identify pain)",
            "slug": "problem-agitate-solution-problem-identify-pain",
            "status": "active",
            "canonId": "019dd9b8-0e78-74bb-b8f6-54348367a131",
            "version": 1,
            "description": null
          },
          "evidence": "Slides 6 and 7 highlight the pain points developers face, effectively identifying the problem.",
          "position": 0,
          "isPrimaryArc": true,
          "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": 0.9
        }
      ],
      "loops": [
        {
          "to": 28,
          "from": 6,
          "loop": {
            "name": "21_before_after",
            "slug": "21-before-after",
            "status": "active",
            "bestFor": "Product demos, process improvements, ROI justification",
            "canonId": "019dd956-6e68-73fd-a295-fe90145c2da8",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Old Way (Pain) -> The Moment of Change -> The New Way (Glory) -> The Measurable Delta",
            "description": "Show the dramatic contrast between the old way and the new way through side-by-side comparison",
            "familyLabel": null
          },
          "matchId": "8a3cdc16-b7ed-4568-a72c-982f0b0df59e",
          "evidence": "The deck progresses from highlighting pain points to showcasing the comprehensive solution provided by Platform.sh.",
          "position": 1,
          "objective": "Showing the transformation from current pain points to future relief with Platform.sh",
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 23:21:30.134356+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": "doc-narrative-v1"
          }
        }
      ],
      "locked": true
    },
    {
      "page": 7,
      "type": "tension",
      "title": "Uses a visual contrast to highlight the friction between developer focus and operational burden.",
      "function": "frame_problem",
      "rawType": "pain_points",
      "block": null,
      "metadata": {
        "slideType": "pain_points",
        "slideTypeCanon": {
          "name": "Pain points",
          "slug": "pain_points",
          "status": "active",
          "canonId": "019de52d-08a0-761d-a14f-1dbc5e447381",
          "version": 1,
          "description": null
        },
        "function": "frame_problem",
        "functionCanon": {
          "name": "Frame problem",
          "slug": "frame_problem",
          "status": "active",
          "canonId": "019de52d-13db-753e-ad70-e9b2d0dab398",
          "version": 1,
          "description": null
        },
        "density": "sparse",
        "densityScore": 17,
        "componentCount": 3,
        "textChars": 162,
        "nDataPoints": 0,
        "notes": "Uses a visual contrast to highlight the friction between developer focus and operational burden.",
        "elementsJson": null,
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview",
          "runId": null,
          "at": "2026-07-16 19:08:55.483+00",
          "seconds": 2.022,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019f6b8f-533f-709b-ab81-3e4d5b923e12/7",
        "deck": "/decks/019f6b8f-533f-709b-ab81-3e4d5b923e12",
        "deckAnchor": "/decks/019f6b8f-533f-709b-ab81-3e4d5b923e12#slide-7",
        "deckJson": "/decks/019f6b8f-533f-709b-ab81-3e4d5b923e12.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.9,
            "w": 0.35,
            "x": 0.05,
            "y": 0.05
          },
          "kind": "image",
          "text": "Shipping Great Code box with list of DevOps, IaaS, Compliance, CI, DB management, Deployment",
          "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": "Infographic",
              "slug": "infographic",
              "status": "active",
              "canonId": "019de52c-fe26-750c-9d7d-9f34e21324e8",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "infographic",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-07-16 19:08:55.483+00",
            "model": "google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "77b0dcbc-cc47-472b-ac85-cc6b00a2e3de",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.45,
            "x": 0.45,
            "y": 0.55
          },
          "kind": "title",
          "text": "All the other stuff they have to do",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-07-16 19:08:55.483+00",
            "model": "google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "8d0850ed-83f7-48e6-9179-4ac05ca6227e",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.45,
            "x": 0.45,
            "y": 0.05
          },
          "kind": "title",
          "text": "What they love [and are paid to do]",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-07-16 19:08:55.483+00",
            "model": "google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "99189f60-0f9f-46bf-b420-6e910876bc77",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [],
      "frameworks": [
        {
          "matchId": "57e1b410-babd-4612-a2f0-ee2e2d18a592",
          "evidence": "Distinguishes between core value-add tasks and secondary operational tasks.",
          "framework": null,
          "confidence": 0.8,
          "extraction": {
            "at": "2026-07-16 19:08:55.483+00",
            "model": "google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 7,
          "frameworkName": "jobs-to-be-done"
        }
      ],
      "arcBeats": [
        {
          "to": 7,
          "arc": {
            "name": "Problem-Agitate-Solution",
            "slug": "problem-agitate-solution",
            "status": "active",
            "bestFor": "Sales pitches, urgency-driven, competitive displacement",
            "canonId": "019dd956-5ec6-70f9-9fd8-fdbaaff39acf",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Problem (Identify pain) -> Agitate (Make it worse) -> Solution (Provide relief)",
            "description": null,
            "familyLabel": null
          },
          "from": 6,
          "name": "Problem",
          "beatId": "5286ccba-1017-4d7d-8057-a92ba19ee3eb",
          "matchId": "a4da7fe8-337c-47ae-8f37-7e987f29cc58",
          "beatType": {
            "name": "Problem (Identify pain)",
            "slug": "problem-agitate-solution-problem-identify-pain",
            "status": "active",
            "canonId": "019dd9b8-0e78-74bb-b8f6-54348367a131",
            "version": 1,
            "description": null
          },
          "evidence": "Slides 6 and 7 highlight the pain points developers face, effectively identifying the problem.",
          "position": 0,
          "isPrimaryArc": true,
          "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": 0.9
        },
        {
          "to": 8,
          "arc": {
            "name": "Problem-Agitate-Solution",
            "slug": "problem-agitate-solution",
            "status": "active",
            "bestFor": "Sales pitches, urgency-driven, competitive displacement",
            "canonId": "019dd956-5ec6-70f9-9fd8-fdbaaff39acf",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Problem (Identify pain) -> Agitate (Make it worse) -> Solution (Provide relief)",
            "description": null,
            "familyLabel": null
          },
          "from": 7,
          "name": "Agitate",
          "beatId": "d31610d3-10bc-409a-9f5b-95c6682a2deb",
          "matchId": "a4da7fe8-337c-47ae-8f37-7e987f29cc58",
          "beatType": {
            "name": "Agitate (Make it worse)",
            "slug": "problem-agitate-solution-agitate-make-it-worse",
            "status": "active",
            "canonId": "019dd9b8-0f5a-71dd-bae7-8fadb0d09456",
            "version": 1,
            "description": null
          },
          "evidence": "Slide 8 implies the need for change, slightly agitating the status quo.",
          "position": 1,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Development",
            "slug": "development",
            "status": "active",
            "canonId": "019dd9b8-0332-7008-b3aa-11b0840a57b1",
            "version": 1,
            "description": "The middle stretch in arcs that have one. Often where length problems creep in."
          },
          "alignedBlockIds": null,
          "matchConfidence": 0.9
        }
      ],
      "loops": [
        {
          "to": 28,
          "from": 6,
          "loop": {
            "name": "21_before_after",
            "slug": "21-before-after",
            "status": "active",
            "bestFor": "Product demos, process improvements, ROI justification",
            "canonId": "019dd956-6e68-73fd-a295-fe90145c2da8",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Old Way (Pain) -> The Moment of Change -> The New Way (Glory) -> The Measurable Delta",
            "description": "Show the dramatic contrast between the old way and the new way through side-by-side comparison",
            "familyLabel": null
          },
          "matchId": "8a3cdc16-b7ed-4568-a72c-982f0b0df59e",
          "evidence": "The deck progresses from highlighting pain points to showcasing the comprehensive solution provided by Platform.sh.",
          "position": 1,
          "objective": "Showing the transformation from current pain points to future relief with Platform.sh",
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 23:21:30.134356+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": "doc-narrative-v1"
          }
        }
      ],
      "locked": true
    },
    {
      "page": 8,
      "type": "resolution",
      "title": "Uses a before-and-after framing to contrast manual complexity with platform-enabled simplicity.",
      "function": "present_solution",
      "rawType": "solution",
      "block": null,
      "metadata": {
        "slideType": "solution",
        "slideTypeCanon": {
          "name": "Solution",
          "slug": "solution",
          "status": "active",
          "canonId": "019de52d-0eb5-72ff-8b70-ba70a4199282",
          "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": "sparse",
        "densityScore": 16,
        "componentCount": 3,
        "textChars": 151,
        "nDataPoints": 0,
        "notes": "Uses a before-and-after framing to contrast manual complexity with platform-enabled simplicity.",
        "elementsJson": null,
        "confidence": 0.95,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview",
          "runId": null,
          "at": "2026-07-16 19:08:56.076+00",
          "seconds": 2.612,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019f6b8f-533f-709b-ab81-3e4d5b923e12/8",
        "deck": "/decks/019f6b8f-533f-709b-ab81-3e4d5b923e12",
        "deckAnchor": "/decks/019f6b8f-533f-709b-ab81-3e4d5b923e12#slide-8",
        "deckJson": "/decks/019f6b8f-533f-709b-ab81-3e4d5b923e12.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.75,
            "w": 0.9,
            "x": 0.05,
            "y": 0.05
          },
          "kind": "diagram",
          "text": "Complex stack (DevOps, IaaS, Compliance, CI, DB, Deployment) -> Platform.sh -> Simplified Shipping",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Diagram",
              "slug": "diagram",
              "status": "active",
              "canonId": "019de52c-f9f0-734a-81de-15382ff28c65",
              "version": 1,
              "description": "Schematic or relational diagram."
            },
            "tool": null,
            "subkind": {
              "name": "Process flow",
              "slug": "process",
              "status": "active",
              "canonId": "019de52d-039c-718f-ad3a-efe9c4b3c838",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "process",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-07-16 19:08:56.076+00",
            "model": "google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "448ed80d-e125-4631-9996-c307de3f230e",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.75,
            "w": 0.9,
            "x": 0.05,
            "y": 0.05
          },
          "kind": "framework",
          "text": "Before-After-Bridge",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Framework",
              "slug": "framework",
              "status": "active",
              "canonId": "019de52c-fa18-77c6-b10a-ccb8277ac0fa",
              "version": 1,
              "description": "Named conceptual framework instance."
            },
            "tool": null,
            "subkind": {
              "name": "Framework instance",
              "slug": "instance",
              "status": "active",
              "canonId": "019de52d-05a2-72af-be0b-7edc60708a03",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "instance",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-07-16 19:08:56.076+00",
            "model": "google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "8358ae1f-ed9d-4a68-a0a9-c8104959cf9e",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.1,
            "w": 0.9,
            "x": 0.05,
            "y": 0.85
          },
          "kind": "title",
          "text": "But it doesn't have to be that way",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-07-16 19:08:56.076+00",
            "model": "google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "b9108ef9-c54c-4b3b-be6f-cecafc1333de",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "Before-After-Bridge",
            "slug": "before-after-bridge",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-8604-7188-883f-42370288ad05",
            "version": 1,
            "bodyDocId": null,
            "description": "Narrative structure: Paint the before, show the after, explain the bridge",
            "familyLabel": null,
            "categoryName": "Block",
            "categorySlug": "block"
          },
          "agent": "Storyteller",
          "layer": "slide",
          "agents": [
            "Storyteller"
          ],
          "matchId": "aaf1ccc0-8ebc-4780-8ba2-dc0dc9ea058d",
          "evidence": "Complex stack (DevOps, IaaS, Compliance, CI, DB, Deployment) -> Platform.sh -> Simplified Shipping",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-17 02:19:48.600493+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 8,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [
        {
          "matchId": "14535519-f09e-46a2-9411-63a4b55f29f0",
          "evidence": "Visual contrast between a complex, multi-step process and a simplified outcome facilitated by the product.",
          "framework": null,
          "confidence": 0.9,
          "extraction": {
            "at": "2026-07-16 19:08:56.076+00",
            "model": "google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 8,
          "frameworkName": "before-after-bridge"
        }
      ],
      "arcBeats": [
        {
          "to": 8,
          "arc": {
            "name": "Problem-Agitate-Solution",
            "slug": "problem-agitate-solution",
            "status": "active",
            "bestFor": "Sales pitches, urgency-driven, competitive displacement",
            "canonId": "019dd956-5ec6-70f9-9fd8-fdbaaff39acf",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Problem (Identify pain) -> Agitate (Make it worse) -> Solution (Provide relief)",
            "description": null,
            "familyLabel": null
          },
          "from": 7,
          "name": "Agitate",
          "beatId": "d31610d3-10bc-409a-9f5b-95c6682a2deb",
          "matchId": "a4da7fe8-337c-47ae-8f37-7e987f29cc58",
          "beatType": {
            "name": "Agitate (Make it worse)",
            "slug": "problem-agitate-solution-agitate-make-it-worse",
            "status": "active",
            "canonId": "019dd9b8-0f5a-71dd-bae7-8fadb0d09456",
            "version": 1,
            "description": null
          },
          "evidence": "Slide 8 implies the need for change, slightly agitating the status quo.",
          "position": 1,
          "isPrimaryArc": true,
          "parentBeatType": {
            "name": "Development",
            "slug": "development",
            "status": "active",
            "canonId": "019dd9b8-0332-7008-b3aa-11b0840a57b1",
            "version": 1,
            "description": "The middle stretch in arcs that have one. Often where length problems creep in."
          },
          "alignedBlockIds": null,
          "matchConfidence": 0.9
        },
        {
          "to": 28,
          "arc": {
            "name": "Problem-Agitate-Solution",
            "slug": "problem-agitate-solution",
            "status": "active",
            "bestFor": "Sales pitches, urgency-driven, competitive displacement",
            "canonId": "019dd956-5ec6-70f9-9fd8-fdbaaff39acf",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Problem (Identify pain) -> Agitate (Make it worse) -> Solution (Provide relief)",
            "description": null,
            "familyLabel": null
          },
          "from": 8,
          "name": "Solution",
          "beatId": "1efa9196-4165-4f3e-b31b-c0eaf98969bc",
          "matchId": "a4da7fe8-337c-47ae-8f37-7e987f29cc58",
          "beatType": {
            "name": "Solution (Provide relief)",
            "slug": "problem-agitate-solution-solution-provide-relief",
            "status": "active",
            "canonId": "019dd9b8-0fee-73e9-9ae5-799c7f3895cd",
            "version": 1,
            "description": null
          },
          "evidence": "Slides 9 through 28 detail the solution offered by Platform.sh, providing relief to the identified pain points.",
          "position": 2,
          "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": 0.9
        }
      ],
      "loops": [
        {
          "to": 28,
          "from": 6,
          "loop": {
            "name": "21_before_after",
            "slug": "21-before-after",
            "status": "active",
            "bestFor": "Product demos, process improvements, ROI justification",
            "canonId": "019dd956-6e68-73fd-a295-fe90145c2da8",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Old Way (Pain) -> The Moment of Change -> The New Way (Glory) -> The Measurable Delta",
            "description": "Show the dramatic contrast between the old way and the new way through side-by-side comparison",
            "familyLabel": null
          },
          "matchId": "8a3cdc16-b7ed-4568-a72c-982f0b0df59e",
          "evidence": "The deck progresses from highlighting pain points to showcasing the comprehensive solution provided by Platform.sh.",
          "position": 1,
          "objective": "Showing the transformation from current pain points to future relief with Platform.sh",
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 23:21:30.134356+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": "doc-narrative-v1"
          }
        }
      ],
      "locked": true
    },
    {
      "page": 9,
      "type": "setup",
      "function": "transition",
      "rawType": "transition",
      "block": null,
      "metadata": {
        "slideType": "transition",
        "slideTypeCanon": {
          "name": "Transition",
          "slug": "transition",
          "status": "active",
          "canonId": "019de52d-0693-7766-9f05-887f41f8e41e",
          "version": 1,
          "description": null
        },
        "function": "transition",
        "functionCanon": {
          "name": "Transition",
          "slug": "transition",
          "status": "active",
          "canonId": "019de52d-1365-7149-92aa-66df859e75fd",
          "version": 1,
          "description": null
        },
        "density": "sparse",
        "densityScore": 8,
        "componentCount": 2,
        "textChars": 102,
        "nDataPoints": 0,
        "notes": null,
        "elementsJson": null,
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview",
          "runId": null,
          "at": "2026-07-16 19:08:55.759+00",
          "seconds": 1.981,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019f6b8f-533f-709b-ab81-3e4d5b923e12/9",
        "deck": "/decks/019f6b8f-533f-709b-ab81-3e4d5b923e12",
        "deckAnchor": "/decks/019f6b8f-533f-709b-ab81-3e4d5b923e12#slide-9",
        "deckJson": "/decks/019f6b8f-533f-709b-ab81-3e4d5b923e12.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.1,
            "w": 0.6,
            "x": 0.2,
            "y": 0.75
          },
          "kind": "paragraph",
          "text": "First, a little background...",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "5f2affc0-941d-4d07-959d-4bfc1930cea4",
              "version": 1,
              "description": "Single prose block in the body of a slide."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": "paragraph",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-07-16 19:08:55.759+00",
            "model": "google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "1fed824a-86df-4d15-b29b-b5b140d5c2f0",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.3,
            "w": 0.9,
            "x": 0.05,
            "y": 0.15
          },
          "kind": "title",
          "text": "How does Platform.sh drive the shift to shipping code and creating value?",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-07-16 19:08:55.759+00",
            "model": "google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "56326d21-5a8d-4478-abf3-f27ca47e5f2a",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 28,
          "arc": {
            "name": "Problem-Agitate-Solution",
            "slug": "problem-agitate-solution",
            "status": "active",
            "bestFor": "Sales pitches, urgency-driven, competitive displacement",
            "canonId": "019dd956-5ec6-70f9-9fd8-fdbaaff39acf",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Problem (Identify pain) -> Agitate (Make it worse) -> Solution (Provide relief)",
            "description": null,
            "familyLabel": null
          },
          "from": 8,
          "name": "Solution",
          "beatId": "1efa9196-4165-4f3e-b31b-c0eaf98969bc",
          "matchId": "a4da7fe8-337c-47ae-8f37-7e987f29cc58",
          "beatType": {
            "name": "Solution (Provide relief)",
            "slug": "problem-agitate-solution-solution-provide-relief",
            "status": "active",
            "canonId": "019dd9b8-0fee-73e9-9ae5-799c7f3895cd",
            "version": 1,
            "description": null
          },
          "evidence": "Slides 9 through 28 detail the solution offered by Platform.sh, providing relief to the identified pain points.",
          "position": 2,
          "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": 0.9
        }
      ],
      "loops": [
        {
          "to": 28,
          "from": 6,
          "loop": {
            "name": "21_before_after",
            "slug": "21-before-after",
            "status": "active",
            "bestFor": "Product demos, process improvements, ROI justification",
            "canonId": "019dd956-6e68-73fd-a295-fe90145c2da8",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Old Way (Pain) -> The Moment of Change -> The New Way (Glory) -> The Measurable Delta",
            "description": "Show the dramatic contrast between the old way and the new way through side-by-side comparison",
            "familyLabel": null
          },
          "matchId": "8a3cdc16-b7ed-4568-a72c-982f0b0df59e",
          "evidence": "The deck progresses from highlighting pain points to showcasing the comprehensive solution provided by Platform.sh.",
          "position": 1,
          "objective": "Showing the transformation from current pain points to future relief with Platform.sh",
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 23:21:30.134356+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": "doc-narrative-v1"
          }
        }
      ],
      "locked": true
    },
    {
      "page": 10,
      "type": "setup",
      "title": "The slide uses a Git branch diagram to metaphorically represent team collaboration.",
      "function": "establish_context",
      "rawType": "context",
      "block": null,
      "metadata": {
        "slideType": "context",
        "slideTypeCanon": {
          "name": "Context (pitchdeck)",
          "slug": "context",
          "status": "active",
          "canonId": "019de52d-1094-779e-9590-e4603e6a191c",
          "version": 1,
          "description": null
        },
        "function": "establish_context",
        "functionCanon": {
          "name": "Establish context",
          "slug": "establish_context",
          "status": "active",
          "canonId": "019de52d-1314-74e6-9074-d213dc0bdcdf",
          "version": 1,
          "description": null
        },
        "density": "sparse",
        "densityScore": 12,
        "componentCount": 3,
        "textChars": 68,
        "nDataPoints": 0,
        "notes": "The slide uses a Git branch diagram to metaphorically represent team collaboration.",
        "elementsJson": null,
        "confidence": 0.95,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview",
          "runId": null,
          "at": "2026-07-16 19:08:55.787+00",
          "seconds": 2.006,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019f6b8f-533f-709b-ab81-3e4d5b923e12/10",
        "deck": "/decks/019f6b8f-533f-709b-ab81-3e4d5b923e12",
        "deckAnchor": "/decks/019f6b8f-533f-709b-ab81-3e4d5b923e12#slide-10",
        "deckJson": "/decks/019f6b8f-533f-709b-ab81-3e4d5b923e12.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.7,
            "w": 0.8,
            "x": 0.1,
            "y": 0.2
          },
          "kind": "diagram",
          "text": "Git branching diagram",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Diagram",
              "slug": "diagram",
              "status": "active",
              "canonId": "019de52c-f9f0-734a-81de-15382ff28c65",
              "version": 1,
              "description": "Schematic or relational diagram."
            },
            "tool": null,
            "subkind": {
              "name": "Process flow",
              "slug": "process",
              "status": "active",
              "canonId": "019de52d-039c-718f-ad3a-efe9c4b3c838",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "process",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-07-16 19:08:55.787+00",
            "model": "google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "30d44817-3c8c-4524-8683-29274d2e84e2",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.45,
            "w": 0.25,
            "x": 0.55,
            "y": 0.35
          },
          "kind": "image",
          "text": "Team member photos",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Image",
              "slug": "image",
              "status": "active",
              "canonId": "019de52c-f978-701f-a720-51d029d769e7",
              "version": 1,
              "description": "Photo, illustration, screenshot or icon."
            },
            "tool": null,
            "subkind": {
              "name": "Headshot",
              "slug": "headshot",
              "status": "active",
              "canonId": "019de52c-fd5f-765c-9282-38b54f61bbbf",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headshot",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-07-16 19:08:55.787+00",
            "model": "google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "a4e84486-ca91-49f0-8a87-2d151e7fbc78",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.1,
            "w": 0.8,
            "x": 0.1,
            "y": 0.05
          },
          "kind": "title",
          "text": "Development teams live in Git",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-07-16 19:08:55.787+00",
            "model": "google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "0429dfeb-92b4-48b8-9434-9f0bfc76da30",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [],
      "frameworks": [
        {
          "matchId": "4e2c2c25-0769-4ca8-a5fe-f1063f66f348",
          "evidence": "Using a Git branch diagram to represent team workflow",
          "framework": null,
          "confidence": 0.9,
          "extraction": {
            "at": "2026-07-16 19:08:55.787+00",
            "model": "google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 10,
          "frameworkName": "metaphor-analogy"
        }
      ],
      "arcBeats": [
        {
          "to": 28,
          "arc": {
            "name": "Problem-Agitate-Solution",
            "slug": "problem-agitate-solution",
            "status": "active",
            "bestFor": "Sales pitches, urgency-driven, competitive displacement",
            "canonId": "019dd956-5ec6-70f9-9fd8-fdbaaff39acf",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Problem (Identify pain) -> Agitate (Make it worse) -> Solution (Provide relief)",
            "description": null,
            "familyLabel": null
          },
          "from": 8,
          "name": "Solution",
          "beatId": "1efa9196-4165-4f3e-b31b-c0eaf98969bc",
          "matchId": "a4da7fe8-337c-47ae-8f37-7e987f29cc58",
          "beatType": {
            "name": "Solution (Provide relief)",
            "slug": "problem-agitate-solution-solution-provide-relief",
            "status": "active",
            "canonId": "019dd9b8-0fee-73e9-9ae5-799c7f3895cd",
            "version": 1,
            "description": null
          },
          "evidence": "Slides 9 through 28 detail the solution offered by Platform.sh, providing relief to the identified pain points.",
          "position": 2,
          "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": 0.9
        }
      ],
      "loops": [
        {
          "to": 28,
          "from": 6,
          "loop": {
            "name": "21_before_after",
            "slug": "21-before-after",
            "status": "active",
            "bestFor": "Product demos, process improvements, ROI justification",
            "canonId": "019dd956-6e68-73fd-a295-fe90145c2da8",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Old Way (Pain) -> The Moment of Change -> The New Way (Glory) -> The Measurable Delta",
            "description": "Show the dramatic contrast between the old way and the new way through side-by-side comparison",
            "familyLabel": null
          },
          "matchId": "8a3cdc16-b7ed-4568-a72c-982f0b0df59e",
          "evidence": "The deck progresses from highlighting pain points to showcasing the comprehensive solution provided by Platform.sh.",
          "position": 1,
          "objective": "Showing the transformation from current pain points to future relief with Platform.sh",
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 23:21:30.134356+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": "doc-narrative-v1"
          }
        }
      ],
      "locked": true
    },
    {
      "page": 11,
      "type": "evidence",
      "function": "show_traction",
      "rawType": "traction",
      "block": null,
      "metadata": {
        "slideType": "traction",
        "slideTypeCanon": {
          "name": "Traction",
          "slug": "traction",
          "status": "active",
          "canonId": "019de52d-0edd-72ab-820f-3ebc71a9c542",
          "version": 1,
          "description": null
        },
        "function": "show_traction",
        "functionCanon": {
          "name": "Show traction",
          "slug": "show_traction",
          "status": "active",
          "canonId": "019de52d-16a8-756a-9b38-a7d35420561d",
          "version": 1,
          "description": null
        },
        "density": "balanced",
        "densityScore": 35,
        "componentCount": 5,
        "textChars": 101,
        "nDataPoints": 2,
        "notes": null,
        "elementsJson": null,
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview",
          "runId": null,
          "at": "2026-07-16 19:08:56.648+00",
          "seconds": 2.471,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019f6b8f-533f-709b-ab81-3e4d5b923e12/11",
        "deck": "/decks/019f6b8f-533f-709b-ab81-3e4d5b923e12",
        "deckAnchor": "/decks/019f6b8f-533f-709b-ab81-3e4d5b923e12#slide-11",
        "deckJson": "/decks/019f6b8f-533f-709b-ab81-3e4d5b923e12.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.25,
            "w": 0.25,
            "x": 0.6,
            "y": 0.25
          },
          "kind": "image",
          "text": "GitHub 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-07-16 19:08:56.648+00",
            "model": "google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "5f91b60e-5d6b-4926-a4a8-83aacfd3eac0",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.25,
            "w": 0.25,
            "x": 0.15,
            "y": 0.25
          },
          "kind": "image",
          "text": "GitLab 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-07-16 19:08:56.648+00",
            "model": "google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "7cf36441-070e-48cf-afb3-2ae820f3143d",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.1,
            "w": 0.25,
            "x": 0.15,
            "y": 0.65
          },
          "kind": "metric",
          "text": "$2.7BN Valuation (2019)",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": null,
            "subkind": {
              "name": "Big number",
              "slug": "big-number",
              "status": "active",
              "canonId": "019de52c-fc70-70c8-b965-0584548a9204",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "big-number",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-07-16 19:08:56.648+00",
            "model": "google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "7841602b-f27d-405d-a2d5-00beed4beed2",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.1,
            "w": 0.25,
            "x": 0.6,
            "y": 0.65
          },
          "kind": "metric",
          "text": "$7.5BN Acquisition (2018, MSFT)",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": null,
            "subkind": {
              "name": "Big number",
              "slug": "big-number",
              "status": "active",
              "canonId": "019de52c-fc70-70c8-b965-0584548a9204",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "big-number",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-07-16 19:08:56.648+00",
            "model": "google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "89e870fa-89e4-4045-8cee-041a04408d42",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.08,
            "w": 0.7,
            "x": 0.15,
            "y": 0.08
          },
          "kind": "title",
          "text": "Git is kind of a big deal",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-07-16 19:08:56.648+00",
            "model": "google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "3c5a72e0-b805-4eb7-8deb-520ce901d17d",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "Storytelling: audience calibration",
            "slug": "audience",
            "status": "active",
            "bestFor": null,
            "canonId": "019df269-23ea-723a-87c0-af1d78d702d2",
            "version": 1,
            "bodyDocId": "019df269-23c5-72ec-8b94-78fc1da7b656",
            "description": "The same thesis, written for four different audiences, produces four",
            "familyLabel": "narrative-block",
            "categoryName": "Narrative & Transformation",
            "categorySlug": "narrative-transformation"
          },
          "agent": "storyteller",
          "layer": "slide",
          "agents": [
            "storyteller"
          ],
          "matchId": "67c064bc-1bd6-4f49-97c8-c0742cf87d61",
          "evidence": "Development teams live in Git",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-17 02:19:45.72309+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 11,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 28,
          "arc": {
            "name": "Problem-Agitate-Solution",
            "slug": "problem-agitate-solution",
            "status": "active",
            "bestFor": "Sales pitches, urgency-driven, competitive displacement",
            "canonId": "019dd956-5ec6-70f9-9fd8-fdbaaff39acf",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Problem (Identify pain) -> Agitate (Make it worse) -> Solution (Provide relief)",
            "description": null,
            "familyLabel": null
          },
          "from": 8,
          "name": "Solution",
          "beatId": "1efa9196-4165-4f3e-b31b-c0eaf98969bc",
          "matchId": "a4da7fe8-337c-47ae-8f37-7e987f29cc58",
          "beatType": {
            "name": "Solution (Provide relief)",
            "slug": "problem-agitate-solution-solution-provide-relief",
            "status": "active",
            "canonId": "019dd9b8-0fee-73e9-9ae5-799c7f3895cd",
            "version": 1,
            "description": null
          },
          "evidence": "Slides 9 through 28 detail the solution offered by Platform.sh, providing relief to the identified pain points.",
          "position": 2,
          "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": 0.9
        }
      ],
      "loops": [
        {
          "to": 28,
          "from": 6,
          "loop": {
            "name": "21_before_after",
            "slug": "21-before-after",
            "status": "active",
            "bestFor": "Product demos, process improvements, ROI justification",
            "canonId": "019dd956-6e68-73fd-a295-fe90145c2da8",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Old Way (Pain) -> The Moment of Change -> The New Way (Glory) -> The Measurable Delta",
            "description": "Show the dramatic contrast between the old way and the new way through side-by-side comparison",
            "familyLabel": null
          },
          "matchId": "8a3cdc16-b7ed-4568-a72c-982f0b0df59e",
          "evidence": "The deck progresses from highlighting pain points to showcasing the comprehensive solution provided by Platform.sh.",
          "position": 1,
          "objective": "Showing the transformation from current pain points to future relief with Platform.sh",
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 23:21:30.134356+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": "doc-narrative-v1"
          }
        }
      ],
      "locked": true
    },
    {
      "page": 12,
      "type": "setup",
      "title": "The slide uses a strong analogy to establish market positioning.",
      "function": "other",
      "rawType": "analogy",
      "block": null,
      "metadata": {
        "slideType": "analogy",
        "slideTypeCanon": {
          "name": "Analogy",
          "slug": "analogy",
          "status": "active",
          "canonId": "019de52d-106d-73f9-b0a3-915949efd0b0",
          "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": 21,
        "componentCount": 3,
        "textChars": 122,
        "nDataPoints": 4,
        "notes": "The slide uses a strong analogy to establish market positioning.",
        "elementsJson": null,
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview",
          "runId": null,
          "at": "2026-07-16 19:08:57.057+00",
          "seconds": 2.493,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019f6b8f-533f-709b-ab81-3e4d5b923e12/12",
        "deck": "/decks/019f6b8f-533f-709b-ab81-3e4d5b923e12",
        "deckAnchor": "/decks/019f6b8f-533f-709b-ab81-3e4d5b923e12#slide-12",
        "deckJson": "/decks/019f6b8f-533f-709b-ab81-3e4d5b923e12.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.5,
            "w": 0.5,
            "x": 0.25,
            "y": 0.15
          },
          "kind": "image",
          "text": "Platform.sh dashboard UI",
          "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": "Screenshot",
              "slug": "screenshot",
              "status": "active",
              "canonId": "019de52c-fd87-7509-8391-3d79fb339379",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "screenshot",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-07-16 19:08:57.057+00",
            "model": "google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "a4611b5b-998a-48b1-8db1-7d3e01c1d588",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.1,
            "w": 0.4,
            "x": 0.3,
            "y": 0.5
          },
          "kind": "metric",
          "text": "9 Environments, 4 Members, Europe West, 5 GB",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": null,
            "subkind": {
              "name": "Big number",
              "slug": "big-number",
              "status": "active",
              "canonId": "019de52c-fc70-70c8-b965-0584548a9204",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "big-number",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-07-16 19:08:57.057+00",
            "model": "google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "8aa8f30e-0736-4471-a70f-881d327f5e14",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.2,
            "w": 0.9,
            "x": 0.05,
            "y": 0.75
          },
          "kind": "title",
          "text": "Platform.sh does for websites what Github did for code",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Action title",
              "slug": "action-title",
              "status": "active",
              "canonId": "019de52c-fb31-734c-a0f5-a3935b73135d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "action-title",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-07-16 19:08:57.057+00",
            "model": "google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "a8605b40-efb5-457c-af74-08fff5f4fe2d",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [],
      "frameworks": [
        {
          "matchId": "ec7f7309-ef69-4889-9395-db7091fb8772",
          "evidence": "The headline explicitly uses an analogy to define the product's value.",
          "framework": null,
          "confidence": 1,
          "extraction": {
            "at": "2026-07-16 19:08:57.057+00",
            "model": "google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 12,
          "frameworkName": "argument-from-analogy"
        }
      ],
      "arcBeats": [
        {
          "to": 28,
          "arc": {
            "name": "Problem-Agitate-Solution",
            "slug": "problem-agitate-solution",
            "status": "active",
            "bestFor": "Sales pitches, urgency-driven, competitive displacement",
            "canonId": "019dd956-5ec6-70f9-9fd8-fdbaaff39acf",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Problem (Identify pain) -> Agitate (Make it worse) -> Solution (Provide relief)",
            "description": null,
            "familyLabel": null
          },
          "from": 8,
          "name": "Solution",
          "beatId": "1efa9196-4165-4f3e-b31b-c0eaf98969bc",
          "matchId": "a4da7fe8-337c-47ae-8f37-7e987f29cc58",
          "beatType": {
            "name": "Solution (Provide relief)",
            "slug": "problem-agitate-solution-solution-provide-relief",
            "status": "active",
            "canonId": "019dd9b8-0fee-73e9-9ae5-799c7f3895cd",
            "version": 1,
            "description": null
          },
          "evidence": "Slides 9 through 28 detail the solution offered by Platform.sh, providing relief to the identified pain points.",
          "position": 2,
          "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": 0.9
        }
      ],
      "loops": [
        {
          "to": 28,
          "from": 6,
          "loop": {
            "name": "21_before_after",
            "slug": "21-before-after",
            "status": "active",
            "bestFor": "Product demos, process improvements, ROI justification",
            "canonId": "019dd956-6e68-73fd-a295-fe90145c2da8",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Old Way (Pain) -> The Moment of Change -> The New Way (Glory) -> The Measurable Delta",
            "description": "Show the dramatic contrast between the old way and the new way through side-by-side comparison",
            "familyLabel": null
          },
          "matchId": "8a3cdc16-b7ed-4568-a72c-982f0b0df59e",
          "evidence": "The deck progresses from highlighting pain points to showcasing the comprehensive solution provided by Platform.sh.",
          "position": 1,
          "objective": "Showing the transformation from current pain points to future relief with Platform.sh",
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 23:21:30.134356+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": "doc-narrative-v1"
          }
        }
      ],
      "locked": true
    },
    {
      "page": 13,
      "type": "resolution",
      "title": "Visualizes a Git branching workflow integrated with website management metrics.",
      "function": "present_solution",
      "rawType": "solution",
      "block": null,
      "metadata": {
        "slideType": "solution",
        "slideTypeCanon": {
          "name": "Solution",
          "slug": "solution",
          "status": "active",
          "canonId": "019de52d-0eb5-72ff-8b70-ba70a4199282",
          "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": "sparse",
        "densityScore": 22,
        "componentCount": 3,
        "textChars": 132,
        "nDataPoints": 4,
        "notes": "Visualizes a Git branching workflow integrated with website management metrics.",
        "elementsJson": null,
        "confidence": 0.9,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview",
          "runId": null,
          "at": "2026-07-16 19:08:56.644+00",
          "seconds": 2.049,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019f6b8f-533f-709b-ab81-3e4d5b923e12/13",
        "deck": "/decks/019f6b8f-533f-709b-ab81-3e4d5b923e12",
        "deckAnchor": "/decks/019f6b8f-533f-709b-ab81-3e4d5b923e12#slide-13",
        "deckJson": "/decks/019f6b8f-533f-709b-ab81-3e4d5b923e12.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.75,
            "w": 0.85,
            "x": 0.1,
            "y": 0.15
          },
          "kind": "image",
          "text": "Git branching diagram with website dashboard overlay",
          "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": "Infographic",
              "slug": "infographic",
              "status": "active",
              "canonId": "019de52c-fe26-750c-9d7d-9f34e21324e8",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "infographic",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-07-16 19:08:56.644+00",
            "model": "google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "b50c5147-75d2-4ce1-b01d-126ce26ac888",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.2,
            "x": 0.5,
            "y": 0.5
          },
          "kind": "metric",
          "text": "9 Environments, 4 Members, Europe West, 5 GB",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": null,
            "subkind": {
              "name": "Big number",
              "slug": "big-number",
              "status": "active",
              "canonId": "019de52c-fc70-70c8-b965-0584548a9204",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "big-number",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-07-16 19:08:56.644+00",
            "model": "google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "ada485eb-b128-49e7-b1d2-7d24bd9db8b0",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.25,
            "w": 0.45,
            "x": 0.05,
            "y": 0.1
          },
          "kind": "title",
          "text": "Complete websites are managed in Git",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-07-16 19:08:56.644+00",
            "model": "google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "06a98cef-126a-4e11-be97-5e23abf4a413",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 28,
          "arc": {
            "name": "Problem-Agitate-Solution",
            "slug": "problem-agitate-solution",
            "status": "active",
            "bestFor": "Sales pitches, urgency-driven, competitive displacement",
            "canonId": "019dd956-5ec6-70f9-9fd8-fdbaaff39acf",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Problem (Identify pain) -> Agitate (Make it worse) -> Solution (Provide relief)",
            "description": null,
            "familyLabel": null
          },
          "from": 8,
          "name": "Solution",
          "beatId": "1efa9196-4165-4f3e-b31b-c0eaf98969bc",
          "matchId": "a4da7fe8-337c-47ae-8f37-7e987f29cc58",
          "beatType": {
            "name": "Solution (Provide relief)",
            "slug": "problem-agitate-solution-solution-provide-relief",
            "status": "active",
            "canonId": "019dd9b8-0fee-73e9-9ae5-799c7f3895cd",
            "version": 1,
            "description": null
          },
          "evidence": "Slides 9 through 28 detail the solution offered by Platform.sh, providing relief to the identified pain points.",
          "position": 2,
          "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": 0.9
        }
      ],
      "loops": [
        {
          "to": 28,
          "from": 6,
          "loop": {
            "name": "21_before_after",
            "slug": "21-before-after",
            "status": "active",
            "bestFor": "Product demos, process improvements, ROI justification",
            "canonId": "019dd956-6e68-73fd-a295-fe90145c2da8",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Old Way (Pain) -> The Moment of Change -> The New Way (Glory) -> The Measurable Delta",
            "description": "Show the dramatic contrast between the old way and the new way through side-by-side comparison",
            "familyLabel": null
          },
          "matchId": "8a3cdc16-b7ed-4568-a72c-982f0b0df59e",
          "evidence": "The deck progresses from highlighting pain points to showcasing the comprehensive solution provided by Platform.sh.",
          "position": 1,
          "objective": "Showing the transformation from current pain points to future relief with Platform.sh",
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 23:21:30.134356+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": "doc-narrative-v1"
          }
        }
      ],
      "locked": true
    },
    {
      "page": 14,
      "type": "resolution",
      "title": "The slide uses a branching/git-like metaphor to illustrate infrastructure management.",
      "function": "present_solution",
      "rawType": "solution",
      "block": null,
      "metadata": {
        "slideType": "solution",
        "slideTypeCanon": {
          "name": "Solution",
          "slug": "solution",
          "status": "active",
          "canonId": "019de52d-0eb5-72ff-8b70-ba70a4199282",
          "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": "sparse",
        "densityScore": 16,
        "componentCount": 2,
        "textChars": 110,
        "nDataPoints": 4,
        "notes": "The slide uses a branching/git-like metaphor to illustrate infrastructure management.",
        "elementsJson": null,
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview",
          "runId": null,
          "at": "2026-07-16 19:08:56.911+00",
          "seconds": 1.9,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019f6b8f-533f-709b-ab81-3e4d5b923e12/14",
        "deck": "/decks/019f6b8f-533f-709b-ab81-3e4d5b923e12",
        "deckAnchor": "/decks/019f6b8f-533f-709b-ab81-3e4d5b923e12#slide-14",
        "deckJson": "/decks/019f6b8f-533f-709b-ab81-3e4d5b923e12.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.6,
            "w": 0.8,
            "x": 0.1,
            "y": 0.1
          },
          "kind": "image",
          "text": "Visual diagram of infrastructure branching and configuration",
          "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": "Infographic",
              "slug": "infographic",
              "status": "active",
              "canonId": "019de52c-fe26-750c-9d7d-9f34e21324e8",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "infographic",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-07-16 19:08:56.911+00",
            "model": "google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "7e413b62-fdf3-40a0-a4f8-87ef174d78e5",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.6,
            "x": 0.05,
            "y": 0.75
          },
          "kind": "title",
          "text": "Complex infrastructure becomes a few lines of code",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-07-16 19:08:56.911+00",
            "model": "google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "be70b520-89e6-452e-98bd-8ab4c533362d",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 28,
          "arc": {
            "name": "Problem-Agitate-Solution",
            "slug": "problem-agitate-solution",
            "status": "active",
            "bestFor": "Sales pitches, urgency-driven, competitive displacement",
            "canonId": "019dd956-5ec6-70f9-9fd8-fdbaaff39acf",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Problem (Identify pain) -> Agitate (Make it worse) -> Solution (Provide relief)",
            "description": null,
            "familyLabel": null
          },
          "from": 8,
          "name": "Solution",
          "beatId": "1efa9196-4165-4f3e-b31b-c0eaf98969bc",
          "matchId": "a4da7fe8-337c-47ae-8f37-7e987f29cc58",
          "beatType": {
            "name": "Solution (Provide relief)",
            "slug": "problem-agitate-solution-solution-provide-relief",
            "status": "active",
            "canonId": "019dd9b8-0fee-73e9-9ae5-799c7f3895cd",
            "version": 1,
            "description": null
          },
          "evidence": "Slides 9 through 28 detail the solution offered by Platform.sh, providing relief to the identified pain points.",
          "position": 2,
          "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": 0.9
        }
      ],
      "loops": [
        {
          "to": 28,
          "from": 6,
          "loop": {
            "name": "21_before_after",
            "slug": "21-before-after",
            "status": "active",
            "bestFor": "Product demos, process improvements, ROI justification",
            "canonId": "019dd956-6e68-73fd-a295-fe90145c2da8",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Old Way (Pain) -> The Moment of Change -> The New Way (Glory) -> The Measurable Delta",
            "description": "Show the dramatic contrast between the old way and the new way through side-by-side comparison",
            "familyLabel": null
          },
          "matchId": "8a3cdc16-b7ed-4568-a72c-982f0b0df59e",
          "evidence": "The deck progresses from highlighting pain points to showcasing the comprehensive solution provided by Platform.sh.",
          "position": 1,
          "objective": "Showing the transformation from current pain points to future relief with Platform.sh",
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 23:21:30.134356+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": "doc-narrative-v1"
          }
        }
      ],
      "locked": true
    },
    {
      "page": 15,
      "type": "resolution",
      "title": "The diagram resembles a Git branching model, illustrating parallel work streams converging.",
      "function": "present_solution",
      "rawType": "solution",
      "block": null,
      "metadata": {
        "slideType": "solution",
        "slideTypeCanon": {
          "name": "Solution",
          "slug": "solution",
          "status": "active",
          "canonId": "019de52d-0eb5-72ff-8b70-ba70a4199282",
          "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": "sparse",
        "densityScore": 22,
        "componentCount": 4,
        "textChars": 119,
        "nDataPoints": 0,
        "notes": "The diagram resembles a Git branching model, illustrating parallel work streams converging.",
        "elementsJson": null,
        "confidence": 0.95,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview",
          "runId": null,
          "at": "2026-07-16 19:08:57.456+00",
          "seconds": 2.349,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019f6b8f-533f-709b-ab81-3e4d5b923e12/15",
        "deck": "/decks/019f6b8f-533f-709b-ab81-3e4d5b923e12",
        "deckAnchor": "/decks/019f6b8f-533f-709b-ab81-3e4d5b923e12#slide-15",
        "deckJson": "/decks/019f6b8f-533f-709b-ab81-3e4d5b923e12.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.1,
            "w": 0.25,
            "x": 0.4,
            "y": 0.8
          },
          "kind": "callout",
          "text": "bug fix Author: Warren COMMIT",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Callout",
              "slug": "callout",
              "status": "active",
              "canonId": "019de52c-f8d3-761a-8953-7d37080de5e2",
              "version": 1,
              "description": "Highlighted callout box."
            },
            "tool": null,
            "subkind": {
              "name": "Primary callout",
              "slug": "primary",
              "status": "active",
              "canonId": "019de52c-fbd1-70eb-a9ce-8997f8674c1d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "primary",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-07-16 19:08:57.456+00",
            "model": "google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "4c771a93-b27b-43fe-ac1a-b73dacbb3e75",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.4,
            "w": 0.7,
            "x": 0.15,
            "y": 0.3
          },
          "kind": "diagram",
          "text": "Git-style branching and merging diagram",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Diagram",
              "slug": "diagram",
              "status": "active",
              "canonId": "019de52c-f9f0-734a-81de-15382ff28c65",
              "version": 1,
              "description": "Schematic or relational diagram."
            },
            "tool": null,
            "subkind": {
              "name": "Process flow",
              "slug": "process",
              "status": "active",
              "canonId": "019de52d-039c-718f-ad3a-efe9c4b3c838",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "process",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-07-16 19:08:57.456+00",
            "model": "google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "55b34b6e-2833-4fa5-87e9-16d894e45304",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.3,
            "x": 0.65,
            "y": 0.8
          },
          "kind": "title",
          "text": "...working together",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-07-16 19:08:57.456+00",
            "model": "google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "0c727dc3-1806-415d-a1ad-444befa74755",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.35,
            "x": 0.05,
            "y": 0.05
          },
          "kind": "title",
          "text": "Teams accomplish more, faster...",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-07-16 19:08:57.456+00",
            "model": "google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "50f3eccf-3dd6-4e4f-8ccb-bd320989630c",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [],
      "frameworks": [
        {
          "matchId": "ed0f1018-d76d-4048-bd36-450a17441c93",
          "evidence": "Visual representation of branching and merging code",
          "framework": null,
          "confidence": 0.8,
          "extraction": {
            "at": "2026-07-16 19:08:57.456+00",
            "model": "google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 15,
          "frameworkName": "git-flow"
        }
      ],
      "arcBeats": [
        {
          "to": 28,
          "arc": {
            "name": "Problem-Agitate-Solution",
            "slug": "problem-agitate-solution",
            "status": "active",
            "bestFor": "Sales pitches, urgency-driven, competitive displacement",
            "canonId": "019dd956-5ec6-70f9-9fd8-fdbaaff39acf",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Problem (Identify pain) -> Agitate (Make it worse) -> Solution (Provide relief)",
            "description": null,
            "familyLabel": null
          },
          "from": 8,
          "name": "Solution",
          "beatId": "1efa9196-4165-4f3e-b31b-c0eaf98969bc",
          "matchId": "a4da7fe8-337c-47ae-8f37-7e987f29cc58",
          "beatType": {
            "name": "Solution (Provide relief)",
            "slug": "problem-agitate-solution-solution-provide-relief",
            "status": "active",
            "canonId": "019dd9b8-0fee-73e9-9ae5-799c7f3895cd",
            "version": 1,
            "description": null
          },
          "evidence": "Slides 9 through 28 detail the solution offered by Platform.sh, providing relief to the identified pain points.",
          "position": 2,
          "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": 0.9
        }
      ],
      "loops": [
        {
          "to": 28,
          "from": 6,
          "loop": {
            "name": "21_before_after",
            "slug": "21-before-after",
            "status": "active",
            "bestFor": "Product demos, process improvements, ROI justification",
            "canonId": "019dd956-6e68-73fd-a295-fe90145c2da8",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Old Way (Pain) -> The Moment of Change -> The New Way (Glory) -> The Measurable Delta",
            "description": "Show the dramatic contrast between the old way and the new way through side-by-side comparison",
            "familyLabel": null
          },
          "matchId": "8a3cdc16-b7ed-4568-a72c-982f0b0df59e",
          "evidence": "The deck progresses from highlighting pain points to showcasing the comprehensive solution provided by Platform.sh.",
          "position": 1,
          "objective": "Showing the transformation from current pain points to future relief with Platform.sh",
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 23:21:30.134356+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": "doc-narrative-v1"
          }
        }
      ],
      "locked": true
    },
    {
      "page": 16,
      "type": "evidence",
      "function": "show_traction",
      "rawType": "traction",
      "block": null,
      "metadata": {
        "slideType": "traction",
        "slideTypeCanon": {
          "name": "Traction",
          "slug": "traction",
          "status": "active",
          "canonId": "019de52d-0edd-72ab-820f-3ebc71a9c542",
          "version": 1,
          "description": null
        },
        "function": "show_traction",
        "functionCanon": {
          "name": "Show traction",
          "slug": "show_traction",
          "status": "active",
          "canonId": "019de52d-16a8-756a-9b38-a7d35420561d",
          "version": 1,
          "description": null
        },
        "density": "balanced",
        "densityScore": 39,
        "componentCount": 5,
        "textChars": 150,
        "nDataPoints": 4,
        "notes": null,
        "elementsJson": null,
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview",
          "runId": null,
          "at": "2026-07-16 19:08:57.871+00",
          "seconds": 2.199,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019f6b8f-533f-709b-ab81-3e4d5b923e12/16",
        "deck": "/decks/019f6b8f-533f-709b-ab81-3e4d5b923e12",
        "deckAnchor": "/decks/019f6b8f-533f-709b-ab81-3e4d5b923e12#slide-16",
        "deckJson": "/decks/019f6b8f-533f-709b-ab81-3e4d5b923e12.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.15,
            "w": 0.2,
            "x": 0.45,
            "y": 0.7
          },
          "kind": "metric",
          "text": "40% Uplift in developer productivity",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": null,
            "subkind": {
              "name": "Big number",
              "slug": "big-number",
              "status": "active",
              "canonId": "019de52c-fc70-70c8-b965-0584548a9204",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "big-number",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-07-16 19:08:57.871+00",
            "model": "google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "271dc21f-d636-46b0-9520-1ca0139dc5ec",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.2,
            "x": 0.75,
            "y": 0.7
          },
          "kind": "metric",
          "text": "20x More innovation",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": null,
            "subkind": {
              "name": "Big number",
              "slug": "big-number",
              "status": "active",
              "canonId": "019de52c-fc70-70c8-b965-0584548a9204",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "big-number",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-07-16 19:08:57.871+00",
            "model": "google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "4af8151b-c609-4f67-b17e-19afe5f3d0a7",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.2,
            "x": 0.45,
            "y": 0.35
          },
          "kind": "metric",
          "text": "90% Reduction in DevOps",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": null,
            "subkind": {
              "name": "Big number",
              "slug": "big-number",
              "status": "active",
              "canonId": "019de52c-fc70-70c8-b965-0584548a9204",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "big-number",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-07-16 19:08:57.871+00",
            "model": "google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "ba443844-a049-4095-b4f2-f753ff3f89d8",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.2,
            "x": 0.75,
            "y": 0.35
          },
          "kind": "metric",
          "text": "15x Faster user acceptance testing",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Metric",
              "slug": "metric",
              "status": "active",
              "canonId": "019de52c-f923-73bf-8081-d0b1a8c5264d",
              "version": 1,
              "description": "Big-number or KPI value."
            },
            "tool": null,
            "subkind": {
              "name": "Big number",
              "slug": "big-number",
              "status": "active",
              "canonId": "019de52c-fc70-70c8-b965-0584548a9204",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "big-number",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-07-16 19:08:57.871+00",
            "model": "google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "c00be2a8-f08c-45d4-a263-6ed4112d52ec",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.45,
            "x": 0.08,
            "y": 0.08
          },
          "kind": "title",
          "text": "Developer results drive business value",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-07-16 19:08:57.871+00",
            "model": "google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "fab5cb4c-b42e-446f-984f-e5555be444c4",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 28,
          "arc": {
            "name": "Problem-Agitate-Solution",
            "slug": "problem-agitate-solution",
            "status": "active",
            "bestFor": "Sales pitches, urgency-driven, competitive displacement",
            "canonId": "019dd956-5ec6-70f9-9fd8-fdbaaff39acf",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Problem (Identify pain) -> Agitate (Make it worse) -> Solution (Provide relief)",
            "description": null,
            "familyLabel": null
          },
          "from": 8,
          "name": "Solution",
          "beatId": "1efa9196-4165-4f3e-b31b-c0eaf98969bc",
          "matchId": "a4da7fe8-337c-47ae-8f37-7e987f29cc58",
          "beatType": {
            "name": "Solution (Provide relief)",
            "slug": "problem-agitate-solution-solution-provide-relief",
            "status": "active",
            "canonId": "019dd9b8-0fee-73e9-9ae5-799c7f3895cd",
            "version": 1,
            "description": null
          },
          "evidence": "Slides 9 through 28 detail the solution offered by Platform.sh, providing relief to the identified pain points.",
          "position": 2,
          "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": 0.9
        }
      ],
      "loops": [
        {
          "to": 28,
          "from": 6,
          "loop": {
            "name": "21_before_after",
            "slug": "21-before-after",
            "status": "active",
            "bestFor": "Product demos, process improvements, ROI justification",
            "canonId": "019dd956-6e68-73fd-a295-fe90145c2da8",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Old Way (Pain) -> The Moment of Change -> The New Way (Glory) -> The Measurable Delta",
            "description": "Show the dramatic contrast between the old way and the new way through side-by-side comparison",
            "familyLabel": null
          },
          "matchId": "8a3cdc16-b7ed-4568-a72c-982f0b0df59e",
          "evidence": "The deck progresses from highlighting pain points to showcasing the comprehensive solution provided by Platform.sh.",
          "position": 1,
          "objective": "Showing the transformation from current pain points to future relief with Platform.sh",
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 23:21:30.134356+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": "doc-narrative-v1"
          }
        }
      ],
      "locked": true
    },
    {
      "page": 17,
      "type": "setup",
      "title": "The slide uses a stylized illustration of a hand interacting with code and website representations to reinforce the 'workflow' theme.",
      "function": "inspire_vision",
      "rawType": "thesis_headline",
      "block": null,
      "metadata": {
        "slideType": "thesis_headline",
        "slideTypeCanon": {
          "name": "Thesis headline",
          "slug": "thesis_headline",
          "status": "active",
          "canonId": "019de52d-073a-70cb-b9f6-772a597bb5af",
          "version": 1,
          "description": null
        },
        "function": "inspire_vision",
        "functionCanon": {
          "name": "Inspire vision",
          "slug": "inspire_vision",
          "status": "active",
          "canonId": "019de52d-16d0-7756-83de-376eeac6fa40",
          "version": 1,
          "description": null
        },
        "density": "sparse",
        "densityScore": 13,
        "componentCount": 2,
        "textChars": 175,
        "nDataPoints": 0,
        "notes": "The slide uses a stylized illustration of a hand interacting with code and website representations to reinforce the 'workflow' theme.",
        "elementsJson": null,
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview",
          "runId": null,
          "at": "2026-07-16 19:08:57.821+00",
          "seconds": 1.969,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019f6b8f-533f-709b-ab81-3e4d5b923e12/17",
        "deck": "/decks/019f6b8f-533f-709b-ab81-3e4d5b923e12",
        "deckAnchor": "/decks/019f6b8f-533f-709b-ab81-3e4d5b923e12#slide-17",
        "deckJson": "/decks/019f6b8f-533f-709b-ab81-3e4d5b923e12.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.9,
            "w": 0.45,
            "x": 0.5,
            "y": 0.05
          },
          "kind": "image",
          "text": "Illustration of a hand interacting with a code editor and multiple website documents.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Image",
              "slug": "image",
              "status": "active",
              "canonId": "019de52c-f978-701f-a720-51d029d769e7",
              "version": 1,
              "description": "Photo, illustration, screenshot or icon."
            },
            "tool": null,
            "subkind": {
              "name": "Illustration",
              "slug": "illustration",
              "status": "active",
              "canonId": "019de52c-fe76-7772-a5ac-c0b7294d7615",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "illustration",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-07-16 19:08:57.821+00",
            "model": "google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "a0469d55-6e19-4451-9f33-438a1f510d6f",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.7,
            "w": 0.45,
            "x": 0.05,
            "y": 0.15
          },
          "kind": "title",
          "text": "The real magic of Platform.sh: multiplying the power of workflow across fleets of websites",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-07-16 19:08:57.821+00",
            "model": "google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "c00de5bb-2364-4263-af14-80b27eff3c55",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 28,
          "arc": {
            "name": "Problem-Agitate-Solution",
            "slug": "problem-agitate-solution",
            "status": "active",
            "bestFor": "Sales pitches, urgency-driven, competitive displacement",
            "canonId": "019dd956-5ec6-70f9-9fd8-fdbaaff39acf",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Problem (Identify pain) -> Agitate (Make it worse) -> Solution (Provide relief)",
            "description": null,
            "familyLabel": null
          },
          "from": 8,
          "name": "Solution",
          "beatId": "1efa9196-4165-4f3e-b31b-c0eaf98969bc",
          "matchId": "a4da7fe8-337c-47ae-8f37-7e987f29cc58",
          "beatType": {
            "name": "Solution (Provide relief)",
            "slug": "problem-agitate-solution-solution-provide-relief",
            "status": "active",
            "canonId": "019dd9b8-0fee-73e9-9ae5-799c7f3895cd",
            "version": 1,
            "description": null
          },
          "evidence": "Slides 9 through 28 detail the solution offered by Platform.sh, providing relief to the identified pain points.",
          "position": 2,
          "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": 0.9
        }
      ],
      "loops": [
        {
          "to": 28,
          "from": 6,
          "loop": {
            "name": "21_before_after",
            "slug": "21-before-after",
            "status": "active",
            "bestFor": "Product demos, process improvements, ROI justification",
            "canonId": "019dd956-6e68-73fd-a295-fe90145c2da8",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Old Way (Pain) -> The Moment of Change -> The New Way (Glory) -> The Measurable Delta",
            "description": "Show the dramatic contrast between the old way and the new way through side-by-side comparison",
            "familyLabel": null
          },
          "matchId": "8a3cdc16-b7ed-4568-a72c-982f0b0df59e",
          "evidence": "The deck progresses from highlighting pain points to showcasing the comprehensive solution provided by Platform.sh.",
          "position": 1,
          "objective": "Showing the transformation from current pain points to future relief with Platform.sh",
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 23:21:30.134356+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": "doc-narrative-v1"
          }
        }
      ],
      "locked": true
    },
    {
      "page": 18,
      "type": "resolution",
      "title": "The visual shows a diagram of code/app deployment across different languages (PHP, Python, JS) into a unified environment.",
      "function": "present_solution",
      "rawType": "solution",
      "block": null,
      "metadata": {
        "slideType": "solution",
        "slideTypeCanon": {
          "name": "Solution",
          "slug": "solution",
          "status": "active",
          "canonId": "019de52d-0eb5-72ff-8b70-ba70a4199282",
          "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": "balanced",
        "densityScore": 31,
        "componentCount": 3,
        "textChars": 394,
        "nDataPoints": 0,
        "notes": "The visual shows a diagram of code/app deployment across different languages (PHP, Python, JS) into a unified environment.",
        "elementsJson": null,
        "confidence": 0.95,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview",
          "runId": null,
          "at": "2026-07-16 19:08:58.873+00",
          "seconds": 2.901,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019f6b8f-533f-709b-ab81-3e4d5b923e12/18",
        "deck": "/decks/019f6b8f-533f-709b-ab81-3e4d5b923e12",
        "deckAnchor": "/decks/019f6b8f-533f-709b-ab81-3e4d5b923e12#slide-18",
        "deckJson": "/decks/019f6b8f-533f-709b-ab81-3e4d5b923e12.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.9,
            "w": 0.4,
            "x": 0.55,
            "y": 0.05
          },
          "kind": "image",
          "text": "Diagram showing code integration (PHP, Python, JS) into a deployment platform.",
          "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": "Infographic",
              "slug": "infographic",
              "status": "active",
              "canonId": "019de52c-fe26-750c-9d7d-9f34e21324e8",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "infographic",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-07-16 19:08:58.873+00",
            "model": "google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "08132e4c-6013-4755-9686-0b177bad7334",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.4,
            "w": 0.4,
            "x": 0.05,
            "y": 0.38
          },
          "kind": "list",
          "text": "Invest in delivering features, not infrastructure and tooling. Launch new apps or sites in minutes from custom templates. Use the tools and frameworks their teams need, without costly re-architecture. Run across multiple regions and clouds. Deploy new innovations to existing apps.",
          "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-07-16 19:08:58.873+00",
            "model": "google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "2feea262-a6f3-4af2-8017-5db9abecddd0",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.35,
            "x": 0.05,
            "y": 0.2
          },
          "kind": "title",
          "text": "Digital teams generate value faster",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-07-16 19:08:58.873+00",
            "model": "google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "45b2e528-613e-4f15-be48-aafb0be072ec",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 28,
          "arc": {
            "name": "Problem-Agitate-Solution",
            "slug": "problem-agitate-solution",
            "status": "active",
            "bestFor": "Sales pitches, urgency-driven, competitive displacement",
            "canonId": "019dd956-5ec6-70f9-9fd8-fdbaaff39acf",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Problem (Identify pain) -> Agitate (Make it worse) -> Solution (Provide relief)",
            "description": null,
            "familyLabel": null
          },
          "from": 8,
          "name": "Solution",
          "beatId": "1efa9196-4165-4f3e-b31b-c0eaf98969bc",
          "matchId": "a4da7fe8-337c-47ae-8f37-7e987f29cc58",
          "beatType": {
            "name": "Solution (Provide relief)",
            "slug": "problem-agitate-solution-solution-provide-relief",
            "status": "active",
            "canonId": "019dd9b8-0fee-73e9-9ae5-799c7f3895cd",
            "version": 1,
            "description": null
          },
          "evidence": "Slides 9 through 28 detail the solution offered by Platform.sh, providing relief to the identified pain points.",
          "position": 2,
          "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": 0.9
        }
      ],
      "loops": [
        {
          "to": 28,
          "from": 6,
          "loop": {
            "name": "21_before_after",
            "slug": "21-before-after",
            "status": "active",
            "bestFor": "Product demos, process improvements, ROI justification",
            "canonId": "019dd956-6e68-73fd-a295-fe90145c2da8",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Old Way (Pain) -> The Moment of Change -> The New Way (Glory) -> The Measurable Delta",
            "description": "Show the dramatic contrast between the old way and the new way through side-by-side comparison",
            "familyLabel": null
          },
          "matchId": "8a3cdc16-b7ed-4568-a72c-982f0b0df59e",
          "evidence": "The deck progresses from highlighting pain points to showcasing the comprehensive solution provided by Platform.sh.",
          "position": 1,
          "objective": "Showing the transformation from current pain points to future relief with Platform.sh",
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 23:21:30.134356+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": "doc-narrative-v1"
          }
        }
      ],
      "locked": true
    },
    {
      "page": 19,
      "type": "resolution",
      "title": "Includes logos for Drupal, WordPress, Node.js, and Magento at the bottom.",
      "function": "present_solution",
      "rawType": "solution",
      "block": null,
      "metadata": {
        "slideType": "solution",
        "slideTypeCanon": {
          "name": "Solution",
          "slug": "solution",
          "status": "active",
          "canonId": "019de52d-0eb5-72ff-8b70-ba70a4199282",
          "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": "balanced",
        "densityScore": 42,
        "componentCount": 4,
        "textChars": 359,
        "nDataPoints": 1,
        "notes": "Includes logos for Drupal, WordPress, Node.js, and Magento at the bottom.",
        "elementsJson": null,
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview",
          "runId": null,
          "at": "2026-07-16 19:08:58.371+00",
          "seconds": 2.354,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019f6b8f-533f-709b-ab81-3e4d5b923e12/19",
        "deck": "/decks/019f6b8f-533f-709b-ab81-3e4d5b923e12",
        "deckAnchor": "/decks/019f6b8f-533f-709b-ab81-3e4d5b923e12#slide-19",
        "deckJson": "/decks/019f6b8f-533f-709b-ab81-3e4d5b923e12.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.65,
            "w": 0.4,
            "x": 0.05,
            "y": 0.1
          },
          "kind": "image",
          "text": "Illustration of centralized website management",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Image",
              "slug": "image",
              "status": "active",
              "canonId": "019de52c-f978-701f-a720-51d029d769e7",
              "version": 1,
              "description": "Photo, illustration, screenshot or icon."
            },
            "tool": null,
            "subkind": {
              "name": "Illustration",
              "slug": "illustration",
              "status": "active",
              "canonId": "019de52c-fe76-7772-a5ac-c0b7294d7615",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "illustration",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-07-16 19:08:58.371+00",
            "model": "google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "10ef764c-81c2-4713-a876-678f6ab55418",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.1,
            "w": 0.4,
            "x": 0.5,
            "y": 0.85
          },
          "kind": "image",
          "text": "Drupal, WordPress, Node.js, Magento logos",
          "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 grid",
              "slug": "logo-grid",
              "status": "active",
              "canonId": "019de52c-fdd7-7409-93e5-81280a8ca215",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "logo-grid",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-07-16 19:08:58.371+00",
            "model": "google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "35f8cc4e-3b3f-43e6-b25d-8ca548938a3f",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.45,
            "w": 0.45,
            "x": 0.48,
            "y": 0.22
          },
          "kind": "list",
          "text": "Patch all their sites centrally.\nSecure their data with fully managed database services.\nEnsure governance over technology and processes.\nProvide high-availability SLAs (up to 99.99%).\nRely on 24x7 global support.",
          "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-07-16 19:08:58.371+00",
            "model": "google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "2d2a6005-13a2-4b4d-8f74-817f9a8d3b95",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.45,
            "x": 0.48,
            "y": 0.05
          },
          "kind": "title",
          "text": "Technology orgs scale and secure their entire website fleet",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-07-16 19:08:58.371+00",
            "model": "google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "292c58d2-c989-4890-9568-b536bc884d01",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 28,
          "arc": {
            "name": "Problem-Agitate-Solution",
            "slug": "problem-agitate-solution",
            "status": "active",
            "bestFor": "Sales pitches, urgency-driven, competitive displacement",
            "canonId": "019dd956-5ec6-70f9-9fd8-fdbaaff39acf",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Problem (Identify pain) -> Agitate (Make it worse) -> Solution (Provide relief)",
            "description": null,
            "familyLabel": null
          },
          "from": 8,
          "name": "Solution",
          "beatId": "1efa9196-4165-4f3e-b31b-c0eaf98969bc",
          "matchId": "a4da7fe8-337c-47ae-8f37-7e987f29cc58",
          "beatType": {
            "name": "Solution (Provide relief)",
            "slug": "problem-agitate-solution-solution-provide-relief",
            "status": "active",
            "canonId": "019dd9b8-0fee-73e9-9ae5-799c7f3895cd",
            "version": 1,
            "description": null
          },
          "evidence": "Slides 9 through 28 detail the solution offered by Platform.sh, providing relief to the identified pain points.",
          "position": 2,
          "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": 0.9
        }
      ],
      "loops": [
        {
          "to": 28,
          "from": 6,
          "loop": {
            "name": "21_before_after",
            "slug": "21-before-after",
            "status": "active",
            "bestFor": "Product demos, process improvements, ROI justification",
            "canonId": "019dd956-6e68-73fd-a295-fe90145c2da8",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Old Way (Pain) -> The Moment of Change -> The New Way (Glory) -> The Measurable Delta",
            "description": "Show the dramatic contrast between the old way and the new way through side-by-side comparison",
            "familyLabel": null
          },
          "matchId": "8a3cdc16-b7ed-4568-a72c-982f0b0df59e",
          "evidence": "The deck progresses from highlighting pain points to showcasing the comprehensive solution provided by Platform.sh.",
          "position": 1,
          "objective": "Showing the transformation from current pain points to future relief with Platform.sh",
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 23:21:30.134356+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": "doc-narrative-v1"
          }
        }
      ],
      "locked": true
    },
    {
      "page": 20,
      "type": "setup",
      "function": "transition",
      "rawType": "section_divider",
      "block": null,
      "metadata": {
        "slideType": "section_divider",
        "slideTypeCanon": {
          "name": "Section divider",
          "slug": "section_divider",
          "status": "active",
          "canonId": "019de52d-066a-7402-9554-6ae504999041",
          "version": 1,
          "description": null
        },
        "function": "transition",
        "functionCanon": {
          "name": "Transition",
          "slug": "transition",
          "status": "active",
          "canonId": "019de52d-1365-7149-92aa-66df859e75fd",
          "version": 1,
          "description": null
        },
        "density": "sparse",
        "densityScore": 1,
        "componentCount": 1,
        "textChars": 12,
        "nDataPoints": 0,
        "notes": null,
        "elementsJson": null,
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview",
          "runId": null,
          "at": "2026-07-16 19:08:57.898+00",
          "seconds": 1.555,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019f6b8f-533f-709b-ab81-3e4d5b923e12/20",
        "deck": "/decks/019f6b8f-533f-709b-ab81-3e4d5b923e12",
        "deckAnchor": "/decks/019f6b8f-533f-709b-ab81-3e4d5b923e12#slide-20",
        "deckJson": "/decks/019f6b8f-533f-709b-ab81-3e4d5b923e12.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.1,
            "w": 0.4,
            "x": 0.05,
            "y": 0.45
          },
          "kind": "title",
          "text": "What we sell",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-07-16 19:08:57.898+00",
            "model": "google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "44fb5873-ed47-4165-b229-5bad2fa44466",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 28,
          "arc": {
            "name": "Problem-Agitate-Solution",
            "slug": "problem-agitate-solution",
            "status": "active",
            "bestFor": "Sales pitches, urgency-driven, competitive displacement",
            "canonId": "019dd956-5ec6-70f9-9fd8-fdbaaff39acf",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Problem (Identify pain) -> Agitate (Make it worse) -> Solution (Provide relief)",
            "description": null,
            "familyLabel": null
          },
          "from": 8,
          "name": "Solution",
          "beatId": "1efa9196-4165-4f3e-b31b-c0eaf98969bc",
          "matchId": "a4da7fe8-337c-47ae-8f37-7e987f29cc58",
          "beatType": {
            "name": "Solution (Provide relief)",
            "slug": "problem-agitate-solution-solution-provide-relief",
            "status": "active",
            "canonId": "019dd9b8-0fee-73e9-9ae5-799c7f3895cd",
            "version": 1,
            "description": null
          },
          "evidence": "Slides 9 through 28 detail the solution offered by Platform.sh, providing relief to the identified pain points.",
          "position": 2,
          "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": 0.9
        }
      ],
      "loops": [
        {
          "to": 28,
          "from": 6,
          "loop": {
            "name": "21_before_after",
            "slug": "21-before-after",
            "status": "active",
            "bestFor": "Product demos, process improvements, ROI justification",
            "canonId": "019dd956-6e68-73fd-a295-fe90145c2da8",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Old Way (Pain) -> The Moment of Change -> The New Way (Glory) -> The Measurable Delta",
            "description": "Show the dramatic contrast between the old way and the new way through side-by-side comparison",
            "familyLabel": null
          },
          "matchId": "8a3cdc16-b7ed-4568-a72c-982f0b0df59e",
          "evidence": "The deck progresses from highlighting pain points to showcasing the comprehensive solution provided by Platform.sh.",
          "position": 1,
          "objective": "Showing the transformation from current pain points to future relief with Platform.sh",
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 23:21:30.134356+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": "doc-narrative-v1"
          }
        }
      ],
      "locked": true
    },
    {
      "page": 21,
      "type": "setup",
      "title": "Uses a metaphor-analogy framework to bridge the gap between physical world risk and software deployment risk.",
      "function": "present_solution",
      "rawType": "analogy",
      "block": null,
      "metadata": {
        "slideType": "analogy",
        "slideTypeCanon": {
          "name": "Analogy",
          "slug": "analogy",
          "status": "active",
          "canonId": "019de52d-106d-73f9-b0a3-915949efd0b0",
          "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": "balanced",
        "densityScore": 47,
        "componentCount": 5,
        "textChars": 398,
        "nDataPoints": 0,
        "notes": "Uses a metaphor-analogy framework to bridge the gap between physical world risk and software deployment risk.",
        "elementsJson": null,
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview",
          "runId": null,
          "at": "2026-07-16 19:08:59.204+00",
          "seconds": 2.567,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019f6b8f-533f-709b-ab81-3e4d5b923e12/21",
        "deck": "/decks/019f6b8f-533f-709b-ab81-3e4d5b923e12",
        "deckAnchor": "/decks/019f6b8f-533f-709b-ab81-3e4d5b923e12#slide-21",
        "deckJson": "/decks/019f6b8f-533f-709b-ab81-3e4d5b923e12.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.5,
            "w": 0.4,
            "x": 0.05,
            "y": 0.45
          },
          "kind": "image",
          "text": null,
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Image",
              "slug": "image",
              "status": "active",
              "canonId": "019de52c-f978-701f-a720-51d029d769e7",
              "version": 1,
              "description": "Photo, illustration, screenshot or icon."
            },
            "tool": null,
            "subkind": {
              "name": "Illustration",
              "slug": "illustration",
              "status": "active",
              "canonId": "019de52c-fe76-7772-a5ac-c0b7294d7615",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "illustration",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-07-16 19:08:59.204+00",
            "model": "google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "f1cd6fb4-3f37-4627-b6df-4e236e2ccad1",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.2,
            "w": 0.4,
            "x": 0.55,
            "y": 0.65
          },
          "kind": "list",
          "text": "Platform.sh solves the contradiction. Automated high-availability, parallel QA and fail-proof deployments are a game changer",
          "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-07-16 19:08:59.204+00",
            "model": "google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "40950418-1aaa-4947-a358-acc5a2f5164f",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.4,
            "x": 0.55,
            "y": 0.1
          },
          "kind": "list",
          "text": "Planes crash at takeoff and landing. When they're in the air, you're usually fine.",
          "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-07-16 19:08:59.204+00",
            "model": "google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "aad39c26-e26e-4a10-8045-e49d3b6ecd02",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.25,
            "w": 0.4,
            "x": 0.55,
            "y": 0.35
          },
          "kind": "list",
          "text": "Same goes with software. Folks were afraid to deploy. Who in their right mind would deploy a new feature on an eCommerce site on black friday?",
          "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-07-16 19:08:59.204+00",
            "model": "google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "c28dc1da-effc-41e0-9ef5-4ed7e207d305",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.3,
            "w": 0.4,
            "x": 0.05,
            "y": 0.1
          },
          "kind": "title",
          "text": "Before us, change and stability were contradictory",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-07-16 19:08:59.204+00",
            "model": "google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "a138c492-c8e3-4808-b7c3-b5621b5f23f0",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [],
      "frameworks": [
        {
          "matchId": "f39e8d20-1a15-4ef7-8146-3fc0f1444337",
          "evidence": "Uses the analogy of airplane takeoff/landing to explain software deployment risk.",
          "framework": null,
          "confidence": 1,
          "extraction": {
            "at": "2026-07-16 19:08:59.204+00",
            "model": "google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 21,
          "frameworkName": "metaphor-analogy"
        }
      ],
      "arcBeats": [
        {
          "to": 28,
          "arc": {
            "name": "Problem-Agitate-Solution",
            "slug": "problem-agitate-solution",
            "status": "active",
            "bestFor": "Sales pitches, urgency-driven, competitive displacement",
            "canonId": "019dd956-5ec6-70f9-9fd8-fdbaaff39acf",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Problem (Identify pain) -> Agitate (Make it worse) -> Solution (Provide relief)",
            "description": null,
            "familyLabel": null
          },
          "from": 8,
          "name": "Solution",
          "beatId": "1efa9196-4165-4f3e-b31b-c0eaf98969bc",
          "matchId": "a4da7fe8-337c-47ae-8f37-7e987f29cc58",
          "beatType": {
            "name": "Solution (Provide relief)",
            "slug": "problem-agitate-solution-solution-provide-relief",
            "status": "active",
            "canonId": "019dd9b8-0fee-73e9-9ae5-799c7f3895cd",
            "version": 1,
            "description": null
          },
          "evidence": "Slides 9 through 28 detail the solution offered by Platform.sh, providing relief to the identified pain points.",
          "position": 2,
          "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": 0.9
        }
      ],
      "loops": [
        {
          "to": 28,
          "from": 6,
          "loop": {
            "name": "21_before_after",
            "slug": "21-before-after",
            "status": "active",
            "bestFor": "Product demos, process improvements, ROI justification",
            "canonId": "019dd956-6e68-73fd-a295-fe90145c2da8",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Old Way (Pain) -> The Moment of Change -> The New Way (Glory) -> The Measurable Delta",
            "description": "Show the dramatic contrast between the old way and the new way through side-by-side comparison",
            "familyLabel": null
          },
          "matchId": "8a3cdc16-b7ed-4568-a72c-982f0b0df59e",
          "evidence": "The deck progresses from highlighting pain points to showcasing the comprehensive solution provided by Platform.sh.",
          "position": 1,
          "objective": "Showing the transformation from current pain points to future relief with Platform.sh",
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 23:21:30.134356+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": "doc-narrative-v1"
          }
        }
      ],
      "locked": true
    },
    {
      "page": 22,
      "type": "resolution",
      "title": "The diagram illustrates a hub-and-spoke model where a central production site branches into specific development tasks (Security, Feature, Bug Fix).",
      "function": "present_solution",
      "rawType": "solution",
      "block": null,
      "metadata": {
        "slideType": "solution",
        "slideTypeCanon": {
          "name": "Solution",
          "slug": "solution",
          "status": "active",
          "canonId": "019de52d-0eb5-72ff-8b70-ba70a4199282",
          "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": "balanced",
        "densityScore": 42,
        "componentCount": 4,
        "textChars": 376,
        "nDataPoints": 1,
        "notes": "The diagram illustrates a hub-and-spoke model where a central production site branches into specific development tasks (Security, Feature, Bug Fix).",
        "elementsJson": null,
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview",
          "runId": null,
          "at": "2026-07-16 19:08:59.349+00",
          "seconds": 2.532,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019f6b8f-533f-709b-ab81-3e4d5b923e12/22",
        "deck": "/decks/019f6b8f-533f-709b-ab81-3e4d5b923e12",
        "deckAnchor": "/decks/019f6b8f-533f-709b-ab81-3e4d5b923e12#slide-22",
        "deckJson": "/decks/019f6b8f-533f-709b-ab81-3e4d5b923e12.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.6,
            "w": 0.35,
            "x": 0.05,
            "y": 0.2
          },
          "kind": "diagram",
          "text": "Diagram showing production site branching into security updates, new features, and bug fixes.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Diagram",
              "slug": "diagram",
              "status": "active",
              "canonId": "019de52c-f9f0-734a-81de-15382ff28c65",
              "version": 1,
              "description": "Schematic or relational diagram."
            },
            "tool": null,
            "subkind": {
              "name": "Hub and spoke",
              "slug": "hub-spoke",
              "status": "active",
              "canonId": "019de52d-04db-73e6-81ca-a234f2f23fc1",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "hub-spoke",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-07-16 19:08:59.349+00",
            "model": "google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "4ce1404b-3135-4075-b20a-d198e05dd621",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.45,
            "w": 0.45,
            "x": 0.45,
            "y": 0.35
          },
          "kind": "list",
          "text": "Every git branch has a url; Eliminates QA bottlenecks; 90% faster human testing and validation; Fail proof, predictable deployments; Quick bug fixes and security release resolution",
          "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-07-16 19:08:59.349+00",
            "model": "google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "e929881a-d7c4-4e7e-a71f-9d72e0d09f0a",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.1,
            "w": 0.45,
            "x": 0.45,
            "y": 0.18
          },
          "kind": "paragraph",
          "text": "Clone a byte-for-byte copy of your production site in less than a minute.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "5f2affc0-941d-4d07-959d-4bfc1930cea4",
              "version": 1,
              "description": "Single prose block in the body of a slide."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": "paragraph",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-07-16 19:08:59.349+00",
            "model": "google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "4543be45-88ab-4d45-860c-b4c0a536ba5c",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.44,
            "x": 0.28,
            "y": 0.05
          },
          "kind": "title",
          "text": "THIS IS NOT JUST CLOUD HOSTING",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-07-16 19:08:59.349+00",
            "model": "google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "d80acac9-7fcf-4de4-a971-95fa76a57a18",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 28,
          "arc": {
            "name": "Problem-Agitate-Solution",
            "slug": "problem-agitate-solution",
            "status": "active",
            "bestFor": "Sales pitches, urgency-driven, competitive displacement",
            "canonId": "019dd956-5ec6-70f9-9fd8-fdbaaff39acf",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Problem (Identify pain) -> Agitate (Make it worse) -> Solution (Provide relief)",
            "description": null,
            "familyLabel": null
          },
          "from": 8,
          "name": "Solution",
          "beatId": "1efa9196-4165-4f3e-b31b-c0eaf98969bc",
          "matchId": "a4da7fe8-337c-47ae-8f37-7e987f29cc58",
          "beatType": {
            "name": "Solution (Provide relief)",
            "slug": "problem-agitate-solution-solution-provide-relief",
            "status": "active",
            "canonId": "019dd9b8-0fee-73e9-9ae5-799c7f3895cd",
            "version": 1,
            "description": null
          },
          "evidence": "Slides 9 through 28 detail the solution offered by Platform.sh, providing relief to the identified pain points.",
          "position": 2,
          "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": 0.9
        }
      ],
      "loops": [
        {
          "to": 28,
          "from": 6,
          "loop": {
            "name": "21_before_after",
            "slug": "21-before-after",
            "status": "active",
            "bestFor": "Product demos, process improvements, ROI justification",
            "canonId": "019dd956-6e68-73fd-a295-fe90145c2da8",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Old Way (Pain) -> The Moment of Change -> The New Way (Glory) -> The Measurable Delta",
            "description": "Show the dramatic contrast between the old way and the new way through side-by-side comparison",
            "familyLabel": null
          },
          "matchId": "8a3cdc16-b7ed-4568-a72c-982f0b0df59e",
          "evidence": "The deck progresses from highlighting pain points to showcasing the comprehensive solution provided by Platform.sh.",
          "position": 1,
          "objective": "Showing the transformation from current pain points to future relief with Platform.sh",
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 23:21:30.134356+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": "doc-narrative-v1"
          }
        }
      ],
      "locked": true
    },
    {
      "page": 23,
      "type": "evidence",
      "title": "This slide uses a bold, minimalist approach to convey operational excellence.",
      "function": "show_traction",
      "rawType": "traction",
      "block": null,
      "metadata": {
        "slideType": "traction",
        "slideTypeCanon": {
          "name": "Traction",
          "slug": "traction",
          "status": "active",
          "canonId": "019de52d-0edd-72ab-820f-3ebc71a9c542",
          "version": 1,
          "description": null
        },
        "function": "show_traction",
        "functionCanon": {
          "name": "Show traction",
          "slug": "show_traction",
          "status": "active",
          "canonId": "019de52d-16a8-756a-9b38-a7d35420561d",
          "version": 1,
          "description": null
        },
        "density": "sparse",
        "densityScore": 12,
        "componentCount": 1,
        "textChars": 105,
        "nDataPoints": 1,
        "notes": "This slide uses a bold, minimalist approach to convey operational excellence.",
        "elementsJson": null,
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview",
          "runId": null,
          "at": "2026-07-16 19:08:58.609+00",
          "seconds": 1.738,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019f6b8f-533f-709b-ab81-3e4d5b923e12/23",
        "deck": "/decks/019f6b8f-533f-709b-ab81-3e4d5b923e12",
        "deckAnchor": "/decks/019f6b8f-533f-709b-ab81-3e4d5b923e12#slide-23",
        "deckJson": "/decks/019f6b8f-533f-709b-ab81-3e4d5b923e12.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.3,
            "w": 0.8,
            "x": 0.1,
            "y": 0.35
          },
          "kind": "paragraph",
          "text": "Deploying 20 times a day, while being hit with peak traffic, on a Friday, becomes something normal to do.",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "5f2affc0-941d-4d07-959d-4bfc1930cea4",
              "version": 1,
              "description": "Single prose block in the body of a slide."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": "paragraph",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-07-16 19:08:58.609+00",
            "model": "google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "58d3c73b-6af8-4955-bf1b-c2fb406c425d",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 28,
          "arc": {
            "name": "Problem-Agitate-Solution",
            "slug": "problem-agitate-solution",
            "status": "active",
            "bestFor": "Sales pitches, urgency-driven, competitive displacement",
            "canonId": "019dd956-5ec6-70f9-9fd8-fdbaaff39acf",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Problem (Identify pain) -> Agitate (Make it worse) -> Solution (Provide relief)",
            "description": null,
            "familyLabel": null
          },
          "from": 8,
          "name": "Solution",
          "beatId": "1efa9196-4165-4f3e-b31b-c0eaf98969bc",
          "matchId": "a4da7fe8-337c-47ae-8f37-7e987f29cc58",
          "beatType": {
            "name": "Solution (Provide relief)",
            "slug": "problem-agitate-solution-solution-provide-relief",
            "status": "active",
            "canonId": "019dd9b8-0fee-73e9-9ae5-799c7f3895cd",
            "version": 1,
            "description": null
          },
          "evidence": "Slides 9 through 28 detail the solution offered by Platform.sh, providing relief to the identified pain points.",
          "position": 2,
          "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": 0.9
        }
      ],
      "loops": [
        {
          "to": 28,
          "from": 6,
          "loop": {
            "name": "21_before_after",
            "slug": "21-before-after",
            "status": "active",
            "bestFor": "Product demos, process improvements, ROI justification",
            "canonId": "019dd956-6e68-73fd-a295-fe90145c2da8",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Old Way (Pain) -> The Moment of Change -> The New Way (Glory) -> The Measurable Delta",
            "description": "Show the dramatic contrast between the old way and the new way through side-by-side comparison",
            "familyLabel": null
          },
          "matchId": "8a3cdc16-b7ed-4568-a72c-982f0b0df59e",
          "evidence": "The deck progresses from highlighting pain points to showcasing the comprehensive solution provided by Platform.sh.",
          "position": 1,
          "objective": "Showing the transformation from current pain points to future relief with Platform.sh",
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 23:21:30.134356+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": "doc-narrative-v1"
          }
        }
      ],
      "locked": true
    },
    {
      "page": 24,
      "type": "resolution",
      "function": "present_solution",
      "rawType": "solution",
      "block": null,
      "metadata": {
        "slideType": "solution",
        "slideTypeCanon": {
          "name": "Solution",
          "slug": "solution",
          "status": "active",
          "canonId": "019de52d-0eb5-72ff-8b70-ba70a4199282",
          "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": 57,
        "componentCount": 5,
        "textChars": 462,
        "nDataPoints": 4,
        "notes": null,
        "elementsJson": null,
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview",
          "runId": null,
          "at": "2026-07-16 19:08:59.466+00",
          "seconds": 2.439,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019f6b8f-533f-709b-ab81-3e4d5b923e12/24",
        "deck": "/decks/019f6b8f-533f-709b-ab81-3e4d5b923e12",
        "deckAnchor": "/decks/019f6b8f-533f-709b-ab81-3e4d5b923e12#slide-24",
        "deckJson": "/decks/019f6b8f-533f-709b-ab81-3e4d5b923e12.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.1,
            "w": 0.4,
            "x": 0.05,
            "y": 0.6
          },
          "kind": "list",
          "text": "White-Label offering with automated single tenant SaaS",
          "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-07-16 19:08:59.466+00",
            "model": "google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "6fc03c24-cd97-46f7-9b80-32b1ea598313",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.4,
            "x": 0.05,
            "y": 0.15
          },
          "kind": "list",
          "text": "Self-service Hosting (credit card): 10$ to 1,500$ / month, Web Agency Plan",
          "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-07-16 19:08:59.466+00",
            "model": "google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "9e752d0c-2e52-435a-b20f-e08ad6db8722",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.2,
            "w": 0.4,
            "x": 0.05,
            "y": 0.35
          },
          "kind": "list",
          "text": "Enterprise Grade hosting: $1,500 to $40,000+ / month, Multi-Region / Multi-Cloud: 30 availability zones worldwide / Deploy to AWS, Azure, Orange, Google Cloud",
          "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-07-16 19:08:59.466+00",
            "model": "google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "cf6c799c-7f9f-4728-8ec7-62bc36009fbc",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.2,
            "w": 0.4,
            "x": 0.55,
            "y": 0.15
          },
          "kind": "paragraph",
          "text": "All of the product offerings are based on a single technical stack. Multiapp, Polyglot: Drupal, Symfony, Magento, WordPress, NodeJS, Python, Java, .NET core",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Paragraph",
              "slug": "paragraph",
              "status": "active",
              "canonId": "5f2affc0-941d-4d07-959d-4bfc1930cea4",
              "version": 1,
              "description": "Single prose block in the body of a slide."
            },
            "tool": null,
            "subkind": null,
            "framework": null
          },
          "subkind": "paragraph",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-07-16 19:08:59.466+00",
            "model": "google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "79364755-6e44-4762-a9aa-efba5cb76794",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.05,
            "w": 0.3,
            "x": 0.05,
            "y": 0.05
          },
          "kind": "title",
          "text": "Our Product Offering",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-07-16 19:08:59.466+00",
            "model": "google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "9af37e0f-e323-4fd2-a832-cec13584135a",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 28,
          "arc": {
            "name": "Problem-Agitate-Solution",
            "slug": "problem-agitate-solution",
            "status": "active",
            "bestFor": "Sales pitches, urgency-driven, competitive displacement",
            "canonId": "019dd956-5ec6-70f9-9fd8-fdbaaff39acf",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Problem (Identify pain) -> Agitate (Make it worse) -> Solution (Provide relief)",
            "description": null,
            "familyLabel": null
          },
          "from": 8,
          "name": "Solution",
          "beatId": "1efa9196-4165-4f3e-b31b-c0eaf98969bc",
          "matchId": "a4da7fe8-337c-47ae-8f37-7e987f29cc58",
          "beatType": {
            "name": "Solution (Provide relief)",
            "slug": "problem-agitate-solution-solution-provide-relief",
            "status": "active",
            "canonId": "019dd9b8-0fee-73e9-9ae5-799c7f3895cd",
            "version": 1,
            "description": null
          },
          "evidence": "Slides 9 through 28 detail the solution offered by Platform.sh, providing relief to the identified pain points.",
          "position": 2,
          "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": 0.9
        }
      ],
      "loops": [
        {
          "to": 28,
          "from": 6,
          "loop": {
            "name": "21_before_after",
            "slug": "21-before-after",
            "status": "active",
            "bestFor": "Product demos, process improvements, ROI justification",
            "canonId": "019dd956-6e68-73fd-a295-fe90145c2da8",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Old Way (Pain) -> The Moment of Change -> The New Way (Glory) -> The Measurable Delta",
            "description": "Show the dramatic contrast between the old way and the new way through side-by-side comparison",
            "familyLabel": null
          },
          "matchId": "8a3cdc16-b7ed-4568-a72c-982f0b0df59e",
          "evidence": "The deck progresses from highlighting pain points to showcasing the comprehensive solution provided by Platform.sh.",
          "position": 1,
          "objective": "Showing the transformation from current pain points to future relief with Platform.sh",
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 23:21:30.134356+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": "doc-narrative-v1"
          }
        }
      ],
      "locked": true
    },
    {
      "page": 25,
      "type": "setup",
      "function": "transition",
      "rawType": "section_divider",
      "block": null,
      "metadata": {
        "slideType": "section_divider",
        "slideTypeCanon": {
          "name": "Section divider",
          "slug": "section_divider",
          "status": "active",
          "canonId": "019de52d-066a-7402-9554-6ae504999041",
          "version": 1,
          "description": null
        },
        "function": "transition",
        "functionCanon": {
          "name": "Transition",
          "slug": "transition",
          "status": "active",
          "canonId": "019de52d-1365-7149-92aa-66df859e75fd",
          "version": 1,
          "description": null
        },
        "density": "sparse",
        "densityScore": 1,
        "componentCount": 1,
        "textChars": 14,
        "nDataPoints": 0,
        "notes": null,
        "elementsJson": null,
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview",
          "runId": null,
          "at": "2026-07-16 19:08:58.769+00",
          "seconds": 1.479,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019f6b8f-533f-709b-ab81-3e4d5b923e12/25",
        "deck": "/decks/019f6b8f-533f-709b-ab81-3e4d5b923e12",
        "deckAnchor": "/decks/019f6b8f-533f-709b-ab81-3e4d5b923e12#slide-25",
        "deckJson": "/decks/019f6b8f-533f-709b-ab81-3e4d5b923e12.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.1,
            "w": 0.6,
            "x": 0.05,
            "y": 0.45
          },
          "kind": "title",
          "text": "Who we sell to",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-07-16 19:08:58.769+00",
            "model": "google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "0ef9d70b-8a04-437b-b8a1-b11440a3d41f",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "Section divider",
            "slug": "section-divider",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd9e1-4c66-707d-8d1f-6e14547134c7",
            "version": 1,
            "bodyDocId": null,
            "description": "A transitional slide marking the start of a new section.",
            "familyLabel": null,
            "categoryName": null,
            "categorySlug": null
          },
          "agent": null,
          "layer": "slide",
          "agents": null,
          "matchId": "b9f90239-0948-43d1-b0ed-75532b0c0d89",
          "evidence": "Who we sell to",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.9,
          "extraction": {
            "at": "2026-07-17 03:51:25.440982+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 25,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": "common",
          "narrativePurpose": null
        }
      ],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 28,
          "arc": {
            "name": "Problem-Agitate-Solution",
            "slug": "problem-agitate-solution",
            "status": "active",
            "bestFor": "Sales pitches, urgency-driven, competitive displacement",
            "canonId": "019dd956-5ec6-70f9-9fd8-fdbaaff39acf",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Problem (Identify pain) -> Agitate (Make it worse) -> Solution (Provide relief)",
            "description": null,
            "familyLabel": null
          },
          "from": 8,
          "name": "Solution",
          "beatId": "1efa9196-4165-4f3e-b31b-c0eaf98969bc",
          "matchId": "a4da7fe8-337c-47ae-8f37-7e987f29cc58",
          "beatType": {
            "name": "Solution (Provide relief)",
            "slug": "problem-agitate-solution-solution-provide-relief",
            "status": "active",
            "canonId": "019dd9b8-0fee-73e9-9ae5-799c7f3895cd",
            "version": 1,
            "description": null
          },
          "evidence": "Slides 9 through 28 detail the solution offered by Platform.sh, providing relief to the identified pain points.",
          "position": 2,
          "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": 0.9
        }
      ],
      "loops": [
        {
          "to": 28,
          "from": 6,
          "loop": {
            "name": "21_before_after",
            "slug": "21-before-after",
            "status": "active",
            "bestFor": "Product demos, process improvements, ROI justification",
            "canonId": "019dd956-6e68-73fd-a295-fe90145c2da8",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Old Way (Pain) -> The Moment of Change -> The New Way (Glory) -> The Measurable Delta",
            "description": "Show the dramatic contrast between the old way and the new way through side-by-side comparison",
            "familyLabel": null
          },
          "matchId": "8a3cdc16-b7ed-4568-a72c-982f0b0df59e",
          "evidence": "The deck progresses from highlighting pain points to showcasing the comprehensive solution provided by Platform.sh.",
          "position": 1,
          "objective": "Showing the transformation from current pain points to future relief with Platform.sh",
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 23:21:30.134356+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": "doc-narrative-v1"
          }
        }
      ],
      "locked": true
    },
    {
      "page": 26,
      "type": "setup",
      "function": "audience-segmentation",
      "rawType": "segmentation",
      "block": null,
      "metadata": {
        "slideType": "segmentation",
        "slideTypeCanon": {
          "name": "Segmentation",
          "slug": "segmentation",
          "status": "active",
          "canonId": "019de52d-0917-75d5-9172-1b3b3c2f6400",
          "version": 1,
          "description": null
        },
        "function": "audience-segmentation",
        "functionCanon": null,
        "density": "dense",
        "densityScore": 52,
        "componentCount": 5,
        "textChars": 522,
        "nDataPoints": 0,
        "notes": null,
        "elementsJson": null,
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview",
          "runId": null,
          "at": "2026-07-16 19:09:00.397+00",
          "seconds": 2.643,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019f6b8f-533f-709b-ab81-3e4d5b923e12/26",
        "deck": "/decks/019f6b8f-533f-709b-ab81-3e4d5b923e12",
        "deckAnchor": "/decks/019f6b8f-533f-709b-ab81-3e4d5b923e12#slide-26",
        "deckJson": "/decks/019f6b8f-533f-709b-ab81-3e4d5b923e12.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.4,
            "w": 0.2,
            "x": 0.28,
            "y": 0.3
          },
          "kind": "list",
          "text": "Departmental teams: Brand manager, Digital manager, Technical director. Focused on solving business problems while remaining in compliance",
          "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-07-16 19:09:00.397+00",
            "model": "google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "06ebe961-3a03-4336-bcac-e6edebd25296",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.4,
            "w": 0.2,
            "x": 0.75,
            "y": 0.3
          },
          "kind": "list",
          "text": "Central technology managers & teams: CIO, VPE, Director of IT, IT Manager. Tasked with securing the organization and making it more efficient",
          "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-07-16 19:09:00.397+00",
            "model": "google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "256ecb6f-12ad-482b-9fe2-2ed492af75bc",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.4,
            "w": 0.2,
            "x": 0.05,
            "y": 0.3
          },
          "kind": "list",
          "text": "Developers: Engineer, DevOps, Developer, WebDev. Wants to get things done, but also expand skills",
          "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-07-16 19:09:00.397+00",
            "model": "google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "83d0fb85-dd07-4a28-bb81-a2a3c714c715",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.4,
            "w": 0.2,
            "x": 0.52,
            "y": 0.3
          },
          "kind": "list",
          "text": "Digital platform managers & teams: CMOs, VP Product, CDO, Digital Project Manager. Solves for organization-wide business challenges",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "List",
              "slug": "list",
              "status": "active",
              "canonId": "019de52c-f94b-779b-a53b-fd4904a5f4d2",
              "version": 1,
              "description": "Bullet or numbered list."
            },
            "tool": null,
            "subkind": {
              "name": "Bullet list",
              "slug": "bullet",
              "status": "active",
              "canonId": "019de52c-fc98-7169-a083-5cab805076ca",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "bullet",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-07-16 19:09:00.397+00",
            "model": "google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "9075708b-fa69-41dd-a57d-744a11f61961",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.1,
            "w": 0.3,
            "x": 0.05,
            "y": 0.05
          },
          "kind": "title",
          "text": "Who we sell to:",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-07-16 19:09:00.397+00",
            "model": "google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "b56b3c7f-ec38-47aa-be18-f8d5bf7183a7",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [
        {
          "tool": {
            "name": "Audience Definition",
            "slug": "audience-definition",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-7f2a-775d-aeee-ff099bcb7756",
            "version": 1,
            "bodyDocId": null,
            "description": "Six key questions: Who are they? What do they know? What do they believe? What do they care about? What do they fear? What decisions can they make?",
            "familyLabel": null,
            "categoryName": "Block",
            "categorySlug": "block"
          },
          "agent": "Storyteller",
          "layer": "slide",
          "agents": [
            "Storyteller"
          ],
          "matchId": "ba6c2b08-c15e-48d0-907d-1f1e2aedb298",
          "evidence": "list/bullet: Central technology managers & teams: CIO, VPE, Director of IT, IT Manager. Tasked with securing the organization and making it more efficient",
          "pageRefs": null,
          "priority": "Core",
          "whenToUse": null,
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-17 03:51:34.879413+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 26,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        },
        {
          "tool": {
            "name": "Audience Segmentation",
            "slug": "audience-segmentation",
            "status": "active",
            "bestFor": null,
            "canonId": "019dd956-8079-7046-8e6b-ecdf1bf15590",
            "version": 1,
            "bodyDocId": null,
            "description": "Grouping audience by attitude toward your message: Champions, Neutrals, Skeptics",
            "familyLabel": null,
            "categoryName": "Block",
            "categorySlug": "block"
          },
          "agent": "Storyteller",
          "layer": "slide",
          "agents": [
            "Storyteller"
          ],
          "matchId": "2314eb1e-735f-4ad6-a2fb-c72b500099ad",
          "evidence": "list/bullet: Central technology managers & teams: CIO, VPE, Director of IT, IT Manager. Tasked with securing the organization and making it more efficient",
          "pageRefs": null,
          "priority": null,
          "whenToUse": null,
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-17 03:51:34.848453+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 26,
          "whyItWorks": null,
          "antipattern": null,
          "cardinality": null,
          "narrativePurpose": null
        }
      ],
      "frameworks": [
        {
          "matchId": "7ca188fc-1eff-4ee0-906a-4e0cce8a65ea",
          "evidence": "Categorization of target customers by role and motivation",
          "framework": null,
          "confidence": 1,
          "extraction": {
            "at": "2026-07-16 19:09:00.397+00",
            "model": "google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "pageNumber": 26,
          "frameworkName": "audience-segmentation"
        }
      ],
      "arcBeats": [
        {
          "to": 28,
          "arc": {
            "name": "Problem-Agitate-Solution",
            "slug": "problem-agitate-solution",
            "status": "active",
            "bestFor": "Sales pitches, urgency-driven, competitive displacement",
            "canonId": "019dd956-5ec6-70f9-9fd8-fdbaaff39acf",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Problem (Identify pain) -> Agitate (Make it worse) -> Solution (Provide relief)",
            "description": null,
            "familyLabel": null
          },
          "from": 8,
          "name": "Solution",
          "beatId": "1efa9196-4165-4f3e-b31b-c0eaf98969bc",
          "matchId": "a4da7fe8-337c-47ae-8f37-7e987f29cc58",
          "beatType": {
            "name": "Solution (Provide relief)",
            "slug": "problem-agitate-solution-solution-provide-relief",
            "status": "active",
            "canonId": "019dd9b8-0fee-73e9-9ae5-799c7f3895cd",
            "version": 1,
            "description": null
          },
          "evidence": "Slides 9 through 28 detail the solution offered by Platform.sh, providing relief to the identified pain points.",
          "position": 2,
          "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": 0.9
        }
      ],
      "loops": [
        {
          "to": 28,
          "from": 6,
          "loop": {
            "name": "21_before_after",
            "slug": "21-before-after",
            "status": "active",
            "bestFor": "Product demos, process improvements, ROI justification",
            "canonId": "019dd956-6e68-73fd-a295-fe90145c2da8",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Old Way (Pain) -> The Moment of Change -> The New Way (Glory) -> The Measurable Delta",
            "description": "Show the dramatic contrast between the old way and the new way through side-by-side comparison",
            "familyLabel": null
          },
          "matchId": "8a3cdc16-b7ed-4568-a72c-982f0b0df59e",
          "evidence": "The deck progresses from highlighting pain points to showcasing the comprehensive solution provided by Platform.sh.",
          "position": 1,
          "objective": "Showing the transformation from current pain points to future relief with Platform.sh",
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 23:21:30.134356+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": "doc-narrative-v1"
          }
        }
      ],
      "locked": true
    },
    {
      "page": 27,
      "type": "evidence",
      "title": "The slide uses a dense logo grid to establish credibility through a large, diverse customer base.",
      "function": "show_traction",
      "rawType": "customer_logos",
      "block": null,
      "metadata": {
        "slideType": "customer_logos",
        "slideTypeCanon": {
          "name": "Customer logos",
          "slug": "customer_logos",
          "status": "active",
          "canonId": "019de52d-101d-705c-8956-65f1b315e58a",
          "version": 1,
          "description": null
        },
        "function": "show_traction",
        "functionCanon": {
          "name": "Show traction",
          "slug": "show_traction",
          "status": "active",
          "canonId": "019de52d-16a8-756a-9b38-a7d35420561d",
          "version": 1,
          "description": null
        },
        "density": "sparse",
        "densityScore": 13,
        "componentCount": 2,
        "textChars": 89,
        "nDataPoints": 2,
        "notes": "The slide uses a dense logo grid to establish credibility through a large, diverse customer base.",
        "elementsJson": null,
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview",
          "runId": null,
          "at": "2026-07-16 19:08:59.866+00",
          "seconds": 1.93,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019f6b8f-533f-709b-ab81-3e4d5b923e12/27",
        "deck": "/decks/019f6b8f-533f-709b-ab81-3e4d5b923e12",
        "deckAnchor": "/decks/019f6b8f-533f-709b-ab81-3e4d5b923e12#slide-27",
        "deckJson": "/decks/019f6b8f-533f-709b-ab81-3e4d5b923e12.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.7,
            "w": 0.9,
            "x": 0.05,
            "y": 0.25
          },
          "kind": "image",
          "text": "Grid of customer logos",
          "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 grid",
              "slug": "logo-grid",
              "status": "active",
              "canonId": "019de52c-fdd7-7409-93e5-81280a8ca215",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "logo-grid",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-07-16 19:08:59.866+00",
            "model": "google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "38bcb822-0079-4573-b22e-c97fd0978c8d",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.15,
            "w": 0.9,
            "x": 0.05,
            "y": 0.05
          },
          "kind": "title",
          "text": "More than 5,000 customers and 65,000 developers rely on Platform.sh",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-07-16 19:08:59.866+00",
            "model": "google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "b45d3ee4-ed7c-442a-a3e0-6b7d7b8c5572",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 28,
          "arc": {
            "name": "Problem-Agitate-Solution",
            "slug": "problem-agitate-solution",
            "status": "active",
            "bestFor": "Sales pitches, urgency-driven, competitive displacement",
            "canonId": "019dd956-5ec6-70f9-9fd8-fdbaaff39acf",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Problem (Identify pain) -> Agitate (Make it worse) -> Solution (Provide relief)",
            "description": null,
            "familyLabel": null
          },
          "from": 8,
          "name": "Solution",
          "beatId": "1efa9196-4165-4f3e-b31b-c0eaf98969bc",
          "matchId": "a4da7fe8-337c-47ae-8f37-7e987f29cc58",
          "beatType": {
            "name": "Solution (Provide relief)",
            "slug": "problem-agitate-solution-solution-provide-relief",
            "status": "active",
            "canonId": "019dd9b8-0fee-73e9-9ae5-799c7f3895cd",
            "version": 1,
            "description": null
          },
          "evidence": "Slides 9 through 28 detail the solution offered by Platform.sh, providing relief to the identified pain points.",
          "position": 2,
          "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": 0.9
        }
      ],
      "loops": [
        {
          "to": 28,
          "from": 6,
          "loop": {
            "name": "21_before_after",
            "slug": "21-before-after",
            "status": "active",
            "bestFor": "Product demos, process improvements, ROI justification",
            "canonId": "019dd956-6e68-73fd-a295-fe90145c2da8",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Old Way (Pain) -> The Moment of Change -> The New Way (Glory) -> The Measurable Delta",
            "description": "Show the dramatic contrast between the old way and the new way through side-by-side comparison",
            "familyLabel": null
          },
          "matchId": "8a3cdc16-b7ed-4568-a72c-982f0b0df59e",
          "evidence": "The deck progresses from highlighting pain points to showcasing the comprehensive solution provided by Platform.sh.",
          "position": 1,
          "objective": "Showing the transformation from current pain points to future relief with Platform.sh",
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 23:21:30.134356+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": "doc-narrative-v1"
          }
        }
      ],
      "locked": true
    },
    {
      "page": 28,
      "type": "setup",
      "function": "other",
      "rawType": "customer_logos",
      "block": null,
      "metadata": {
        "slideType": "customer_logos",
        "slideTypeCanon": {
          "name": "Customer logos",
          "slug": "customer_logos",
          "status": "active",
          "canonId": "019de52d-101d-705c-8956-65f1b315e58a",
          "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": 10,
        "componentCount": 2,
        "textChars": 133,
        "nDataPoints": 0,
        "notes": null,
        "elementsJson": null,
        "confidence": 1,
        "extraction": {
          "model": "google/gemini-3.1-flash-lite-preview",
          "runId": null,
          "at": "2026-07-16 19:08:59.941+00",
          "seconds": 1.958,
          "promptVersion": "v2-canon-conditioned"
        }
      },
      "links": {
        "slide": "/slides/019f6b8f-533f-709b-ab81-3e4d5b923e12/28",
        "deck": "/decks/019f6b8f-533f-709b-ab81-3e4d5b923e12",
        "deckAnchor": "/decks/019f6b8f-533f-709b-ab81-3e4d5b923e12#slide-28",
        "deckJson": "/decks/019f6b8f-533f-709b-ab81-3e4d5b923e12.json"
      },
      "components": [
        {
          "bbox": {
            "h": 0.3,
            "w": 0.9,
            "x": 0.05,
            "y": 0.4
          },
          "kind": "image",
          "text": "Orange Business Services, Magento, Microsoft Azure, Symfony, Platform.sh",
          "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 grid",
              "slug": "logo-grid",
              "status": "active",
              "canonId": "019de52c-fdd7-7409-93e5-81280a8ca215",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "logo-grid",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-07-16 19:08:59.941+00",
            "model": "google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "570e1caf-58f6-4d52-9d8c-4324d0583138",
          "parentComponentId": null
        },
        {
          "bbox": {
            "h": 0.2,
            "w": 0.9,
            "x": 0.05,
            "y": 0.05
          },
          "kind": "title",
          "text": "Platform.sh also powers cloud businesses with global partners",
          "attrs": null,
          "canon": {
            "kind": {
              "name": "Title",
              "slug": "title",
              "status": "active",
              "canonId": "019de52c-f7dd-76d9-b848-b1f12bd85cf4",
              "version": 1,
              "description": "Slide title or headline."
            },
            "tool": null,
            "subkind": {
              "name": "Headline",
              "slug": "headline",
              "status": "active",
              "canonId": "019de52c-fae1-7463-9a7c-d60668eced0d",
              "version": 1,
              "description": null
            },
            "framework": null
          },
          "subkind": "headline",
          "groupRole": null,
          "confidence": null,
          "extraction": {
            "at": "2026-07-16 19:08:59.941+00",
            "model": "google/gemini-3.1-flash-lite-preview",
            "runId": null,
            "seconds": null,
            "promptVersion": null
          },
          "componentId": "0fa875d0-0b2f-4a6c-b125-8b4c5643e309",
          "parentComponentId": null
        }
      ],
      "metrics": [],
      "tools": [],
      "frameworks": [],
      "arcBeats": [
        {
          "to": 28,
          "arc": {
            "name": "Problem-Agitate-Solution",
            "slug": "problem-agitate-solution",
            "status": "active",
            "bestFor": "Sales pitches, urgency-driven, competitive displacement",
            "canonId": "019dd956-5ec6-70f9-9fd8-fdbaaff39acf",
            "version": 1,
            "bodyDocId": "019df22a-2356-73eb-8061-d8c81dc0aa49",
            "structure": "Problem (Identify pain) -> Agitate (Make it worse) -> Solution (Provide relief)",
            "description": null,
            "familyLabel": null
          },
          "from": 8,
          "name": "Solution",
          "beatId": "1efa9196-4165-4f3e-b31b-c0eaf98969bc",
          "matchId": "a4da7fe8-337c-47ae-8f37-7e987f29cc58",
          "beatType": {
            "name": "Solution (Provide relief)",
            "slug": "problem-agitate-solution-solution-provide-relief",
            "status": "active",
            "canonId": "019dd9b8-0fee-73e9-9ae5-799c7f3895cd",
            "version": 1,
            "description": null
          },
          "evidence": "Slides 9 through 28 detail the solution offered by Platform.sh, providing relief to the identified pain points.",
          "position": 2,
          "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": 0.9
        }
      ],
      "loops": [
        {
          "to": 28,
          "from": 6,
          "loop": {
            "name": "21_before_after",
            "slug": "21-before-after",
            "status": "active",
            "bestFor": "Product demos, process improvements, ROI justification",
            "canonId": "019dd956-6e68-73fd-a295-fe90145c2da8",
            "version": 1,
            "bodyDocId": "019df22a-2420-77be-bc41-ded96d08cb21",
            "structure": "The Old Way (Pain) -> The Moment of Change -> The New Way (Glory) -> The Measurable Delta",
            "description": "Show the dramatic contrast between the old way and the new way through side-by-side comparison",
            "familyLabel": null
          },
          "matchId": "8a3cdc16-b7ed-4568-a72c-982f0b0df59e",
          "evidence": "The deck progresses from highlighting pain points to showcasing the comprehensive solution provided by Platform.sh.",
          "position": 1,
          "objective": "Showing the transformation from current pain points to future relief with Platform.sh",
          "confidence": 0.7,
          "extraction": {
            "at": "2026-07-16 23:21:30.134356+00",
            "model": "or:meta-llama/llama-4-scout",
            "runId": null,
            "seconds": null,
            "promptVersion": "doc-narrative-v1"
          }
        }
      ],
      "locked": true
    }
  ],
  "arcBeats": [
    {
      "from": 6,
      "to": 7,
      "label": "Problem",
      "description": "Slides 6 and 7 highlight the pain points developers face, effectively identifying the problem."
    },
    {
      "from": 7,
      "to": 8,
      "label": "Agitate",
      "description": "Slide 8 implies the need for change, slightly agitating the status quo."
    },
    {
      "from": 8,
      "to": 28,
      "label": "Solution",
      "description": "Slides 9 through 28 detail the solution offered by Platform.sh, providing relief to the identified pain points."
    }
  ],
  "loops": [
    {
      "from": 3,
      "to": 3,
      "label": "Golden Circle",
      "description": "Establishing the 'why' behind Platform.sh's mission"
    },
    {
      "from": 6,
      "to": 28,
      "label": "Before After",
      "description": "Showing the transformation from current pain points to future relief with Platform.sh"
    }
  ]
}