Context passed to tool handlers. Contains pre-resolved values that
many tools need, avoiding repeated async lock acquisition inside
handlers. Extended with shared server state for tools that need
cache/session access.
Outcome of a shell execution, carried alongside the rendered text so the
MCP dispatch layer can surface failures in protocol metadata instead of
only as an [exit:N] text footer (GitHub #389: clients had no programmatic
way to detect ctx_shell failures and resorted to fragile regex matching).