Canonical Payload Binding · CPB

Vector suite

Every construction registered in CPB's two registries is backed by conformance vectors — not prose claims about behavior, but inputs with pinned expected outputs (and, for every requirement, MUST-FAIL counterparts) that are mechanically executed in CI on every change. This is what "vector-backed" means throughout CPB: the suite must be able to fail, or a passing run proves nothing.

Run it yourself

git clone https://github.com/action-state-group/scitt-payload-binding
cd scitt-payload-binding

# Validate every pinned vector (no dependencies beyond Python stdlib):
python3 .github/check_vectors.py vectors/

# Full harness — cross-language conformance in both directions:
python3 vectors/harness.py verify-impl "<your-implementation-command>" vectors/

See vectors/README.md in the source repository for the full suite layout, and vectors/CANONICALIZATION_DECLARATION.md for the versioned declaration of every transform and domain the suite covers.

What's checked, mechanically

For registrants

If you're filing a new entry, make validate-entry DIR=path/to/your/vectors runs the identical mechanical checks and coverage report CI runs, entirely against your own fork, before you open a PR. See registry/README.md for the full registration path.