nexusmem 0.5.2 → 0.5.3

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