v5.6.1
Bug-fix release: restores local-mode operation broken on the 4.28→5.6.0 upgrade
path, plus the RDR-141 single-writer hardening. Promotes develop (#1055, #1056,
#1063) to main.
Added
nx hooks update-all(#1056). Refreshes the nexus stanza in already-managed
git hooks across all catalog-registered repos, bringing every repo to the
current stanza after an upgrade. Unmanaged/uninstalled hooks are untouched; also
run automatically bynx upgrade.
Fixed
-
RDR-108 orphan-migration error message (#1056). The high-volume orphan gate
pointed at a non-existentnx catalog mark-supersededcommand; it now references
the realnx catalog rename-collection. -
Local-mode search restored (#1058). The local bge embedding function
pre-converted fastembed's numpy arrays to Python lists; chromadb ≥1.x calls
.tolist()on each element itself, so every local-mode (bge) search raised
'list' object has no attribute 'tolist'. The embedding function now returns
numpy arrays. Added achromadb<2upper bound — the unbounded>=0.6silently
resolved the contract-tightening 1.5.9. -
Collection renames restored (#1057).
rename_collection_cascadereferenced
thedocument_aspects.source_pathcolumn dropped at 4.31.0, so every rename
failed withno such column: source_pathon migrated databases. The
collision-defense now resolves the live primary-key column (doc_idwhen
migrated, elsesource_path) for both thedocument_aspectsand
aspect_extraction_queuecascades. -
nx mineru starton a stock install (#1059).mineru-api(a bundled
dependency's console script) is not linked ontoPATHbyuv tool install.
Resolution now tries the interpreter's venv bin, then a module-anchored venv
walk (fixes the MCP/daemon auto-restart path under a different interpreter),
thenPATH. -
Collection-name overflow guidance (#1060). Relabeling to the longer bge
token could exceed ChromaDB's 63-char cap; the error now points at the
canonical repo-id name vianx catalog collection-nameinstead of a bare
ValueError. -
Daemon-unreachable log spam (#1048).
t2_index_writelogged a fallback
warning on every write while the daemon was alive-but-busy; it now
distinguishes daemon-absent from alive-but-unresponsive and rate-limits the
warning per event. -
Version-skew double-writer (RDR-141, #1055).
t2_index_writesplit its
conflatedexcept: a schema-version mismatch (a stale daemon still serving)
now re-asserts the supervisor instead of opening a second direct writer on
memory.db.
Changed
nx doctor(#1061 E1). Now fails (instead of false-green "could not
query") when the active embedder's dimension does not match the stored
collections' — a total search outage is a failure with remediation.nx upgrade --dry-run(#1061 E2). Reports deferred/gated RDR-108 migrations
(both aspect tables) instead of "no pending migrations" when a gated step would
still run on the next daemon bootstrap.- T2-backed commands (#1061 E3). Print a clean one-liner when the T2 daemon is
down instead of a rawDaemonNotRunningErrortraceback.