<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url><loc>https://gala.ltd/</loc><priority>1.0</priority></url>
  <url><loc>https://gala.ltd/services</loc><priority>0.9</priority></url>
  <url><loc>https://gala.ltd/pricing</loc><priority>0.9</priority></url>
  <url><loc>https://gala.ltd/how-it-works</loc><priority>0.8</priority></url>
  <url><loc>https://gala.ltd/faq</loc><priority>0.8</priority></url>
  <url><loc>https://gala.ltd/agentible</loc><priority>0.9</priority></url>
  <url><loc>https://gala.ltd/pt</loc><priority>0.9</priority></url>
  <url><loc>https://gala.ltd/launch</loc><priority>0.5</priority></url>
  <!-- /reference/dental IS NOT HERE AND THAT IS THE FIX, not an omission.
       Measured 21 Oct 2026: it was in this file AND served
       <meta name="robots" content="noindex">, which is a sitemap telling a
       crawler to fetch a page that then tells it not to index — one of the two
       had to go.

       THE noindex IS THE CORRECT ONE. The page is "Northgate Dental", a
       fictitious practice: it carries a full Dentist record with opening
       hours, a named employee and a priced treatment catalogue, and its own
       first line says NOT A REAL PRACTICE. The disclaimer is in the prose and
       in disambiguatingDescription; the @type and the offers are the part an
       assistant lifts and attributes. Submitting that to a crawler asks the
       whole machine-readable web to index a local business that does not
       exist, which is the one thing this house refuses — and it is the same
       reason /model/ and /lab/ are noindex and absent from this file. A worked
       model of a business is not a business.

       So the entry is removed and the page keeps answering 200 to anyone who
       follows a link to it, which is all a reference implementation needs. -->
  <url><loc>https://gala.ltd/terms</loc><priority>0.6</priority></url>
  <!-- THE GATE. /qualify explains what a business brings in order to have a
       Gala — twelve answers about itself, one topic each, good for a year. It
       belongs in search for the same reason the course pages do and the stores
       do not: nothing on it is priced, nothing is sold, and it describes no
       business but ours. It is a static page under public/qualify/, so it has
       no route in server.js, no key in LEARNER and no rewrite in vercel.json —
       the CDN serves it, and this row is the only thing that points at it. -->
  <url><loc>https://gala.ltd/qualify</loc><priority>0.9</priority></url>
  <!-- THE MISSION. /mission/ is why a business should do this today, written
       once and addressed from the customer's side: somebody asked an
       assistant, it answered with one name, and it picked the business whose
       page said the price. It belongs in search for the same reasons /qualify
       does — nothing on it is priced, nothing is sold, and the only business
       it describes is ours. Every figure on it is somebody else's, dated in
       the sentence that quotes it, and no business is named.

       IT IS GENERATED from ops/MISSION.md by ops/mission-pages.mjs, and it is
       a static file under public/mission/, so it has no route in server.js, no
       key in LEARNER and no rewrite in vercel.json — the CDN serves it and
       this url row is one of the two things that point at it. The other is
       /qualify/, which is itself in this file, because a page reachable only
       by sitemap is a page with no standing.

       THE TRAILING SLASH MATCHES THE PAGE'S OWN rel=canonical, as it does for
       the /for/ family above. /qualify has no slash here and declares no
       canonical at all, so the two cannot disagree; this one declares one, so
       they have to agree and `node ops/for-reach.mjs` checks that they do.

       ELEVEN MORE PAGES ARE WRITTEN AND ARE NOT HERE, which is deliberate
       and is not an omission. This said TWELVE until 24 Oct 2026, when Victor
       decided the first of the addresses. The same mission is written at each
       of twelve lines of work, and the address a page of that kind should have
       is his decision rather than a derivation: an American clinic says
       physical therapy and never physio, so taking the address from the
       register's own filing id would publish pages at words their audiences do
       not use. A url row for a page that does not answer is worse than no row,
       so they arrive here when the address does — see db/mission-slugs.sql,
       and the generator refuses to emit an address it was not given.

       ALL TWELVE ADDRESSES WERE DECIDED ON 31 Oct 2026 and the eleven essays
       are in their own block at the end of this file, at <name>-mission. The
       thirteenth, stay-events, is deliberately absent and always will be
       until somebody finds an American word that covers a hotel and a wedding
       planner; seating one to make thirteen close would be a chosen number
       dressed as a counted one.

       THE ROW BELOW IS NO LONGER THE ESSAY, and the comment it used to carry
       said it was. Victor, 31 Oct 2026: *"the archmarket address should be the
       stage"*, then *"the stage is the level-1 family"*. So gala.ltd/real-estate
       is a nine-canvas stage with the course rung in its bottom-right cell,
       the essay that was at this address moved to /real-estate-mission/ with
       its prose byte-identical, and this row kept its place because the
       address did not change — only what answers at it. A url row is an
       address and not a page kind. -->
  <url><loc>https://gala.ltd/mission/</loc><priority>0.9</priority></url>
  <url><loc>https://gala.ltd/real-estate/</loc><priority>0.8</priority></url>
  <!-- HOW IT WORKS, FOR A BUSINESS. The fourth of a set: /mission/ says why,
       /qualify/ says what a business brings, /for/ says what it already has,
       and /how/ says how the thing actually works — the six steps from a
       sentence an owner writes to the answer an assistant gives, with what is
       not finished named in the page rather than left to be found.

       IT IS NOT /how-it-works, WHICH IS ALREADY IN THIS FILE ABOVE AND IS A
       DIFFERENT PRODUCT'S PAGE. That one is the ninety-day school season —
       thirty minutes a day, a film, an appointment rather than a binge.
       Publishing a business mechanism there, or at anything one letter from
       it, would put two products behind one promise. Hence /how/, a sibling of
       the other three rather than a near-miss of a fourth.

       GENERATED from ops/HOW-A-GALA-WORKS.md and ops/how/<line of work>.md by
       ops/how-pages.mjs, and a static file under public/how/ — so no route in
       server.js, no key in LEARNER and no rewrite in vercel.json. Nothing on
       it is priced. Every measured figure in it is dated and re-countable, and
       the figures are published again as a Dataset so nothing has to be lifted
       out of the prose.

       THE PER-TRADE PAGES SHARE THE MISSION FAMILY'S ADDRESS COLUMN rather
       than having one of their own, because a line of work has ONE public
       name and a second register of the same names is a second place for them
       to drift. One is decided, so one is here; twelve are waiting on a word
       and the generator throws rather than guessing. -->
  <url><loc>https://gala.ltd/how/</loc><priority>0.9</priority></url>
  <url><loc>https://gala.ltd/real-estate-how/</loc><priority>0.8</priority></url>
  <!-- THE /for/ FAMILY — one flat namespace of things a business already has.
       Four platform pages plus the page that compares them. Each is a static
       file under public/for/, each carries WebPage + Dataset + FAQPage, each
       names no business and no amount, and no script runs on any of them.

       THEY WERE BUILT, INDEXABLE AND UNREACHABLE, which is why this block
       exists. Counted on production 21 Oct 2026, with controls that had to
       hit: 21 url rows here, /qualify present once and /cbse six times,
       /for/ present ZERO times — and zero links to any /for/ page from /,
       from /qualify/ or from /agentible, against 3 href= on /qualify/ as the
       control that the sweep could look. A page written to be found, carrying
       a Dataset and a FAQPage, that appears in no sitemap and is linked from
       nothing we publish, is the empty badge we keep measuring other people
       shipping.

       A /for/ PAGE IS FINISHED WHEN IT IS THREE THINGS, and this row is only
       the second of them:
         1. served          — public/for/<slug>/index.html answers 200
         2. in this file    — a url row, below
         3. linked from a page that is ITSELF in this file — /qualify/ carries
                              the four, in its "what you get for it" section
       A page reachable only by sitemap is a page with no standing, so (3) is
       not a nicety. Prove all three with a fetch rather than an exit code:
       `node ops/for-reach.mjs` counts them, with a control beside each,
       because a grep for /for/ that returns zero and a grep that could not
       open this file are byte-identical results.

       NOTHING IN A COMMENT HERE WRITES THE loc TAG OUT IN FULL, which looks
       like fussiness and is not. Every sweep that asks "how many addresses
       does this file publish" greps for the tag, and three mentions of it in
       prose made that count 28 against a real 25 the first time it was run on
       production. An XML parser is unaffected; every instrument built out of
       grep is. Say "url row" in prose and the two agree.

       THE TRAILING SLASH IS NOT COSMETIC. Every one of these pages declares
       its own rel=canonical with the slash on, so a url row without one would
       put this file and the page in disagreement about its address.

       THE SLUG IS NEVER TYPED FOR A TRADE PAGE. These four are platforms and
       have no register row. A trade page's slug lives once on
       agentible.niches.public_slug (db/for-slugs.sql) and reaches code through
       the generated module webmcp/for-slugs.js — niche_id `physiotherapy`,
       address `/physical-therapy/`, because an American physical
       therapist never says physiotherapy and a URL is a page a searcher either
       reaches or does not.

       THAT ADDRESS READ `/for/physical-therapy/` UNTIL 31 Oct 2026 AND WAS
       STALE FROM 26 Oct, when Victor set the scheme as "gala.ltd/landing-page-
       name. That's it." and the four platform pages moved out of public/for/.
       Corrected in the same edit that published the first trade page at the
       flat address, because a comment that contradicts the row beneath it is
       the version the next reader believes. -->
  <url><loc>https://gala.ltd/for/</loc><priority>0.9</priority></url>
  <url><loc>https://gala.ltd/etsy/</loc><priority>0.8</priority></url>
  <url><loc>https://gala.ltd/instagram/</loc><priority>0.8</priority></url>
  <url><loc>https://gala.ltd/pinterest/</loc><priority>0.8</priority></url>
  <url><loc>https://gala.ltd/gbp/</loc><priority>0.8</priority></url>
