Patterns

Provenance

People need to know who wrote what: before they accept it, after they accept it, and long after it has been copied into a report. Provenance keeps authorship visible for the life of the content.

When you need it

  • The model drafts text that a person will send, sign or publish under their own name.
  • A document mixes a person’s writing with sections the model wrote.
  • The model changes values in a table, and someone will make decisions from that table.

How it works

MomentWhat people seeComponent
The model is writingPigment text behind a steady model caretFlux
The draft awaits reviewPigment that flows once per beatFlux
A person accepts itThe pigment stops flowing, and stays pigmentFlux
Both write in one fieldInk runs and pigment runs, side by sideCaret
A long documentA scrollbar mapping every authorRail
Data the model changedNew value in pigment, old value struck beneathShift

Best practices

  • Keep provenance in the data, not only in the styles. Store who wrote each run of text, so it survives copy, export and reload.
  • Never let acceptance erase authorship. Accepted means a person approved it, not that a person wrote it.
  • When people edit model text, the edited words become ink and the untouched words stay pigment.
  • Say it in words for screen readers and exports: “written by the model, accepted by Asvin, 13 Oct”.
DoShow exactly which words the model wrote, even inside a sentence the person started.
Don’tDon’t stamp a whole message “AI-assisted”. It tells people something happened, but not where.