NEXO 7.9.6 — continuity runtime + MCP restart stability
Published 2026-04-23. Patch release over v7.9.5.
v7.9.6 closes the release contract for installed users. Updating Brain is no longer just "copy new code": Brain now persists continuity state by conversation, activates packaged runtimes atomically, and prevents old MCP processes from continuing to serve normal traffic once a newer runtime is installed.
Continuity survives restore, stale resume, and MCP restart
Brain now stores continuity snapshots in a dedicated continuity_snapshots table keyed by conversation_id and session_id. Desktop can write turn-start/turn-end/lifecycle snapshots, ask Brain for a small resume_bundle, and recover after stale --resume or process recreation without mixing another conversation. When Brain cannot prove the session belongs to the active conversation/client, it returns unsafe_sid=true and withholds the bundle.
Updates now install a new runtime instead of mutating a live one
nexo update now installs the packaged runtime under ~/.nexo/core/versions/<version> and flips ~/.nexo/core/current only after validation passes. Real version changes write ~/.nexo/runtime/operations/mcp-restart-required.json, nexo mcp status exposes process/install version drift, and old MCP processes self-drain with a structured mcp_restart_required response until the client restarts on the installed runtime.
Installed users are covered end-to-end
For Brain-only users, nexo update installs the new runtime and prevents mixed old/new MCP routing until the session or client restarts. For coordinated Brain + Desktop users, Desktop v0.28.7 reads the same restart contract, blocks health when the MCP is still stale, and only clears the restart-required state once the relaunched app is actually running against the installed Brain runtime.
No separate MCP supervisor in this release
This release explicitly closes the supervisor decision for the current stdio architecture. Atomic runtime activation, durable restart markers, self-drain, and Desktop relaunch gating cover the real failure mode without inserting a new supervisor layer between the MCP host and Brain worker.
Verification
Targeted Brain continuity/runtime validation: pytest -q tests/test_continuity_runtime.py tests/test_server_protocol_exports.py tests/test_startup_preflight.py tests/test_runtime_update_contract.py with 27 passed. Coordinated Desktop validation: npm test with 727 pass, 0 fail, 1 skipped.