high95%
ShellToolMiddleware command timeout silently resets session and skips startup_commands
When a shell command times out, ShellSession.execute restarts the shell but ShellToolMiddleware does not re-run startup_commands. Any shell hardening (ulimit, umask, exported variables, readonly tokens) and working directory are silently lost, while the model is not informed that the session was reset.
