<?xml version="1.0" encoding="UTF-8"?>
<!--
  quorum.dog sitemap.
  Created 2026-08-19. Contents derived from Application Docs/drafts/33_Site_Map_
  and_Navigation_Schema (canonical) — public, indexable destinations only.

  Deliberately excluded: admin surfaces, signed-in account pages, token-gated
  share permalinks (/v/), ad campaign landing pages, app section landings, and
  the /v1 API endpoints (which are not documents — /api is the page that
  describes them).

  UPDATED 2026-08-28. Two of those categories changed today. Neither change
  adds or removes a single <url> below; both are recorded because the next
  reader of this file would otherwise reasonably conclude something is missing.

  AD CAMPAIGN LANDING PAGES ARE NO LONGER WITHHELD, THEY ARE GONE. Tom deleted
  the last three by name, and robots.txt dropped the final Disallow that named
  one of them on the same reasoning it used for the six before it: a rule
  guarding a path that now 404s protects nothing. The category stays in the
  list above because it is still the reason no such URL appears here, but it is
  an empty category now rather than a suppressed one. The three filenames are
  deliberately NOT written here; robots.txt holds that history, and
  tests/ia-tree.test.js group 10 forbids this file from naming a deleted page
  in prose, which is a place its loc-tag checks cannot see.

  APP SECTION LANDINGS ARE NEW TO THE LIST, and /channel is the live case. Its
  301 onto the reader's private Library page was removed today, so /channel now
  serves channel.html's own bare landing: a genuine 200, carrying no noindex
  and matched by no robots rule. That is precisely the shape that invites a later
  "it is public, so list it", which is why the reason it stays out is written
  down instead of left to be re-derived. Tom's ruling of the same date puts the
  user Channel "in the app as Channel, in page and breadcrumb", and app
  surfaces are the category this file already excludes: /room.html and
  /studio.html are absent for the same reason, one note further down. Three
  further facts from the tree agree, none of them from a brief: nav.js keeps
  the Channel row out of the drawer, the apps tile is gated on owning a channel
  so only an owner ever sees it, and about.html's Channel surface card was
  deleted and not restored. The landing is also display:none until JS runs and
  declares no canonical, so it is a thin thing to hand a crawler.

  Group 10 of tests/ia-tree.test.js pins both halves of that so neither can
  drift on its own: the route must keep serving channel.html, and this file and
  llms.txt must both keep quiet about it. If Channel is ever promoted to a
  public door, that test is the thing to change first, on purpose.

  URLs use the www host, and the one absolute redirect destination in
  vercel.json does too.

  CORRECTED 2026-08-27: this note previously justified that by claiming the www
  host is "what every canonical tag in public/ declares". That is FALSE and was
  measured this date: of the 38 canonical tags in public/, 35 declare the BARE
  host quorum.dog and only 3 declare www. So this file and the pages it lists
  disagree about the canonical host. The disagreement is recorded here rather
  than silently resolved: picking a canonical host is an indexing decision that
  needs a live check of which host actually serves, and flipping 37 lines here
  on the strength of a file read is exactly the move this project has been
  burned by. Flagged for a ruling, not fixed.

  Structure note: the headings in public/llms.txt are the door tree (App, API,
  About, Help and resources). A sitemap has no hierarchy to express, so the
  ordering below follows those doors to keep the two files legible together.
