Skip to content

Lifecycle of a data product

A Dataset moves from draft to selling to retired by its Offers; its records are refreshed, corrected and kept, and nothing is purged.

A Dataset moves from draft to selling to retired by its Offers. Its records live longer than any Offer: each is refreshed, corrected and kept, and every past value still reads back.

The product

Product lifecycle: draft, selling, retiredFrom draft to selling: on Offer.publishedFrom selling to retired: on Offer.withdrawnFrom retired to selling: on Offer.publisheddraftsellingretired

The Dataset is draft until a published Offer sells it. Offer.publish and the Live gate refuse a Dataset with any Source that is not licensed, collected within its terms, or synthetic. It is retired when its last Offer is withdrawn, and each Customer keeps what its license let it store.

Each record

MomentWhat happensRead
Read from its SourceIt arrives as a Resource, with mirroredAt setSources and refresh
RefreshedA changed value keeps the one it replacedDataset refresh, status planned
CorrectedA value that was wrong when served is fixed, with its reasonCorrections, status planned
Read as it stoodAny earlier value returns with atAs-of reads
DeletedIt leaves every list and keeps its historyThing.restore brings it back

A takedown request removes a person from the next delivery, and each redistribute buyer gets the removal in its next file. Handle a takedown has the steps.

Its Sources

A Source can lapse: a feed's terms end, or a wrapped Source's Integration needs re-approval. Integration.refresh renews its token before it expires, and a refused refresh moves it to needsReauth. Records already read stay, each with the time it was last refreshed.

Versions

The Dataset's definition is versioned like any other: its Noun, its Sources, its coverage and its refresh. A Version is a build of the definition, not of the records, which change on their own schedule.