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.