'./run.sh --abandon-pick <id>' printed the usage block and exited 1 with
no reason given: main() matched argv[1] against _ALL_COMMANDS exactly, so
a dashed spelling fell into the same catch-all as invoking with no args.
- _resolve_command() strips leading dashes from argv[1] (they carry no
meaning in that slot) and echoes a note when it normalises.
- _print_usage() now names the offending token and suggests the nearest
command via difflib, instead of silently reprinting usage.
Locks still receive the canonical command name, so a dashed spelling
cannot be used to dodge the manual-pick or total-gaming block.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>