Skip to content

v7.86.2

Choose a tag to compare

@github-actions github-actions released this 25 Oct 21:25
· 416 commits to main since this release
4a840a6

Pairs with engine-service-v0.1.164 (REQUIRED_ENGINE_VERSION unchanged from 7.86.1), already deployed; no engine changesets. Fixes from the 7.86.1 post-release shakeout on macOS, Linux and Windows, MCP failures reported as errors, the console Threads panel, and corrections to the 7.86.1 and 7.86.0 entries.

Fixed

  • nx_answer_report no longer stores the caller's final_text_excerpt (nexus-i9bzg). The report row kept up to 500 characters of the caller's reduction output with no redaction, while every nx_answer arm redacts the question and answer under trace=False. The report cannot tell whether the run was traced (that run's handoff row is itself [redacted]), so it now keeps only its marker. The parameter is still accepted; nothing read the excerpt back.

  • Three nx doctor warnings showed as a green check (nexus-9b0ih). Found in the 7.86.1 shakeout. Three rows were built as passing rows that also carry a warning, and a passing row always prints ✓, so each one showed a green check beside its warning text and its suggested fix. The three rows: PDF support when two OpenCV builds are installed (off Linux; on Linux it stays red), PDF support on a Windows box that cannot load the stack yet, and the Dependency lock row when the lock rebuild is owed. They now print ⚠. The exit code does not change.

  • The PDF repair names the command that works for your install (nexus-5dmfv). Found in the 7.86.1 shakeout. A bare uv tool install 'conexus[pdf]' ignores the release's overrides and lands both OpenCV builds, and the doctor row, nx doctor --check-mineru, the nx index repo refusal, the corrupt-MinerU advice and the MinerU restart lines all said to run nx self install --extras pdf, which refuses on that kind of install. They now name the command for the install's layout: nx self install on a uv tool install (it moves the install onto the generation layout, carries PDF support and applies the overrides), and nx self install --extras pdf on a generation install.

  • nx doctor --check-mineru exits 1 when a row is red, and flags a stale MinerU server (nexus-pp3gb). It exited 0 with a red cv2 or import row, so a script could not see the failure. A MinerU server still running from the environment a repair replaced read as healthy, and every page then fell back to the slower per-page worker; it now shows ⚠ with nx mineru stop, then nx mineru start.

  • The cu128 advice reaches the first-PDF install too (nexus-pp3gb). The on-demand install kept only the last 12 lines of uv's output, which dropped the advice to set NX_TORCH_BACKEND=cu126 that 7.86.1 added; nx self install already showed it.

  • nx upgrade no longer asks a person to do what it does next (nexus-pp3gb). The version-transition notice printed "NEEDS HUMAN: cycle the service" and "run nx upgrade" for a pending data rung, then the same nx upgrade cycled the service and ran the rung. Under nx upgrade it now says the command runs the rung next, and cycles the service next unless --skip-t3 is given (that flag skips the cycle, so the service line stays); other commands, --dry-run and --help keep the original lines.

  • nx enrich aspects counts rows the engine refused as not stored, and stops when there is no LLM backend (nexus-w15qd). Rows under the engine's 0.3 confidence floor were printed and summed as extracted although nothing was written; they are now counted separately with the floor named. With no backend (no claude on the PATH, including an explicit NX_LLM_BACKEND=cli, and no API key) every document came back with null fields and the run exited 0; it now stops before extracting with NoBackendAvailableError's message and exit 1. The aspect worker and the ingest hooks keep writing a null-field row, as designed. The cost estimate says what it is: typical for paper-sized documents (the mean of three measured papers, $0.13 to $0.31 each), and far lower for short notes (one measured at $0.0035).

  • nx doctor --check-quotas names the model T3 writes with on a local install (nexus-w15qd). It named minilm-l6-v2-384 and showed a missing MiniLM tokenizer on a bge install, because it read the Python fallback embedder rather than the model the collections are written with. Its retry line says the counters cover this process only.

  • Text piped to nx store put -, nx memory put -, nx scratch put - and nx config set --stdin is read as UTF-8 (nexus-yoyy3). Python decodes a pipe with the locale encoding, which on Windows is the ANSI code page (cp1252), so a BOM came through as three characters and every non-ASCII character was garbled. Stdin is now read as bytes, decoded as UTF-8 with a leading BOM dropped and CRLF folded to LF; input that is not UTF-8 is refused with the remedy.

  • The nx web console draws a warning as a warning. It passed only pass or fail to its health cards, so every ⚠ row showed as a red ✗.

  • A failing MCP tool now answers isError: true (nexus-6b6hq). Tools reported failures as successful results whose text said they failed, in several shapes (Error: ... text, an {"error": ...} object, a one-item list holding one), so a client could not tell a failure from an empty answer. Those failures are now MCP error results on both servers, carrying the same content as before; only the flag changes. List tools (tuple_rd, tuple_list, the catalog search, and the rest) fail the same way, so an empty list always means no results. Unchanged: nx_answer's [non-answer: ...] text, the hook_* tools, which fail open, and the six tools that already raised (setup, setup_status, nx_tidy, nx_enrich_beads, nx_plan_audit, daemon_uninstall). Two answers that read like an empty result are now failures too (nexus-4jwr0): traverse with an unknown purpose, and a plan_save the plan library refuses ("Plan not saved: ...").

  • nx doctor names the topic discover a re-embed target still needs (nexus-s08oe, RDR-210 Technical Design 4). A job started without --wait leaves its target without topics until nx taxonomy discover --collection <target> runs, and topic search and topic boosts miss the moved documents until then. The Re-embed jobs row now warns for each live done or done_with_skips target that no discover has run on since the job ended, with that command; it leaves out a target under 5 chunks, where discover builds nothing, and one deleted or superseded since. "Has run" is the attempt nx taxonomy discover now records (as nx index already did), or the engine's newer discover stamp: a run that forms no topics, because the target already had them or clusters to all noise, writes no stamp but still clears the row. A target whose chunk count cannot be read is named as not judged; the others are still judged. The dual-embedder gate now runs RDR-210's Phase 6 scenarios on a keyed engine (re-embed --all --wait moves source-backed documents and a store_put note to Voyage; same documents before and after, aspects re-homed, both sources deleted, topics built, a second --all plans nothing).

Changed

  • nx console has a Threads panel, and the Activity and Campaigns panels are gone (nexus-i99vk). Both old panels read the catalog JSONL files, which are empty since the catalog moved to Postgres. Threads shows every Claude session's open threads on one board, from T2 project threads (one entry per session) and the open beads labelled needs-sam, with the asks that need Sam listed first and sessions quiet for 24 hours greyed. / now redirects to /threads; /activity and /campaigns return 404. The format of a threads entry is in docs/cli-reference.md under nx console.
  • Installer pages (published to the site 2026-10-25, ahead of the next client release): install.sh --slim and install.ps1 -slim now print that PDF support was left out and how to add it (nx self install --extras pdf, or it installs on the first PDF you index), and both --help texts state the macOS 14 on Apple Silicon floor (nexus-h6wwq).

Corrections to 7.86.1 and 7.86.0

Labels the 7.86.1 post-release shakeout (macOS, Linux, Windows, the artifacts) showed to be wrong.

  • 7.86.1, nexus-11x9o: the repair nx self install --extras pdf refuses on a bare uv tool install, the install that lands two OpenCV builds; there the repair is nx self install (see Fixed above). The row also showed a green check off Linux, not the warning the entry describes (see Fixed above).
  • 7.86.1, nexus-3ppub: a piped stdin on Windows decodes with the ANSI code page (cp1252), not the console code page, and the problem was every non-ASCII character, not only the BOM. Stdin is now read as UTF-8 (see Fixed above).
  • 7.86.0, nexus-2k66t.3: not every LLM step receives NoBackendAvailableError when no backend exists. nx enrich aspects now stops with it (see Fixed above); the aspect worker and ingest hooks log the failure and write a null-field row.
  • 7.86.0, lock refresh: bge-base-en-v1.5 vectors from fastembed 0.7.4 and 0.8.1 differ by up to 3.3e-4 per component, not at most 1.3e-4 (300 fixed strings on macOS arm64, 2026-10-25; the entry's figure came from a different string set). The minimum cosine on that set was 0.9999995 (the entry says 0.9999996), so the equivalence claim stands. The difference comes from the onnxruntime move: with onnxruntime held at 1.31.0, fastembed 0.7.4 and 0.8.1 gave identical vectors.