Jump to a problem, path or page
Jump to a problem, path or page
01 · Develop the design
Register canonical immutable schema documents with explicit subject/version relationships and a restricted reader/writer compatibility model. Atomic version-checked registration prevents concurrent changes bypassing policy.
Stage 1
Restrict the language first
This exercise supports named primitive fields, required/optional markers and explicit defaults, with readers ignoring unknown fields. It does not claim to implement every real serialization format.
Stage 2
Test both directions
New-reader/old-writer and old-reader/new-writer checks answer different rollout questions. State whether comparison is to latest or all retained versions.
Stage 3
Make registration race safe
Two writers can pass checks against the same old version. Recheck expected subject version when committing the new immutable schema.
02 · Work through the method
03 · Justify the choices
What does backward compatibility mean in this exercise?
The new reader can read data from the selected older writer schemas
Compatibility direction describes a reader/writer relationship, not an undirected similarity measure.
How should a new required field without a default affect old data?
Reject backward compatibility under this record-language policy
An old payload cannot provide a required field that the new reader cannot default.
How should event payloads identify their contract?
Carry an immutable registered schema ID
A consumer must resolve the exact writer schema rather than whichever version is current.
04 · Plan the evidence