You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: .claude-plugin/marketplace.json
+4-4Lines changed: 4 additions & 4 deletions
Original file line number
Diff line number
Diff line change
@@ -11,21 +11,21 @@
11
11
"source": "git-subdir",
12
12
"url": "https://github.com/Hellblazer/nexus.git",
13
13
"path": "conexus",
14
-
"ref": "v7.33.0"
14
+
"ref": "v7.34.0"
15
15
},
16
16
"description": "Self-hosted three-tier knowledge management with 13 specialized agents, plan-centric retrieval via nx_answer, semantic search, and RDR decision tracking for Claude Code.",
17
-
"version": "7.33.0"
17
+
"version": "7.34.0"
18
18
},
19
19
{
20
20
"name": "sn",
21
21
"source": {
22
22
"source": "git-subdir",
23
23
"url": "https://github.com/Hellblazer/nexus.git",
24
24
"path": "sn",
25
-
"ref": "v7.33.0"
25
+
"ref": "v7.34.0"
26
26
},
27
27
"description": "Injects Serena and Context7 MCP tool usage guidance into subagents via SubagentStart hook.",
Copy file name to clipboardExpand all lines: README.md
+12-5Lines changed: 12 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -72,17 +72,24 @@ The `nx` CLI provides direct access to all storage tiers, indexing, search, the
72
72
## Updating
73
73
74
74
```bash
75
-
nx self install # 1. update the code — PRESERVES your extras (e.g. [local])
75
+
nx self install # 1. update the code (keeps your extras, e.g. [local])
76
76
nx upgrade # 2. converge the data
77
77
```
78
78
79
-
Upgrading nexus is: update the code, then run `nx upgrade`. That single trigger converges everything else — it brings the package, engine, and process preconditions current, then walks one ordered ladder. The T2-schema and ChromaDB→Postgres+pgvector substrate-move rungs (and the chunk-identity / embedder-era migrations that were co-resident inside the substrate move) retired with the Chroma + client-SQLite migration machinery at RDR-155 P4b; the RDR-180 chash rekey is the ladder's sole remaining data rung today, detecting, converging, and verifying before it records completion, resumable and idempotent, with your existing store left byte-untouched as a rollback target. There is nothing to sequence by hand and no era to know for any install that has already reached the PG substrate (6.0+): `nx doctor` reports the pending rung read-only, `nx upgrade` walks it, and a dormant-but-migrated install converges the same way a current one no-ops. A **pre-PG install** (5.x, or 6.x that never migrated off ChromaDB) is a separate two-hop — the Chroma-era migration machinery retired at RDR-155 P4b, so hop through `conexus==6.18.1` first (`nx upgrade` there migrates ChromaDB → Postgres+pgvector, copy-not-move), then upgrade forward to current; see [Getting Started § Upgrading an existing install](docs/getting-started.md#upgrading-an-existing-install-skip-this-if-this-is-your-first-install) for the exact commands. Rollback is always yours to invoke and never automatic.
79
+
Both steps, every time. Step 1 installs a new generation beside the one you
80
+
are running and repoints `current`; nothing is swapped under a live process,
81
+
so it is safe with Claude Code sessions open and the service up. Step 2
82
+
converges the package, engine, and service, then walks any pending data
83
+
rung. `nx doctor` shows what is pending; `nx upgrade --dry-run` previews.
80
84
81
-
**Step 1 installs a new generation; it does not replace the one you are running.**`nx self install` builds a fresh tree beside the existing ones under `~/.local/share/nexus/tools/`, repoints the `current` symlink and rewrites the `~/.local/bin` shims. Nothing is swapped underneath a live process, so it always succeeds with Claude Code sessions open, the storage service up, and an `nx index` in flight — those holders keep running from their own tree and converge at their next spawn. The install source and your extras travel in the generation's own receipt, so a `[local]` install stays a `[local]` install. Older generations are reaped once nothing is bound to them (the last three are kept by default; `--keep N` to change that).
85
+
Do not upgrade with `uv tool install conexus` or `--force`: that resets the
86
+
environment and drops `[local]`, which downgrades the embedder and makes
87
+
search return nothing. If you did, `nx self install` repairs it.
82
88
83
-
**On a box still using the older uv-tool layout, `nx self install` now CONVERGES it** (7.20.0, nexus-gu9zo). It builds a generation beside the existing uv tree, flips `current`, takes over the `~/.local/bin` shims, and registers the old tree so live holders keep running from it until nothing is bound to it. Your extras bridge across from the uv receipt, so a `[local]` install stays `[local]`. Before 7.20.0 the command refused here and pointed at a repo script most users do not have — no packaged install could reach the generation layout at all. `nx doctor`'s *Generation layout* row tells you which layout you are on. On either layout, **do not** upgrade with `uv tool install conexus --force` / `uv tool install conexus`: that *resets* the install and **drops `[local]`**, silently downgrading your embedder from 768-dim to 384-dim, which dimension-mismatches existing 768-dim collections and makes search return nothing. On a uv-tool box, recover with `uv tool install --reinstall "conexus[local]"`. On a generation box, that same command rebuilds a `[local]`-less uv tree beside your install (a plain `uv tool install` leaves the nexus shims alone — "Executable already exists"; `--force` takes them, and then every spawn resolves through uv's tree instead of `current`). Since 7.21.0 this is self-repairing: the next `nx upgrade` (the SessionStart hook runs it) or `nx self install` rewrites the shims back to `current`, registers uv's tree for reap, and — if uv's tree is the newer version, i.e. you meant to upgrade — builds a generation at that version from your own receipt, so `[local]` survives. Never run `uv tool uninstall conexus` on a generation box: it deletes the nexus shims at those paths; a reaped tree is what makes uv refuse to rebuild.
89
+
After `/plugin update`, run both steps so the CLI matches the plugin.
84
90
85
-
When you update the **Claude Code plugin** (`/plugin update`), run **both** upgrade steps above (`nx self install` then `nx upgrade`) so the CLI stays in lockstep with the plugin version.
91
+
Installs that never left ChromaDB (5.x, or 6.x never migrated) take a
92
+
different path: [Getting Started § Upgrading from a pre-PG install](docs/getting-started.md#upgrading-from-a-pre-pg-install).
Copy file name to clipboardExpand all lines: conexus/.claude-plugin/plugin.json
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
{
2
2
"name": "conexus",
3
-
"version": "7.33.0",
3
+
"version": "7.34.0",
4
4
"description": "Self-hosted three-tier knowledge management with plan-centric retrieval (nx_answer), specialized agents, semantic search, and RDR decision tracking for Claude Code.",
Copy file name to clipboardExpand all lines: docs/cli-reference.md
+31-2Lines changed: 31 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -86,8 +86,7 @@ nx index repo ./my-project
86
86
|------|-------------|
87
87
| `--frecency-only` | Update frecency scores only; skip re-embedding (faster, for re-ranking refresh). Mutually exclusive with `--force` |
88
88
| `--re-embed` | Requires `--force`. Also forces a Voyage re-embed of every chunk, even one whose text is unchanged (the pre-nexus-4jj40 `--force` behaviour). Without it, `--force` alone re-chunks and re-sends every file; the server's own existence-partition still skips the billed embed call for a chunk whose text is byte-identical to what is already stored, refreshing only its metadata (e.g. a chunker classification change). Reserve `--re-embed` for a genuine embedding-model change |
89
-
| `--force-stale` | Re-index only if collection pipeline version is outdated (smart force — skips current collections) |
90
-
| `--since-head` | Index only the git delta since the last indexed commit (`owners.head_hash`): changed files re-index, deleted files' docs prune, full-tree passes (staleness pulls, housekeeping, misclassified/orphan prunes, rg cache rebuild) are skipped. Worktree-inclusive. Falls back to a full index when no usable base exists; ignored with `--force`/`--force-stale`. The per-commit hook's fast path |
89
+
| `--since-head` | Index only the git delta since the last indexed commit (`owners.head_hash`): changed files re-index, deleted files' docs prune, full-tree passes (staleness pulls, housekeeping, misclassified/orphan prunes, rg cache rebuild) are skipped. Worktree-inclusive. Falls back to a full index when no usable base exists; ignored with `--force`. The per-commit hook's fast path |
91
90
| `--corpus [docs\|knowledge]` | Corpus routing for auto-classified prose/PDF files (default: `docs`). `docs` routes to `docs__` collections; `knowledge` routes to `knowledge__` collections instead |
92
91
| `--on-locked {skip,wait}` | Behavior under contention (default: `wait`). Per-repo advisory lock (two `nx index repo` on the same repo): `skip` exits immediately, `wait` blocks. Catalog-write fairness (RDR-146): when a foreground interactive catalog write is pending, `skip` defers this run's catalog writes to the next idempotent pass, `wait` proceeds after a bounded yield. `NX_WRITE_PRIORITY=interactive|batch` overrides the tty-based priority of a run's catalog writes. |
93
92
@@ -3607,6 +3606,20 @@ every row is split three ways:
3607
3606
- `error` — a plan-execution or binding error before/without any
0 commit comments