The maintainer prefers the rich backend. Drop TextualUI, the app shell,
run_textual and the seams that existed only for it (UI.run_terminal,
supports_readline/readline_supported, the debug-log redirect, the
interactive_menu routing). The six terminal-owning sites call their
subprocess directly again and main() runs its menu loop inline.
ui_backend=textual stays a valid value so an existing config still
starts: it maps to rich (ui.RETIRED_BACKENDS) and main() says so. The
readline-history arrow keys for list prompts are unaffected.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>