Warconomy treats identifiers and paths as a contract. Source ids, observation ids, record keys, version pins, and route paths are durable and additive — they are never renamed or reused — so a bookmarked id or a pinned version keeps resolving. Only the data behind an id is maintained over time; the address is stable.
- Stable: source ids, observation ids, record keys, version pins, route paths.
- Maintained: values, as-of dates, review dates.
- See also /contract/compatibility.
Source ids
Each source has a stable id (e.g. eia-brent) used in /sources/{id}, /sources/{id}/data.json, and as the sourceId on every observation and fact. Ids are never reused for a different source.
Observation ids
Each observation has a stable id used in /indicators/{id} and /indicators/{id}/data.json and referenced by record history. The id persists across versions even as the value's as-of and review dates change.
Record keys
The record-history system keys every record as type--id (e.g. source--eia-brent, observation--obs-brent-2026-05), giving each record a single durable address at /records/{recordKey}.
Version pins
Every materialized export version has a frozen, byte-stable payload at /datasets/conflict-economic-impact/versions/{version}/data.json. Pinning a version freezes the exact bytes you depend on.
Route paths
Public route paths are stable and additive. New surfaces are added; existing paths are not renamed or repurposed, so deep links remain valid.
What is not guaranteed
Values, as-of dates, and review dates update over time (that is the point of a living dataset). Identity and addressing are stable; the data they point to is maintained. Sample rows remain labeled and must not be cited.
More
Compatibility policy: /contract/compatibility · record history: /records · version registry: versions.