nexusmem 0.5.2 → 0.5.4

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 CHANGED
@@ -9,6 +9,50 @@ built from, matched by publish timestamp: `v0.1.0` → `67a4776`, `v0.1.1` → `
9
9
 
10
10
  ## [Unreleased]
11
11
 
12
+ ## [0.5.4] — 2026-08-20
13
+
14
+ ### Added
15
+
16
+ - `nexusmem status --share`: a plain-text, no-color summary (node count, failure→fix chains
17
+ linked, days of history) meant to be pasted somewhere, not scraped by a script.
18
+
19
+ ## [0.5.3] — 2026-08-19
20
+
21
+ No functional changes to the CLI, MCP server, or published package -- a test-coverage and
22
+ CI-reliability pass.
23
+
24
+ ### Verified
25
+
26
+ - **Closed 15 genuine test-coverage gaps**, found by grepping for real call sites in `tests/`
27
+ rather than guessing from filenames (an Explore agent found the first 7; the rest by hand the
28
+ same way). All 7 `scan-*` CLI subcommands (`scan-git`/`diff`/`shell`/`docs`/`conversation`/
29
+ `structure`/`session`) had zero coverage -- `tests/cli-scan.test.ts`'s name was misleading, it
30
+ only pinned `cli/format.ts`'s shared helpers. Also closed: `runStatus`'s report body beyond the
31
+ stale-identity branch, `runQuery`, `forget --import`'s dry-run preview path, `shell/detect.ts`'s
32
+ zsh scraping and hook-log `repoRoot` scoping, `openAllProjectSources`'s `unreadable` branch,
33
+ `cli/context.ts`'s `loadContext`, `store/fts.ts`'s `toStrictMatchQuery`/`significantTokens`,
34
+ `list_recent_memory`'s MCP `structuredContent` at the protocol level, `structure/resolve.ts`'s
35
+ `.mjs`/`.cjs` rewrite, `docs/read.ts`'s `include` option, and `git/log.ts`'s `buildLogArgs`. Test
36
+ suite: 559 → 592 tests.
37
+
38
+ ### Fixed
39
+
40
+ - **A real test-isolation bug: a test could scrape a developer's actual shell history into a
41
+ throwaway test database.** `tests/setup.ts` isolated `NEXUSMEM_HOME` (so a test `sync()` can't
42
+ pollute the real `~/.nexusmem/projects.json` registry -- fixed 2026-08-15 for the same reason)
43
+ but never isolated `APPDATA`/`HISTFILE_BASH`/`HISTFILE`, so any test running a real `sync()`
44
+ scraped whatever PSReadLine/bash/zsh history actually exists on the machine running the suite.
45
+ Observed directly: a new test here ingested 300 real `shell_command` nodes off this machine's
46
+ own history before the fix. Now isolated the same way as the registry.
47
+ - **CI failed (deterministically, all 4 jobs) on 4 assertions that assumed adjacent words in
48
+ colorized CLI output stay contiguous.** GitHub Actions' runners don't have `NO_COLOR` set the
49
+ way this project's local dev shells apparently do, so `picocolors` emits real ANSI codes there --
50
+ a regex like `/git\s+last run/` breaks when an escape sequence sits between a padded label and a
51
+ separately-colored value. `tests/forget.test.ts` already carries a `stripAnsi()` helper for
52
+ exactly this trap; applied the same fix to the 4 newly-added test files that had it. Verified by
53
+ reproducing the CI failure locally with `FORCE_COLOR=1` before the fix, then re-running the full
54
+ 592-test suite under `FORCE_COLOR=1` after, to check for any other latent instance.
55
+
12
56
  ## [0.5.2] — 2026-08-18
13
57
 
14
58
  ### Added
package/README.md CHANGED
@@ -351,8 +351,9 @@ problem.
351
351
 
352
352
  ## Commands
353
353
 
354
- `init`, `sync`, `query <text>`, `status`, `projects`, `mcp`, `forget <value>`,
355
- `mark-stale <nodeId> --supersedes <newNodeId>`, and `hook install|remove|status`.
354
+ `init`, `sync`, `query <text>`, `status` (add `--share` for a plain-text summary worth pasting
355
+ somewhere), `projects`, `mcp`, `forget <value>`, `mark-stale <nodeId> --supersedes <newNodeId>`,
356
+ and `hook install|remove|status`.
356
357
 
357
358
  There are also five dry-run previews (`scan-git`, `scan-diff`, `scan-shell`, `scan-docs`,
358
359
  `scan-conversation`)