PR #1266 (#1264) added a loud 'session-gave-up' notice when the fast-exit valve stops respawning: plain-language reason written into the terminal via PtySession.notice plus the Tower log.
maxRestarts exhaustion (the 50-restart budget) has the identical silent-death UX — the session just stops coming back with no in-terminal explanation — and did not get the loud treatment (kept out of #1266's scope deliberately). Route it through the same 'session-gave-up' event/notice path.
PR #1266 (#1264) added a loud 'session-gave-up' notice when the fast-exit valve stops respawning: plain-language reason written into the terminal via PtySession.notice plus the Tower log.
maxRestartsexhaustion (the 50-restart budget) has the identical silent-death UX — the session just stops coming back with no in-terminal explanation — and did not get the loud treatment (kept out of #1266's scope deliberately). Route it through the same 'session-gave-up' event/notice path.