NEXO 7.4.1 — guardian-claude-desktop lifecycle closure: ledger/authority split made explicit, Desktop v0.24.1 covers the last 3 routes

Published 2026-04-22. Patch release over v7.4.0.

v7.4.1 is a same-day follow-up to v7.4.0. Its job is twofold: close the remaining gap in the guardian-claude-desktop-plan.md pipeline, and correct the over-promise that the v7.4.0 release notes made. Both motions happen in lock-step with Desktop v0.24.1.

The honest correction

The v7.4.0 CHANGELOG and blog used phrases like "every conversation lifecycle transition" and "full pipeline end-to-end". Francisco called that out, rightly, after installing the release. Two facts the old entry blurred:

Both v7.4.0's CHANGELOG and blog now carry an in-line "honest correction" block pointing to v7.4.1. No silent history rewrite.

What Desktop v0.24.1 ships (no Brain code change needed)

Every action the v7.4.0 ledger already accepted (switch, window-close, app-exit) now has a real producer on the Desktop side:

Two hardenings Francisco explicitly asked for

Tests added

Desktop side: +24 cases across lifecycle-switch-integration, lifecycle-window-close-integration, lifecycle-app-exit-integration, lifecycle-shutdown-e2e, lifecycle-telemetry and lifecycle-backoff. Total: 658 pass, 1 skipped, 0 fail. Brain side: no code change, contract tests from v7.4.0 still pass.

What stays in the backlog

Canonical diary+stop execution inside nexo_lifecycle_event is deferred to v7.5. That is the piece that would let Brain drive the session-end policy directly, without Desktop being the only process that can reach the Claude stdin pipe. Today the session-end policy still fires end-to-end through the existing Desktop pipeline — v7.4.1 just stops the release notes from pretending otherwise.

Related: full v7.4.1 changelog · v7.4.0 release notes · source on GitHub