<?xml version="1.0" encoding="UTF-8"?>
<rss  xmlns:atom="http://www.w3.org/2005/Atom" 
      xmlns:media="http://search.yahoo.com/mrss/" 
      xmlns:content="http://purl.org/rss/1.0/modules/content/" 
      xmlns:dc="http://purl.org/dc/elements/1.1/" 
      version="2.0">
<channel>
<title>Malek M. Itani</title>
<link>https://ma-mar-itan.github.io/PortfolioWebsite/blog/</link>
<atom:link href="https://ma-mar-itan.github.io/PortfolioWebsite/blog/index.xml" rel="self" type="application/rss+xml"/>
<description>Research, writing, and prototypes.</description>
<generator>quarto-1.10.18</generator>
<lastBuildDate>Mon, 31 Aug 2026 21:00:00 GMT</lastBuildDate>
<item>
  <title>The New Geopolitical Chokeholds</title>
  <dc:creator>Malek Itani</dc:creator>
  <link>https://ma-mar-itan.github.io/PortfolioWebsite/blog/posts/2026-09-1_The New Geopolitical Chokeholds/</link>
  <description><![CDATA[ 
      <!-- user-provided yaml closeread style options -->
      <style>
        :root {
          --cr-narrative-background-color-sidebar: transparent;
--cr-narrative-text-color-overlay: #ffffff;
--cr-narrative-font-size: 1.02rem;
--cr-narrative-border-radius: 10px;
--cr-section-background-color: var(–bs-body-bg);
--cr-narrative-text-color-sidebar: var(–bs-body-color);
--cr-narrative-sidebar-width: minmax(320px, 1fr);
--cr-narrative-background-color-overlay: rgba(18, 23, 28, 0.82);
--cr-narrative-font-family: Inter, -apple-system, ‘Segoe UI’, sans-serif;
        }
      </style>
    




<p>Sovereignty is no longer measured by borders or armies. It is measured by who holds the kill switch to your national decision-making. It is measured by whether a state can continue to think, decide, transact, and act when the systems beneath it are placed under pressure.</p>
<p>Modern power does not always announce itself as occupation. It appears as dependency.</p>
<p>It appears as a cloud contract. A payment rail. A firmware update. A model API. A chip allocation queue. A data-center siting decision. A visa pathway. An export license.</p>
<p>The decisive question is no longer simply whether a state possesses territory. The decisive question is whether the systems on which its decisions depend can be denied, throttled, surveilled, priced, or rewritten by someone else.</p>
<blockquote class="blockquote">
<p>This is the new geography of power. The map has moved upward.</p>
</blockquote>
<div class="cr-section cr-column-screen sidebar-left">
<div class="narrative-col">
<div class="trigger new-trigger" data-focus-on="cr-country" data-scene="formal" data-scene-title="Formal sovereignty">
<div class="narrative">
<p><span class="scene-cue">Map 01 · Formal sovereignty</span></p>
<p>For centuries, the political map has made sovereignty look self-contained: a border, a capital, a flag, territory under one state’s authority.</p>
</div>
</div>
<div class="trigger new-trigger" data-focus-on="cr-country" data-scene="physical" data-scene-title="Traditional choke points">
<div class="narrative">
<p>Traditional geopolitics was built around visible choke points: straits, canals, ports, pipelines, mountain passes, maritime routes, industrial basins. These still matter. </p>
</div>
</div>
<div class="trigger new-trigger" data-focus-on="cr-country" data-scene="operational" data-scene-title="The operational map">
<div class="narrative">
<p>But they are no longer sufficient to describe where power lives. Beneath the political map is an operational one: cable landings, power corridors, data centers, government data, payment links, and technical institutions. </p>
</div>
</div>
<div class="trigger new-trigger" data-focus-on="cr-country" data-scene="external" data-scene-title="Control crosses borders">
<div class="narrative">
<p>Pull back and the system no longer fits inside the border. Cloud control, models, semiconductor fabrication, lithography, payment clearing, and talent clusters sit across several jurisdictions. </p>
</div>
</div>
<div class="trigger new-trigger" data-focus-on="cr-country" data-scene="ownership" data-scene-title="Located here, controlled elsewhere">
<div class="narrative">
<p>Physical location is not operational control. A data center may stand on domestic soil while the systems that provision, update, finance, or repair it terminate elsewhere. </p>
</div>
</div>
<div class="trigger new-trigger" data-focus-on="cr-country" data-scene="faded" data-scene-title="The real map of power">
<div class="narrative">
<p>The border is still intact. But once the administrative map fades, the infrastructure network becomes the real map of power. </p>
</div>
</div>
<div class="trigger new-trigger" data-focus-on="cr-country" data-scene="handoff" data-scene-title="Follow one decision">
<div class="narrative">
<p>Geography has not disappeared. It has been recompiled. Now follow a single decision through that map. </p>
</div>
</div>
</div>
<div class="sticky-col">
<div class="sticky-col-stack">
<div id="cr-country" class="sticky">
<!-- country-visual-revision: 2 -->
<div class="geo-scrolly scene-frame country-scene" data-default-state="formal" data-default-title="Formal sovereignty">
  
  <svg viewbox="0 0 1000 1100" width="1000" height="1100" aria-labelledby="country-title country-desc">
    <title id="country-title">The disappearing country</title>
    <desc id="country-desc">A detailed fictional coastal country named Asterra changes from a conventional geographic map into maps of physical choke points, infrastructure, and external control. Each stage removes the previous annotations so labels remain readable.</desc>
    <defs>
      <pattern id="country-grid" width="32" height="32" patternunits="userSpaceOnUse">
        <path d="M32 0H0V32" fill="none" stroke="var(--v-grid)"></path>
      </pattern>
      <pattern id="country-sea-lines" width="80" height="46" patternunits="userSpaceOnUse">
        <path d="M0 23C18 13 38 33 56 23S78 13 96 23" fill="none" stroke="var(--v-teal)" stroke-opacity=".08" stroke-width="2"></path>
      </pattern>
      <filter id="country-shadow" x="-20%" y="-20%" width="150%" height="160%">
        <fedropshadow dy="13" stddeviation="16" flood-color="#000" flood-opacity=".15"></fedropshadow>
      </filter>
      <filter id="country-label-shadow" x="-30%" y="-40%" width="160%" height="180%">
        <fedropshadow dy="3" stddeviation="4" flood-color="#000" flood-opacity=".12"></fedropshadow>
      </filter>
      <path id="asterra-shape" d="M292 146C338 122 391 130 432 151C488 132 553 146 599 180L650 228C681 257 672 296 701 337L676 383C709 419 694 460 727 505L704 551C735 590 718 631 745 674L714 721C730 765 700 806 704 851C663 888 616 926 557 942C510 930 472 950 427 927C393 896 357 886 333 848C302 815 300 774 274 738C247 699 258 660 240 622C221 582 239 547 224 508C208 468 232 434 222 392C218 353 244 323 240 284C246 242 267 198 292 146Z"></path>
      <clippath id="asterra-clip"><use href="#asterra-shape"></use></clippath>
      <lineargradient id="country-land-wash" x1="0" y1="0" x2="1" y2="1">
        <stop offset="0" stop-color="var(--v-land-2)"></stop>
        <stop offset=".48" stop-color="var(--v-land)"></stop>
        <stop offset="1" stop-color="var(--v-land-2)"></stop>
      </lineargradient>
      <marker id="country-arrow-teal" viewbox="0 0 10 10" refx="8" refy="5" markerwidth="7" markerheight="7" orient="auto">
        <path d="M0 0L10 5 0 10Z" fill="var(--v-teal)"></path>
      </marker>
      <marker id="country-arrow-red" viewbox="0 0 10 10" refx="8" refy="5" markerwidth="7" markerheight="7" orient="auto">
        <path d="M0 0L10 5 0 10Z" fill="var(--v-red)"></path>
      </marker>
      <g id="country-veto">
        <circle r="13" fill="var(--v-panel)" stroke="var(--v-red)" stroke-width="2"></circle>
        <path d="M-5-5L5 5M5-5L-5 5" class="control-line" stroke-width="2"></path>
      </g>
      <g id="country-node">
        <circle r="13" fill="var(--v-panel)" stroke="var(--v-teal)" stroke-width="3"></circle>
        <circle r="4" fill="var(--v-teal)"></circle>
      </g>
      <g id="country-city">
        <circle r="5" fill="var(--v-ink)" stroke="var(--v-paper)" stroke-width="2"></circle>
      </g>
    </defs>

    <rect width="1000" height="1100" fill="var(--v-paper)"></rect>
    <rect width="1000" height="1100" fill="url(#country-grid)"></rect>
    <rect x="0" y="96" width="235" height="1004" fill="var(--v-sea)"></rect>
    <rect x="0" y="96" width="260" height="1004" fill="url(#country-sea-lines)"></rect>
    <text class="kicker" x="54" y="58">THE DISAPPEARING COUNTRY / 01</text>
    <text class="micro" x="946" y="58" text-anchor="end">ASTERRA · POLITICAL ATLAS</text>
    <path d="M0 96H1000" class="hairline"></path>

    <!-- neighbouring territory establishes a plausible regional map -->
    <g class="map-neighbours">
      <path d="M292 146C338 122 391 130 432 151C488 132 553 146 599 180L650 228L730 160L1000 130V96H226Z" fill="var(--v-land-2)" stroke="var(--v-rule)"></path>
      <path d="M701 337L676 383C709 419 694 460 727 505L704 551C735 590 718 631 745 674L714 721C730 765 700 806 704 851L1000 905V130L730 160L650 228C681 257 672 296 701 337Z" fill="var(--v-land-2)" stroke="var(--v-rule)"></path>
      <path d="M704 851C663 888 616 926 557 942C510 930 472 950 427 927L380 1100H1000V905Z" fill="var(--v-land-2)" stroke="var(--v-rule)"></path>
      <text class="micro map-region-label" x="758" y="184">NORTHLAND</text>
      <text class="micro map-region-label" x="829" y="505">ORIAN REPUBLIC</text>
      <text class="micro map-region-label" x="735" y="1010">SOUTHERN TERRITORY</text>
      <text class="micro teal-text" x="66" y="218" transform="rotate(-90 66 218)">SELENE SEA</text>
    </g>

    <!-- the political atlas: coastline, relief, provinces, roads and settlements -->
    <g class="map-political">
      <use href="#asterra-shape" class="map-border" fill="url(#country-land-wash)" stroke="var(--v-ink)" stroke-width="6" stroke-linejoin="round" filter="url(#country-shadow)"></use>
      <g clip-path="url(#asterra-clip)" class="map-relief">
        <path d="M585 138C613 219 574 291 624 367C662 426 631 483 677 554C706 598 670 675 700 732C720 776 671 849 635 916" fill="none" stroke="var(--v-rule)" stroke-width="58" stroke-opacity=".28"></path>
        <path d="M590 142C619 218 580 289 630 364C668 421 638 484 682 551C710 594 676 671 704 729C720 775 678 844 640 915" fill="none" stroke="var(--v-rule)" stroke-width="2" stroke-dasharray="4 11"></path>
        <g fill="none" stroke="var(--v-muted)" stroke-opacity=".24" stroke-width="2">
          <path d="M531 209C570 184 631 204 658 242"></path><path d="M540 224C579 199 625 220 647 250"></path>
          <path d="M584 333C620 307 677 329 692 366"></path><path d="M592 349C626 326 665 345 680 373"></path>
          <path d="M600 478C642 452 696 480 707 516"></path><path d="M608 496C644 475 684 493 695 523"></path>
          <path d="M623 630C660 602 713 626 720 665"></path><path d="M633 647C668 624 702 642 709 672"></path>
          <path d="M597 790C636 762 691 788 696 827"></path><path d="M607 806C642 784 680 803 685 834"></path>
        </g>
        <g class="map-admin" fill="none" stroke="var(--v-rule)" stroke-width="2">
          <path d="M251 285C365 317 492 314 665 262"></path>
          <path d="M224 476C365 447 527 457 711 427"></path>
          <path d="M243 625C384 605 541 618 731 582"></path>
          <path d="M280 756C421 732 557 759 721 716"></path>
          <path d="M342 861C451 824 566 842 699 805"></path>
        </g>
        <g class="map-road" fill="none" stroke="var(--v-muted)" stroke-opacity=".5" stroke-width="3">
          <path d="M294 220C335 338 304 451 325 567C346 675 352 776 431 898"></path>
          <path d="M327 568C403 543 470 523 520 500S604 431 668 382"></path>
          <path d="M334 704C420 694 515 706 625 781"></path>
        </g>
        <g class="map-rivers" fill="none" stroke="var(--v-teal)" stroke-opacity=".42" stroke-width="4">
          <path d="M633 271C574 305 508 341 446 370S342 391 252 405"></path>
          <path d="M684 522C621 543 558 572 500 604S372 639 243 632"></path>
          <path d="M665 756C593 772 525 805 472 846S405 891 374 912"></path>
        </g>
      </g>

      <text class="country-name serif" x="466" y="585" text-anchor="middle" font-size="55" fill="var(--v-muted)" opacity=".35">Asterra</text>
      <text class="micro" x="466" y="613" text-anchor="middle" opacity=".7">REPUBLIC OF ASTERRA</text>

      <g class="map-settlements">
        <use href="#country-city" x="313" y="300"></use><text class="small" x="331" y="306">Northport</text>
        <use href="#country-city" x="283" y="522"></use><text class="small" x="301" y="528">Selene</text>
        <use href="#country-city" x="352" y="716"></use><text class="small" x="370" y="722">Ressa</text>
        <use href="#country-city" x="612" y="781"></use><text class="small" x="630" y="787">Dara</text>
        <path d="M503 466l7 14 16 2-12 11 3 16-14-8-14 8 3-16-12-11 16-2Z" fill="var(--v-ink)" stroke="var(--v-paper)" stroke-width="2"></path>
        <rect x="525" y="463" width="143" height="39" rx="8" fill="var(--v-panel)" stroke="var(--v-rule)"></rect>
        <text class="label" x="543" y="489">Astera City</text>
      </g>

      <g class="map-scale" transform="translate(64 1014)">
        <path d="M0 0H128M0-7V7M64-7V7M128-7V7" class="hairline"></path>
        <text class="micro" x="0" y="27">0</text><text class="micro" x="128" y="27" text-anchor="end">100 km</text>
      </g>
    </g>

    <!-- state 2: visible geographic choke points -->
    <g class="map-chokes state-layer">
      <path d="M65 374C129 374 184 386 246 405" class="control-line" stroke-width="5"></path>
      <circle cx="235" cy="402" r="22" fill="var(--v-red-soft)" stroke="var(--v-red)" stroke-width="3"></circle>
      <rect x="54" y="310" width="154" height="48" rx="10" fill="var(--v-panel)" stroke="var(--v-red)" filter="url(#country-label-shadow)"></rect>
      <text class="micro red-text" x="76" y="340">SELENE STRAIT</text>

      <path d="M294 218C412 204 522 220 643 257" class="control-line conditional" stroke-width="5"></path>
      <rect x="380" y="165" width="172" height="48" rx="10" fill="var(--v-panel)" stroke="var(--v-red)" filter="url(#country-label-shadow)"></rect>
      <text class="micro red-text" x="403" y="195">NORTH PIPELINE</text>

      <path d="M241 620l30-18 30 18-30 18Z" fill="var(--v-red-soft)" stroke="var(--v-red)" stroke-width="3"></path>
      <rect x="58" y="648" width="173" height="48" rx="10" fill="var(--v-panel)" stroke="var(--v-red)" filter="url(#country-label-shadow)"></rect>
      <text class="micro red-text" x="80" y="678">INDUSTRIAL PORT</text>

      <path d="M698 491l21-34 22 34Z" fill="var(--v-red)"></path>
      <rect x="752" y="462" width="181" height="48" rx="10" fill="var(--v-panel)" stroke="var(--v-red)" filter="url(#country-label-shadow)"></rect>
      <text class="micro red-text" x="774" y="492">KARSTEN PASS</text>
      <path d="M738 486H752" class="control-line"></path>

      <g class="map-caption-card" transform="translate(584 976)">
        <rect width="349" height="68" rx="12" fill="var(--v-panel)" stroke="var(--v-red)"></rect>
        <text class="kicker red-text" x="22" y="29">VISIBLE CHOKE POINTS</text>
        <text class="small" x="22" y="52">strait · pipeline · port · pass</text>
      </g>
    </g>

    <!-- state 3: domestic operating system -->
    <g class="map-operational state-layer">
      <path d="M38 672C123 671 188 649 270 620" class="route flow-line" stroke-width="5" marker-end="url(#country-arrow-teal)"></path>
      <path d="M270 620C337 570 421 526 503 487C562 459 610 417 661 356" class="route flow-line"></path>
      <path d="M503 487C545 553 576 627 594 716" class="route flow-line"></path>
      <path d="M594 716C538 763 496 797 449 835" class="route"></path>
      <path d="M503 487C452 445 411 414 365 386" class="route"></path>

      <use href="#country-node" x="270" y="620"></use>
      <g class="op-label"><rect x="64" y="598" width="175" height="46" rx="9" fill="var(--v-panel)" stroke="var(--v-teal)"></rect>
      <text class="micro teal-text" x="85" y="627">CABLE LANDING</text></g>

      <use href="#country-node" x="365" y="386"></use>
      <g class="op-label"><rect x="252" y="330" width="210" height="46" rx="9" fill="var(--v-panel)" stroke="var(--v-teal)"></rect>
      <text class="micro teal-text" x="273" y="359">TECHNICAL INSTITUTE</text></g>

      <use href="#country-node" x="503" y="487"></use>
      <g class="op-label"><rect x="527" y="456" width="191" height="46" rx="9" fill="var(--v-panel)" stroke="var(--v-teal)"></rect>
      <text class="micro teal-text" x="549" y="485">GOVERNMENT DATA</text></g>

      <use href="#country-node" x="661" y="356"></use>
      <g class="op-label"><rect x="693" y="331" width="160" height="46" rx="9" fill="var(--v-panel)" stroke="var(--v-teal)"></rect>
      <text class="micro teal-text" x="715" y="360">GRID EXCHANGE</text></g>

      <use href="#country-node" x="594" y="716"></use>
      <g class="op-label"><rect x="621" y="688" width="151" height="46" rx="9" fill="var(--v-panel)" stroke="var(--v-teal)"></rect>
      <text class="micro teal-text" x="643" y="717">CLOUD REGION</text></g>

      <use href="#country-node" x="449" y="835"></use>
      <g class="op-label"><rect x="475" y="813" width="154" height="46" rx="9" fill="var(--v-panel)" stroke="var(--v-teal)"></rect>
      <text class="micro teal-text" x="497" y="842">PAYMENTS HUB</text></g>

      <g class="map-caption-card" transform="translate(584 976)">
        <rect width="349" height="68" rx="12" fill="var(--v-panel)" stroke="var(--v-teal)"></rect>
        <text class="kicker teal-text" x="22" y="29">THE OPERATIONAL MAP</text>
        <text class="small" x="22" y="52">power · compute · data · money · people</text>
      </g>
    </g>

    <!-- state 4: control paths terminate beyond the border -->
    <g class="map-external state-layer">
      <path d="M661 356C718 284 761 229 813 184" class="control-line conditional flow-line" marker-end="url(#country-arrow-red)"></path>
      <path d="M503 487C634 444 722 425 825 410" class="control-line conditional flow-line" marker-end="url(#country-arrow-red)"></path>
      <path d="M594 716C699 691 765 669 849 637" class="control-line conditional flow-line" marker-end="url(#country-arrow-red)"></path>
      <path d="M449 835C600 856 711 876 826 899" class="control-line conditional flow-line" marker-end="url(#country-arrow-red)"></path>
      <path d="M365 386C293 302 236 242 170 193" class="control-line conditional flow-line" marker-end="url(#country-arrow-red)"></path>
      <path d="M270 620C201 704 155 781 117 868" class="control-line conditional flow-line" marker-end="url(#country-arrow-red)"></path>

      <g transform="translate(745 116)">
        <rect width="190" height="72" rx="13" fill="var(--v-panel)" stroke="var(--v-red)" filter="url(#country-label-shadow)"></rect>
        <text class="micro red-text" x="20" y="29">CHIP SUPPLY</text><text class="small" x="20" y="53">foreign allocation</text>
      </g>
      <g transform="translate(785 342)">
        <rect width="170" height="72" rx="13" fill="var(--v-panel)" stroke="var(--v-red)" filter="url(#country-label-shadow)"></rect>
        <text class="micro red-text" x="20" y="29">MODEL UPDATES</text><text class="small" x="20" y="53">external provider</text>
      </g>
      <g transform="translate(804 566)">
        <rect width="166" height="72" rx="13" fill="var(--v-panel)" stroke="var(--v-red)" filter="url(#country-label-shadow)"></rect>
        <text class="micro red-text" x="20" y="29">CLOUD ADMIN</text><text class="small" x="20" y="53">root authority</text>
      </g>
      <g transform="translate(776 864)">
        <rect width="185" height="72" rx="13" fill="var(--v-panel)" stroke="var(--v-red)" filter="url(#country-label-shadow)"></rect>
        <text class="micro red-text" x="20" y="29">CLEARING RAIL</text><text class="small" x="20" y="53">foreign settlement</text>
      </g>
      <g transform="translate(47 121)">
        <rect width="183" height="72" rx="13" fill="var(--v-panel)" stroke="var(--v-red)" filter="url(#country-label-shadow)"></rect>
        <text class="micro red-text" x="20" y="29">TALENT CLUSTER</text><text class="small" x="20" y="53">jobs and research</text>
      </g>
      <g transform="translate(42 866)">
        <rect width="180" height="72" rx="13" fill="var(--v-panel)" stroke="var(--v-red)" filter="url(#country-label-shadow)"></rect>
        <text class="micro red-text" x="20" y="29">CABLE NETWORK</text><text class="small" x="20" y="53">landing access</text>
      </g>
      <use href="#country-veto" x="715" y="282"></use><use href="#country-veto" x="716" y="435"></use>
      <use href="#country-veto" x="730" y="682"></use><use href="#country-veto" x="707" y="878"></use>
    </g>

    <!-- state 5: one asset, two jurisdictions -->
    <g class="map-ownership state-layer">
      <rect x="95" y="137" width="810" height="104" rx="16" fill="var(--v-panel)" stroke="var(--v-rule)" filter="url(#country-label-shadow)"></rect>
      <text class="kicker" x="126" y="175">THE DATA CENTER IS DOMESTIC</text>
      <text class="title" x="126" y="213">Its permissions are not.</text>

      <circle cx="594" cy="716" r="47" fill="var(--v-teal-soft)" stroke="var(--v-teal)" stroke-width="4"></circle>
      <rect x="562" y="686" width="64" height="65" rx="7" fill="var(--v-panel)" stroke="var(--v-teal)" stroke-width="3"></rect>
      <path d="M575 701h38M575 716h38M575 731h38" class="route"></path>
      <rect x="300" y="665" width="218" height="95" rx="13" fill="var(--v-panel)" stroke="var(--v-teal)"></rect>
      <text class="micro teal-text" x="326" y="697">PHYSICAL LOCATION</text>
      <text class="label" x="326" y="728">Asterra</text>
      <text class="small" x="326" y="751">building · power · staff</text>
      <path d="M519 714H545" class="route" marker-end="url(#country-arrow-teal)"></path>

      <path d="M641 716C727 716 774 738 822 785" class="control-line conditional flow-line" marker-end="url(#country-arrow-red)"></path>
      <use href="#country-veto" x="730" y="724"></use>
      <rect x="743" y="790" width="218" height="101" rx="13" fill="var(--v-panel)" stroke="var(--v-red)" filter="url(#country-label-shadow)"></rect>
      <text class="micro red-text" x="769" y="822">ROOT AUTHORITY</text>
      <text class="small" x="769" y="853" style="font-weight:650">Foreign headquarters</text>
      <text class="small" x="769" y="878">updates · keys · recovery</text>

      <rect x="96" y="956" width="808" height="73" rx="13" fill="var(--v-panel)" stroke="var(--v-rule)"></rect>
      <text class="small" x="126" y="985">Domestic soil answers “where is it?”</text>
      <text class="small" x="126" y="1012">Operational control answers “who can keep it running?”</text>
    </g>

    <!-- state 6: the national silhouette recedes while dependencies remain -->
    <g class="map-final state-layer">
      <rect x="300" y="120" width="444" height="92" rx="14" fill="var(--v-panel)" stroke="var(--v-red)" filter="url(#country-label-shadow)"></rect>
      <text class="kicker red-text" x="328" y="156">THE REAL MAP OF POWER</text>
      <text class="small" x="328" y="185">the border remains; command has moved</text>
    </g>

    <!-- state 7: hand the reader to the decision journey -->
    <g class="handoff-pulse">
      <circle class="pulse-dot" cx="503" cy="487" r="48" fill="var(--v-teal-soft)" stroke="var(--v-teal)" stroke-width="3"></circle>
      <circle cx="503" cy="487" r="11" fill="var(--v-teal)"></circle>
      <path d="M503 548V690" class="route flow-line" marker-end="url(#country-arrow-teal)"></path>
      <rect x="350" y="705" width="306" height="80" rx="14" fill="var(--v-panel)" stroke="var(--v-teal)" filter="url(#country-label-shadow)"></rect>
      <text class="kicker teal-text" x="503" y="738" text-anchor="middle">FOLLOW ONE DECISION</text>
      <text class="small" x="503" y="765" text-anchor="middle">from observation to action</text>
    </g>
  </svg>
</div>
</div>
</div>
</div>
</div>
<div class="cr-section cr-column-screen sidebar-left">
<div class="narrative-col">
<div class="trigger new-trigger" data-focus-on="cr-decision" data-scene="observe" data-scene-title="Observe">
<section id="from-territory-to-infrastructure" class="level2 narrative">
<h2 class="anchored" data-anchor-id="from-territory-to-infrastructure">From Territory to Infrastructure</h2>
<p>A severe flood is approaching the country’s largest coastal city. Before the state can order an evacuation, evidence must arrive: satellite imagery, river sensors, weather models, mobile-network signals, and emergency reports.</p>
</section>
</div>
<div class="trigger new-trigger" data-focus-on="cr-decision" data-scene="analyze" data-scene-title="Analyze · four jurisdictions">
<div class="narrative">
<p>The data does not travel directly from the river to the cabinet room. It leaves the country for cloud infrastructure, forecasting systems, geospatial services, and a model endpoint before returning as analysis. </p>
</div>
</div>
<div class="trigger new-trigger" data-focus-on="cr-decision" data-scene="decide" data-scene-title="Decide · humans retain judgment">
<div class="narrative">
<p>The model can propose evacuation zones. It cannot carry sovereign responsibility. Raw evidence becomes model interpretation; human officials must still convert that interpretation into executive judgment. </p>
</div>
</div>
<div class="trigger new-trigger" data-focus-on="cr-decision" data-scene="fund" data-scene-title="Fund · clearing leaves the state">
<div class="narrative">
<p>A decision without resources is only language. Emergency fuel, shelter capacity, contractors, and cash support must move through domestic banks and international payment-clearing rails. </p>
</div>
</div>
<div class="trigger new-trigger" data-focus-on="cr-decision" data-scene="communicate" data-scene-title="Communicate · distribution is conditional">
<div class="narrative">
<p>The order must then reach the public through government cloud systems, telecommunications networks, mapping services, notification infrastructure, and public platforms. The state owns the decision. It may not own its distribution. </p>
</div>
</div>
<div class="trigger new-trigger" data-focus-on="cr-decision" data-scene="act" data-scene-title="Act · the decision becomes physical">
<div class="narrative">
<p>Only after buses move, shelters open, hospitals redirect patients, roads close, and contractors receive funds does the decision become physical. </p>
</div>
</div>
<div class="trigger new-trigger" data-focus-on="cr-decision" data-scene="pressure" data-scene-title="Administrative pressure">
<section id="infrastructure-is-the-new-veto" class="level2 narrative">
<h2 class="anchored" data-anchor-id="infrastructure-is-the-new-veto">Infrastructure Is the New Veto</h2>
<p>The central error in weak discussions of AI sovereignty is treating infrastructure as a support function. It is not.</p>
<p>Infrastructure is command authority in disguised form.</p>
</section>
</div>
<div class="trigger">
<div class="narrative">
<p>Whoever controls compute can decide who trains, who scales, who waits, and who pays. Whoever controls cloud infrastructure can shape where sensitive workflows reside and under which jurisdictional exposure.</p>
</div>
</div>
<div class="trigger">
<div class="narrative">
<p>Whoever controls data pipelines can determine what is visible and what remains invisible. Whoever controls payment rails can impose friction without firing a shot. Whoever controls model distribution can alter the decision environment of institutions that believe they are merely buying software.</p>
</div>
</div>
<div class="trigger">
<div class="narrative">
<p>The veto does not need to be dramatic. It needs to be administrative.</p>
</div>
</div>
<div class="trigger">
<div class="narrative">
<p>A capacity allocation changes. A compliance requirement appears. A vendor updates terms. A model endpoint is withdrawn. A bank tightens risk rules. A cloud provider delays provisioning. A chip shipment is slowed. A software dependency becomes unavailable.</p>
</div>
</div>
<div class="trigger new-trigger" data-focus-on="cr-decision" data-scene="pressure" data-scene-title="No spectacle, just constraint">
<div class="narrative">
<p>No invasion. No declaration. No spectacle. Just constraint. </p>
</div>
</div>
<div class="trigger new-trigger" data-scale-by="1.75" data-pan-to="-34%,-27%" data-focus-on="cr-decision" data-scene="breaker" data-scene-title="The kill switch moved to the transformer">
<div class="narrative">
<p>A state that controls its chips but relies on a foreign-controlled energy grid for its data centers has merely moved the kill switch to the transformer. </p>
</div>
</div>
<div class="trigger">
<div class="narrative">
<p>This is why “access” is an inadequate strategic concept. Access is conditional by design. It can be granted, priced, monitored, modified, or revoked.</p>
</div>
</div>
<div class="trigger new-trigger" data-focus-on="cr-decision" data-scene="control" data-scene-title="Access versus control">
<div class="narrative">
<p>Control is different. Control means the ability to continue operating when access is contested. </p>
</div>
</div>
<div class="trigger new-trigger" data-focus-on="cr-decision" data-scene="exit" data-scene-title="Walk through the doors">
<div class="narrative">
<p>A sovereign AI doctrine that does not begin with power, chips, networks, data centers, and talent is not doctrine. It is branding. The journey ends at a domestic data center. Walk through its doors. </p>
</div>
</div>
</div>
<div class="sticky-col">
<div class="sticky-col-stack">
<div id="cr-decision" class="sticky">
<div class="geo-scrolly scene-frame decision-scene" data-default-state="observe" data-default-title="Observe">
  
  <svg viewbox="0 0 1000 1100" width="1000" height="1100" aria-labelledby="decision-title decision-desc">
    <title id="decision-title">One decision's journey</title>
    <desc id="decision-desc">A flood evacuation decision moves through observation, analysis, executive judgment, payment, communication and physical action. Its path repeatedly crosses jurisdictions and can be interrupted by administrative vetoes, including a power breaker supplying a domestic data center.</desc>
    <defs>
      <pattern id="decision-grid" width="28" height="28" patternunits="userSpaceOnUse">
        <path d="M28 0H0V28" fill="none" stroke="var(--v-grid)"></path>
      </pattern>
      <filter id="decision-glow" x="-100%" y="-100%" width="300%" height="300%">
        <fegaussianblur stddeviation="7" result="blur"></fegaussianblur><femerge><femergenode in="blur"></femergenode><femergenode in="SourceGraphic"></femergenode></femerge>
      </filter>
      <filter id="decision-shadow" x="-20%" y="-20%" width="140%" height="160%">
        <fedropshadow dy="10" stddeviation="12" flood-color="#000" flood-opacity=".13"></fedropshadow>
      </filter>
      <marker id="journey-arrow" viewbox="0 0 10 10" refx="8" refy="5" markerwidth="7" markerheight="7" orient="auto">
        <path d="M0 0L10 5 0 10Z" fill="var(--v-teal)"></path>
      </marker>
      <marker id="journey-red-arrow" viewbox="0 0 10 10" refx="8" refy="5" markerwidth="7" markerheight="7" orient="auto">
        <path d="M0 0L10 5 0 10Z" fill="var(--v-red)"></path>
      </marker>
      <g id="journey-node">
        <circle r="34" fill="var(--v-panel)" stroke="var(--v-rule)" stroke-width="2"></circle>
        <circle r="8" fill="var(--v-teal)"></circle>
      </g>
      <g id="journey-veto">
        <path d="M-17-14L0 0 17-14" fill="none" stroke="var(--v-red)" stroke-width="5" stroke-linecap="round"></path>
        <path d="M-17 14L0 0 17 14" fill="none" stroke="var(--v-red)" stroke-width="5" stroke-linecap="round"></path>
      </g>
    </defs>

    <rect width="1000" height="1100" fill="var(--v-paper)"></rect>
    <rect width="1000" height="1100" fill="url(#decision-grid)"></rect>
    <text class="kicker" x="54" y="55">ONE DECISION'S JOURNEY / 02</text>
    <text class="micro" x="946" y="55" text-anchor="end">COASTAL FLOOD · T−09:40</text>

    <!-- stage rail -->
    <g transform="translate(58 88)">
      <path d="M18 22H866" class="hairline"></path>
      <g class="stage-observe" transform="translate(18 22)"><circle class="stage-dot" r="9" fill="var(--v-rule)"></circle><text class="stage-word micro" x="0" y="32" text-anchor="middle" opacity=".55">OBSERVE</text></g>
      <g class="stage-analyze" transform="translate(185 22)"><circle class="stage-dot" r="9" fill="var(--v-rule)"></circle><text class="stage-word micro" x="0" y="32" text-anchor="middle" opacity=".55">ANALYZE</text></g>
      <g class="stage-decide" transform="translate(352 22)"><circle class="stage-dot" r="9" fill="var(--v-rule)"></circle><text class="stage-word micro" x="0" y="32" text-anchor="middle" opacity=".55">DECIDE</text></g>
      <g class="stage-fund" transform="translate(519 22)"><circle class="stage-dot" r="9" fill="var(--v-rule)"></circle><text class="stage-word micro" x="0" y="32" text-anchor="middle" opacity=".55">FUND</text></g>
      <g class="stage-communicate" transform="translate(686 22)"><circle class="stage-dot" r="9" fill="var(--v-rule)"></circle><text class="stage-word micro" x="0" y="32" text-anchor="middle" opacity=".55">COMMUNICATE</text></g>
      <g class="stage-act" transform="translate(866 22)"><circle class="stage-dot" r="9" fill="var(--v-rule)"></circle><text class="stage-word micro" x="0" y="32" text-anchor="middle" opacity=".55">ACT</text></g>
    </g>

    <!-- decision card -->
    <g transform="translate(80 178)" filter="url(#decision-shadow)">
      <path d="M0 18L18 0H442L460 18V104H0Z" fill="var(--v-panel)" stroke="var(--v-ink)" stroke-width="2"></path>
      <text class="micro teal-text" x="28" y="32">NATIONAL DECISION 07</text>
      <text class="title" x="28" y="77">Evacuate the coastal region?</text>
      <circle class="pulse-dot" cx="423" cy="52" r="15" fill="var(--v-teal-soft)" stroke="var(--v-teal)"></circle>
      <circle cx="423" cy="52" r="5" fill="var(--v-teal)"></circle>
    </g>

    <!-- subtle geographic context -->
    <path d="M77 359C184 334 286 351 355 432C425 515 409 645 492 737C556 809 627 889 606 1032H77Z" fill="var(--v-sea)" opacity=".72"></path>
    <path d="M355 318L567 249L826 349L879 560L800 760L606 936L408 845L317 647L365 476Z" fill="var(--v-land)" stroke="var(--v-rule)" stroke-width="2"></path>
    <path d="M365 476L499 478L641 392L826 349M499 478L545 665L408 845M545 665L800 760" class="hairline" opacity=".6"></path>
    <path d="M355 318L567 249L826 349L879 560L800 760L606 936L408 845L317 647L365 476Z" fill="none" stroke="var(--v-ink)" stroke-width="4"></path>
    <text class="serif" x="592" y="560" text-anchor="middle" font-size="44" fill="var(--v-muted)" opacity=".13">Asterra</text>
    <path d="M298 726C241 782 198 848 178 928" class="route conditional" opacity=".38"></path>

    <!-- full route and advancing progress -->
    <path d="M160 415C224 332 299 327 365 374C432 422 435 508 500 564C569 624 665 578 747 642C828 706 826 805 721 849C620 891 479 861 350 925" fill="none" stroke="var(--v-rule)" stroke-width="8" stroke-linecap="round" pathlength="100"></path>
    <path class="journey-progress" d="M160 415C224 332 299 327 365 374C432 422 435 508 500 564C569 624 665 578 747 642C828 706 826 805 721 849C620 891 479 861 350 925" fill="none" stroke="var(--v-teal)" stroke-width="8" stroke-linecap="round" pathlength="100" marker-end="url(#journey-arrow)"></path>

    <!-- nodes -->
    <g class="journey-node" transform="translate(160 415)"><use href="#journey-node"></use><text class="micro" x="0" y="57" text-anchor="middle">OBSERVE</text></g>
    <g class="journey-node" transform="translate(365 374)"><use href="#journey-node"></use><text class="micro" x="0" y="57" text-anchor="middle">ANALYZE</text></g>
    <g class="journey-node" transform="translate(500 564)"><use href="#journey-node"></use><text class="micro" x="0" y="57" text-anchor="middle">DECIDE</text></g>
    <g class="journey-node" transform="translate(747 642)"><use href="#journey-node"></use><text class="micro" x="0" y="57" text-anchor="middle">FUND</text></g>
    <g class="journey-node" transform="translate(721 849)"><use href="#journey-node"></use><text class="micro" x="0" y="57" text-anchor="middle">COMMUNICATE</text></g>
    <g class="journey-node" transform="translate(350 925)"><use href="#journey-node"></use><text class="micro" x="0" y="57" text-anchor="middle">ACT</text></g>

    <!-- active stage rings -->
    <circle class="active-ring ring-observe pulse-dot" cx="160" cy="415" r="48" fill="none" stroke="var(--v-teal)" stroke-width="4"></circle>
    <circle class="active-ring ring-analyze pulse-dot" cx="365" cy="374" r="48" fill="none" stroke="var(--v-teal)" stroke-width="4"></circle>
    <circle class="active-ring ring-decide pulse-dot" cx="500" cy="564" r="48" fill="none" stroke="var(--v-teal)" stroke-width="4"></circle>
    <circle class="active-ring ring-fund pulse-dot" cx="747" cy="642" r="48" fill="none" stroke="var(--v-teal)" stroke-width="4"></circle>
    <circle class="active-ring ring-communicate pulse-dot" cx="721" cy="849" r="48" fill="none" stroke="var(--v-teal)" stroke-width="4"></circle>
    <circle class="active-ring ring-act pulse-dot" cx="350" cy="925" r="48" fill="none" stroke="var(--v-teal)" stroke-width="4"></circle>

    <!-- concise stage-specific evidence -->
    <g class="decision-detail detail-observe">
      <path d="M92 433L64 462" class="route"></path><rect x="48" y="462" width="243" height="96" rx="12" fill="var(--v-panel)" stroke="var(--v-teal)"></rect>
      <text class="kicker teal-text" x="70" y="493">EVIDENCE ENTERS</text><text class="small" x="70" y="523">satellite · river sensors</text><text class="small" x="70" y="547">weather · emergency reports</text>
    </g>
    <g class="decision-detail detail-analyze">
      <path d="M365 326V292" class="control-line conditional"></path><rect x="531" y="286" width="378" height="86" rx="12" fill="var(--v-panel)" stroke="var(--v-red)"></rect>
      <text class="kicker red-text" x="555" y="317">JURISDICTIONS CROSSED · 4</text><text class="small" x="555" y="348">cloud · forecast · geospatial · model</text>
    </g>
    <g class="decision-detail detail-decide">
      <rect x="570" y="462" width="355" height="93" rx="12" fill="var(--v-panel)" stroke="var(--v-teal)"></rect>
      <text class="kicker teal-text" x="593" y="493">HUMANS RETAIN JUDGMENT</text><text class="small" x="593" y="524">evidence → model interpretation</text><text class="small" x="593" y="548">→ executive decision</text>
    </g>
    <g class="decision-detail detail-fund">
      <rect x="608" y="707" width="324" height="87" rx="12" fill="var(--v-panel)" stroke="var(--v-red)"></rect>
      <text class="kicker red-text" x="632" y="739">CLEARING LEAVES THE STATE</text><text class="small" x="632" y="770">fuel · shelters · contractors · cash</text>
    </g>
    <g class="decision-detail detail-communicate">
      <rect x="76" y="751" width="351" height="88" rx="12" fill="var(--v-panel)" stroke="var(--v-red)"></rect>
      <text class="kicker red-text" x="100" y="783">DISTRIBUTION IS CONDITIONAL</text><text class="small" x="100" y="814">telecom · maps · alerts · platforms</text>
    </g>
    <g class="decision-detail detail-act">
      <rect x="441" y="942" width="471" height="84" rx="12" fill="var(--v-panel)" stroke="var(--v-teal)"></rect>
      <text class="kicker teal-text" x="465" y="973">THE DECISION BECOMES PHYSICAL</text><text class="small" x="465" y="1004">buses move · shelters open · hospitals redirect</text>
    </g>

    <!-- administrative pressure -->
    <g class="pressure-layer">
      <rect x="52" y="304" width="896" height="650" rx="18" fill="var(--v-paper)" opacity=".78"></rect>
      <path d="M160 415C224 332 299 327 365 374C432 422 435 508 500 564C569 624 665 578 747 642C828 706 826 805 721 849C620 891 479 861 350 925" class="broken-line" stroke-width="7" pathlength="100"></path>
      <use href="#journey-veto" x="280" y="353"></use><use href="#journey-veto" x="619" y="604"></use><use href="#journey-veto" x="789" y="749"></use>
      <g filter="url(#decision-shadow)">
        <rect x="83" y="329" width="229" height="65" rx="10" fill="var(--v-panel)" stroke="var(--v-red)"></rect>
        <text class="micro red-text" x="106" y="355">CAPACITY REALLOCATED</text><text class="small" x="106" y="380">analysis delayed</text>
        <rect x="600" y="407" width="242" height="65" rx="10" fill="var(--v-panel)" stroke="var(--v-red)"></rect>
        <text class="micro red-text" x="623" y="433">ENDPOINT RATE-LIMITED</text><text class="small" x="623" y="458">model degraded</text>
        <rect x="651" y="900" width="239" height="65" rx="10" fill="var(--v-panel)" stroke="var(--v-red)"></rect>
        <text class="micro red-text" x="674" y="926">TRANSACTION HELD</text><text class="small" x="674" y="951">mobilization blocked</text>
      </g>
      <rect x="264" y="1031" width="472" height="48" rx="24" fill="var(--v-red-soft)" stroke="var(--v-red)"></rect>
      <text class="micro red-text" x="500" y="1060" text-anchor="middle">NO INVASION · NO SPECTACLE · JUST CONSTRAINT</text>
    </g>

    <!-- transformer kill switch -->
    <g class="breaker-layer">
      <rect x="530" y="618" width="420" height="330" rx="20" fill="var(--v-panel)" stroke="var(--v-red)" stroke-width="3" filter="url(#decision-shadow)"></rect>
      <text class="kicker red-text" x="560" y="655">THE KILL SWITCH MOVED</text>
      <text class="title" x="560" y="703">To the transformer.</text>
      <path d="M579 820H691" class="control-line" stroke-width="7"></path>
      <path d="M691 820L760 765" class="control-line" stroke-width="7" stroke-linecap="round"></path>
      <circle cx="691" cy="820" r="13" fill="var(--v-red)"></circle>
      <circle cx="778" cy="751" r="13" fill="var(--v-red)"></circle>
      <path d="M791 751H884" class="hairline" stroke-width="7" opacity=".28"></path>
      <rect x="816" y="712" width="82" height="78" rx="8" fill="var(--v-land-2)" stroke="var(--v-rule)"></rect>
      <path d="M832 728h50M832 744h50M832 760h50M832 776h50" class="hairline"></path>
      <text class="micro" x="739" y="870" text-anchor="middle">GRID</text>
      <text class="micro" x="858" y="815" text-anchor="middle">DOMESTIC DATA CENTER</text>
      <text class="small" x="560" y="916">The border is intact. The system is dark.</text>
    </g>

    <!-- access versus control -->
    <g class="control-layer">
      <rect x="74" y="314" width="852" height="638" rx="22" fill="var(--v-paper)" opacity=".95" stroke="var(--v-rule)"></rect>
      <text class="kicker" x="500" y="363" text-anchor="middle">THE DISTINCTION THAT MATTERS</text>
      <g transform="translate(118 410)">
        <rect width="332" height="402" rx="17" fill="var(--v-land-2)" stroke="var(--v-rule)"></rect>
        <text class="title" x="32" y="61">Access</text>
        <text class="small" x="32" y="95">works in normal conditions</text>
        <path d="M32 137H298" class="hairline"></path>
        <circle cx="57" cy="191" r="10" fill="var(--v-teal)"></circle><text class="label" x="84" y="198">contract active</text>
        <circle cx="57" cy="249" r="10" fill="var(--v-teal)"></circle><text class="label" x="84" y="256">capacity granted</text>
        <circle cx="57" cy="307" r="10" fill="var(--v-red)"></circle><text class="label" x="84" y="314">revocable</text>
      </g>
      <g transform="translate(550 410)">
        <rect width="332" height="402" rx="17" fill="var(--v-teal-soft)" stroke="var(--v-teal)" stroke-width="2"></rect>
        <text class="title" x="32" y="61">Control</text>
        <text class="small" x="32" y="95">survives contested conditions</text>
        <path d="M32 137H298" class="route"></path>
        <path d="M46 189l10 10 20-24" class="route" stroke-width="5"></path><text class="label" x="92" y="198">fallback operates</text>
        <path d="M46 247l10 10 20-24" class="route" stroke-width="5"></path><text class="label" x="92" y="256">data remains</text>
        <path d="M46 305l10 10 20-24" class="route" stroke-width="5"></path><text class="label" x="92" y="314">adaptation continues</text>
      </g>
      <text class="serif" x="500" y="889" text-anchor="middle" font-size="31">Sovereignty is the ability to complete the journey.</text>
    </g>

    <!-- transition into the data center -->
    <g class="exit-layer">
      <rect x="82" y="312" width="836" height="646" rx="22" fill="var(--v-paper)" opacity=".92"></rect>
      <path d="M344 906V476L500 337L656 476V906" fill="var(--v-land-2)" stroke="var(--v-ink)" stroke-width="3"></path>
      <path d="M424 906V625A76 76 0 0 1 576 625V906" fill="var(--v-paper)" stroke="var(--v-teal)" stroke-width="4"></path>
      <path d="M500 337V507M344 476H656" class="hairline"></path>
      <circle class="pulse-dot" cx="500" cy="695" r="35" fill="var(--v-teal-soft)" stroke="var(--v-teal)" stroke-width="3"></circle>
      <path d="M500 655V735M460 695H540" class="route" stroke-width="5"></path>
      <text class="kicker teal-text" x="500" y="266" text-anchor="middle">THE DECISION ENDS HERE</text>
      <text class="title" x="500" y="307" text-anchor="middle">Walk through the doors.</text>
      <text class="small" x="500" y="1002" text-anchor="middle">The machines are present. Who keeps them alive?</text>
    </g>
  </svg>
</div>
</div>
</div>
</div>
</div>
<section id="the-illusion-of-rented-sovereignty" class="level2">
<h2 class="anchored" data-anchor-id="the-illusion-of-rented-sovereignty">The Illusion of Rented Sovereignty</h2>
<p>There is a comfortable formulation often used in policy circles: sovereignty is partial, interdependent, and negotiated. This is true in normal conditions.</p>
<p>It is useless in crisis.</p>
<p>In a crisis, dependency hardens. The supplier does not need to become hostile; it only needs to prioritize itself. The foreign platform does not need to attack; it only needs to comply with its own state’s law. The cloud provider does not need to censor; it only needs to enforce acceptable-use boundaries written elsewhere. The chip ecosystem does not need to embargo; it only needs to reallocate scarce capacity toward larger or more strategically favoured customers.</p>
<p>A state running its intelligence, defence, financial supervision, industrial planning, and crisis-response systems on foreign-controlled infrastructure has not achieved digital modernization. It has transferred its nervous system into rented space.</p>
<p>This does not mean every layer must be domestic. For most states, full autarky is impossible. But strategic autonomy requires identifying which dependencies are survivable and which are fatal.</p>
<p>A country can import tools and remain sovereign. It cannot outsource the decisive layer and pretend it still commands the outcome.</p>
<p>The key distinction is between ordinary dependence and veto dependence.</p>
<dl>
<dt>Ordinary dependence</dt>
<dd>
<p>Manageable. It involves foreign components, commercial suppliers, and international standards.</p>
</dd>
<dt>Veto dependence</dt>
<dd>
<p>Different in kind. It exists when another actor can disable, delay, degrade, or observe a function essential to national decision-making.</p>
</dd>
</dl>
<p>A serious sovereign intelligence strategy must be built around eliminating veto dependence, not eliminating all dependence.</p>
</section>
<div class="cr-section cr-column-screen sidebar-left">
<div class="narrative-col">
<div class="trigger new-trigger" data-focus-on="cr-cathedral" data-scene="procured" data-scene-title="What capital can buy">
<section id="the-human-chokehold" class="level2 narrative">
<h2 class="anchored" data-anchor-id="the-human-chokehold">The Human Chokehold</h2>
<p>The missing variable in most sovereign AI strategies is talent.</p>
<p>States talk about chips because chips can be purchased. They talk about data centers because data centers can be photographed. They talk about national AI strategies because strategies can be published. The infrastructure arrives: accelerators, cooling, networks, model weights, and backup power.</p>
</section>
</div>
<div class="trigger new-trigger" data-focus-on="cr-cathedral" data-scene="control" data-scene-title="The human control plane">
<div class="narrative">
<p>But the decisive asset is harder to procure: the small population of researchers, engineers, systems architects, security specialists, and operator-analysts capable of building and maintaining these systems under real constraints. </p>
</div>
</div>
<div class="trigger new-trigger" data-focus-on="cr-cathedral" data-scene="concentration" data-scene-title="Concentration risk">
<div class="narrative">
<p>Five rare roles may carry the operational knowledge of thousands of machines. A missing successor, unique production access, tacit recovery knowledge, or dependence on foreign support can turn an impressive facility into an organizational single point of failure. </p>
</div>
</div>
<div class="trigger">
<div class="narrative">
<p>The global AI labour market is already a strategic battlefield. The top researchers, engineers, and infrastructure specialists are not evenly distributed. They cluster around capital, compute, prestige, frontier problems, compensation, and professional community.</p>
</div>
</div>
<div class="trigger new-trigger" data-focus-on="cr-cathedral" data-scene="attractors" data-scene-title="The external gravity field">
<div class="narrative">
<p>This is not a labour-market inconvenience. It is a national-security constraint. </p>
</div>
</div>
<div class="trigger new-trigger" data-focus-on="cr-cathedral" data-scene="exodus" data-scene-title="Capability leaves">
<div class="narrative">
<p>The infrastructure may sit in Abu Dhabi, Paris, London, Seoul, or Riyadh. But if the people who understand the stack are recruited, retained, promoted, and culturally absorbed elsewhere, the sovereign project becomes a shell. </p>
</div>
</div>
<div class="trigger new-trigger" data-focus-on="cr-cathedral" data-scene="hollow" data-scene-title="Ownership remained, capability left">
<div class="narrative">
<p>A sovereign compute cluster without sovereign technical talent is an empty cathedral. The racks keep blinking for a time, while versions drift, alerts accumulate, access freezes, and recovery knowledge disappears. </p>
</div>
</div>
<div class="trigger new-trigger" data-focus-on="cr-cathedral" data-scene="vendor" data-scene-title="Expertise access is revocable">
<div class="narrative">
<p>The gap is filled with remote support contracts. Foreign specialists can provision, update, diagnose, and recover the system. The building is domestic; command remains rented. </p>
</div>
</div>
<div class="trigger new-trigger" data-focus-on="cr-cathedral" data-scene="rebuild" data-scene-title="Institutions reproduce capability">
<div class="narrative">
<p>Durable capability cannot be solved by filling several vacancies. It requires institutions that continuously produce, retain, connect, and replace technical talent. </p>
</div>
</div>
</div>
<div class="sticky-col">
<div class="sticky-col-stack">
<div id="cr-cathedral" class="sticky">
<div class="geo-scrolly scene-frame cathedral-scene" data-default-state="procured" data-default-title="What can be purchased">
  
  <svg viewbox="0 0 1000 1100" width="1000" height="1100" aria-labelledby="cathedral-title cathedral-desc">
    <title id="cathedral-title">The empty cathedral</title>
    <desc id="cathedral-desc">A monumental data center resembles a cathedral. Five rare specialists form its human control plane, then leave for external centers of capital, compute and prestige. Machines remain lit but degrade. Remote vendor control enters through a revocable gate before domestic institutions begin rebuilding capability.</desc>
    <defs>
      <pattern id="cathedral-grid" width="28" height="28" patternunits="userSpaceOnUse">
        <path d="M28 0H0V28" fill="none" stroke="var(--v-grid)"></path>
      </pattern>
      <lineargradient id="cathedral-aisle" x1="0" y1="0" x2="0" y2="1">
        <stop offset="0" stop-color="var(--v-land-2)"></stop><stop offset="1" stop-color="var(--v-paper)"></stop>
      </lineargradient>
      <filter id="cathedral-shadow" x="-30%" y="-30%" width="160%" height="170%">
        <fedropshadow dy="12" stddeviation="13" flood-color="#000" flood-opacity=".16"></fedropshadow>
      </filter>
      <filter id="human-glow" x="-100%" y="-100%" width="300%" height="300%">
        <fegaussianblur stddeviation="5" result="b"></fegaussianblur><femerge><femergenode in="b"></femergenode><femergenode in="SourceGraphic"></femergenode></femerge>
      </filter>
      <marker id="cathedral-red-arrow" viewbox="0 0 10 10" refx="8" refy="5" markerwidth="7" markerheight="7" orient="auto">
        <path d="M0 0L10 5 0 10Z" fill="var(--v-red)"></path>
      </marker>
      <marker id="cathedral-teal-arrow" viewbox="0 0 10 10" refx="8" refy="5" markerwidth="7" markerheight="7" orient="auto">
        <path d="M0 0L10 5 0 10Z" fill="var(--v-teal)"></path>
      </marker>
      <g id="cathedral-rack">
        <rect width="116" height="314" rx="8" fill="var(--v-panel)" stroke="var(--v-rule)" stroke-width="2"></rect>
        <path d="M15 28H101M15 68H101M15 108H101M15 148H101M15 188H101M15 228H101M15 268H101" class="hairline"></path>
        <g class="server-light" fill="var(--v-teal)">
          <circle cx="28" cy="45" r="4"></circle><circle cx="28" cy="85" r="4"></circle><circle cx="28" cy="125" r="4"></circle>
          <circle cx="28" cy="165" r="4"></circle><circle cx="28" cy="205" r="4"></circle><circle cx="28" cy="245" r="4"></circle>
        </g>
      </g>
      <g id="cathedral-operator">
        <circle cy="-12" r="11" fill="var(--v-red)"></circle>
        <path d="M-18 22V13A18 18 0 0118 13V22Z" fill="var(--v-red)"></path>
        <circle r="28" fill="none" stroke="var(--v-red)" stroke-width="2" opacity=".5"></circle>
      </g>
      <g id="institution-node">
        <circle r="31" fill="var(--v-panel)" stroke="var(--v-teal)" stroke-width="2"></circle>
        <path d="M-12 0H12M0-12V12" class="route"></path>
      </g>
    </defs>

    <rect width="1000" height="1100" fill="var(--v-paper)"></rect>
    <rect width="1000" height="1100" fill="url(#cathedral-grid)"></rect>
    <text class="kicker" x="54" y="57">THE EMPTY CATHEDRAL / 03</text>
    <text class="micro" x="946" y="57" text-anchor="end">INFRASTRUCTURE DOES NOT OPERATE ITSELF</text>

    <!-- architecture: ribs, columns, central aisle -->
    <path d="M72 986V362L500 126L928 362V986Z" fill="var(--v-land-2)" stroke="var(--v-ink)" stroke-width="3" filter="url(#cathedral-shadow)"></path>
    <path d="M500 126V341M72 362H928" class="hairline"></path>
    <path d="M150 986V423L500 228L850 423V986" fill="none" stroke="var(--v-rule)" stroke-width="3"></path>
    <path d="M235 986V484L500 337L765 484V986" fill="none" stroke="var(--v-rule)" stroke-width="3"></path>
    <path d="M500 341L359 986H641Z" fill="url(#cathedral-aisle)" stroke="var(--v-rule)" stroke-width="2"></path>
    <path d="M500 341L500 986M500 341L72 986M500 341L928 986" class="hairline" opacity=".55"></path>
    <circle cx="500" cy="277" r="61" fill="var(--v-teal-soft)" stroke="var(--v-teal)" stroke-width="3"></circle>
    <path d="M465 277H535M500 242V312" class="route" stroke-width="5"></path>
    <text class="micro teal-text" x="500" y="363" text-anchor="middle">SOVEREIGN COMPUTE</text>

    <!-- server columns -->
    <g class="server-field">
      <use href="#cathedral-rack" x="103" y="561"></use><use href="#cathedral-rack" x="235" y="606" transform="scale(.82) translate(51 139)"></use>
      <use href="#cathedral-rack" x="781" y="561"></use><use href="#cathedral-rack" x="670" y="606" transform="scale(.82) translate(140 139)"></use>
      <rect x="421" y="440" width="158" height="188" rx="10" fill="var(--v-panel)" stroke="var(--v-teal)" stroke-width="3"></rect>
      <path d="M441 472H559M441 509H559M441 546H559M441 583H559" class="hairline"></path>
      <circle class="server-light" cx="457" cy="491" r="5" fill="var(--v-teal)"></circle>
      <circle class="server-light" cx="457" cy="528" r="5" fill="var(--v-teal)"></circle>
      <circle class="server-light" cx="457" cy="565" r="5" fill="var(--v-teal)"></circle>
      <text class="micro teal-text" x="500" y="658" text-anchor="middle">CONTROL ROOM</text>
    </g>

    <!-- procurement register -->
    <g class="procurement-layer">
      <rect x="101" y="906" width="798" height="103" rx="14" fill="var(--v-panel)" stroke="var(--v-rule)"></rect>
      <text class="kicker" x="500" y="941" text-anchor="middle">WHAT CAPITAL CAN BUY</text>
      <text class="small" x="500" y="976" text-anchor="middle">accelerators · cooling · networks · model weights · backup power</text>
      <path d="M212 1029H788" class="hairline"></path>
      <text class="serif" x="500" y="1068" text-anchor="middle" font-size="28">The infrastructure has arrived.</text>
    </g>

    <!-- five-person control plane -->
    <g class="human-layer">
      <path d="M418 495L294 470M449 569L270 677M548 495L715 468M551 569L756 682M500 659V821" class="route conditional" opacity=".65"></path>
      <g class="operator op-researcher"><use href="#cathedral-operator"></use><text class="micro red-text" x="-47" y="-48" text-anchor="middle">RESEARCHER</text></g>
      <g class="operator op-architect"><use href="#cathedral-operator"></use><text class="micro red-text" x="50" y="-48" text-anchor="middle">ARCHITECT</text></g>
      <g class="operator op-security"><use href="#cathedral-operator"></use><text class="micro red-text" x="-67" y="54" text-anchor="middle">SECURITY</text></g>
      <g class="operator op-engineer"><use href="#cathedral-operator"></use><text class="micro red-text" x="68" y="54" text-anchor="middle">ENGINEER</text></g>
      <g class="operator op-analyst"><use href="#cathedral-operator"></use><text class="micro red-text" x="0" y="58" text-anchor="middle">OPERATOR–ANALYST</text></g>
      <rect x="316" y="747" width="368" height="76" rx="38" fill="var(--v-red-soft)" stroke="var(--v-red)"></rect>
      <text class="kicker red-text" x="500" y="777" text-anchor="middle">THE HUMAN CONTROL PLANE</text>
      <text class="small" x="500" y="806" text-anchor="middle">five roles · thousands of machines</text>
    </g>

    <!-- concentration risks -->
    <g class="risk-layer">
      <g transform="translate(86 408)"><rect width="216" height="66" rx="10" fill="var(--v-panel)" stroke="var(--v-red)"></rect><text class="micro red-text" x="20" y="27">NO SUCCESSOR</text><text class="small" x="20" y="51">model adaptation</text></g>
      <g transform="translate(698 408)"><rect width="216" height="66" rx="10" fill="var(--v-panel)" stroke="var(--v-red)"></rect><text class="micro red-text" x="20" y="27">UNIQUE ACCESS</text><text class="small" x="20" y="51">production systems</text></g>
      <g transform="translate(80 697)"><rect width="216" height="66" rx="10" fill="var(--v-panel)" stroke="var(--v-red)"></rect><text class="micro red-text" x="20" y="27">TACIT KNOWLEDGE</text><text class="small" x="20" y="51">recovery procedures</text></g>
      <g transform="translate(704 697)"><rect width="216" height="66" rx="10" fill="var(--v-panel)" stroke="var(--v-red)"></rect><text class="micro red-text" x="20" y="27">FOREIGN SUPPORT</text><text class="small" x="20" y="51">required to repair</text></g>
    </g>

    <!-- external talent gravity -->
    <g class="attractor-layer">
      <path d="M645 312C755 236 830 183 927 135M687 453C787 412 853 384 942 351M691 583C793 603 852 621 941 677M650 725C755 804 824 854 913 937" class="control-line conditional flow-line" marker-end="url(#cathedral-red-arrow)"></path>
      <g transform="translate(922 129)"><circle r="49" fill="var(--v-panel)" stroke="var(--v-red)" stroke-width="2"></circle><text class="micro red-text" text-anchor="middle">CAPITAL</text></g>
      <g transform="translate(920 347)"><circle r="49" fill="var(--v-panel)" stroke="var(--v-red)" stroke-width="2"></circle><text class="micro red-text" text-anchor="middle">COMPUTE</text></g>
      <g transform="translate(920 680)"><circle r="49" fill="var(--v-panel)" stroke="var(--v-red)" stroke-width="2"></circle><text class="micro red-text" text-anchor="middle">PRESTIGE</text></g>
      <g transform="translate(912 946)"><circle r="49" fill="var(--v-panel)" stroke="var(--v-red)" stroke-width="2"></circle><text class="micro red-text" text-anchor="middle">FRONTIER</text></g>
      <text class="micro red-text" x="780" y="519" text-anchor="middle">COMPENSATION · COMMUNITY</text>
    </g>

    <!-- degradation after the people leave -->
    <g class="hollow-layer">
      <rect x="80" y="348" width="840" height="541" rx="18" fill="var(--v-paper)" opacity=".72"></rect>
      <g filter="url(#cathedral-shadow)">
        <rect x="126" y="403" width="278" height="77" rx="11" fill="var(--v-panel)" stroke="var(--v-amber)"></rect>
        <text class="micro amber-text" x="151" y="434">VERSION DRIFT</text><text class="small" x="151" y="461">model update overdue</text>
        <rect x="596" y="403" width="278" height="77" rx="11" fill="var(--v-panel)" stroke="var(--v-amber)"></rect>
        <text class="micro amber-text" x="621" y="434">ACCESS FROZEN</text><text class="small" x="621" y="461">only cleared operator left</text>
        <rect x="126" y="748" width="278" height="77" rx="11" fill="var(--v-panel)" stroke="var(--v-amber)"></rect>
        <text class="micro amber-text" x="151" y="779">ALERTS UNRESOLVED</text><text class="small" x="151" y="806">security queue growing</text>
        <rect x="596" y="748" width="278" height="77" rx="11" fill="var(--v-panel)" stroke="var(--v-amber)"></rect>
        <text class="micro amber-text" x="621" y="779">RECOVERY UNKNOWN</text><text class="small" x="621" y="806">tacit knowledge departed</text>
      </g>
      <text class="title" x="500" y="595" text-anchor="middle">Ownership remained.</text>
      <text class="title red-text" x="500" y="641" text-anchor="middle">Capability left.</text>
      <text class="small" x="500" y="681" text-anchor="middle">The lights stay on—temporarily.</text>
    </g>

    <!-- remote vendor control -->
    <g class="vendor-layer">
      <rect x="72" y="364" width="856" height="500" rx="20" fill="var(--v-paper)" opacity=".9"></rect>
      <path d="M942 594C804 594 731 594 625 594" class="control-line conditional flow-line" marker-end="url(#cathedral-red-arrow)"></path>
      <g transform="translate(882 476)">
        <rect width="72" height="236" rx="12" fill="var(--v-panel)" stroke="var(--v-red)" stroke-width="2"></rect>
        <path d="M19 47H53M19 78H53M19 109H53M19 140H53" class="control-line" opacity=".65"></path>
        <text class="micro red-text" x="36" y="200" text-anchor="middle" transform="rotate(-90 36 200)">REMOTE VENDOR</text>
      </g>
      <g transform="translate(690 594)">
        <rect x="-34" y="-34" width="68" height="68" rx="10" fill="var(--v-panel)" stroke="var(--v-red)" stroke-width="3"></rect>
        <path d="M-16-16L16 16M16-16L-16 16" class="control-line" stroke-width="5"></path>
      </g>
      <rect x="178" y="467" width="444" height="181" rx="17" fill="var(--v-panel)" stroke="var(--v-red)"></rect>
      <text class="kicker red-text" x="212" y="507">EXPERTISE ACCESS: REVOCABLE</text>
      <text class="title" x="212" y="558">The building is domestic.</text>
      <text class="title" x="212" y="601">Command is rented.</text>
    </g>

    <!-- institutional recovery -->
    <g class="rebuild-layer">
      <path d="M500 615C430 758 309 849 169 946M500 615C462 786 447 886 420 1005M500 615C551 781 591 890 619 1005M500 615C639 758 748 848 862 946" class="route conditional flow-line" marker-end="url(#cathedral-teal-arrow)"></path>
      <g fill="var(--v-teal)">
        <circle class="pulse-dot" cx="236" cy="890" r="7"></circle><circle class="pulse-dot" cx="351" cy="838" r="7"></circle>
        <circle class="pulse-dot" cx="440" cy="903" r="7"></circle><circle class="pulse-dot" cx="472" cy="769" r="7"></circle>
        <circle class="pulse-dot" cx="580" cy="890" r="7"></circle><circle class="pulse-dot" cx="545" cy="757" r="7"></circle>
        <circle class="pulse-dot" cx="769" cy="875" r="7"></circle><circle class="pulse-dot" cx="658" cy="804" r="7"></circle>
      </g>
      <g transform="translate(156 947)"><use href="#institution-node"></use><text class="micro teal-text" x="0" y="55" text-anchor="middle">EDUCATION</text></g>
      <g transform="translate(409 1010)"><use href="#institution-node"></use><text class="micro teal-text" x="0" y="55" text-anchor="middle">PUBLIC LAB</text></g>
      <g transform="translate(626 1010)"><use href="#institution-node"></use><text class="micro teal-text" x="0" y="55" text-anchor="middle">RESERVE CORPS</text></g>
      <g transform="translate(869 947)"><use href="#institution-node"></use><text class="micro teal-text" x="0" y="55" text-anchor="middle">TALENT PATHS</text></g>
      <circle cx="500" cy="615" r="88" fill="var(--v-teal-soft)" stroke="var(--v-teal)" stroke-width="3"></circle>
      <text class="kicker teal-text" x="500" y="602" text-anchor="middle">CAPABILITY</text>
      <text class="small" x="500" y="634" text-anchor="middle">reproduces itself</text>
    </g>

    <g class="cathedral-final">
      <rect x="114" y="130" width="772" height="90" rx="14" fill="var(--v-panel)" stroke="var(--v-teal)"></rect>
      <text class="serif" x="500" y="168" text-anchor="middle" font-size="27">Compute can be purchased.</text>
      <text class="serif teal-text" x="500" y="201" text-anchor="middle" font-size="27">Technical sovereignty must be cultivated.</text>
    </g>
  </svg>
</div>
</div>
</div>
</div>
</div>
<p>Human capital policy is therefore national-security policy. A serious sovereign intelligence doctrine requires:</p>
<ul>
<li>domestic elite technical education;</li>
<li>security-cleared AI engineering cadres;</li>
<li>compensation structures that can retain rare talent;</li>
<li>prestige pathways outside academia and generic civil service;</li>
<li>technical reserve corps for crisis mobilization;</li>
<li>immigration channels for aligned foreign talent;</li>
<li>institutions where engineers, statisticians, economists, intelligence analysts, and operators work together rather than passing reports across bureaucratic walls.</li>
</ul>
<p>The state that cannot retain its cognitive elite will not retain technological sovereignty.</p>
<section id="the-real-question" class="level2">
<h2 class="anchored" data-anchor-id="the-real-question">The Real Question</h2>
<p>The question is not whether a state uses foreign technology. Every state does. The question is which dependencies become kill switches.</p>
<ul>
<li>Can the state continue to operate if foreign compute access is restricted?</li>
<li>Can it preserve critical data under legal and commercial pressure?</li>
<li>Can it audit the systems shaping public-sector decisions?</li>
<li>Can it maintain payment, logistics, and crisis-response functions under platform denial?</li>
<li>Can it retain the human capital required to adapt under stress?</li>
</ul>
<p>If the answer is no, sovereignty is formal rather than operational.</p>
<p>The battlefield has moved into the stack. The kill switch is infrastructure.</p>
<p>And the states that fail to understand this will not lose sovereignty all at once. They will lose it administratively, contractually, technically, and silently — one dependency at a time.</p>


</section>

<a onclick="window.scrollTo(0, 0); return false;" id="quarto-back-to-top"><i class="bi bi-arrow-up"></i> Back to top</a> ]]></description>
  <category>Geopolitics</category>
  <category>AI</category>
  <category>Infrastructure</category>
  <guid>https://ma-mar-itan.github.io/PortfolioWebsite/blog/posts/2026-09-1_The New Geopolitical Chokeholds/</guid>
  <pubDate>Mon, 31 Aug 2026 21:00:00 GMT</pubDate>
  <media:content url="https://ma-mar-itan.github.io/PortfolioWebsite/blog/posts/2026-09-1_The New Geopolitical Chokeholds/thumb.svg" medium="image" type="image/svg+xml"/>
