nexusmem 0.3.3 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +350 -287
- package/README.md +17 -1
- package/dist/cli/index.js +1158 -317
- package/dist/cli/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -253,6 +253,9 @@ run is the first measurement at the scale that target was always described as ap
|
|
|
253
253
|
One thing that is not a percentage: shell commands and conversation turns have no cheap `grep`
|
|
254
254
|
equivalent. Without something recording them, they are gone, not merely more expensive to find.
|
|
255
255
|
|
|
256
|
+
For how these numbers compare to a similar tool's own claims, see
|
|
257
|
+
[`docs/competitor-comparison.md`](docs/competitor-comparison.md).
|
|
258
|
+
|
|
256
259
|
Latency on a ~530-node corpus, warm, p50 over 10 runs:
|
|
257
260
|
|
|
258
261
|
| Operation | |
|
|
@@ -315,10 +318,15 @@ optimizing, and it is somebody else's process.
|
|
|
315
318
|
against this repo's own memory, switching to the joint cap moved the section that answered the
|
|
316
319
|
question up in three of them (the rationale section for "why BM25 before vector search" went from
|
|
317
320
|
rank 4 to rank 1) and displaced no query's correct top hit.
|
|
321
|
+
- **`forget` is per-repository, not global.** Its deny-list lives in the one `.nexusmem/memory.db` it
|
|
322
|
+
ran against (plus that repo's stale prior identities, same scope `--prune-source` already uses). A
|
|
323
|
+
value that leaked into shell history from several repositories needs `forget` run once per repo —
|
|
324
|
+
there is no shared, machine-wide deny-list across every project you have synced.
|
|
318
325
|
|
|
319
326
|
## Commands
|
|
320
327
|
|
|
321
|
-
`init`, `sync`, `query <text>`, `status`, `projects`, `mcp`,
|
|
328
|
+
`init`, `sync`, `query <text>`, `status`, `projects`, `mcp`, `forget <value>`, and
|
|
329
|
+
`hook install|remove|status`.
|
|
322
330
|
|
|
323
331
|
There are also five dry-run previews (`scan-git`, `scan-diff`, `scan-shell`, `scan-docs`,
|
|
324
332
|
`scan-conversation`)
|
|
@@ -331,6 +339,14 @@ transcript source in for one run without persisting it, `--no-embed` skips the v
|
|
|
331
339
|
`--link-failures` builds the failure → fix chains described above, and `--rebuild` drops the
|
|
332
340
|
project's nodes and re-ingests from scratch.
|
|
333
341
|
|
|
342
|
+
`sync --prune-source <name>` deletes an entire collector source (e.g. `shell:pwsh`); `forget <value>`
|
|
343
|
+
is the finer-grained complement — it deletes every node matching one exact string (or `--regex`
|
|
344
|
+
pattern) *and* writes a standing deny-list entry so the value can never be re-ingested, even by a
|
|
345
|
+
later `sync --rebuild` re-reading the append-only shell-hook log or a full transcript scan. Every
|
|
346
|
+
removal leaves a hash-only tombstone, never the forgotten content itself. Both are dry-run by
|
|
347
|
+
default; `--yes` confirms. See [`docs/forget-mechanism.md`](docs/forget-mechanism.md) for why this
|
|
348
|
+
exists.
|
|
349
|
+
|
|
334
350
|
## Recall across projects
|
|
335
351
|
|
|
336
352
|
`query --all-projects` searches every repository you have run NexusMem in, not just the current one,
|