Skip to content

CHAP v0.2.8: security and audit hardening, and registry-ready packaging

Choose a tag to compare

@brightbeamarsalan brightbeamarsalan released this 25 Jul 18:26
· 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_chain no 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.join no 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-a2a for 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.