`main()` rewrites a bare invocation into `serve`, which is what makes `mirror --port 8055` work at all — but it did that for every argument that starts with a dash, so `mirror --version` became `mirror serve --version`, the subparser has no such flag, and the command exited with "unrecognized arguments". Found by pulling the image CI published and asking it what it was. The rewrite rule is now `with_serve()`, extracted so the eight interesting inputs are asserted directly — including `--port 9999` still becoming a serve and `serve --version` staying as typed. `serve` also grew its own --version, because typing it there is just as reasonable and argparse does not inherit flags from a parent parser. The extraction is not cosmetic: the first version of this test monkeypatched `cmd_serve` to prove the rewrite, which did nothing, because argparse binds `func` at parse time — the test would have started a real uvicorn on 9999 and hung the suite. Asserting the pure function is both correct and safe. 187 tests pass, 2 skipped; ruff and pyright clean. LLM-Generated: true