PiProof v0.19.0 — The Open Protocol Phase
The role reversal release: every version before this made the
implementation stronger; this one makes the specification strong
enough that the implementation stops being special.
The thesis, stated plainly
Pi is an adapter, not a dependency. (SPEC.md §11)
And proven by execution: test/pi-independent.test.js runs the full
pipeline — registry, signing, epoch-bound proof, tamper rejection,
replay burn — for acme-logistics / container-42, a namespace with
zero Pi semantics.
What's new
SPEC.md — the standalone specification
Canonical Profile v1.1 · PEP/1 events · registry format · G1–G9 with
normative error codes · h1: pseudonyms · PiProof/1 + Passport/1
envelopes · court wire format · conformance criteria · versioning
policy. Written to be implemented without reading any source code.
Four languages + WebAssembly, one vector suite
| Channel | Path | Conformance |
|---|---|---|
| Node.js (reference) | src/ |
152/152 tests · fuzz · vectors byte-reproducible |
| Python package | sdk/python/ — now pip install ./sdk/python |
16/16 vectors + pipeline negatives (test_sdk.py) |
| Go module | sdk/go/ |
full conformance matrix |
| Rust crate (new) | sdk/rust/ |
16/16 canonical vectors + end-to-end in CI (rust-conformance, Ubuntu+Windows) |
| WASM (new) | wasm/ |
accept / replay-burn across calls / tamper (wasm-build job) |
The Rust crate implements the canonicalizer with exact lexical rules and
UTF-16 key ordering; NFC arrives via the ecosystem-standard
unicode-normalization crate (the same reason Go needed x/text). G9 is
reported honestly as UNVERIFIABLE when stateless.
npm publish-readiness
files, per-module exports, dual bin, engines pinned; stable public
entry src/index.js. Tarball: 88 files, ~152 kB.
External-proof phase
- docs/EXTERNAL_IMPLEMENTATION.md — the published bar for third-party
verifiers: implement from SPEC.md alone, submission checklist,
differential-fuzzing gate. - ADOPTERS.md — every row links to re-runnable CI proof; the
third-party section is honestly empty. - SECURITY_REVIEW.md — scope, methods, public findings ledger.
- docs/DISTRIBUTION.md — seven channels, one table.
- docs/HTTP_API.md — hosted-verifier contract.
- docs/EVIDENCE_INFRASTRUCTURE.md — Agent Evidence as general-purpose
infrastructure.
CI grows three jobs
python-package (3.10/3.12 × OS) · rust-conformance (× OS) ·
wasm-build (× OS) — the verification surface now spans four language
ecosystems on two operating systems, 21 checks per push.
Honest boundaries
- crates.io publication deferred until after external review (the v1.0 gate)
- author-overlap remains: four languages, one maintainer — which is
exactly why the external implementation kit exists - local Rust execution is impossible on locked-down Windows sandboxes
(Application Control); CI is the authoritative ground — documented in
sdk/rust/README.md
Full changelog: CHANGELOG.md · Spec: SPEC.md