Every additive release follows the same 12-step checklist: build the surface additively and source every figure, advertise exactly one new export field and freeze a byte-stable versioned payload, run the full validation and reconcile the catalog, then commit. The checklist guarantees each version is additive, byte-stable, and backward-compatible.
- 12 ordered steps across build, version, verify, and ship.
- One new field per release; payloads are frozen byte-for-byte.
- Machine-readable at /methodology/release-checklist/data.json.
Build
- Implement the surface additively. Add the page or export without removing or renaming any existing field; no scraping, jobs, runtime APIs, auth, or DB writes.
- Register the route. Add the path to the route catalog and the appropriate sitemap so it is discoverable and reconciled.
- Source and label every figure. Each number carries a sourceId and confidence; live figures carry as-of and last-reviewed dates; sample rows are labeled illustrative.
Version & freeze
- Advertise one new export field. Add exactly one new top-level field to the dataset export so the version diff reports a real field delta.
- Bump the export version. Increment DATASET_EXPORT_VERSION by one minor; never reuse or rewrite a released version.
- Append to the snapshot ladder. Record the release with its addedFields, counts, and graph totals (append-only; past releases are never edited).
- Freeze a byte-stable payload. Commit the complete export under payloads/<version>.json, served verbatim at the versioned data.json route.
Verify
- Add a focused test. Write a test for the new surface and append it to npm run audit:data.
- Run the full validation. Run lint, tests, build, and audit:data; all must pass before the release is committed.
- Reconcile the catalog. Confirm every advertised path resolves to a real route and the no-overclaim audit passes.
- Confirm honest framing. No fabricated data, no real-time or complete-coverage claims, no causal overclaims; associative language only.
Ship
- Commit the release. Commit separately with a concise message describing the additive change and the new field.
Related
Lifecycle: /methodology/resource-lifecycle · compatibility: /contract/compatibility · changelog: /developers/changelog.