v0.12.0 — Observability hooks + transparency-log draft
The last pre-review release: everything the v1.0 external review needs is now on the table.
📈 Observability hooks — opt-in, pure, dependency-free
\src/observability.js\ with three hard rules:
- No global state — registries are passed explicitly; a verdict can never depend on whether observation is enabled.
- Telemetry is fail-open — recording never throws into the verification path.
- Bounded memory — latency ring capped at 10k samples; hostile load cannot grow the process.
\�erifySignedEvent, \�erifyPiProof, \�erifyPassport\ accept optional \metrics. Snapshots are stable-keyed JSON (\AUREVIA-Metrics/1: totals, ok/fail, rejection-code breakdown, p50/p95/p99). The demo server exposes live counters at read-only \GET /api/metrics.
📜 Signed registry transparency-log — design draft
[\docs/TRANSPARENCY_LOG_DESIGN.md](docs/TRANSPARENCY_LOG_DESIGN.md) — the concrete artifact closing Open Question #1 by design (implementation deliberately deferred until after review):
- Append-only epoch entries hashed over the existing canonical bytes — zero new serialization
- prev-hash chaining · m-of-n witness cosigning · split-view detection
- Five-step pure verification reusing only canonicalize + Ed25519 + SHA-256; any failure ⇒ UNVERIFIABLE, never a pass
- Additive migration from today's
egistry_root; reserved \TL_*\ codes; privacy analysis; five open questions for reviewers
Explicitly NON-NORMATIVE until the external v1.0 review concludes.
✅ Verification
npm test 103/103 (+4) · attacks 20/20 rejected · vectors byte-checked · CI green Node 18/20/22 × Ubuntu/Windows + Python cross-verify.
Roadmap: v0.1.x–v0.12 shipped · v1.0 = frozen after external security review & public feedback — nothing else stands in front of it.