agent/disposed only cleared the status line, so an agent-loop-only reload that disposed the agent while the TUI stayed mounted left the local disposed flag false. Since retained agents accept deliveries after detachment, later input drove a zombie agent/session. Set disposed on agent/disposed so dispatchMessage reports it. Adds a regression that sends after disposal and asserts no delivery.