CHAP v0.2.8: security and audit hardening, and registry-ready packaging
·
125 commits
to main
since this release
CHAP 0.2.8 is an additive release on 0.2.7. It hardens the coordinators' security and audit behaviour and completes the packaging needed to publish to npm and PyPI. There is no change to the wire format or the message schemas; the protocol itself is unchanged, and the TypeScript and Python coordinators move together at parity.
Security and audit
- Messages that cannot be safely canonicalised are now rejected before they reach a handler, so nothing uncanonicalisable can enter the signed, hash-linked audit log (#21).
- Canonicalisation rejects non-integers and integers outside the safe range, so a record can never silently lose numeric precision, and RFC 6902 patch application is hardened against prototype pollution.
audit.verify_chainno longer runs on a workspace without chaining enabled, and it verifies from the chain's genesis, so an unchained workspace is never reported as tampered while a missing link inside the chain is still caught (#23).participant.joinno longer replaces an existing member. Re-joins are additive, and only attested (OIDC or VC) keys can be added to an existing member, which closes an unauthenticated-join path to member takeover (#25).
Packaging and distribution
- npm packages renamed to
@brightbeamai/chap-coordinator,@brightbeamai/chap-coordinator-mcp, and@brightbeamai/chap-coordinator-a2afor registry-consistent naming. - Packaging and metadata hardened across all nine packages for publication to npm and PyPI.
- Reference servers and the playground updated to the new package names, with a smoke test added.