-->
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">

  <!-- Chat is both the product surface and the cold-arrival landing page -->
  <url>
    <loc>https://www.quorum.dog/</loc>
    <changefreq>weekly</changefreq>
    <priority>1.0</priority>
  </url>

  <url>
    <loc>https://www.quorum.dog/about.html</loc>
    <changefreq>monthly</changefreq>
    <priority>0.9</priority>
  </url>

  <!-- Surfaces.

       /room.html AND /studio.html WERE REMOVED 2026-08-27, and their absence
       is deliberate: BOTH PAGES CARRY <meta name="robots" content="noindex,
       nofollow">. Listing a noindex page in a sitemap is a direct
       contradiction between two instruments, and the page wins every time. A
       crawler that is asked to index a page which then forbids it does not
       index the page; it records a "submitted URL marked noindex" error, so
       the entries bought nothing and cost a clean report.

       The noindex on those two is a CONSIDERED choice, not an oversight, which
       is why this was resolved in the sitemap rather than by editing the
       pages: index.html, testing.html, join.html and pricing.html all declare
       "index, follow" explicitly, so the two app surfaces were opted out on
       purpose. Doc 63 says the same thing in IA terms: Chat, Panel and Studio
       are application, not document.

       Panel and Studio are still described and linked in llms.txt. That is not
       a contradiction: llms.txt tells a reader what the product is, while this
       file asks a crawler to index a document. Only the second one conflicts
       with noindex.

       Chat stays listed because index.html is the cold-arrival landing page
       and declares "index, follow". -->
  <url>
    <loc>https://www.quorum.dog/api</loc>
    <changefreq>monthly</changefreq>
    <priority>0.9</priority>
  </url>
  <!-- Added 2026-08-27. This is the page where an API organization is actually
       created, it is linked from ten pages in public/ (about, api, enterprise,
       modes, docs-quickstart among them), it carries no noindex and robots.txt
       does not disallow it. It was simply never listed, so the entire platform
       funnel's entry point was unreachable to search while the pages pointing
       at it were indexed. Listed at its .html path because no extensionless
       rewrite for it exists in vercel.json and this unit may not add one. -->
  <url>
    <loc>https://www.quorum.dog/enterprise-signup.html</loc>
    <lastmod>2026-08-27</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>

  <!-- Modes -->
  <url>
    <loc>https://www.quorum.dog/modes</loc>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.quorum.dog/mode-builder.html</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

  <!-- Quorum For -->
  <url>
    <loc>https://www.quorum.dog/creators</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <!-- /teams added 2026-08-27. Until this unit Q-Teams had no page of its own:
       it was three sentences inside /enterprise, a page written for a buyer
       with a compliance department. /teams is the same product argued to the
       reader who actually buys it, a three-to-ten person team. Priority
       matches /enterprise because it is the same kind of page for a larger
       number of readers. NOTE the singular /team is deliberately NOT listed
       here and must not be added: it is the signed-in members console, not a
       public page. -->
  <url>
    <loc>https://www.quorum.dog/teams</loc>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.quorum.dog/enterprise</loc>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>

  <!-- Conversion -->
  <!-- /pricing added 2026-08-24 (unit 3 / task 8). It was a REWRITE onto
       /join.html until this unit (the word "pricing" landed a reader inside
       the checkout), so there was no pricing page to list. There is now, and
       this file's own rule applies: a public page that is not listed here is
       unreachable to search, and a page nobody can find is not published.
       Higher priority than /join because it is the page a cold visitor
       comparing options actually wants; /join is the step after. -->
  <url>
    <loc>https://www.quorum.dog/pricing</loc>
    <lastmod>2026-08-24</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.quorum.dog/join</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

  <!-- Legal -->
  <url>
    <loc>https://www.quorum.dog/privacy.html</loc>
    <changefreq>yearly</changefreq>
    <priority>0.3</priority>
  </url>
  <url>
    <loc>https://www.quorum.dog/terms.html</loc>
    <changefreq>yearly</changefreq>
    <priority>0.3</priority>
  </url>


  <!-- The documentation library, added 2026-08-20. Eleven pages shipped
       without being listed here, which made them unreachable to search
       entirely. A page nobody can find is not published. -->
  <url>
    <loc>https://www.quorum.dog/help</loc>
    <lastmod>2026-08-27</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <!-- /help stopped being the FAQ on 2026-08-27 and became the "Help and
       resources" door; the FAQ moved beneath it. The URL above therefore now
       publishes a DIFFERENT page than it did, which is why it is listed as
       modified, and the FAQ needs its own entry or the rename un-publishes it
       from search entirely. -->
  <url>
    <loc>https://www.quorum.dog/help/faq</loc>
    <lastmod>2026-08-27</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.quorum.dog/docs/concepts/modes</loc>
    <lastmod>2026-08-20</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.quorum.dog/docs/concepts/pricing</loc>
    <lastmod>2026-08-20</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.quorum.dog/docs/concepts/where-deliberation-thrives</loc>
    <lastmod>2026-08-20</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://www.quorum.dog/docs/guides/mcp</loc>
    <lastmod>2026-08-20</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.quorum.dog/docs/guides/escalation-router</loc>
    <lastmod>2026-08-20</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.quorum.dog/docs/guides/quorum-with-claude-code</loc>
    <lastmod>2026-08-20</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://www.quorum.dog/docs/guides/quorum-with-vscode</loc>
    <lastmod>2026-08-20</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://www.quorum.dog/docs/guides/quorum-with-cursor</loc>
    <lastmod>2026-08-20</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://www.quorum.dog/docs/guides/quorum-and-excel</loc>
    <lastmod>2026-08-20</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://www.quorum.dog/docs/guides/moding-and-vibe-coding</loc>
    <lastmod>2026-08-20</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>

  <!-- Library index pages. These are what the breadcrumb on every
       library page climbs to: one level up shows what sits alongside.
       /docs IS NO LONGER ONE OF THEM, 2026-08-28. It was a second index of the
       same five shelves that /help already lists, and Tom removed it ("/help IS
       the library. Kill the duplicate."); it is now a 301 onto /help. A
       redirect does not belong in a sitemap, because Google treats a non-200
       loc as an error on the file, and the destination is already listed above.
       The five shelves keep their own entries below, which are the pages the
       breadcrumb now climbs to.
       (No double hyphen anywhere in this note: XML forbids it inside a comment,
       and tests/ia-tree.test.js caught exactly that on the first draft.) -->
  <url>
    <loc>https://www.quorum.dog/docs/concepts</loc>
    <lastmod>2026-08-20</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.quorum.dog/docs/guides</loc>
    <lastmod>2026-08-20</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>

  <!-- Quickstart and reference, 2026-08-20. The pages a developer
       arriving from another platform looks for before anything else. -->
  <url>
    <loc>https://www.quorum.dog/docs/guides/quickstart</loc>
    <lastmod>2026-08-20</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.quorum.dog/docs/reference</loc>
    <lastmod>2026-08-20</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://www.quorum.dog/docs/reference/errors</loc>
    <lastmod>2026-08-20</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>

  <!-- Evidence. CLEARED 2026-08-29 (Tom, doc 76 s1.8): the research material
       came off the shelf pending fresh certified runs, so
       /docs/evidence/methodology and /testing came off this map in the same
       commit. THE SHELF ITSELF STAYS. It keeps its URL, its sub-nav slot and
       its door tile, and delisting it would break the crumb ancestor for
       anything filed under it later. Priority dropped from 0.8 to 0.5: 0.8
       was justified by the material a sceptical reader was sent to, and that
       material is not on the page at the moment. Restore both when the runs
       land.

       NOTE FOR WHOEVER EDITS THIS FILE NEXT: a double hyphen is ILLEGAL inside
       an XML comment. The aside convention every other file in this repo uses
       makes this document not well-formed, and nothing visible breaks when it
       does. This comment was written that way on the first pass and only the
       XML parse caught it. -->
  <url>
    <loc>https://www.quorum.dog/docs/evidence</loc>
    <lastmod>2026-08-29</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
  </url>

  <!-- Whitepapers: the section index AND all seven papers.
       This listed the index alone on the first pass, on the argument that a
       sitemap is for entry points and the PDFs already have one. Group 7 of
       tests/ia-tree.test.js refused that, on the rule "every indexable page
       llms.txt links is reachable from the sitemap", and the test is right:
       llms.txt names each paper individually to an LLM client, and advertising
       a URL to one crawler while withholding it from another is exactly the
       contradiction between the two files that the rule exists to catch. A PDF
       is an indexable document, so either both files list them or neither
       does. Lower priority than the index because the index is the entry
       point. -->
  <url>
    <loc>https://www.quorum.dog/docs/whitepapers</loc>
    <lastmod>2026-08-27</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.quorum.dog/docs/whitepapers/excel.pdf</loc>
    <lastmod>2026-08-27</lastmod>
    <changefreq>yearly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://www.quorum.dog/docs/whitepapers/claude-code.pdf</loc>
    <lastmod>2026-08-27</lastmod>
    <changefreq>yearly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://www.quorum.dog/docs/whitepapers/cursor.pdf</loc>
    <lastmod>2026-08-27</lastmod>
    <changefreq>yearly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://www.quorum.dog/docs/whitepapers/vscode.pdf</loc>
    <lastmod>2026-08-27</lastmod>
    <changefreq>yearly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://www.quorum.dog/docs/whitepapers/your-editor.pdf</loc>
    <lastmod>2026-08-27</lastmod>
    <changefreq>yearly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://www.quorum.dog/docs/whitepapers/vibe-coding.pdf</loc>
    <lastmod>2026-08-27</lastmod>
    <changefreq>yearly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://www.quorum.dog/docs/whitepapers/escalation-router.pdf</loc>
    <lastmod>2026-08-27</lastmod>
    <changefreq>yearly</changefreq>
    <priority>0.6</priority>
  </url>

  <!-- The changelog was published here until 2026-08-27. DELETED on Tom's
       ruling ("delete it"), being six days stale and eight commits behind. It
       is removed from the sitemap rather than left pointing at a redirect: a
       sitemap is a list of canonical addresses, and /changelog now 301s to
       /help. The redirect exists precisely because this entry did.
       NOTE ON STYLE: no double hyphen anywhere in this comment. A double
       hyphen inside an XML comment is not well formed, and one instance of it
       (the /pricing note above) made this whole file fail to parse. -->

  <url>
    <loc>https://www.quorum.dog/docs/concepts/deliberation</loc>
    <lastmod>2026-08-20</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://www.quorum.dog/status</loc>
    <lastmod>2026-08-20</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>https://www.quorum.dog/security</loc>
    <lastmod>2026-08-20</lastmod>
    <changefreq>yearly</changefreq>
    <priority>0.5</priority>
  </url>
</urlset>
