Repository navigation
v7.86.2
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_reportno longer stores the caller'sfinal_text_excerpt(nexus-i9bzg). The report row kept up to 500 characters of the caller's reduction output with no redaction, while everynx_answerarm redacts the question and answer undertrace=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 doctorwarnings 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, thenx index reporefusal, the corrupt-MinerU advice and the MinerU restart lines all said to runnx self install --extras pdf, which refuses on that kind of install. They now name the command for the install's layout:nx self installon a uv tool install (it moves the install onto the generation layout, carries PDF support and applies the overrides), andnx self install --extras pdfon a generation install. -
nx doctor --check-mineruexits 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 ⚠ withnx mineru stop, thennx mineru start. -
The
cu128advice 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 setNX_TORCH_BACKEND=cu126that 7.86.1 added;nx self installalready showed it. -
nx upgradeno longer asks a person to do what it does next (nexus-pp3gb). The version-transition notice printed "NEEDS HUMAN: cycle the service" and "runnx upgrade" for a pending data rung, then the samenx upgradecycled the service and ran the rung. Undernx upgradeit now says the command runs the rung next, and cycles the service next unless--skip-t3is given (that flag skips the cycle, so the service line stays); other commands,--dry-runand--helpkeep the original lines. -
nx enrich aspectscounts 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 (noclaudeon the PATH, including an explicitNX_LLM_BACKEND=cli, and no API key) every document came back with null fields and the run exited 0; it now stops before extracting withNoBackendAvailableError'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-quotasnames the model T3 writes with on a local install (nexus-w15qd). It namedminilm-l6-v2-384and 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 -andnx config set --stdinis 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
nxweb 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 catalogsearch, and the rest) fail the same way, so an empty list always means no results. Unchanged:nx_answer's[non-answer: ...]text, thehook_*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):traversewith an unknownpurpose, and aplan_savethe plan library refuses ("Plan not saved: ..."). -
nx doctornames the topic discover a re-embed target still needs (nexus-s08oe, RDR-210 Technical Design 4). A job started without--waitleaves its target without topics untilnx 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 livedoneordone_with_skipstarget 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 attemptnx taxonomy discovernow records (asnx indexalready 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 --waitmoves source-backed documents and astore_putnote to Voyage; same documents before and after, aspects re-homed, both sources deleted, topics built, a second--allplans nothing).
Changed
nx consolehas 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 projectthreads(one entry per session) and the open beads labelledneeds-sam, with the asks that need Sam listed first and sessions quiet for 24 hours greyed./now redirects to/threads;/activityand/campaignsreturn 404. The format of athreadsentry is indocs/cli-reference.mdundernx console.- Installer pages (published to the site 2026-10-25, ahead of the next client release):
install.sh --slimandinstall.ps1 -slimnow 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--helptexts 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 pdfrefuses on a bareuv tool install, the install that lands two OpenCV builds; there the repair isnx 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
NoBackendAvailableErrorwhen no backend exists.nx enrich aspectsnow 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.