<!-- THE TRADE PAGES BEGIN — generated by ops/trade-pages.mjs -->
  <!-- ONE BUSINESS LANDING PAGE PER TRADE, nine canvases, the twelve-chapter
       course behind it, and the price in the bottom-right cell. The /for/
       family's TRADE half: the four rows above are platforms with no register
       row, and these are trades, whose address is a decision recorded once on
       agentible.niches.public_slug and never typed.

       ONE ROW, AND FIFTY-SIX PAGES THAT CANNOT BE BUILT. Counted 31 Oct 2026:
       the register holds 57 trades and 1 has a public name decided, so
       forSlug() throws on 56 and the generator reports a refusal rather than
       publishing a plausible slug. The other 56 arrive here the day the words
       do, by re-running the generator — #244 is therefore 56 DECISIONS AND A
       RE-RUN rather than 56 pages of work.

       A url row for a page that does not answer is worse than no row, which
       is why nothing below is written by hand. -->
  <url><loc>https://gala.ltd/physical-therapy/</loc><priority>0.8</priority></url>
  <!-- THE TRADE PAGES END -->
  <!-- THE SCHOOL COURSES. Measured 8 Oct 2026: seven board pages and
       thirty-nine subject readers were live, public and carried no noindex,
       and this file named none of them - the strings cbse, ssc and grade
       appeared zero times in it, in llms.txt and in agents.md, while a
       control string known to be in all three did hit, so the sweep is known
       to have looked. They are learning pages with nothing priced on them,
       so unlike the stores they belong in search.
       THE SEVEN LEVELS ARE LISTED AND THE THIRTY-NINE SUBJECTS ARE NOT, and
       that is not an oversight. These seven already exist as seven
       hand-written rewrite groups in webmcp/vercel.json, so naming them here
       is the same decision written down twice rather than a new list. The
       subject readers are served by ONE wildcard rewrite over whatever the
       register holds - 36 CBSE and 21 SSC counted 21 Oct 2026, which was 3 SSC
       a fortnight ago - so writing the fifty-seven out here would be a second
       list of a figure that moves, which is the
       one thing invariant 0 forbids. They are named as a pattern in
       /agents.md and in /llms.txt, and /api/shelf enumerates every one of
       them with its path, counted per request. -->
  <url><loc>https://gala.ltd/cbse/grade-7</loc><priority>0.8</priority></url>
  <url><loc>https://gala.ltd/cbse/grade-8</loc><priority>0.8</priority></url>
  <url><loc>https://gala.ltd/cbse/grade-9</loc><priority>0.8</priority></url>
  <url><loc>https://gala.ltd/cbse/grade-10</loc><priority>0.8</priority></url>
  <url><loc>https://gala.ltd/cbse/grade-11</loc><priority>0.8</priority></url>
  <url><loc>https://gala.ltd/cbse/grade-12</loc><priority>0.8</priority></url>
  <url><loc>https://gala.ltd/ssc/class-7</loc><priority>0.8</priority></url>
  <url><loc>https://gala.ltd/ssc/class-8</loc><priority>0.8</priority></url>
  <url><loc>https://gala.ltd/ssc/class-9</loc><priority>0.8</priority></url>
  <url><loc>https://gala.ltd/ssc/class-10</loc><priority>0.8</priority></url>
