Protocol-Commons contributions must be small, traceable, and validation-complete.
Every PR should:
- Open from a focused branch for one change set
- Explain the semantic, schema, or documentation impact
- Include schema/example updates together when contracts change
- Pass the required validation commands before review
- Update release notes when the visible contract changes
Use a clear imperative subject line. Prefer conventional-style prefixes when they fit, for example:
docs: tighten README contract languagefeat: add new commons verb schema familyfix: correct receipt validation example
Run the canonical validation command before opening a PR:
npm install
npm run validateRun additional checks when packaging behavior changes:
npm run test:smoke:import
npm run test:smoke:packIf you change a schema or semantic contract, you must also:
- Add or update matching examples/tests
- Preserve immutability of published version directories unless the change is explicitly historical documentation only
- Review
SCHEMAS.mdandSPEC.mdfor versioning implications - Update
CHANGELOG.mdwhen the externally visible contract changes - Update
RESOLUTION.md,manifest.json, and checksum artifacts when the release process requires it
- Treat published release lines as append-only history
- Use a new version directory for semantic changes
- Keep
v1.1.0documented as the current release and active schema line until a newer line is intentionally introduced
A contribution is ready for review when a maintainer can understand the intent quickly, reproduce validation locally, and see exact schema/example/doc alignment without extra interpretation.