open-standards/smart-byte/conformance/VERSIONS.md
Transaction Science ce1a371f8d
Some checks failed
smart-byte conformance gate / Validate conformance JSON files (pull_request) Successful in 4s
smart-byte conformance gate / Second implementation reproduces every vector (pull_request) Successful in 4s
smart-byte conformance gate / Spec changes require vector-pack updates (pull_request) Successful in 3s
smart-byte conformance gate / VERSIONS.md and README.md must exist (pull_request) Successful in 3s
no-vanity-metrics / Scan committed Markdown for vanity metrics (pull_request) Successful in 3s
standards workspaces build + test / eoc-rs (pull_request) Successful in 1m47s
standards workspaces build + test / aac-rs (pull_request) Has been cancelled
standards workspaces build + test / joule-code-rs (pull_request) Has been cancelled
standards workspaces build + test / joule-ui-rs (pull_request) Has been cancelled
standards workspaces build + test / joulecontract-rs (pull_request) Has been cancelled
standards workspaces build + test / jouledesk-rs (pull_request) Has been cancelled
standards workspaces build + test / joulehook-rs (pull_request) Has been cancelled
standards workspaces build + test / map-rs (pull_request) Has been cancelled
standards workspaces build + test / mesh-rs (pull_request) Has been cancelled
standards workspaces build + test / openpay (pull_request) Has been cancelled
standards workspaces build + test / proof-rs (pull_request) Has been cancelled
standards workspaces build + test / sandbox-rs (pull_request) Has been cancelled
standards workspaces build + test / sense-rs (pull_request) Has been cancelled
standards workspaces build + test / smart-byte-rs (pull_request) Has been cancelled
standards workspaces build + test / macOS energy backend (jcp-energy) (pull_request) Has been cancelled
standards workspaces build + test / arl-rs (pull_request) Has been cancelled
standards workspaces build + test / jcp-rs (pull_request) Has been cancelled
standards workspaces build + test / jouleclaw-rs (pull_request) Has been cancelled
smart-byte conformance: the second implementation runs the state machine
verify_v1.py now applies state vectors' frames as the cluster state spec
describes. It is written from the spec text, standard library only, and
reproduces all 106 vectors.

Falsified:
- 12 planted defects caught on their own vectors, with and without -O.
- 18 state-machine rule mutations, each caught by a state vector.

regeneration.md records the state machine; VERSIONS.md names its spec.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-01 06:19:03 -04:00

50 lines
2.7 KiB
Markdown

# Smart Byte Conformance Vector Pack — Version Matrix
This document tracks the correspondence between vector-pack versions and
Smart Byte spec versions.
## Matrix
| Vector pack | Spec version | Spec source | Status | Notes |
| ----------- | ------------ | ------------------------------------------------------------- | -------- | --------------------------------------------------------------------- |
| `v1/` | v1.0-draft | `../spec/treatise_v1_parts_I_II_III_combined.md` (Parts I-III), `../spec/identity_and_key_rotation.md`, `../spec/envelope_wire_format.md`, `../spec/cluster_state.md` | DRAFT | Generated by the reference implementation (`smart-byte-conformance`) and reproduced by `crosscheck/verify_v1.py`. Regenerated in place while DRAFT (rule 4); every change is in `v1/regeneration.md`. |
Future entries are appended below this table when a new spec version is
introduced. Older entries are never removed; an implementation that pins to
a historical spec version must be able to look up that version's vector pack
indefinitely.
## Version compatibility rules
1. **Per-spec-version vector packs.** Each major spec version has exactly one
vector pack directory (`v1/`, `v2/`, ...). The pack is the canonical
conformance suite for that spec version.
2. **No backporting of incompatible vectors.** A vector that depends on
wire-format behaviour introduced in spec v2 is never added to `v1/`.
3. **Append-only inside a frozen version.** Once a spec version is frozen,
its vector pack is append-only: new vectors may be added that exercise
*additional* corners of the *same* canonical wire format, but no
existing vector's `expected_*` outputs may be changed.
4. **Bug fixes via supersession, once frozen.** In a frozen version, a
vector with an `expected_*` field that disagrees with the spec is fixed by
adding a new vector (with a distinguishing `name` suffix) and adding a
`"superseded_by": "<new-name>"` field to the original. Implementations pin
to vector names, not array positions, so supersession is non-breaking. A
DRAFT pack is regenerated in place, with every change recorded in its
`regeneration.md`.
5. **Spec-version detection at the wire.** The wire format itself carries
version information (see spec §8.3, §8.4 — the one-byte algorithm
identifier is the substrate's wire-version-equivalent for the
cryptographic primitives). Implementations select the conformance pack
that matches the wire version they are emitting.
## Cross-references
- Spec text: `../spec/`
- Pack contents: `./v1/`
- Regeneration procedure: `./v1/regeneration.md`
- CI gate: `../../.github/workflows/conformance.yml`