<!-- SCHOOL COURSE PAGES BEGIN — generated by ops/school-pages.mjs -->
  <!-- ONE ADDRESS PER SCHOOL COURSE PER LANGUAGE, and the count below is the
       reason this block is generated rather than typed. 57 courses in the
       register times the languages each publishes is 114 pages; 94 of them
       belong to a course with at least one written topic and are submitted
       here. The other 20 are served, linked from the hub, carry
       noindex and have no row — the 10 courses they belong to are registered
       slots with no headings, and a row for a page with nothing on it asks a
       crawler to fetch what a searcher was not looking for. They arrive here
       the day their headings do, by re-running ops/school-pages.mjs.

       THE TRAILING SLASH IS NOT COSMETIC: every page declares its own
       rel=canonical with the slash on, and node ops/for-reach.mjs checks that
       what a page calls itself is what this file publishes.

       A LANGUAGE HAS AN ADDRESS HERE AND NOWHERE ELSE. On the board pages
       language is a query string on an address whose canonical is bare, so
       Hindi and Telugu could not be indexed as themselves until these. -->
  <url><loc>https://gala.ltd/courses/</loc><priority>0.9</priority></url>
  <url><loc>https://gala.ltd/courses/cbse-grade-10-economics/en/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/courses/cbse-grade-10-economics/hi/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/courses/cbse-grade-10-geography/en/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/courses/cbse-grade-10-geography/hi/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/courses/cbse-grade-10-health-and-fitness/en/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/courses/cbse-grade-10-health-and-fitness/hi/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/courses/cbse-grade-10-history/en/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/courses/cbse-grade-10-history/hi/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/courses/cbse-grade-10-politics/en/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/courses/cbse-grade-10-politics/hi/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/courses/cbse-grade-10-science/en/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/courses/cbse-grade-10-science/hi/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/courses/cbse-grade-11-biology/en/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/courses/cbse-grade-11-biology/hi/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/courses/cbse-grade-11-biotechnology/en/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/courses/cbse-grade-11-biotechnology/hi/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/courses/cbse-grade-11-business-studies/en/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/courses/cbse-grade-11-business-studies/hi/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/courses/cbse-grade-11-chemistry/en/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/courses/cbse-grade-11-chemistry/hi/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/courses/cbse-grade-11-economics/en/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/courses/cbse-grade-11-economics/hi/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/courses/cbse-grade-11-english/en/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/courses/cbse-grade-11-english/hi/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/courses/cbse-grade-12-biology/en/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/courses/cbse-grade-12-biology/hi/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/courses/cbse-grade-12-biotechnology/en/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/courses/cbse-grade-12-biotechnology/hi/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/courses/cbse-grade-12-chemistry/en/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/courses/cbse-grade-12-chemistry/hi/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/courses/cbse-grade-12-english/en/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/courses/cbse-grade-12-english/hi/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/courses/cbse-grade-12-physics/en/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/courses/cbse-grade-12-physics/hi/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/courses/cbse-grade-12-psychology/en/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/courses/cbse-grade-12-psychology/hi/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/courses/cbse-grade-7-arts/en/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/courses/cbse-grade-7-arts/hi/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/courses/cbse-grade-7-english/en/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/courses/cbse-grade-7-english/hi/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/courses/cbse-grade-7-health-physical-education/en/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/courses/cbse-grade-7-health-physical-education/hi/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/courses/cbse-grade-7-mathematics/en/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/courses/cbse-grade-7-mathematics/hi/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/courses/cbse-grade-7-science/en/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/courses/cbse-grade-7-science/hi/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/courses/cbse-grade-7-social-science/en/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/courses/cbse-grade-7-social-science/hi/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/courses/cbse-grade-8-arts/en/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/courses/cbse-grade-8-arts/hi/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/courses/cbse-grade-8-english/en/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/courses/cbse-grade-8-english/hi/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/courses/cbse-grade-8-health-physical-education/en/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/courses/cbse-grade-8-health-physical-education/hi/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/courses/cbse-grade-8-mathematics/en/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/courses/cbse-grade-8-mathematics/hi/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/courses/cbse-grade-8-science/en/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/courses/cbse-grade-8-science/hi/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/courses/cbse-grade-8-social-science/en/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/courses/cbse-grade-8-social-science/hi/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/courses/cbse-grade-9-english/en/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/courses/cbse-grade-9-english/hi/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/courses/cbse-grade-9-health-physical-education/en/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/courses/cbse-grade-9-health-physical-education/hi/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/courses/cbse-grade-9-ict/en/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/courses/cbse-grade-9-ict/hi/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/courses/cbse-grade-9-mathematics/en/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/courses/cbse-grade-9-mathematics/hi/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/courses/cbse-grade-9-science/en/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/courses/cbse-grade-9-science/hi/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/courses/cbse-grade-9-social-sciences/en/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/courses/cbse-grade-9-social-sciences/hi/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/courses/ssc-class-10-biology/en/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/courses/ssc-class-10-biology/te/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/courses/ssc-class-10-mathematics/en/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/courses/ssc-class-10-mathematics/te/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/courses/ssc-class-10-science/en/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/courses/ssc-class-10-science/te/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/courses/ssc-class-10-social-studies/en/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/courses/ssc-class-10-social-studies/te/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/courses/ssc-class-7-mathematics/en/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/courses/ssc-class-7-mathematics/te/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/courses/ssc-class-7-science/en/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/courses/ssc-class-7-science/te/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/courses/ssc-class-8-mathematics/en/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/courses/ssc-class-8-mathematics/te/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/courses/ssc-class-9-biology/en/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/courses/ssc-class-9-biology/te/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/courses/ssc-class-9-english/en/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/courses/ssc-class-9-english/te/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/courses/ssc-class-9-mathematics/en/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/courses/ssc-class-9-mathematics/te/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/courses/ssc-class-9-science/en/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/courses/ssc-class-9-science/te/</loc><priority>0.7</priority></url>
  <!-- SCHOOL COURSE PAGES END -->
