E0009: artifact integrity check failed (CRC32 mismatch)
What happened
The CRC32 stored in the artifact does not match the CRC32 computed over the artifact’s body. The file was modified — either accidentally or intentionally — after thx.compile() wrote it.
Why
Common causes:
- A text editor opened and re-saved the
.thx file (changing line endings, encoding)
- File transfer corruption (truncation, bit flip, encoding conversion)
- Intentional modification of weights or parameters after compilation
How to fix
- Recompile the model from the Python source:
thx.compile(model, "model.thx").
- If you received the artifact from an external source, download it again. Verify its checksum against the published value.
- Never attempt to edit
.thx files manually. They are sealed artifacts, not configuration files.
Example
Note on intentional modification
If you need to change model parameters (weights, threshold, tau_mem), you must do so in Python and recompile. The .thx artifact is a sealed, versioned record of a specific model state. It is not a mutable configuration file.