com um clique
qa
// QA the installed apr CLI binary — pull a model, test every subcommand, hunt for bugs, file GitHub issues. Use when asked to QA apr, test apr, or check apr-cli.
// QA the installed apr CLI binary — pull a model, test every subcommand, hunt for bugs, file GitHub issues. Use when asked to QA apr, test apr, or check apr-cli.
| name | qa |
| description | QA the installed apr CLI binary — pull a model, test every subcommand, hunt for bugs, file GitHub issues. Use when asked to QA apr, test apr, or check apr-cli. |
| allowed-tools | Bash Glob Grep Read Agent TaskCreate TaskUpdate TaskList |
Perform exhaustive QA of the installed apr binary (not source builds). Pull a real model, exercise every subcommand, and file GitHub issues for bugs found.
$ARGUMENTS
If arguments include a model path, use that model. Otherwise pull the default:
apr pull hf://Qwen/Qwen2.5-Coder-1.5B-Instruct-GGUF/qwen2.5-coder-1.5b-instruct-q4_k_m.gguf
apr is installed: which apr && apr --versionM=/path/to/model.gguf for all subsequent commandsWork through every category below. For each command, capture stdout+stderr and the exit code. Track bugs as you go.
Test each with the model file. Also test --json and --quiet variants where supported.
apr inspect $M
apr inspect --json $M
apr inspect --vocab $M
apr tensors $M
apr tensors --json $M
apr tree $M
apr flow $M
apr debug $M
apr debug --drama $M
apr hex $M
apr explain $M
apr explain E001
apr explain --tensor q_proj
apr explain --kernel qwen2
apr oracle $M
apr oracle --json $M
apr validate $M
apr check $M
apr lint $M
apr qa --skip-throughput --skip-ollama --skip-golden --skip-gpu-speedup --skip-gpu-state --skip-ptx-parity --skip-format-parity --skip-capability $M
apr qualify $M # timeout 90s
Use timeout 60 for all inference commands.
apr run $M "What is 2+2?" --max-tokens 32
apr bench $M --iterations 3 --warmup 1 --max-tokens 16
apr eval $M --max-tokens 16
apr serve plan $M
Use timeout 30 — these may hang (known issue pattern).
apr convert $M --output /tmp/apr-qa-convert.apr
apr import $M
apr export $M -o /tmp/apr-qa-export.safetensors
apr quantize $M --output /tmp/apr-qa-quant.gguf
apr merge $M $M --output /tmp/apr-qa-merged.gguf
apr prune $M --output /tmp/apr-qa-pruned.gguf
apr compile $M
echo "test123" | apr encrypt $M --output /tmp/apr-qa-enc.enc
echo "test123" | apr decrypt /tmp/apr-qa-enc.enc --output /tmp/apr-qa-dec.gguf
# Create test data
echo '{"input": "hello world", "label": 0}' > /tmp/apr-qa-data.jsonl
echo '{"input": "foo bar", "label": 1}' >> /tmp/apr-qa-data.jsonl
apr finetune $M
apr distill $M
apr train plan
apr data audit /tmp/apr-qa-data.jsonl
apr tokenize plan --data /tmp/apr-qa-data.jsonl
apr list
apr list --json
apr gpu
apr gpu --json
apr diff $M $M
apr trace $M
apr profile $M # timeout 60
apr parity $M # timeout 30
apr ptx-map $M
apr rosetta inspect $M
apr rosetta fingerprint $M
apr compare-hf $M --hf <appropriate-repo> # timeout 30
apr runs ls
apr diagnose --help
apr probar --help
apr publish --help
apr inspect /nonexistent/file.gguf # should exit non-zero
echo "bad" > /tmp/apr-qa-bad.gguf
apr inspect /tmp/apr-qa-bad.gguf # should exit non-zero
apr foobar # unknown subcommand
apr list --json --json # duplicate flag
Flag anything matching these patterns:
thread 'main' panicked outputFor each bug found, file a GitHub issue using gh:
gh issue create --repo paiml/aprender --title "<concise title>" --body "$(cat <<'EOF'
## Description
<what's wrong>
## Reproduction
<exact commands>
## Expected
<what should happen>
## Version
`apr <version>`
EOF
)"
Group related exit-code bugs into a single issue. Use severity labels:
Remove all temp files when done:
rm -f /tmp/apr-qa-*.{gguf,apr,enc,jsonl,safetensors}
End with a summary table of all bugs found and issues filed, organized by severity.