# Requires Node >=24 and pnpm >=10
pnpm installBuild all packages:
pnpm buildRun tests:
pnpm testRun lint:
pnpm lintThis repo uses Changesets for versioning.
Add a changeset for any user-facing change:
pnpm changesetThen commit the generated .changeset/*.md file with your PR.
Maintainers run pnpm version to bump versions and pnpm release to publish.
See spec 056.
The decision to rewrite the codec from TypeScript to Rust+WASM is documented in:
voidpay-ai/agent-memory/advisors/decisions/2026-05-09-kai-cto-codec-rust-supersedes-ts-first.md
v1 schema is LOCKED. Old invoice URLs must decode forever. Never break existing field assignments.