The reviewer asked for a known-good interactive-menu library instead of
the custom termios/select key reader; arrow keys had failed in their
terminal. The TTY path now delegates to questionary.select (pointer ">",
bold highlight via pointer/selected styles), keeping choice values mapped
to list indices. Cancellable menus graft an eager Escape binding onto the
prompt's own key-binding registry so Esc backs out while Ctrl-C still
aborts fixed menus and backs out of cancellable ones. The non-TTY
numbered fallback is untouched, and hand-rolled internals
(_arrow_menu/_read_keypress/_option_line/_draw_menu_rows) are gone.
The pyinstaller build group was added to pyproject.toml without
regenerating uv.lock, so 'uv sync --frozen --group build' failed in CI
with: Group 'build' is not defined in the project's dependency-groups.
New `bts` subcommand backed by python-debianbts (bugs.debian.org SOAP):
- Identify by email address: get_bugs(submitter=...) for bugs filed,
get_bugs(owner=...) for bugs owned
- Filed filtered on creation date, owned on log_modified; status
lookups capped at 500 bugs per collect
- Per-query failures degrade to warnings like other sources