plumb-line-provenance
v0.7.1
Published
Conservative provenance/confidence/lineage envelope with a taint-propagation combination law. Mock or low-confidence data cannot launder itself clean.
Maintainers
Readme
plumb-line-provenance (JavaScript)
A conservative provenance / confidence / lineage envelope with a taint-propagation combination law: once any input is mock or low-confidence, every value derived from it inherits that taint automatically — there is no escape hatch that silently clears the flag.
import { mark, derive, metaOf, auditMeta } from "plumb-line-provenance";
const base = mark(1000, { source: "real", confidence: "high" });
const rate = mark(1.25, { source: "mock", confidence: "low" });
const total = derive([base, rate], (a, r) => a * r);
total.derivedFromMock; // true — inherited from rate, cannot be cleared
total.confidence; // 'low' — only as certain as the weakest input
auditMeta(metaOf(total)); // [] — internally consistentYou can also copy the .mjs files directly into a project and import them
relatively; both styles work.
- Specification:
SPEC.md(envelope schema version 2) - Model, law, examples:
README.md - License: Apache-2.0
Python parity package: plumb-line-provenance on PyPI.
