<?xml version="1.0" encoding="UTF-8"?>
<!--
  Static sitemap (DWEB-34). Three routes; /content/* is deliberately excluded
  until those documents are meant to rank (and see DWEB-52 — that route has no
  user journey today).

  HAND-MAINTAINED, so every lastmod below decays by construction: it is stale
  the moment its route ships a change without someone editing this file.
  A generated sitemap is IN SCOPE and always was — the v6.0 fence forbids
  buildspec.yml and *.tf, not build steps; build:vector-db and
  prerenderContent.mjs already run from package.json. Since v6.4.7 (DWEB-104)
  the prerender iterates pageSEO in src/config/seo.js and writes one HTML
  file per route, so the <loc> list below COULD come from that loop. It does
  not yet, by decision: a generated lastmod needs a mechanical source (the
  last commit touching the route's component and inputs), and whether the
  clone Amplify builds from is deep enough for `git log` to answer that is
  unmeasured. When it is generated: <loc>s from pageSEO, lastmod derived from
  git or OMITTED — never stamped from the build date (DWEB-111 F4, recorded
  on DWEB-104).

  Until then, each lastmod is the COMMIT DATE of the last change to the
  route's own component or the content it loads. Shared chrome (header,
  footer, consent banner) and head metadata are excluded on purpose: they
  change on every route at once and would move every stamp together, which
  tells a crawler nothing. A change to a route re-stamps it IN THE SAME
  COMMIT; a refactor that leaves the rendered route identical does not
  (v6.4.7 moved /blog's post list and both routes' h1 into config modules
  and changed nothing a visitor or crawler receives at these URLs). Record
  how you know (DWEB-111 F5):
    /                2026-09-03  v6.4.5 (DWEB-117: the TaxMD card and the
                                 Fractional CTO offer summary). Before that
                                 2026-09-02: v6.4.0 (fifth offer, proof
                                 cards), v6.4.1 (TaxMD and Curium cards) and
                                 v6.4.2 (the receptionist price and cap)
    /privacy-policy  2026-08-24  6de24f6 (DWEB-21) replaced the policy DOCX the
                                 page renders, and its fallback; the earlier
                                 08-23 stamp predated that change by a day
    /blog            2026-08-23  Blog.js (a hardcoded post list, no content
                                 fetch) untouched since
-->
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://www.dynamworks.com/</loc>
    <lastmod>2026-09-03</lastmod>
    <changefreq>weekly</changefreq>
    <priority>1.0</priority>
  </url>
  <url>
    <loc>https://www.dynamworks.com/blog</loc>
    <lastmod>2026-08-23</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://www.dynamworks.com/privacy-policy</loc>
    <lastmod>2026-08-24</lastmod>
    <changefreq>yearly</changefreq>
    <priority>0.3</priority>
  </url>
</urlset>
