Data provenance

A canvas shows data its author has seen. Reader-supplied data arrives by forking, with authorship attached.

#@data as the only entry point

Data enters a document through @data, inline or attached as a CSV, both forms written into the source by the author. Reader-uploaded data does not enter a published internote.

#Authorship of reader-supplied data

A canvas showing data its author has not seen has no author: the prose can make no claim about it and falls back on generic captions — your data may show…, notice any outliers… — the failure described in Prose and canvas state. The reasoning matches the range criterion: an author can describe a range they chose, and cannot describe rows they have never seen.

#Forking and the @data declaration

Reader data enters by forking rather than by upload: the @data declaration is replaced and the narrative rewritten against the new rows, which restores an author to the document.

#Three obligations on the author

  • The data is read before it is described. Claims in the prose are claims about these rows.
  • The attached file is the data rather than a rounded excerpt, so a reader checking a number finds it.
  • Transformation happens upstream. @data has no computed columns, filters or aggregates.

Rows belong in a @data block even where they are read once, which is a legibility rule as much as a provenance one — Source style covers it.