Conformance
Conformance means independent ALX implementations produce the same protocol-defined results for equivalent supported inputs. Implementations can differ in language, architecture, dependencies, and execution strategy; only protocol-visible behavior is compared.
Conformance Model
A conforming implementation produces identical protocol outputs for identical protocol inputs. The specification and the canonical conformance materials define those outputs; matching another implementation's internal behavior does not establish conformance. Cross-Language Requirements lists the behavior each implementation must match in every programming language.
Core conformance requires matching results for every required core suite in the required-suite manifest (protocol/suites.json):
- Canonical bytes and canonicalization rejections
- Raw JSON ingress decisions
contentHashandblockHash- Normalized parent sets and parent-limit rejections
- Graph verification results, including status and issues
- Attribution Trace output, including
pathCount - Exact error identifiers for rejected inputs
Optional extension conformance is a separate claim, and extension results do not change core conformance:
| Extension | A conformance claim requires |
|---|---|
| Signing | The signing extension vectors: Signed Block envelopes, Ed25519 attestations, and P-256 attestations |
| Merkle | The Merkle extension vectors |
| Content profile | Schema validation of content envelopes. The extension is provisional and has no vectors. |
Conformance Testing
The conformance vectors define protocol inputs, expected outputs, and expected failures with exact error identifiers. Conformance Vectors lists every suite and its coverage. A mismatch on any vector of a required or claimed suite is a conformance failure.
When to Test
Run the required core suites, and the suites of each claimed extension, before claiming conformance and before each release. Run Conformance Tests lists the changes that require a rerun.