rsinter CLI
rsinter provides experimental decoder replay and benchmark orchestration. Replay consumes frozen detector inputs; benchmark campaigns generate or collect cases. Neither is a supported universal decoder ranking.
Decoder replay
replay reads a DEM and b8 detector rows and writes b8 observable predictions plus JSON statistics. It compiles the decoder once and streams batches. Inputs, configuration and output paths must be distinct; outputs are installed after successful validation and decoding. --shots validates the inferred count and is required for a zero-detector model. Compare two decoders on the same input before running a large campaign.
| Decoder | Feature | Configuration |
|---|---|---|
rmatching | rmatching-runner | No decoder keys; graphlike components required |
rbposd | rbposd-runner | BP method/schedule, iteration limit, OSD method/order |
rbplsd | rbposd-runner | BP method/schedule, iteration limit, LSD method/order |
rilpqec | ilp-runner | Backend, time limit, gap, threads, verbosity |
Configurations are TOML. Unknown or inappropriate keys are rejected. Omitting the config file selects defaults, which are recorded in the statistics. See the replay contract for accepted key values.
Campaign files and resuming
rsinter bench run --spec campaign.toml --language rust --out results reads a TOML campaign specification and selects its Rust runners. The required --language value must match a runner language in the specification. --resume continues the campaign using its recorded state; preserve the specification, input hashes, decoder configuration and state files together. bench merge combines compatible outputs; plot commands read their stated CSV or result files. The campaign schema and comparison benchmarks document reproduction and interpretation.
Feature availability and errors
Help includes commands whose Cargo feature is disabled; running one reports the feature it needs. Runner features and plotting are installed separately in Get started. Plotting needs native font dependencies; ILP additionally needs the native solver toolchain. Failures exit nonzero; do not assume rstim's structured error codes apply to rsinter.
Command index
rsinter
Rust benchmark and sampling harness
Usage: rsinter <COMMAND>
Commands:
plot-error-rate-csv Plot a CSV of measured logical failures by distance and physical error rate
replay Decode a detector dataset (requires a decoder runner feature)
bench Run or plot benchmarks (runner features; plots require plotting)
bb-circuit-bposd-memory Run the built-in bivariate-bicycle memory experiment (requires rbposd-runner)
help Print this message or the help of the given subcommand(s)
Options:
-h, --help Print help
-V, --version Print version
bench subcommands: run, merge, plot, plot-surface-compare-csv, plot-bb-compare-csvrsinter plot-error-rate-csv
Plot a CSV of measured logical failures by distance and physical error rate.
Requires the plotting feature.
Usage: rsinter plot-error-rate-csv --input <INPUT> --out <OUT>
Options:
--input <INPUT>
--out <OUT>
-h, --help
Print help (see a summary with '-h')rsinter replay
Decode a detector dataset (requires a decoder runner feature).
Requires one of: rbposd-runner, rmatching-runner, ilp-runner.
Usage: rsinter replay [OPTIONS] --dem <DEM> --dets <DETS> --decoder <DECODER> --predictions-out <PREDICTIONS_OUT> --stats-out <STATS_OUT>
Options:
--dem <DEM>
--dets <DETS>
--decoder <DECODER>
--decoder-config <DECODER_CONFIG>
--predictions-out <PREDICTIONS_OUT>
--stats-out <STATS_OUT>
--batch-size <BATCH_SIZE>
[default: 65536]
--shots <SHOTS>
Validate the inferred shot count; required for zero-detector DEMs
-h, --help
Print help (see a summary with '-h')rsinter bench
Run or plot benchmarks (runner features; plots require plotting).
Decoder runs require their matching runner feature; plots require plotting.
Usage: rsinter bench <COMMAND>
Commands:
run Run a benchmark spec (decoder implementations require matching runner features)
merge
plot Plot benchmark JSONL results (requires plotting)
plot-surface-compare-csv Plot legacy surface-comparison CSV input (requires plotting)
plot-bb-compare-csv Plot legacy BB-comparison CSV input (requires plotting)
help Print this message or the help of the given subcommand(s)
Options:
-h, --help
Print help (see a summary with '-h')rsinter bb-circuit-bposd-memory
Run the built-in bivariate-bicycle memory experiment (requires rbposd-runner)
Usage: rsinter bb-circuit-bposd-memory [OPTIONS]
Options:
--code-id <CODE_ID> [default: bb144]
--physical-error-rate <PHYSICAL_ERROR_RATE> [default: 0.003]
--num-cycles <NUM_CYCLES> [default: 12]
--num-trials <NUM_TRIALS> [default: 50000]
--seed <SEED>
--max-bp-iterations <MAX_BP_ITERATIONS> [default: 10000]
--osd-order <OSD_ORDER> [default: 7]
--osd-method <OSD_METHOD>
--json-model-audit
--json-compare-case
-h, --help Print helprsinter bench run
Run a benchmark spec (decoder implementations require matching runner features)
Usage: rsinter bench run [OPTIONS] --spec <SPEC> --language <LANGUAGE> --out <OUT>
Options:
--spec <SPEC>
--language <LANGUAGE>
--out <OUT>
--resume Resume from existing per-runner test-run/results.jsonl rows under --out
-h, --help Print helprsinter bench merge
Usage: rsinter bench merge [OPTIONS] --spec <SPEC> --out <OUT>
Options:
--spec <SPEC>
--input <INPUT>
--out <OUT>
-h, --help Print helprsinter bench plot
Plot benchmark JSONL results (requires plotting)
Usage: rsinter bench plot [OPTIONS] --spec <SPEC> --out <OUT>
Options:
--spec <SPEC>
--input <INPUT>
--out <OUT>
-h, --help Print helprsinter bench plot-surface-compare-csv
Plot legacy surface-comparison CSV input (requires plotting)
Usage: rsinter bench plot-surface-compare-csv --spec <SPEC> --input <INPUT> --out <OUT>
Options:
--spec <SPEC>
--input <INPUT>
--out <OUT>
-h, --help Print helprsinter bench plot-bb-compare-csv
Plot legacy BB-comparison CSV input (requires plotting)
Usage: rsinter bench plot-bb-compare-csv --spec <SPEC> --input <INPUT> --out <OUT>
Options:
--spec <SPEC>
--input <INPUT>
--out <OUT>
-h, --help Print help