NEXO 7.1.5 — standalone catchup + isolated-home product checks
Published 2026-04-21. Patch over v7.1.4.
The 7.1.4 line closed the last packaged updater regression, but the runtime still had a quieter maintenance-path problem: some direct recovery and release flows were inheriting assumptions from the operator machine instead of the runtime context they were actually evaluating. This coordinated patch makes those paths honest again and keeps older doctor callers compatible while the product line stays strict where it should.
What changed
src/scripts/nexo-catchup.py now imports the interactive automation helpers only when the post-catchup assessment path is actually needed, so direct runtime-root catchup execution no longer dies just because claude_cli is absent on a lean install. src/product_mode.py now treats an explicit external/test home as authoritative and ignores the operator machine's globally installed Desktop app when deciding whether Desktop product mode is present. src/cli.py also restores CLI compatibility for legacy nexo scripts call nexo_doctor callers by defaulting the missing plane to installation_live, while the underlying plugin contract remains explicit.
Why it matters
These are not headline UI changes, but they matter for reliability. Recovery scripts, isolated-home tests, release validators, and Desktop-managed maintenance flows must evaluate the runtime in front of them, not the operator's shell history or globally installed app footprint. This patch narrows that gap so packaged and standalone maintenance continue to behave predictably as the product line keeps shipping.
Verification
The coordinated Brain line was validated with the full Python suite green (1854 passed, 3 skipped, 1 xfailed, 5 xpassed) plus the public release-readiness validator after the release surfaces and integration artifacts were refreshed.