Severity: P0
Command: winml quantize
Category: Input Validation — reject unknown values at parse time; do not contradict the exit code.
Repro:
uv run winml quantize -m temp\cli-audit\resnet.onnx --precision banana -o temp\ux\bad.onnx
Actual:
Precision: banana ← lying — actually used uint8/uint8
Weight type: uint8
Activation type: uint8
Success! Model quantized
QDQ nodes inserted: 256
Followed by two near-duplicate ORT WARNING lines (~7 s apart). Exit code 1 despite the Success! line in stdout.
Expected: Declare --precision as click.Choice([auto, fp32, fp16, int8, int16, w4a16, w8a8, w8a16]). Fail at parse time:
Error: Invalid value for --precision: 'banana' is not one of [auto, fp32, fp16, int8, int16, w4a16, w8a8, w8a16].
Exit 2.
Why it matters: Three things wrong at once: (a) the flag value is silently ignored; (b) stdout says "Success!"; (c) exit code is 1. Any one of those is a P1; together they form a P0.
Severity: P0
Command:
winml quantizeCategory: Input Validation — reject unknown values at parse time; do not contradict the exit code.
Repro:
Actual:
Followed by two near-duplicate ORT WARNING lines (~7 s apart). Exit code 1 despite the
Success!line in stdout.Expected: Declare
--precisionasclick.Choice([auto, fp32, fp16, int8, int16, w4a16, w8a8, w8a16]). Fail at parse time:Exit 2.
Why it matters: Three things wrong at once: (a) the flag value is silently ignored; (b) stdout says "Success!"; (c) exit code is 1. Any one of those is a P1; together they form a P0.