<!-- THE TWELVE QUESTIONS BEGIN — generated by ops/front-pages.mjs -->
  <!-- ONE ADDRESS PER QUESTION PER KIND OF BUSINESS, and the counts below are
       the reason this block is generated rather than typed. 156 documents are
       written — 13 kinds of business times the 12 questions — and 12 of them
       have an address, because 1 of the 13 lines of work has a public name
       decided. The other 144 are written, read back clean, and have nowhere to
       go; they arrive here the day the word does, by re-running the generator.
       A url row for a page that does not answer is worse than no row.

       THE ADDRESS IS NEVER TYPED. It is the line of work's own public name on
       agentible.archmarkets.public_slug, the same column /mission/ and /how/
       read, plus the question's customer-facing name. The register files this
       one as property and its customers say real estate, so the pages are at
       the second word and nothing is published at the first.

       THE TRAILING SLASH IS NOT COSMETIC: every page declares its own
       rel=canonical with the slash on, and node ops/for-reach.mjs checks that
       what a page calls itself is what this file publishes. -->
  <url><loc>https://gala.ltd/questions/</loc><priority>0.9</priority></url>
  <url><loc>https://gala.ltd/real-estate-questions/</loc><priority>0.8</priority></url>
  <url><loc>https://gala.ltd/real-estate-findability/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/real-estate-qualifiability/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/real-estate-bookability/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/real-estate-predictability/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/real-estate-visibility/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/real-estate-automability/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/real-estate-memory/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/real-estate-continuity/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/real-estate-reachability/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/real-estate-countability/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/real-estate-answerability/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/real-estate-learnability/</loc><priority>0.7</priority></url>
  <!-- THE TWELVE QUESTIONS END -->
