step: Implement the surface additively

detail: Add the page or export without removing or renaming any existing field; no scraping, jobs, runtime APIs, auth, or DB writes.

category: build


step: Register the route

detail: Add the path to the route catalog and the appropriate sitemap so it is discoverable and reconciled.


step: Source and label every figure

detail: Each number carries a sourceId and confidence; live figures carry as-of and last-reviewed dates; sample rows are labeled illustrative.


step: Advertise one new export field

detail: Add exactly one new top-level field to the dataset export so the version diff reports a real field delta.

category: version


step: Bump the export version

detail: Increment DATASET_EXPORT_VERSION by one minor; never reuse or rewrite a released version.


step: Append to the snapshot ladder

detail: Record the release with its addedFields, counts, and graph totals (append-only; past releases are never edited).


step: Freeze a byte-stable payload

detail: Commit the complete export under payloads/<version>.json, served verbatim at the versioned data.json route.


step: Add a focused test

detail: Write a test for the new surface and append it to npm run audit:data.

category: verify


step: Run the full validation

detail: Run lint, tests, build, and audit:data; all must pass before the release is committed.


step: Reconcile the catalog

detail: Confirm every advertised path resolves to a real route and the no-overclaim audit passes.


step: Confirm honest framing

detail: No fabricated data, no real-time or complete-coverage claims, no causal overclaims; associative language only.


step: Commit the release

detail: Commit separately with a concise message describing the additive change and the new field.

category: ship