hats-verifyZero network dependencies. Deterministic output mode. Structured HATS error codes. Conformance testing against canonical vectors. Exit code 0 = VALID, 1 = INVALID.
Six commands. Each deterministic. Each offline-capable.
# Verify a governance bundle
$ hats-verify verify bundle.json
# Replay at a specific timestamp
$ hats-verify replay bundle.json --time 1716000000000
# Diff between two timestamps
$ hats-verify diff bundle.json --from T1 --to T2
# Compute graph root hash
$ hats-verify root bundle.json
# Inspect a specific node by hash
$ hats-verify inspect bundle.json --hash abc123...
# Run conformance test suite
$ hats-verify conformance path/to/vector/
Structured JSON output. Machine-parseable. Deterministic field ordering.
{
"verdict": "VALID",
"schema_version": "1.0.0",
"proof_profile": "governance_v1",
"violations": [],
"checks_passed": 147,
"checks_failed": 0,
"replay_integrity": {
"level": "deterministic",
"root_hash": "a3f8c1d2e4b6...",
"merkle_root": "7b9e0f3a1c5d...",
"frame_hash": "e2d4c6b8a0f1...",
"timestamp": 1716000000000
}
}
Three ways to run. All produce identical outputs.
cargo install h33-verifier
docker pull h33/verifier
docker run h33/verifier verify bundle.json
- name: HATS Verify
uses: H33ai-postquantum/hats-verify@v1
with:
bundle: governance/bundle.json
vectors: standards/hats/test-vectors/v1/
Run the full canonical vector set. Byte-identical outputs. Pass/fail per vector.
# Run a single conformance vector
$ hats-verify conformance standards/hats/test-vectors/v1/hats_tv_002
{
"vector": "hats_tv_002",
"root_match": true,
"merkle_match": true,
"validity_match": true,
"replay_matches": [true, true, true],
"overall_pass": true
}
Exit code 0 = all vectors pass. Exit code 1 = at least one failure. Machine-parseable for CI integration.
Install the verifier. Run the conformance suite. Integrate into your CI pipeline.