Evidence contract in TypeScript
A manuscript prints a number. An artifact holds one. This runs the evidence contract over both and reports what it established — and, just as importantly, what it could not.
Everything below runs in your browser. Nothing is uploaded.
Artifact
results.json
no digest recordedEvidence
what the manuscript claims
Break it
What just happened
Section titled “What just happened”The verdict carries three independent fields, and collapsing them would lose the distinction the tool exists to draw:
- Outcome — what the check concluded.
mismatchmeans the artifact was read and disagrees.not_foundmeans nothing was compared, so nothing disagreed. - Reason — why, as one of nineteen machine-readable codes.
- Validity — whether the decision describes the artifact that was declared. Every number can agree and the report still fail, because they agreed with a document nobody pinned.
This page runs an independent TypeScript implementation of the same contract the Python package implements, over the same rules: RFC 6901 pointer resolution, comparison at the precision the manuscript printed, and validity tracked separately from the comparison. Two implementations agreeing is what makes the specification a specification.