open-standards/joule-code/conformance/v1/README.md
David Charlot e40bf51b53 joule-code: regenerate v1 conformance vectors with real cryptography
Completes the v0.1 conformance suite — no more placeholders. gen-vectors now
computes every derived field via the reference crates, and the verify harness
checks them all for real (the 7 prior SKIPs are gone).

- gen-vectors computes and prints real op_ids (BLAKE3 over canonical CBOR) and
  real Ed25519 signatures (op-binding op_id‖prior; receipt
  estimated_uj‖sequence‖nonce[‖measured_uj]).
- coding_op / signature / receipt vectors filled with the computed values; the
  negatives keep their hand-authored tamper (reused signature, different prior,
  mismatched op_id) and expected false/error.
- verify harness upgraded: C2 op-binding signature verification (positive +
  replay/tamper negatives) and C3 receipt signature verification (reconstruct
  the Receipt, verify against the endpoint key) now run for real.
- conformance/v1/README + regeneration.md updated; vanity scanner clean.

Result: cargo run -p joule-code-conformance -- verify ../conformance/v1 passes
the whole pack with no skipped vectors; cargo test --workspace green.

Co-Authored-By: Claude Opus 4.8 <[email protected]>
2026-06-03 03:43:38 -04:00

18 lines
1.2 KiB
Markdown

# Joule Code v1 Conformance Vectors
The v0.1 conformance suite ([`../../SPEC.md`](../../SPEC.md) §8). Four suites:
| File | Suite | Checks |
|---|---|---|
| [`coding_op_vectors.json`](coding_op_vectors.json) | **C1 — content addressing** | reproduce `op_id` from the canonical CBOR of each `CodingOp` |
| [`signature_vectors.json`](signature_vectors.json) | **C2 — signing** | verify/reproduce each Ed25519 signature; reject every negative |
| [`receipt_vectors.json`](receipt_vectors.json) | **C3 — receipt** | reproduce/verify each receipt signature; honor the provenance↔measured coupling |
| [`cascade_vectors.json`](cascade_vectors.json) | **C4 — cascade** | given scripted stage outcomes, select the same closing tier (stop-at-first-close) |
Run against the reference library:
```bash
cargo run -p joule-code-conformance -- verify .
```
All derived fields are **real, cryptographically computed values** — the content addresses (`op_id`) are BLAKE3 over canonical CBOR, and every signature is a genuine Ed25519 signature, regenerated against `joule-code-rs` (see [`regeneration.md`](regeneration.md)). The `signature_vectors.json` known-answer cases use RFC 8032 keys. The harness passes this pack with no skipped vectors.