joule-code-conformance: the header undersold the harness by a whole suite #367

Merged
dcharlot merged 1 commit from fix/joule-code-conformance-header into main 2026-10-20 15:40:34 -04:00
2 changed files with 16 additions and 10 deletions

View file

@ -1,12 +1,17 @@
//! Joule Code conformance harness (SPEC §8).
//!
//! Loads the published wire vectors and runs the four suites:
//! C1 content addressing, C2 signing, C3 receipt, C4 cascade. Each vector is
//! reported PASS / FAIL / SKIP. SKIP marks a positive crypto vector whose
//! derived field is a placeholder pending regeneration against this library
//! (see `conformance/v1/regeneration.md`); the structural and negative checks,
//! the real Ed25519 known-answer vectors, and the entire cascade suite run for
//! real. Any FAIL makes the run non-zero (CI-ready).
//! Loads the published wire vectors and runs the five suites: C1 content
//! addressing, C2 signing, C3 receipt, C4 cascade, and C5 gated cascade
//! ([`verify_gated_cascade`]). Each vector is reported PASS / FAIL / SKIP, and
//! any FAIL makes the run non-zero (CI-ready).
//!
//! **Nothing is skipped today.** SKIP exists for a positive crypto vector
//! whose derived field is a placeholder pending regeneration against this
//! library, and `conformance/v1/regeneration.md` records that every derived
//! field in the pack is now real — the harness reports 24 passed, 0 failed,
//! 0 skipped. The mechanism is kept because a future input change re-opens
//! that state; what it must not do is read as though something were still
//! outstanding.
use std::collections::BTreeMap;
use std::path::Path;
@ -454,7 +459,7 @@ impl joule_code_cascade::Stage for Scripted {
/// a silent skip).
///
/// Fixture constants (third-party implementations must use the same):
/// issuer key = [1;32], agent key = [2;32], steward key = [7;32],
/// issuer key = `[1; 32]`, agent key = `[2; 32]`, steward key = `[7; 32]`,
/// steward did = "did:example:joule-code",
/// resource = ContentId::of_bytes(b"repo:joule-code"),
/// request = { prior: "tree-hash", intent: "rename the function" },

View file

@ -1,8 +1,9 @@
//! `joule-code-conformance` — round-trip the published wire vectors.
//!
//! Usage: `joule-code-conformance verify <pack-dir>` (e.g. `verify ../conformance/v1`).
//! Exits non-zero if any vector FAILs (CI-ready). SKIPs (derived fields pending
//! regeneration, see `conformance/v1/regeneration.md`) do not fail the run.
//! Exits non-zero if any vector FAILs (CI-ready). A SKIP marks a derived field
//! pending regeneration and does not fail the run; the published pack currently
//! has none (`conformance/v1/regeneration.md`).
use std::path::PathBuf;
use std::process::ExitCode;