<?xml version="1.0" encoding="UTF-8"?>
<!--
  Only the home page is listed.

  WHY NOT THE PROJECT/PLAYBOOK PAGES: this site routes with URL fragments
  (#/project/07, #/playbook/...) — everything after the # is resolved by the
  browser only and is never sent to the server. Every one of those routes is
  the SAME document (index.html) as far as a crawler's request is concerned;
  there is no server-side URL to list here for them. Google can sometimes
  discover fragment routes by executing the page's own JavaScript and
  following its links, but that is opportunistic crawling, not something a
  sitemap entry can request — a <url> entry for a URL a server can't return
  is not valid sitemap content.

  Five of the twelve public project pages are additionally gated behind a
  passcode (01, 02, 04, 05, and the essay at 03), so even opportunistic
  crawling would only ever see their locked state.

  If per-page indexing in search results becomes a priority later, the fix is
  moving routing off `#/...` and onto real paths the server resolves
  (e.g. via history-API routing + a catch-all rewrite already close to what
  vercel.json's SPA rewrite does) — a routing-architecture change, not a
  sitemap change, and out of scope for this pass.
-->
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://criqui.design/</loc>
    <changefreq>weekly</changefreq>
    <priority>1.0</priority>
  </url>
</urlset>
