Provenance

Where data came from, and how it was transformed.

Provenance

In epistemic computing, data without origin is data without trust. Sounio’s epistemic model treats provenance as part of a value, not an external log file.

What Works Today (Compiler Reality)

The language enforces an explicit boundary between epistemic and non-epistemic data via Knowledge<T>.unwrap(reason). That is the minimal “audit hook”: you must state why you are extracting a raw value.

In the Spec / Stdlib Design

The intended provenance model is:

  • append-only under transformations
  • preserved under pure computations
  • mergeable when combining multiple inputs

The stdlib’s epistemic module defines richer provenance structures that can record sources, transformations, and evidence chains.

Practical Guidance

  • Treat unwrap(...) as a compliance boundary: log the reason and the surrounding context.
  • Keep provenance intact when exporting intermediate results.

Next