NEXO 7.1.3 — packaged Desktop runtime closes the loop

Published 2026-04-20. Patch over v7.1.2.

The 7.1.2 line was already the honest public release for the prompt/runtime work, but the packaged Desktop branch above that tag still carried a few product-critical fixes that were only proven locally. This coordinated patch turns that proven branch into the public runtime line: packaged Brain repair/update can reuse Desktop's bundled npm runtime, portable restores stop being blind imports, and the public story catches up with the shipped product/runtime state again.

What changed

Packaged update flows now know how to reuse the app-bundled npm runtime instead of assuming the machine already has a separate npm install. src/user_data_portability.py now inspects bundles before import, reports version and section compatibility metadata, and keeps the safety-backup path outside the normal export rate-limit. src/auto_update.py and src/product_mode.py also tighten the packaged/F0.6 path so Desktop-managed installs detect product mode more reliably during finalisation and update replay.

Why it matters

This is the difference between "the code works on our machines" and "the shipped product line is actually self-contained". Operators who install Desktop without separate developer tooling should still be able to repair/update Brain, inspect a backup before restoring it, and trust the public docs/changelog/site to describe the exact runtime line they are about to run.

Verification

The coordinated Brain line was validated with the targeted packaged-update / portability regression subset green (33 passed) plus the full public release-readiness validator green (174 passed, public surfaces OK, website OK, client parity OK).