run_textual_app failure that still carries the app's final state.
The TUI resolves resume intent and /threads switches asynchronously, so
only the app knows which thread was active when it crashed. Callers catch
this to render teardown hints against the right thread.