Open World Format

Versioning policy

The compatibility contract, written as policy from lessons already paid for in the format’s lineage.

Two versions, two jobs

Rules

  1. Minor schema versions add optional fields. A reader of version N reads version N-1 worlds and skips fields it doesn’t know (must-ignore).
  2. Major schema versions may restructure, but must not silently drop data. The lineage’s schema 2→3 bump exists precisely because a version-2 reader silently lost instanced parts and triggers; the fix was the bump, so old readers refuse rather than lie. When meaning changes, bump — a reader that would misrepresent a world must fail loudly.
  3. Log formats evolve additively. New op kinds fold to nothing for old readers; old files parse under new readers forever. A log line that can’t be parsed loses at most itself.
  4. Conformance worlds are versioned with the schema. An implementation claiming version N passes version N’s suite. The suite is the definition of “renders correctly”; prose is the explanation.

What implementers may rely on