NEXO 7.1.7 — operator-facing email automation finally respects calibration language

Published 2026-04-21. Patch over v7.1.6.

The 7.1.6 line shipped the coordinated core-schedules work cleanly, but a real operator-facing gap was still open in Brain: the email monitor could still escalate a thread for manual attention in English even when the operator calibration was Spanish. This patch closes that gap directly in the runtime automation layer.

What changed

src/scripts/nexo-email-monitor.py now reads the calibrated operator language alongside the operator and assistant names, passes that language into the catalog-backed email-monitor prompt, and localizes the direct needs_interactive escalation subject/body that the daemon sends after exhausting automatic retries.

Why it matters

There are two separate paths in the monitor: normal thread handling through the automation backend, and the hard fallback path that sends a direct operator escalation when a thread has already failed multiple times. If the fallback path ignores calibration language, the operator experiences a broken product even when the rest of the runtime is localized correctly. That is exactly the kind of small but trust-eroding drift this patch removes.

Release hygiene

The core prompt template now states the language contract explicitly: emails to the operator must use the operator's preferred language, while replies to external senders should follow the thread language. Regression tests now lock both the prompt surface and the direct escalation copy so this does not quietly regress.

Verification

This patch was validated with focused monitor/prompt tests plus the repo release-readiness validator after public release surfaces were refreshed for v7.1.7.