Joule Code is the coding cargo class of the substrate: a coding operation — an edit, refactor, or generated function — is a content-addressed, signed transition over a source tree, resolved through the energy-tiered cascade (L0 Cache → L1 Lawful → L2 Embed → L3 Model → L4 Wire, stop-at-first-close) with a signed JWP receipt (measured + estimated µJ, honest Provenance) per operation. The agent schema is JouleClaw; L4 frontier agents are reached over ACP with the credential held by the vendor's own client — no protocol token, no required contact with any single company. Stands up the standard to the family schema: - README, SPEC.md (RFC-2119 normative), dual licence (Apache-2.0 code / CC-BY-4.0 spec), ROADMAP, CONTRIBUTING, CHANGELOG. - spec/: cargo (the coding-operation type), cascade (the tier binding), receipt (the JWP energy record), collab (federated, interface-level/Research). - vocab/LEXICON.md. - conformance/v1/: C1 content-addressing, C2 signing, C3 receipt, C4 cascade vectors + VERSIONS + regeneration; real Ed25519 RFC-8032 KATs, derived fields regenerated against the reference library. - joule-code-rs/: lean reference library (schema, cargo, receipt, cascade, conformance). cargo test --workspace passes; the conformance harness runs 11 pass / 0 fail / 7 skip (derived fields pending regeneration). Single-endpoint operation is the v0.1 surface; federated collaboration is specified at interface level and classified Research. Registers the standard in the family README. Co-Authored-By: Claude Opus 4.8 <[email protected]>
41 lines
1.5 KiB
Rust
41 lines
1.5 KiB
Rust
//! `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.
|
|
|
|
use std::path::PathBuf;
|
|
use std::process::ExitCode;
|
|
|
|
fn main() -> ExitCode {
|
|
let args: Vec<String> = std::env::args().collect();
|
|
match args.get(1).map(String::as_str) {
|
|
Some("verify") => {
|
|
let dir = PathBuf::from(args.get(2).map(String::as_str).unwrap_or("conformance/v1"));
|
|
match joule_code_conformance::verify_pack(&dir) {
|
|
Ok(report) => {
|
|
for line in &report.lines {
|
|
println!("{line}");
|
|
}
|
|
println!(
|
|
"\n{} passed, {} failed, {} skipped (pending regeneration)",
|
|
report.pass, report.fail, report.skip
|
|
);
|
|
if report.fail > 0 {
|
|
ExitCode::FAILURE
|
|
} else {
|
|
ExitCode::SUCCESS
|
|
}
|
|
}
|
|
Err(e) => {
|
|
eprintln!("error: {e}");
|
|
ExitCode::FAILURE
|
|
}
|
|
}
|
|
}
|
|
_ => {
|
|
eprintln!("usage: joule-code-conformance verify <pack-dir>");
|
|
ExitCode::FAILURE
|
|
}
|
|
}
|
|
}
|