v1.18.0
[1.18.0] - 2026-06-26
Minor release: capability-scope conformance corpus. A credential grant now carries machine-checkable capability constraints, and the published vectors prove a gate enforces them without trusting the chain.
capability_scope_v0ships five conformance cases undertests/vectors/capability_scope_v0/: a valid grant resolves took, an over-limit amount and an out-of-set vendor both resolve tocapability_exceeded, an argument no capability covers resolves tocapability_uncovered(closed coverage: an unnamed argument is denied, not ignored), and an absent credential resolves tomissing_credential. Comparisons run overDecimalwithle/ge/eq/inoperators, and a boolean is rejected rather than coerced.- The independent checker reproduces every verdict and HS256 signature over RFC 8785 JCS with zero Vaara import (standard library plus the canonicalizer), so the corpus does not confirm itself. The signing payload is the grant's
{alg, asserted, binding, scope, version}together with its declared capabilities. - The cases pin two OWASP AISVS 1.0 controls, C9.2.3 (reversibility classification) and C9.2.4 (runtime enforcement by class), published 2026-06-26, as an executable reference a recipient can check independently.