NEXO 7.9.3 — canonical lifecycle plan shape v2 for exact-once Desktop diary

Published 2026-04-23. Patch release over v7.9.2.

v7.9.3 is the Brain-side half of restoring the original Desktop diary lifecycle behaviour for close, archive, delete, and app quit. Brain still owns the canonical plan; this patch makes the plan shape explicit enough that Desktop can execute it without guessing.

What changed

canonical_actions now publish type as the action discriminator and put the diary prompt in payload.prompt. That is the normalized v2 contract Desktop consumes for resume_session, inject_prompt, and stop_session.

Compatibility

The older kind and top-level prompt fields remain for one release as mirrors. Desktop clients up to v0.28.1 keep working, while v0.28.2 reads the canonical shape and preserves exact event-id dedupe.

Verification

Lifecycle tests pin the normalized action shape, payload prompt round-trip, app-exit parity, and compatibility mirrors. Targeted validation: pytest tests/test_lifecycle_events.py with 25 passing tests, release artifact sync, and release-readiness.

Full changelog entry →