<?xml version="1.0" encoding="UTF-8"?>
<!--
  Mind Gambit — public routes only.

  This matters more here than on an ordinary site: Mind Gambit is a
  client-rendered SPA, so there is no server-rendered <a href> trail for a
  crawler to follow from the home page into /lessons or /minis. Without this
  file those routes are close to undiscoverable.

  ⚠️⚠️ **THIS FILE DESCRIBES THE LAUNCHED SITE, NOT THE CURRENT BUILD. DO NOT
  SUBMIT IT TO A SEARCH ENGINE UNTIL `VITE_WAITLIST_MODE=false`.**
  `.env.production` sets `VITE_WAITLIST_MODE=true`, and `App.tsx` then serves the
  waitlist route set *only* — the real app branch is dead-code-eliminated out of
  the bundle entirely. Verified against a production build: `/lessons/:lessonId`
  does not appear in `dist/assets/index-*.js` at all. So today **20 of the 21
  URLs below resolve to NotFound**, and `/` client-redirects to
  /welcome-waitlist. Submitting this now would teach Google the site is a wall
  of 404s. It goes live with the launch flip (PLAN.md → U-Final).

  ⚠️ **No <changefreq> or <priority>.** Google ignores both and has said so
  repeatedly — they were abused into meaninglessness (nearly every site set
  priority 1.0). <lastmod> is the one field it does use, and only when the
  dates are verifiably accurate; a fabricated one is worse than none, so this
  file omits it rather than inventing timestamps it cannot stand behind. A
  sitemap of plain <loc> entries is valid and is what actually gets read.

  ⚠️ Kept in step with the app by `src/seo.test.ts`, which asserts every
  lesson in `Lessons.content.ts` appears here and that no auth-only or
  flag-gated route sneaks in. A sitemap that lies is worse than none — it sends
  crawlers to 404s and costs trust.

  Deliberately absent:
    * /login, /register, /onboarding, /auth/* — auth flows, also in robots.txt
    * /profile, /positions, /stats — need a session; a crawler sees only a
      redirect. (/settings is public, and is left out because a settings screen
      is not a search result anyone wants.)
    * /leaderboard, /simul, /puzzles/daily, /minis/daily — gated by
      `@/featureFlags`, which are off in a real deploy because `.env.production`
      does not set them. ⚠️ They ARE on in local dev, since `.env` sets them and
      Vite loads `.env` in every mode — so "these are 404s" is true of the
      deployed site, not of your dev server.
    * /admin, /audio-lab — operator surfaces, deliberately unnamed here AND in
      robots.txt: listing a path advertises that it exists.
    * /waitlist, /welcome-waitlist, /demo/* — retire at launch (PLAN.md U-Final)
-->
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">

  <url><loc>https://mind-gambit.com/</loc></url>

  <!-- Train alone -->
  <url><loc>https://mind-gambit.com/practice</loc></url>
  <url><loc>https://mind-gambit.com/practice/classic</loc></url>
  <url><loc>https://mind-gambit.com/practice/figureless</loc></url>
  <url><loc>https://mind-gambit.com/practice/blind</loc></url>

  <!-- Versus the engine -->
  <url><loc>https://mind-gambit.com/training</loc></url>

  <!-- Solve -->
  <url><loc>https://mind-gambit.com/puzzles</loc></url>
  <url><loc>https://mind-gambit.com/minis</loc></url>

  <!-- Learn -->
  <url><loc>https://mind-gambit.com/lessons</loc></url>
  <url><loc>https://mind-gambit.com/lessons/basicsPieces</loc></url>
  <url><loc>https://mind-gambit.com/lessons/basicsRules</loc></url>
  <url><loc>https://mind-gambit.com/lessons/basicsTogether</loc></url>
  <url><loc>https://mind-gambit.com/lessons/figurelessIntro</loc></url>
  <url><loc>https://mind-gambit.com/lessons/figurelessSwitch</loc></url>
  <url><loc>https://mind-gambit.com/lessons/figurelessEndgame</loc></url>
  <url><loc>https://mind-gambit.com/lessons/figurelessGame</loc></url>
  <url><loc>https://mind-gambit.com/lessons/blindIntro</loc></url>
  <url><loc>https://mind-gambit.com/lessons/blindSwitch</loc></url>
  <url><loc>https://mind-gambit.com/lessons/blindGame</loc></url>
  <url><loc>https://mind-gambit.com/tutorial</loc></url>

  <!-- Policy -->
  <url><loc>https://mind-gambit.com/privacy</loc></url>

</urlset>