</item>
<item>
  <title>The illusion of small ponds</title>
  <dc:creator>Malek Itani</dc:creator>
  <link>https://ma-mar-itan.github.io/PortfolioWebsite/blog/posts/2026-08-30_The illusion of small ponds/</link>
  <description><![CDATA[ 





<p>For a long time, career advice relied on a comforting metaphor: be a big fish in a small pond. Find a narrow niche. Enter an overlooked market. Become the person everyone knows. Build an advantage before the larger players arrive.</p>
<p>It was never entirely wrong. But it has become dangerously incomplete. Today, the pond is rarely as small as it looks.</p>
<p>A freelance designer in Beirut may be competing with specialists in Warsaw, Bangalore, Lagos, Buenos Aires, and San Francisco. A local consultant is no longer compared only with other consultants in the city; clients can now access global expertise, automated research, AI-generated drafts, and highly polished work at a fraction of yesterday’s cost. A student who once stood out for writing a competent report now competes with peers using AI tools to research, code, analyze data, edit prose, translate sources, and produce professional-quality presentations in hours.</p>
<p>The small pond has opened into an ocean. And the fish you thought were big may simply have been competing in a temporarily enclosed pool.</p>
<section id="the-old-advantage-limited-comparison" class="level2">
<h2 class="anchored" data-anchor-id="the-old-advantage-limited-comparison">1. The old advantage: limited comparison</h2>
<p>Before global digital markets, most competition was constrained by geography, institutions, and access.</p>
<p>A company hired from the people it could find. A university compared applicants within a relatively limited pool. A client relied on local networks and referrals. Information was scarce, coordination was costly, and switching suppliers was difficult.</p>
<p>Under those conditions, being competent could be enough to create distinction.</p>
<p>You did not need to be the best analyst, designer, writer, programmer, teacher, or entrepreneur in the world. Often, you only needed to be better than the alternatives visible to the people making a decision. That is what created many “small ponds.” Not necessarily a lack of talent, but a lack of connection between talent and opportunity. The internet weakened those barriers. Remote work weakened them further. Global platforms made skills searchable and comparable. AI is now removing another barrier: the cost of producing credible work.</p>
<p>The result is not merely more competition. It is more competent competition.</p>
</section>
<section id="draw-the-timeline" class="level2">
<h2 class="anchored" data-anchor-id="draw-the-timeline">2. Draw the timeline</h2>
<p>Sketch when each feature becomes available relative to when the prediction is needed. Leakage is almost always a timeline problem wearing a statistics costume.</p>
</section>
<section id="ask-what-the-baseline-was" class="level2">
<h2 class="anchored" data-anchor-id="ask-what-the-baseline-was">3. Ask what the baseline was</h2>
<p>If nobody can tell you what the naive rule scores, the model has not been evaluated — it has been described.</p>
<div class="callout callout-style-default callout-note callout-titled">
<div class="callout-header d-flex align-content-center">
<div class="callout-icon-container">
<i class="callout-icon"></i>
</div>
<div class="callout-title-container flex-fill">
Note
</div>
</div>
<div class="callout-body-container callout-body">
<p>This is a placeholder post. Replace the text; keep the front matter shape.</p>
</div>
</div>
</section>
<section id="re-run-it-once" class="level2">
<h2 class="anchored" data-anchor-id="re-run-it-once">4. Re-run it once</h2>
<p>Not to reproduce the numbers. To find out how long it takes, what breaks, and how much of the pipeline lives in someone’s head.</p>


</section>

<a onclick="window.scrollTo(0, 0); return false;" id="quarto-back-to-top"><i class="bi bi-arrow-up"></i> Back to top</a> ]]></description>
  <category>Thoughts</category>
  <category>Lessons</category>
  <guid>https://ma-mar-itan.github.io/PortfolioWebsite/blog/posts/2026-08-30_The illusion of small ponds/</guid>
  <pubDate>Mon, 17 Aug 2026 21:00:00 GMT</pubDate>
  <media:content url="https://ma-mar-itan.github.io/PortfolioWebsite/assets/img/Small fish.gif" medium="image" type="image/gif"/>
