Bulk name+lastmod feed of search-indexable skills (sitemap source)
The frontend app/sitemap.ts walks this feed to build sitemap.xml.
Membership uses the SAME predicate as the detail payload’s indexable
field (skill_seo.skill_is_indexable) — a page is in the sitemap if and
only if it is index-eligible, so the noindex meta tag and sitemap
membership can never disagree (scorecard design 2026-07-21 §3a).
The SQL narrows to clean public candidates; the exact predicate (which
needs the honesty-gated benchmark summary) runs in Python over each page
via the same _bulk_benchmark_summary the detail endpoint uses. lastmod
is the freshest of measurement date / upstream sync / creation —
measurement recency is the real freshness signal for a scorecard.