Freshness and generations
How to tell whether a Demand view is current and internally consistent.
A partner should reject any combined view whose snapshot, summary and taxonomy identify different public generations.
- Evidence as of: the latest published evidence included in the view.
- Checked at: when the client completed its consistency checks.
- Public generation: the immutable identity shared by related responses.
If the public generation changes during a paginated read, restart from a full snapshot. The API returns a conflict response when it cannot provide a coherent read.
Three clocks
Demand consumers need to distinguish:
- the latest evidence bucket present in the published records;
- the time the API generated the current response; and
- the time a client completed its own consistency check.
A recent response can contain older evidence, and a current public generation can contain no records for a filter. Neither state implies an empty private capture store.
Current, stale and unavailable
The partner workspace presents evidence freshness separately from transport errors. After a refresh error, the last coherent bundle can remain on screen; a conflict instead requests a clean snapshot. An unavailable response should not clear a previously verified local snapshot unless authorization itself is no longer valid.
This behavior lets a partner distinguish a failed refresh from confirmed empty public evidence.