A plumb line measures true vertical by gravity alone. plumb-line does the same for a codebase: a clear source-truth layer, visible uncertainty, quarantined fakery, reproducible outputs, and boundaries checked by machines (not vibes).
Two halves: run-time and review-time
The provenance primitive
A small JS & Python library that wraps every value in a metadata envelope. Touch a value with mock or low-confidence data and every value derived from it inherits the taint automatically — with no escape hatch that silently clears the flag.
The skills
A Claude Code plugin with three skills — method, bootstrap, audit. They load the principles, generate a domain-neutral ruleset, and audit a diff before it lands: laundered uncertainty, boundary leaks, overstated maturity, missing lineage.
Taint that can’t be laundered
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, impossible to clear
total.confidence; // 'low' only as certain as the weakest input