NEXO 7.20.13 — database recovery and Doctor repair
Published 2026-05-13. Patch release over v7.20.12.
Why this release exists
A recoverable local database wipe could leave Desktop Local Memory showing zero files even though a valid Brain backup existed. v7.20.13 makes recovery stop every known database writer first, restore from a validated backup and restart the stopped services.
What changed
- Safe DB recovery. `nexo recover` now pauses local-index, email-monitor, followup-runner, watchdog, catchup and MCP writers before replacing `nexo.db`.
- Automatic self-heal parity. Startup recovery uses the same writer pause and service resume path, so locked handles no longer block backup restoration.
- Doctor repair. `nexo doctor --tier boot --plane database_real --fix` detects zero-byte or corrupt local databases when a valid backup exists and repairs them through the validated recovery path.
- Desktop Local Memory recovery. Desktop continues to read Brain status, but Brain can now restore the DB state Desktop needs instead of leaving the panel at zero.
Validation
pytest -q tests/test_db_guard.py tests/test_recover.py tests/test_auto_update_selfheal.py tests/test_doctor.py
# 143 passed
nexo doctor --tier boot --plane database_real --json
# boot.db_integrity healthy