</item>
<item>
  <title>We have no clue what we are doing</title>
  <dc:creator>Malek Itani</dc:creator>
  <link>https://ma-mar-itan.github.io/PortfolioWebsite/blog/posts/2026-08-30_We have no clue/</link>
  <description><![CDATA[ 





<p>Every few weeks someone hands me a model and asks whether it’s any good. The honest answer is usually “I can’t tell yet,” so I’ve written down the order I work through it.</p>
<section id="find-the-target-before-the-features" class="level2">
<h2 class="anchored" data-anchor-id="find-the-target-before-the-features">1. Find the target before the features</h2>
<p>The first question isn’t what went into the model, it’s what came out. Ask what the label actually measures, when it was recorded, and who decided it. A surprising share of models fail here: the target is a proxy for the thing anyone cares about, and nobody wrote down the gap.</p>
</section>
<section id="draw-the-timeline" class="level2">
<h2 class="anchored" data-anchor-id="draw-the-timeline">2. Draw the timeline</h2>
<p>Sketch when each feature becomes available relative to when the prediction is needed. Leakage is almost always a timeline problem wearing a statistics costume.</p>
</section>
<section id="ask-what-the-baseline-was" class="level2">
<h2 class="anchored" data-anchor-id="ask-what-the-baseline-was">3. Ask what the baseline was</h2>
<p>If nobody can tell you what the naive rule scores, the model has not been evaluated — it has been described.</p>
<div class="callout callout-style-default callout-note callout-titled">
<div class="callout-header d-flex align-content-center">
<div class="callout-icon-container">
<i class="callout-icon"></i>
</div>
<div class="callout-title-container flex-fill">
Note
</div>
</div>
<div class="callout-body-container callout-body">
<p>This is a placeholder post. Replace the text; keep the front matter shape.</p>
</div>
</div>
</section>
<section id="re-run-it-once" class="level2">
<h2 class="anchored" data-anchor-id="re-run-it-once">4. Re-run it once</h2>
<p>Not to reproduce the numbers. To find out how long it takes, what breaks, and how much of the pipeline lives in someone’s head.</p>


</section>

<a onclick="window.scrollTo(0, 0); return false;" id="quarto-back-to-top"><i class="bi bi-arrow-up"></i> Back to top</a> ]]></description>
  <category>Philosophy</category>
  <guid>https://ma-mar-itan.github.io/PortfolioWebsite/blog/posts/2026-08-30_We have no clue/</guid>
  <pubDate>Mon, 17 Aug 2026 21:00:00 GMT</pubDate>
  <media:content url="https://ma-mar-itan.github.io/PortfolioWebsite/assets/img/thumb-1.svg" medium="image" type="image/svg+xml"/>
</item>
</channel>
</rss>
