Select opens the cached catalog when its sidecar URL still matches, so
browsing costs no network or TLS memory; Refresh fetches. Caches are
replaced through a backup so an interrupted download cannot leave an
empty catalog behind.
Switch to structured log.debug/info/error milestones and add
BinaryKeyboard, a two-button recursive text entry experiment.