Troubleshooting¶
Seeded from errors people actually hit, not hypotheticals.
Installation¶
pip install pqc-sizes says "No matching distribution found".
Nothing is on PyPI yet. Use the repository:
pip install git+https://github.com/nickharris808/pqc-sizes
Every README leads with the working command; the PyPI name is reserved for when publication happens.
pip install ./pqc-migration-mcp fails on pqc-sizes>=0.1.0.
Fixed — the package now resolves its dependencies from their repositories. If you
see this, you have an old checkout; pull.
npm install pqc-sizes fails. Same reason. Use
npm install github:nickharris808/pqc-sizes-js.
pqc-sizes¶
It says EMPTY WINDOW and I think my config is fine.
That is the tool working. No single cap is both ≥ your largest legitimate object
and ≤ budget ÷ concurrency. The message gives three numbers, any one of which
fixes it.
Exit code 1 versus 2. 1 means the check ran and the answer is bad. 2
means the invocation was wrong. If CI reports 2, read stderr — every validation
error names the flag to change.
unrecognized arguments: --json. It is a global flag; put it before the
subcommand.
--concurrency 0 is refused. Zero contexts is not a deployment. Refusing
beats printing "minimum budget 0 B", which is what it used to do.
The numbers differ from my build. These are published parameter-set sizes.
Certificate chains, encodings and framing are yours to add — pass the real total
via --bytes or largest_object.
pqc-sizes-js¶
It throws exceeds Number.MAX_SAFE_INTEGER. Above 2^53 a JS number is not an
exact integer, and the library once reported a higher safe concurrency than
exact arithmetic allows. It refuses rather than returning a number it cannot
stand behind. Use the Python package for arbitrary precision.
pqc-mfb¶
INCOMPLETE (exit 3). You left cases unanswered. Silence is not credit.
pqc-mfb submit -o results.json writes all 322 ids for you.
FAIL with high coverage. You regressed a control — a case the unrepaired
baseline already handled. That is a hard fail regardless of coverage.
WARNING: N submitted id(s) match no case. Your submission targets a
different benchmark version, or an id is mistyped. Regenerate with submit.
Without this warning a typo would look identical to an honest zero.
The naive baseline scores PASS. Intended. PASS is the regression gate,
not the score: the baseline answers every case honestly and breaks nothing. Its
coverage is 0%. Gate on coverage with --min-coverage in pqc-guard-action.
It says 38 zero-coverage families but you advertise 39. fragment_truncate
is held even unrepaired, so it contributes controls rather than failures and can
never be zero-covered.
pqc-corpus¶
stats on my own file reports 0 provers. Correct — an empty corpus reports
empty. It used to report the packaged corpus's numbers instead, which was a
confident wrong answer.
is not valid JSON Lines. Each non-empty line must be one JSON object. The
message names the file and line.
parquet is binary; give -o FILE. Parquet cannot go to stdout.
pqc-migration-mcp¶
Two -32700 parse errors. Your request spanned two lines. The transport is
line-delimited; keep each request on one line.
Claude Desktop does not show the tools. Restart it after editing
claude_desktop_config.json, and check pqc-migration-mcp is on PATH.
Verifiers¶
farkas-check exits 3 with REFUSE. Arithmetic would have overflowed, so it
declined rather than computing a verdict from wrapped values.
farkas-check exits 3 with ABSTAIN. Your goal has all-zero coefficients:
0·x ≤ d holds regardless of state, so verifying it establishes nothing.
pqc-bounds-lean: lean: command not found. Install
elan; lean-toolchain pins the version.
pqc-dos-gate-rtl: proofs fail on my Yosys. Verdict wording differs between
releases. CI pins the OSS CAD Suite build. Yosys 0.33 as shipped by Ubuntu does
not match; use a newer build.
Cell counts differ from the README. They are version-dependent — 255 under Yosys 0.61, 232 under 0.48 — which is why only the flip-flop count (32) is claimed.
pqc-dos-embedded prints nothing. QEMU writes to stderr and exits non-zero
by design; run.sh handles that. You need arm-none-eabi-gcc and
qemu-system-arm.