<!-- THE COURSE PAGES BEGIN — generated by ops/course-pages.mjs -->
  <!-- THE TWO COURSE ADDRESSES. Both are the url the catalogue already names
       for a rung in webmcp/public/p/products.json, and both answered 404 until
       31 Oct 2026 — a price with a dead address behind it, which is worse than
       no price because the page looks finished. The rows are generated from the
       catalogue, so a rung that moves takes its row with it.

       Nothing on either page is a duration or a chapter count the catalogue
       does not hold. The twelve-chapter course Victor described is not a row
       here yet, and a url row for a product that does not exist is the defect
       one level along.

       THE TRAILING SLASH IS NOT COSMETIC: each page declares its own canonical
       with the slash on, and node ops/for-reach.mjs checks that what a page
       calls itself is what this file publishes. -->
  <url><loc>https://gala.ltd/course/</loc><priority>0.8</priority></url>
  <url><loc>https://gala.ltd/course/90/</loc><priority>0.8</priority></url>
  <!-- THE COURSE PAGES END -->
<!-- THE STAGES BEGIN — generated by ops/trade-pages.mjs -->
  <!-- ONE NINE-CANVAS STAGE PER LINE OF WORK, at the bare public word, which
       Victor made the level-1 family on 31 Oct 2026: *"no /for/physical-therapy
       style. It should be gala.ltd/[archmarket]"*, *"the archmarket address
       should be the stage"*, *"the stage is the level-1 family"*. Twelve of
       thirteen; the thirteenth has no decided public name and the generator
       throws rather than publishing our own filing id at it.

       /real-estate/ IS NOT IN THIS BLOCK. It already had a row further up,
       from when the essay held that address, and the row did not need to move
       because a url row is an address rather than a page kind. Twelve stages,
       eleven rows here.

       EACH ONE IS LINKED FROM /mission/, which is itself in this file. That is
       the third of the three parts and it was the missing one: every stage was
       served and pointed at by nothing until the hub was taught to link them,
       which is the state four correct /for/ pages sat in on 21 Oct 2026.

       NOT CHECKED BY ops/for-reach.mjs, AND THAT IS WORTH KNOWING BEFORE
       TRUSTING A GREEN RUN. That instrument walks the families it imports —
       for, mission, how, questions, course, courses — and the stage family is
       not one of them, so it neither counts these rows nor fetches these
       pages. A run reporting zero failures says nothing about the eleven rows
       below. -->
  <url><loc>https://gala.ltd/accountants/</loc><priority>0.8</priority></url>
  <url><loc>https://gala.ltd/auto-repair/</loc><priority>0.8</priority></url>
  <url><loc>https://gala.ltd/salons/</loc><priority>0.8</priority></url>
  <url><loc>https://gala.ltd/dentists/</loc><priority>0.8</priority></url>
  <url><loc>https://gala.ltd/fitness/</loc><priority>0.8</priority></url>
  <url><loc>https://gala.ltd/hospitality/</loc><priority>0.8</priority></url>
  <url><loc>https://gala.ltd/law-firms/</loc><priority>0.8</priority></url>
  <url><loc>https://gala.ltd/makers/</loc><priority>0.8</priority></url>
  <url><loc>https://gala.ltd/physical-therapists/</loc><priority>0.8</priority></url>
  <url><loc>https://gala.ltd/contractors/</loc><priority>0.8</priority></url>
  <url><loc>https://gala.ltd/veterinarians/</loc><priority>0.8</priority></url>
  <!-- THE STAGES END -->
<!-- THE LINE-OF-WORK ESSAYS BEGIN — generated by ops/mission-pages.mjs -->
  <!-- THE SAME MISSION WRITTEN AT ONE LINE OF WORK, at the public word plus
       this family's own suffix — a sibling of <name>-how and <name>-questions,
       which are already in this file, and flat, per Victor's 26 Oct scheme.
       They were at the bare word until 31 Oct and gave it up to the stage.

       ELEVEN, NOT TWELVE, and the one missing is `makers`: it has a decided
       address and a stage and no document written, so there is nothing to
       publish here. Two facts with two different fixes, and the hub names it
       rather than hiding it. -->
  <url><loc>https://gala.ltd/accountants-mission/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/auto-repair-mission/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/salons-mission/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/dentists-mission/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/fitness-mission/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/hospitality-mission/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/law-firms-mission/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/physical-therapists-mission/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/real-estate-mission/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/contractors-mission/</loc><priority>0.7</priority></url>
  <url><loc>https://gala.ltd/veterinarians-mission/</loc><priority>0.7</priority></url>
  <!-- THE LINE-OF-WORK ESSAYS END -->
</urlset>
