Troubleshooting
Most ALX failures come from mismatched input, normalization, authorization, or verification context. Start with the failing layer and compare the exact values supplied to the verifier.
Find the Failing Layer
| Result | Check |
|---|---|
| Invalid Block hash | Recompute from the original content and normalized parents. |
| Invalid content hash | Confirm the content has not changed and canonicalization matches. |
| Malformed parent hash | Use 0x followed by 64 hexadecimal characters. |
| Missing parent | Load the referenced Block or report the graph as incomplete. |
| Cycle detected | Remove the relationship that points back to an ancestor. |
| Signature mismatch | Confirm signer, domain, chain ID, contract, and typed-data fields. |
| Merkle proof failed | Confirm the Merkle root hash, leaf, sibling values, and sorted-pair algorithm. |
| Commitment transaction rejected | Confirm the local contract address, signer policy, nonzero commitment value, and implementation-specific authorization. |
Recover from a Failure
Preserve the original input and expected output before changing data. Reproduce the failure with synthetic values, then rerun the relevant conformance or negative test.
When to Reject
Reject malformed hashes, unsupported canonicalization values, mismatched identities, invalid signatures, unauthorized submissions, and failed proofs. Report missing lineage separately when the graph is incomplete rather than invalid.