Consumer contract

Compatibility policy

How Warconomy's dataset contract evolves: additive, backward-compatible changes under semantic versioning. New fields are only ever added — never removed or repurposed — identifiers and paths are stable, and every materialized version is frozen byte-for-byte so a pinned consumer keeps working. Partial coverage, not real-time.

static reference · data June 5, 2026

Warconomy's dataset contract only grows. Each version adds fields and surfaces under semantic versioning; it never removes or repurposes what is already there. Identifiers and paths are stable, and every materialized version is frozen byte-for-byte, so a consumer that pins a version keeps working indefinitely. Breaking changes would require a major version bump, which has not been issued.

  • Current version: v1.187.0 — additive minor bumps only.
  • Pin a frozen version for byte-stable reproducibility.
  • Field additions per version: /developers/changelog.

Additive only

New top-level export fields and new surfaces are added over time; existing fields are never removed, renamed, or repurposed. A consumer written against an older version keeps reading the same fields.

Semantic versioning

The export version is bumped one minor per contract change. Minor bumps are additive and backward-compatible. A major bump would signal a breaking change — none has been issued.

Stable identifiers and paths

Observation, source, series, and record identifiers are stable, and route/endpoint paths are stable. New data is referenced by id and path so existing references never break.

Frozen version payloads

Every materialized version is captured as a complete, byte-stable payload and served verbatim at its versioned data.json. Pin a version and its bytes will not change underneath you.

No silent data changes

Record counts have been stable across the materialized range, so contract changes are additive shape changes, not value changes. Content/editorial changes are tracked separately in the change log.

Honest unavailability

Where a derived surface cannot be reconstructed for an older version, it is marked unavailable rather than fabricated. Historical data is never invented to fill a gap.

How to depend on it safely

Pin a version from the version registry, validate against the surface schemas, verify bytes with checksums.json, and watch the contract changelog for additions. All surfaces are linked from the consumer-contract hub.

Related Warconomy pages