Conformance
An implementation conforms to the core protocol iff it does exactly two things:
- Reproduces every listed hash — the same
identity_keyandcontent_hashfor every vector, and - Refuses every ill-formed snapshot — it never produces a hash for input the spec rejects.
Nothing beyond those two. If your implementation, in any language, passes the vectors, it is Ledvar (it speaks the protocol — see the name policy).
The vectors
The ground-truth vectors live in the protocol repository:
examples/CONFORMANCE.md. They
span many unrelated domains on purpose — a database, a VM, a filesystem, a Bitcoin transaction, a
retail product — to make the point that the protocol is domain-blind.
A standalone, dependency-free verifier (tools/conformance_check.py)
re-implements the canonical form and checks that every vector reproduces its published hash.
The trickiest vectors are the
node-astral*ones: they pin code-point ordering (not UTF-16), which is the one place UTF-16-native languages (JavaScript, Java, C#) tend to get it wrong.