nexusmem 0.4.0 → 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 +19 -1
- package/README.md +14 -1
- package/dist/cli/index.js +704 -340
- package/dist/cli/index.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -9,6 +9,23 @@ built from, matched by publish timestamp: `v0.1.0` → `67a4776`, `v0.1.1` → `
|
|
|
9
9
|
|
|
10
10
|
## [Unreleased]
|
|
11
11
|
|
|
12
|
+
## [0.5.0] — 2026-08-17
|
|
13
|
+
|
|
14
|
+
### Added
|
|
15
|
+
|
|
16
|
+
- **`nexusmem forget <value>`: permanent, value-keyed deletion.** The finer-grained complement to
|
|
17
|
+
`sync --prune-source` (which only deletes at the whole-collector-source granularity): forgets one
|
|
18
|
+
exact string or `--regex` pattern, deleting every node it currently matches *and* writing a
|
|
19
|
+
standing deny-list entry so the value can never be re-ingested — closing the one gap an external
|
|
20
|
+
source-level review flagged as its most serious finding: the append-only shell-hook log (and a
|
|
21
|
+
full transcript re-read) are untouched by any prune, so `sync --rebuild` used to resurrect exactly
|
|
22
|
+
what had just been deleted. Every removal leaves a hash-only tombstone (never the forgotten
|
|
23
|
+
content itself — `body`/`title` are stored as sha256 only) and the whole operation writes one
|
|
24
|
+
`mutation_audit` row, whether or not anything matched. Dry-run by default, matching
|
|
25
|
+
`--prune-source`'s convention exactly; `--yes` confirms; `--list` shows active entries. Permanent
|
|
26
|
+
in v0 — no `--remove`, matching the existing irreversible framing of `--prune-source`/`--rebuild`.
|
|
27
|
+
See `docs/forget-mechanism.md`.
|
|
28
|
+
|
|
12
29
|
## [0.4.0] — 2026-08-16
|
|
13
30
|
|
|
14
31
|
### Added
|
|
@@ -320,7 +337,8 @@ First public release.
|
|
|
320
337
|
there is no local-model summarization pass, and the conversation collector has never been audited
|
|
321
338
|
for the stale-node bug that was found and fixed in the docs collector.
|
|
322
339
|
|
|
323
|
-
[Unreleased]: https://github.com/yaminbkk/NexusMem/compare/v0.
|
|
340
|
+
[Unreleased]: https://github.com/yaminbkk/NexusMem/compare/v0.5.0...HEAD
|
|
341
|
+
[0.5.0]: https://github.com/yaminbkk/NexusMem/compare/v0.4.0...v0.5.0
|
|
324
342
|
[0.4.0]: https://github.com/yaminbkk/NexusMem/compare/v0.3.3...v0.4.0
|
|
325
343
|
[0.3.3]: https://github.com/yaminbkk/NexusMem/compare/v0.3.2...v0.3.3
|
|
326
344
|
[0.3.2]: https://github.com/yaminbkk/NexusMem/compare/v0.3.1...v0.3.2
|
package/README.md
CHANGED
|
@@ -318,10 +318,15 @@ optimizing, and it is somebody else's process.
|
|
|
318
318
|
against this repo's own memory, switching to the joint cap moved the section that answered the
|
|
319
319
|
question up in three of them (the rationale section for "why BM25 before vector search" went from
|
|
320
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.
|
|
321
325
|
|
|
322
326
|
## Commands
|
|
323
327
|
|
|
324
|
-
`init`, `sync`, `query <text>`, `status`, `projects`, `mcp`,
|
|
328
|
+
`init`, `sync`, `query <text>`, `status`, `projects`, `mcp`, `forget <value>`, and
|
|
329
|
+
`hook install|remove|status`.
|
|
325
330
|
|
|
326
331
|
There are also five dry-run previews (`scan-git`, `scan-diff`, `scan-shell`, `scan-docs`,
|
|
327
332
|
`scan-conversation`)
|
|
@@ -334,6 +339,14 @@ transcript source in for one run without persisting it, `--no-embed` skips the v
|
|
|
334
339
|
`--link-failures` builds the failure → fix chains described above, and `--rebuild` drops the
|
|
335
340
|
project's nodes and re-ingests from scratch.
|
|
336
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
|
+
|
|
337
350
|
## Recall across projects
|
|
338
351
|
|
|
339
352
|
`query --all-projects` searches every repository you have run NexusMem in, not just the current one,
|