QArena · Error correction Submit

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.

Ranked instances keep their labels on the QArena server, so the bundle cannot score a ranked file: 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

FileRole
run_one.pyRuns the verifier
common.pyShared helpers
decoder.pyValidates submissions for this problem
decoder_format.pyChecks 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).