<?xml version="1.0" encoding="UTF-8"?>
<!--
  Public, indexable destinations only.

  A sitemap is a claim that a URL is worth a crawler's time and worth showing to
  somebody who has never signed in. Authenticated surfaces are not: they render
  a redirect or an empty gate to every crawler that fetches them, and listing
  them spends crawl budget to advertise pages no visitor can use. Legacy paths
  that only 30x elsewhere have the same problem — the canonical target is
  already listed, so the redirect is noise at best.

  Not listed because the surface is authenticated or legacy:
    /onboarding    the route is retired; it is now a redirect to /start, and it
                   was the one entry actively harmful to advertise (arriving on
                   it used to WRITE a dream_intents row unprompted).
    /today         legacy redirect to /today-tasks.
    /today-tasks   authenticated home.
    /dashboard     legacy redirect to /dreams.
    /dreamer       retired conversational surface; redirect only.
    /dream-studio  authenticated artifact, reached from creation flows.
    /plan          authenticated, and trial-gated.
    /plan/compare  not gated by the route table, but it diffs the signed-in
                   user's own plan versions and RLS shows an anonymous fetch
                   nothing. Authenticated in every way that matters here.
    /planning      authenticated, and trial-gated.
    /settings      authenticated.

  Not listed although the route is deliberately KEPT — de-indexed, not retired:
    /ideas         the route stays mounted and fully functional. Brandon decided
                   to keep /ideas, and that decision stands; this is not a
                   half-finished deletion and the rest of it must not be
                   "finished" by a later reader. Keeping a route and advertising
                   it to search engines are two different decisions, and only
                   the second one was a live exposure: /ideas has no inbound
                   link from anywhere in the running app, so this file was the
                   only way anybody arrived on an ungated surface that writes
                   dream_suggestions and dream_votes. That is the /onboarding
                   shape above, minus the retirement.

  The general rule: indexed-but-orphaned is its own defect class, independent of
  whether the feature is wanted, because it is the only way a stranger reaches a
  surface the product does not link to.

  Two entries share that shape and stay listed anyway, checked against the rule
  rather than assumed from what earlier passes cleaned up:
    /community     orphaned too, but it only READS (get_public_profiles), and a
                   public social surface is live product territory, so being
                   findable may turn out to be the point rather than the bug.
    /reset-password  has no in-app inbound link by design: it is reached from an
                   emailed Supabase recovery link, and without a recovery token
                   it renders "this link is invalid or has expired". Indexing it
                   is inert rather than an exposure.
-->
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url><loc>https://dreamontal.art/</loc><changefreq>weekly</changefreq><priority>1.0</priority></url>
  <url><loc>https://dreamontal.art/pricing</loc><changefreq>monthly</changefreq><priority>0.9</priority></url>
  <url><loc>https://dreamontal.art/start</loc><changefreq>monthly</changefreq><priority>0.7</priority></url>
  <url><loc>https://dreamontal.art/community</loc><changefreq>daily</changefreq><priority>0.6</priority></url>
  <url><loc>https://dreamontal.art/login</loc><changefreq>yearly</changefreq><priority>0.3</priority></url>
  <url><loc>https://dreamontal.art/signup</loc><changefreq>yearly</changefreq><priority>0.5</priority></url>
  <url><loc>https://dreamontal.art/forgot-password</loc><changefreq>yearly</changefreq><priority>0.2</priority></url>
  <url><loc>https://dreamontal.art/reset-password</loc><changefreq>yearly</changefreq><priority>0.2</priority></url>
  <url><loc>https://dreamontal.art/privacy</loc><changefreq>yearly</changefreq><priority>0.2</priority></url>
  <url><loc>https://dreamontal.art/terms</loc><changefreq>yearly</changefreq><priority>0.2</priority></url>
</urlset>
