open-standards/arl/arl-rs/crates/arl-sandbox
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Transaction Science cca3fa9369 arl-cli: the arl reference checker (validate / lint / verify / explain)
A thin, dependency-light command line over arl-core + arl-sandbox — the
gate logic stays single-sourced in the libraries; this is a faithful
front end so a claim can be checked in CI:

  arl validate <claim.json>    cross-axis gates → exit 0 (pass) / 1 (fail)
  arl lint     <claim.json>    controlled-vocabulary findings (excluded → exit 1)
  arl verify   <session.json> <attestation.json>   attestation check
  arl explain                  the axes and gates, as a cheat sheet

Exit codes make it a pipeline gate: a claim that fails the ARL gates fails
the build. Verified end-to-end through the built binary — a minimal claim
deserializes with omitted fields at the uncharacterized floor and the 8
gates fire (incl. the AGI exclusion); lint flags excluded terms; verify
round-trips a real Supervisor attestation and rejects a tampered session.

Two correctness/ergonomics fixes this enabled:
- Claim is #[serde(default)] — a hand-written claim JSON may omit fields;
  missing ones default to the honest floor (ARL 1 / Class E / S0 /
  energy undisclosed / flags false).
- ValidationDepth is #[serde(try_from = "u8")] — an out-of-range depth
  (e.g. 99) is now rejected at the parse boundary, not silently accepted.
- arl-sandbox re-exports SigningKey/VerifyingKey so consumers build a
  Supervisor without depending on ed25519-dalek directly.

arl-cli 9 tests; arl-rs workspace 51 tests, 0 failures.

Co-Authored-By: Claude Opus 4.7 <[email protected]>
2026-05-28 03:53:55 -04:00
..
src arl-cli: the arl reference checker (validate / lint / verify / explain) 2026-05-28 03:53:55 -04:00
Cargo.toml arl-sandbox: ARL-S Supervisor core — session gates + Ed25519/JCS attestation 2026-05-28 01:57:01 -04:00