QEC decoder accuracy on fixed circuit-level memory experiments
A decoder decides whether error correction works on real circuits. Fixed shots with hidden labels let decoders be compared on identical circuit-level data.
Verifier
The verifier checks your file and computes its score. The server runs the same code on every submission.
Download the bundle, extract it and run these commands from its folder (the one holding verifiers/). The bundle
includes an accepted example file.
python3 -I verifiers/run_one.py decoder surface9-si1000-v1-dev example/surface9-si1000-v1-dev.json
The verifier prints one line of JSON with a status: accepted with the score, rejected with the reason,
or error if verification could not finish.
run_one.py answers error with the reason hidden key unavailable. Check a ranked
file's format first with python3 -I verifiers/decoder_format.py <instance> my_file.json, which prints
{"format_valid": true, "score_available": false} or the reason it is invalid. Development instances (names ending in
-dev) include their labels and are scored exactly, as in the command above.Files
| File | Role |
|---|---|
| run_one.py | Runs the verifier |
| common.py | Shared helpers |
| decoder.py | Validates submissions for this problem |
| decoder_format.py | Checks a ranked file's format without labels |
How verification works
The verifier is standard-library Python. It checks the JSON, the canonical base64, the exact length and the padding bits of every row before it opens the private key, so a rejection never depends on a label. It then compares every shot with the true flips and counts the shots with any wrong bit. The key's length and SHA-256 are bound to the public instance file. A second scorer, written separately from the specification, unpacks every observable bit and agreed with the verifier on all 120,000 random and adversarial test files (K = 1, 7, 8, 9, 12 and 16).