Conformance
Conformance ensures that independent ALX implementations produce the same protocol-defined results for equivalent supported inputs.
Implementations may differ internally in language, architecture, dependencies, and execution strategy as long as protocol-visible behavior satisfies the specification.
Conformance Model
ALX defines conformance through observable protocol behavior rather than implementation strategy.
A conforming implementation produces identical protocol outputs for identical protocol inputs.
Equivalent implementations produce identical:
- Canonical bytes
contentHashblockHash- Normalized parent sets
- Graph validation results
Implementations that support optional protocol capabilities produce equivalent results for each supported capability, including:
- Signature verification results
- Signed-request replay handling
- Merkle verification results
- Merkle proof generation and verification
An implementation does not need to adopt the same internal algorithms, data structures, or software architecture as an example implementation unless the protocol specification requires that behavior.
Cross-Language Conformance
Independent implementations should produce the same protocol identities and structural results regardless of programming language.
Cross-language agreement matters for canonicalization, parent normalization, and hash derivation because differences in serialization, numeric handling, string encoding, object-key ordering, or hash implementation can produce incompatible identities.
Example implementations can demonstrate expected behavior, but conformance is determined by the protocol specification and canonical conformance materials rather than by reproducing a particular implementation internally.
Conformance Testing
Published conformance vectors define protocol inputs and expected outputs for deterministic operations.
Run the published conformance vectors against every protocol-visible operation. A mismatch indicates implementation drift.
When to Test
Run the applicable conformance tests when:
- Implementing ALX in a new language or runtime
- Modifying canonicalization
- Changing parent normalization
- Changing hashing logic and hash derivation
- Updating graph validation
- Modifying lineage traversal
- Updating signature verification or replay handling
- Changing Merkle proof generation or verification
- Preparing a protocol implementation for release
Conformance tests should also be included in continuous integration for implementations that produce or verify ALX Blocks.