Skip to content

sitemap.xml stamps the build date as lastmod on all 53 pages, up to 4.5 months of freshness the pages do not have #181

Closed

Description

@ChelseaKR

Measured by fetching https://sprout.chelseakr.com/sitemap.xml and the pages it lists on 2026-09-13.

All 53 of 53 sitemap entries carry the same <lastmod>: 2026-09-13. That is today — the date the docs were built. Tomorrow's build will say tomorrow, on all 53, whether or not a single page changed.

The pages themselves carry their own dates, and they do not agree:

URL sitemap lastmod newest date visible on the page
/ADAPT/ 2026-09-13 2026-05-01
/ARCHITECTURE/ 2026-09-13 2026-06-22
/PUBLICATION-READINESS/ 2026-09-13 2026-08-16
/RESEARCH-ROADMAP/ 2026-09-13 2026-07-16
/RESPONSIBLE-TECH-AUDITS/ 2026-09-13 2026-07-12

A document last touched on 2026-05-01 is advertising itself as modified today — four and a half months of freshness it does not have.

lastmod is the one field in a sitemap that makes a factual claim about the content. Here it is a claim about the CI runner. It is the same class of defect as an "absence rendered as a value": a value is being published where the real answer is "we did not measure this per page".

Two ways to fix it

  1. Derive it per page. mkdocs can emit a real per-page modification date (mkdocs-git-revision-date-localized-plugin, or a post-build step that reads git log -1 --format=%cI -- <source> for each page's source file). gtfs-scorecard already does the honest version of this — a spot check of six of its agency pages found lastmod 2026-09-13 matching the "checked 2026-09-13" printed on each page.
  2. Drop lastmod entirely. A sitemap with no lastmod is valid and says nothing false. Four other sitemaps in this portfolio omit it. Absent beats wrong.

Either is an improvement. Keeping the build date is the only option that publishes something untrue.

No source change is proposed here and no PR is open; this is a report of what the live host returns.

Prepared with AI assistance; reviewed before submission.

Activity

  1. ChelseaKR commented on Sep 13, 2026

    @ChelseaKR
    OwnerAuthor

    Premise re-verified: real, still live, and already claimed by #182

    Checked independently today from a clean worktree off origin/main (dc85850) with a fresh venv, and against the deployed file.

    • At source, mkdocs build --strict on main writes site/sitemap.xml with 53 <loc>, 53 <lastmod>, all 2026-09-13.
    • Live, https://sprout.chelseakr.com/sitemap.xml returns the same: 53 of 53 entries reading 2026-09-13.

    #182 is open and closes this, and it reproduces exactly: 52 URLs with a defensible lastmod / 53 URLs examinable, across 16 distinct days from 2026-06-22 to 2026-09-07, none of them the build's own date; the single omission is the site root, deliberately. Its headline negative control was re-run from scratch here and fires — removing theme_overrides/sitemap.xml aborts the build under --strict and names the build date it would otherwise have published on all 53. The detail is in a comment on that PR.

    No second branch was opened. This stays open until #182 merges, which will close it.

    Prepared with AI assistance; reviewed before submission.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions