NEXO 7.12.15 — same-version maintenance and continuity hardening

Published 2026-05-05. Patch release over v7.12.14 — keeps packaged Brain maintenance safe for coordinated Desktop bundles while tightening overnight and email continuity.

Same-version packaged updates still do maintenance

Packaged nexo update no longer returns early when the installed version and bundled version match. The safe maintenance rail still runs migrations, layout/import verification, cron sync, hook cleanup, runtime dependency checks, and client sync, while skipping restart markers and reload work that only belong to true version changes.

Deep Sleep lock cleanup is interruption-safe

nexo-sleep.py now cleans the process lock on normal exit, SIGINT, SIGTERM, and atexit. Interrupted overnight runs should no longer leave stale sleep-process.lock state behind.

Sent replies are visible to continuity

Successful nexo-send-reply.py sends now write durable sent_email_events records. Duplicate checks, smart startup, and morning briefings can verify that a reply was sent even if the legacy Sent-folder copy is delayed or incomplete.

Script schedule drift is auditable

Personal script sync/reconcile now reports managed-marker warnings when LaunchAgent schedule declarations and generated markers drift. That makes schedule drift visible before it becomes a silent automation failure.

Validation

PYTHONPATH=src pytest -q tests/test_packaged_update_runtime.py tests/test_shell_runtime_path_contract.py tests/test_email_sent_events.py tests/test_core_automation_productization.py tests/test_script_registry.py

114 passed, 3 xpassed

Full changelog entry → · src/plugins/update.py · src/email_sent_events.py