NEXO 7.11.8 — Silent Guardian reminders now stay silent

Published 2026-04-28. Patch release over v7.11.7 — the remaining leak was not Desktop UI logic anymore, but a Brain-side reminder contract that still allowed visible assistant prose after silent tool calls.

What was still leaking

In long-running Desktop conversations, Brain can inject silent reminders for lifecycle close/app-exit and for post-tool inbox heartbeat delivery. The reminders already said things like Do not produce visible text, but the contract was not explicit enough about the rest of the turn. In practice, a model could execute the silent tool call correctly and still append visible prose such as En pausa esperando tu siguiente paso... when there was no fresh user input.

The fix is shared at the contract level

v7.11.8 tightens the silence rule in every surface that matters:

Canonical lifecycle plans now publish the stricter contract

src/lifecycle_prompts.py bumps PLAN_VERSION from 5 to 6. That means Desktop receives the stricter close/app-exit diary-stop wording under a new deterministic canonical plan version, instead of silently reusing the older prompt contract.

Result

Consecutive silent reminders stop leaking visible prose into Desktop conversations, and canonical close/app-exit flows keep the same intent but with a stricter no-visible-output contract. The UI-side cleanup in Desktop handles stray historical content better, but Brain now stops generating the problematic visible turn in the first place.

Validation

pytest -q tests/test_enforcement_silent_contract.py tests/test_core_prompts.py tests/test_lifecycle_events.py

48 passed

Full changelog entry → · server-mcp-instructions.md · src/lifecycle_prompts.py