Reproduce an integrity failure#
python3 reference_runtime.py run task-demo.json result-demo.json receipt-demo.json
python3 tamper_result.py
python3 reference_runtime.py verify task-demo.json result-tampered.json receipt-demo.jsonThe documentation package includes tamper_result.py. It copies result-demo.json, increases the first match score and writes result-tampered.json. The final command is expected to exit with code 1 and REPLAY_MISMATCH. The original result remains unchanged.
Swipe or scroll to view all columns →
| Error or symptom | Cause and corrective action |
|---|---|
| INVALID_FIELDS | Supply exactly the five task fields; remove unknown fields. |
| INVALID_DOCUMENT | Check scalar Unicode and the UTF-8 byte length. |
| INVALID_TERM or EMPTY_TERM | Check raw length, line breaks and content after ASCII trimming. |
| INVALID_TOP_K | Use an integer-valued number from 1 through 10. |
| REPLAY_MISMATCH | The parsed output differs from deterministic replay. Preserve the mismatch for investigation. |
| TASK_DIGEST_MISMATCH | Task bytes changed. Restore the original bytes or create a new run. |
| RESULT_DIGEST_MISMATCH | Result bytes changed even if its parsed meaning did not. |
| INVALID_RECEIPT_SCOPE | The receipt has an unsupported scope or non-null signature or settlement. |
| INVALID_TIME_ORDER | The declared finish time precedes the declared start time. |
Cross language verification#
python3 test_cross_runtime.pyThis optional command requires Node.js on PATH and compares 80 generated inputs with fixed seed 6. The recorded release environment used Node.js 24.19.0. It checks agreement between implementations; it is not a load test or a proof that the specification is free of defects.
verify and compare limit result files to 150,000 bytes. verify limits receipts to 10,000 bytes. The CLI also requires distinct resolved file paths. Operating-system errors can include environment-specific text and are not a stable network error taxonomy.