Skip to content

6.13.2.20 RecordRevision

6.13.2.20.1 Purpose

Revision metadata carried by evidence, resolutions, periods and identity decisions: the chain a record belongs to, its revision number, and the writes that made it available and replaced it.

6.13.2.20.2 Fields

Field Type Cardinality Description
logical_record_id string (uuid) 1..1
revision_number integer 1..1
available_in WriteCommit 1..1 The write that made this revision available. Its committed_at is the readable clock; cutoffs use the write number, because two concurrent writes can become visible in a different order than their timestamps.
replaced_in WriteCommit 0..1 Written once, by the write that appends the next revision of the same logical record: an index for as-of range queries, not payload. Empty on the current revision.

6.13.2.20.3 Relationships

References

Used by

6.13.2.20.4 Rules & constraints

  • Inline metadata on evidence, resolution, periods, samples/material and identity decisions.
  • Parent id identifies one immutable payload revision; logical_record_id groups the chain, revision_number increases.
  • The previous revision has the same logical_record_id and revision_number - 1; one current head per logical record.
  • Which parse job, sync run or app user wrote a revision is read from its available_in write (WriteCommit.parse_job, WriteCommit.sync_run, WriteCommit.user); it is not copied here, because copies can disagree.
  • A correction, cancellation, reinstatement or changed decision appends a revision; do not overwrite old payload/status.
  • The next revision is found by replaced_in; it is not stored on the earlier revision, for the same reason.
  • available_in is the first platform availability of this revision, not source produced_at or phenomenon time.
  • Historical readers select the latest revision available at the cutoff, then its status; never apply today's cancellation retroactively.
  • Input revisions must already be available; replay keeps availability, whereas a new backfill/algorithm result is available only now.
  • Conflicting source versions or key collisions are issues; arrival order alone is not authoritative source version order.