History & errata
Distinguish what was printed, what the API served and when the archive recorded it.
Four printing statuses
printed_as_current is a nullable boolean. Render its meaning together with released_at.
| Value | Release date | Display |
|---|---|---|
true | Any | Current: printed values match the current face. |
false | Any | Older values: the printing carries an earlier face. |
null | Present | No card text: a textless printing, so comparison does not apply. |
null | Absent | Unknown: the undated printing cannot be placed in history. |
Unknown remains a supported case even when a release contains no examples. Never turn both null states into a yes/no badge.
Two sources, different dates
Each gameplay history row contains a face, an optional back face, valid_from, nullable valid_to, and source.
source: "api": label its starting date “Recorded on”. This is the sync that observed the values, not necessarily the publisher’s change date.source: "card": label it “Read from the printed card”. A maintainer transcribed an earlier face the official API never served. The range begins at the first release displaying it.
Schema 11 introduced source labels. Older rows without a source are treated as API observations. An initial API row stands for the period before the registry began recording. A null ending date means the row remains open.
Compare a printing with the current card
- Resolve its card using
codex_id. - Read the printing’s status before attempting a comparison. A textless or undated printing needs an explanation, not a fabricated diff.
- For an older dated printing, sort the card history by
valid_fromand select the last row starting on or beforereleased_at. If the date predates every row, use the earliest record, following the archive’s initial-record convention. - Compare all gameplay fields, including the back face where present. Consult name history separately when names differ.
Present differences without losing evidence
Keep the original values and line breaks. Label previous and updated blocks explicitly so the meaning does not depend on red and green alone. A comparison between successive historical rows is not necessarily a comparison with today’s face.
The errata card flag records that text or stats changed after printing. It is distinct from the number of recorded history transitions. Do not assume a card without a stored earlier face has no errata.
Reference: registry API contract and published object definitions. Report a data or documentation issue.