Repository navigation
v0.5.0
Release 0.5.0: quorum deadline, telemetry contract, total verify, discovery revalidation
Review-hardening remediation and the 0.5.0 release on top of b6bfd9e.
Capacity and contracts: verify_quorum/3 accepts an opt-in :deadline (absolute
monotonic ms) bounding the assignment search's wall-clock time; expiry keeps
best-so-far acceptance and otherwise returns the first retryable core error,
:deadline at :quorum. A versioned telemetry contract (ADR 0006) emits five
low-cardinality events (verify, verify_quorum, Web Bot Auth verify, replay
claim, custody sign); :telemetry becomes the single required dependency.
Verify and sign entry points are total: unexpected internal faults return
:internal at :internal with the exception class in detail; the crypto rescue
narrows to OTP argument/runtime classes.
Interop and discovery: Plug.Verify gains a stable :name for repeat identity;
DNS splits authoritative NXDOMAIN (:domain_not_found, nonretryable) from
retryable :resolution_failed; JWKS alg accepts either registry spelling,
normalized once to the JOSE name (PS256/PS384 included); caches revalidate
conditionally with stored ETags (validators never cross redirects, CIMD
revalidates unconditionally, a 304 keeps only all-live keys under its own
directives with the stored lifetime persisting when it omits them); Nested
admits non-JOSE inner cty and rejects only JOSE-typed values.
Hardening and performance: one inner/1 error shape; generated-spec signing
shares the custody path (event + 1..1,024-byte bound); binary-part OWS trim
and validate-once plumbing measure ~2.5x faster signature bases (p50).
Infrastructure: dialyxir in the declared gate with an exact-entry ignore
file (CI caches the PLT); ash-family lockfile refresh within pins; grouped
Dependabot for both Mix environments and GitHub Actions; notebook runner
sandboxing (own cwd and Mix.install cache); SSH-agent test temp dirs are
per-PID.
Docs: guides, architecture, threat model (refreshed measured ceilings),
ADR 0006 implemented boundary, six Livebooks at 0.5.0 with a telemetry
section. Gate exit 0 on this tree; decorrelated review (two families) and
repair passes recorded under .kimosabe.