@ruso-0/nreki 10.18.0 → 10.19.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 CHANGED
@@ -1,176 +1,298 @@
1
- # Changelog
2
-
3
- All notable changes to NREKI will be documented in this file.
4
-
5
- ## [10.18.0] - 2026-05-02
6
-
7
- # v10.18.0 — Schema compatibility + CSS parser + UX deadlock fix
8
-
9
- ## Fixed
10
-
11
- ### Critical: Schema break in strict MCP clients (Bloque A)
12
- SDK MCP `@modelcontextprotocol/sdk` was silently resolving from `^1.12.1`
13
- to `1.27.1` via `npx -y` distribution. Versions 1.24.0+ inject an
14
- `execution.taskSupport: 'forbidden'` field in tool registrations that
15
- strict MCP clients (Gemini CLI, Codex CLI) reject as non-spec, causing
16
- NREKI tools to be silently dropped. Now pinned to `1.23.1` (last clean
17
- version, verified empirically).
18
-
19
- All other runtime dependencies pinned to current lockfile resolutions to
20
- prevent recurrence:
21
- - `@typescript-eslint/parser`, `chokidar`, `eslint`, `eslint-plugin-jsx-a11y`,
22
- `eslint-plugin-react`, `eslint-plugin-react-hooks`, `picomatch`,
23
- `web-tree-sitter`, `zod`, `@xenova/transformers`
24
- - TypeScript peer dependency capped at `>=5.5.0 <6.0.0`
25
-
26
- ### Critical: P0 deadlock in Chronos + Cognitive Enforcer (Bug D reclassified)
27
- Files marked HIGH friction by Chronos triggered an infinite loop:
28
- 1. Layer 2 (edit gate) blocks edit and instructs LLM to `read compress:false`
29
- 2. LLM obeys
30
- 3. Layer 1 (Cognitive Enforcer) blocks the raw read on >100 line files
31
- 4. Layer 2 keeps demanding raw read, Layer 1 keeps rejecting
32
- 5. Context budget exhausted
33
-
34
- Fix: Layer 2 now emits the JSON-RPC tool call including
35
- `_nreki_bypass:"chronos_recovery"` token that Layer 1 honors. Both
36
- single-edit and batch-edit gates updated.
37
-
38
- ### CSS parser captures at-rules (Bloque C2)
39
- Tree-sitter-css query previously only captured `rule_set` selectors,
40
- making `@keyframes`, `@media`, `@import`, and `@font-face` blocks
41
- invisible to the chunks index. `fast_grep` for at-rule strings returned
42
- "No matches" even when present in source files.
43
-
44
- Now captures 5 node types with `@symbol_name` binding:
45
- - `rule_set` (regular CSS rules)
46
- - `keyframes_statement` (`@keyframes`)
47
- - `media_statement` (`@media`)
48
- - `import_statement` (`@import`)
49
- - `at_rule` (catch-all for `@font-face`, `@supports`, etc.)
50
-
51
- ### CSS focus normalization (Hallazgo Colateral)
52
- Parser strips punctuation from selectors at extraction (`.foo` `foo`),
53
- but `compressor-foveal.ts` kept the user's focus raw. TFC-Pro silently
54
- failed to find `.home-sidebar` against the indexed `home-sidebar`. Now
55
- applies the same normalization to focus when the file is CSS or HTML.
56
-
57
- ### TFC-Pro returns discriminated union (Bloque C1)
58
- Previously returned `TfcResult | null` and emitted misleading
59
- "NOT FOUND or TOO LARGE (Density Shield)" which conflated two distinct
60
- cases. New `TfcResultPayload` type:
61
- - `{ kind: "success", data: TfcResult }`
62
- - `{ kind: "not_found" }` → "symbol X not found, run outline first"
63
- - `{ kind: "shield_tripped", ratio, ... }` → "focus spans >85% of file,
64
- use compress:false or omit focus"
65
-
66
- ### Multi-focus validation with domain shield (Bloque C3.A)
67
- Agents passing `focus="func1 func2 func3"` (space-separated) previously
68
- became a single token that never matched, returning generic "not_found".
69
- Now emits an educational error in non-web file types. CSS/HTML preserve
70
- multi-word selectors (e.g., `body .foo`).
71
-
72
- ## Migration notes
73
-
74
- If upgrading from earlier versions and you observe that:
75
- - `fast_grep` returns no matches for CSS at-rules in projects you
76
- previously indexed
77
- - Indexed paths still point to old project locations (e.g., after
78
- moving the project to a different directory)
79
-
80
- **Workaround:** delete the `.nreki/` directory and `.nreki.db` file from
81
- your project root to force reindex with the new parser.
82
-
83
- ```bash
84
- # Linux/Mac
85
- rm -rf .nreki/ .nreki.db
86
-
87
- # Windows PowerShell
88
- Remove-Item -Recurse -Force .nreki, .nreki.db
89
- ```
90
-
91
- A permanent migration mechanism (paths relative to projectRoot,
92
- schema-versioned cache invalidation) is shipping in v10.18.1.
93
-
94
- ## Known issues for v10.18.1
95
-
96
- - Path stale: paths in `.nreki.db` and `.nreki/backups/` are stored
97
- absolute, breaking when projects are moved between directories.
98
- - 8 npm audit vulnerabilities in transitive dependencies (review case
99
- by case in v10.18.1).
100
-
101
- ## Dependencies
102
-
103
- - `@modelcontextprotocol/sdk`: `^1.12.1` → `1.23.1` (pinned, downgrade)
104
- - All other runtime deps pinned to current lockfile resolutions
105
- - 9 commits in this release including 3 internal smoke tests as
106
- permanent regression tooling
107
-
108
- ## [10.17.0] - 2026-04-25
109
-
110
- ### Reliability pass: 6 critical bugs fixed
111
-
112
- Pre-publish audit revealed 6 bugs in v10.16.x tags (never published to
113
- npm). All fixed in this release.
114
-
115
- - **fix(parser)**: `.tsx` files now use dedicated tree-sitter-tsx
116
- grammar. Previously JSX caused 0 chunks, making React/Next/Remix
117
- components invisible to NREKI. `da8275e`
118
- - **fix(engine)**: File watcher auto-starts on boot. `fast_grep`
119
- bootstraps index on first call. chokidar config uses
120
- `ignoreInitial: true` and root-directory watching (required by
121
- chokidar@4, which dropped glob support) to prevent race with
122
- handler-side indexing. `77afbed`
123
- - **fix(parser)**: Top-level `const`/`let` declarations now indexed.
124
- Previously only arrow-function/function-expression constants
125
- captured. Config objects, lookup tables, hardcoded values now
126
- visible to fast_grep. `25287b2`
127
- - **fix(semantic-edit)**: `batch_edit` path keys normalized via
128
- `safePath()` for both stores and lookups, including hologram branch.
129
- Relative paths no longer silently skip blast radius detection.
130
- `907b7d2` + follow-up commit.
131
- - **fix(path-jail)**: Windows drive letter comparison case-insensitive.
132
- Lowercase `d:/` no longer blocked as traversal. Affects VSCode URIs,
133
- WSL symlinks, shell copy-paste. `9c346d9`
134
- - **fix(signature)**: `extractSignature` strips body from one-liner
135
- functions, cutting at `=>` or `{` at zero paren/angle depth. No more
136
- false positive blast radius on body-only edits. `76d778e`
137
-
138
- ### Performance improvements
139
-
140
- Zero-allocation rewrite + FFI diet from abandoned v10.16.0 branch now
141
- published in this release:
142
-
143
- - **perf(navigate)**: fast_grep O(L) pointer walk via `indexOf`
144
- (V8 memchr SIMD internally). Replaces per-hit allocations.
145
- - **perf(fast_grep)**: Lean SELECT (4 cols) reduces WASM-to-JS FFI
146
- decoding overhead. Legacy 10-col method removed (breaking for
147
- any hypothetical external consumer).
148
-
149
- Combined benchmark delta on NREKI src/ (10 iter, median):
150
- - export (156 hits): 11.24ms -> 5.22ms (-54%)
151
- - findDefinition: 2.98ms -> 2.26ms (-24%)
152
- - chronosMemory: 2.16ms -> 1.73ms (-20%)
153
- - [OK]: 1.81ms -> 1.52ms (-16%)
154
-
155
- ### Multi-agent manifest
156
-
157
- `nreki init` now generates CLAUDE.md + AGENTS.md + SKILL.md. All three
158
- share the IMMUNE SYSTEM operational rules: 80L Guillotine, Multi-patching
159
- ACID, Anti-Sweep Shield, TTRD Shield with CFI, Engrams with ASSERT prefix.
160
- Compatible with Claude Code, Codex, Gemini, and any MCP-capable agent.
161
-
162
- ### Tests
163
-
164
- 877 passing, 1 skipped (Linux-specific case-sensitivity test skipped on
165
- win32). +26 tests added across 6 bug fixes.
166
-
167
- ### Note on unreleased versions
168
-
169
- v10.16.0 (`c08e61a`) and v10.16.1 (`ae9a526`) were git-tagged but never
170
- reached npm registry due to the 6 bugs above discovered in pre-publish
171
- audit. v10.17.0 is the next version reaching npm after v10.15.1.
172
-
173
- ## [10.16.1] - 2026-04-24
1
+ # Changelog
2
+
3
+ All notable changes to NREKI will be documented in this file.
4
+
5
+ ## [10.19.0] - 2026-05-05
6
+
7
+ # v10.19.0 — Zombie shutdown fix (parent watchdog + signal handlers)
8
+
9
+ Sprint focus: prevent NREKI processes from surviving as zombies when their
10
+ parent terminal or MCP host dies — observed in field as 8.5 GB RAM consumption
11
+ with `--enable-embeddings` orphaned after Windows console close. Two-layer
12
+ defense ensures shutdown across signal-delivery edge cases.
13
+
14
+ ## Fixed
15
+
16
+ ### Zombie processes after parent terminal / MCP host dies (`32b4fc3`)
17
+ Two-layer defense added to `gracefulShutdown`:
18
+
19
+ 1. **Signal/event listeners** extends prior SIGINT/SIGTERM coverage with
20
+ SIGHUP (POSIX hygiene) and `process.stdin` `'close'` / `'end'` events
21
+ (cross-platform pipe-break detection). The handler remains 100% synchronous;
22
+ async paths in shutdown risked event-loop stalls leaving the process zombie
23
+ indefinitely.
24
+
25
+ 2. **Parent process watchdog** — `process.kill(ppid, 0)` polled every 3s,
26
+ triggers shutdown on `ESRCH`. Covers Windows X-close of console (where
27
+ SIGHUP and stdin EOF are not delivered), MCP host SIGKILLed, and
28
+ Electron-inherited handles keeping pipes alive after the parent dies.
29
+ Timer is `unref()`'d so MCP graceful close still terminates cleanly.
30
+
31
+ `EPERM` / `EACCES` on the parent check are treated as parent-alive (avoids
32
+ false-positive suicide when antivirus or permissions block `OpenProcess`).
33
+
34
+ Empirically verified on Windows: physical X-click on PowerShell window running
35
+ `nreki --enable-embeddings` kills the process within `PARENT_CHECK_MS` (~3s),
36
+ including the 505 MB orphan observed during sprint testing.
37
+
38
+ ## Notes
39
+
40
+ ### Test platform skips
41
+ Integration tests (`zombie-shutdown.test.ts`, `zombie-watchdog.test.ts`) are
42
+ skipped on Windows due to non-deterministic process-state semantics during PID
43
+ transitions and ~25s NREKI cold-start time exceeding test budget. Linux/Mac
44
+ CI passes deterministically. Manual verification (PowerShell X-click) is the
45
+ source of truth for Windows.
46
+
47
+ ### Follow-up: cold-start investigation (v10.20.0)
48
+ Cold-start time on Windows measured at ~25s (24.2-28.5s observed across 10
49
+ runs, all paths including dist load, WASM grammars, LSP sidecar boot). Tracked
50
+ as separate work item for v10.20.0 — outside zombie-fix scope. Boot-time
51
+ control experiment confirmed the shutdown fix does not regress cold-start
52
+ (median 24.7s post vs 25.5s pre within statistical noise).
53
+
54
+ ## [10.18.1] - 2026-05-04
55
+
56
+ # v10.18.1 — Cache schema versioning + web-symbol normalization + sprint hygiene
57
+
58
+ Sprint focus: bug fixes, cache invalidation correctness, test isolation, and
59
+ documentation precision. Closes the migration TODO from v10.18.0
60
+ ("schema-versioned cache invalidation shipping in v10.18.1") and the web-symbol
61
+ asymmetry between parser storage and edit lookup.
62
+
63
+ ## Fixed
64
+
65
+ ### `batch_edit` / `edit` symbol normalization on web files (CSS / HTML / JSON)
66
+ Asymmetric normalization: the parser stripped prefixes at chunk storage time
67
+ (`.` for CSS classes, `#` for IDs, quotes for JSON keys), but `semanticEdit`
68
+ and `batchSemanticEdit` matched against the raw caller-supplied symbol. LLM
69
+ callers sending `.className` or `"key"` now correctly match parser-stored
70
+ chunks. Also closes a key-leak in blast-radius detection where `oldRawCodes` /
71
+ `newRawCodes` were keyed off the normalized symbol while downstream lookups
72
+ used the raw input. (`59c3934`)
73
+
74
+ ### Test isolation leak in router and backward-compat tests
75
+ Tests no longer pollute global state; previously-flaky tests now pass
76
+ deterministically. (`77ae56c`)
77
+
78
+ ## Added
79
+
80
+ ### Parser schema version gate for cache invalidation (`69e5acd`, `bb10bb4`)
81
+ Bumped `PARSER_SCHEMA_VERSION` to 2. Existing `.nreki.db` caches with v1 schema
82
+ are auto-wiped on next run, eliminating the manual `rm -rf .nreki .nreki.db`
83
+ step that v10.18.0 documented as a workaround. Includes characterization tests
84
+ covering version-gate transitions.
85
+
86
+ ### `READ_ONLY_ACTIONS` whitelist in circuit breaker (`9717ce7`)
87
+ 20 read-only actions skip the `containsError()` heuristic to prevent
88
+ false-positive doom-loop trips during normal navigation. `filter_output` is
89
+ deliberately excluded — it remains the primary gateway for detecting
90
+ test/build error loops. `response.isError === true` continues to trip the
91
+ breaker even on read-only actions (hardware signal vs heuristic).
92
+
93
+ ### NREKI artifact exclusion from `DEFAULT_IGNORE` (`a50df2d`)
94
+ `**/.nreki/**` and `**/.nreki.db*` patterns now ignored by default. Critical
95
+ for upcoming corpus work — without this, NREKI re-indexed its own artifacts on
96
+ every repo it scanned.
97
+
98
+ ## Changed
99
+
100
+ ### Removed `nreki-enforcer` hook integration (`fe2c0d0`)
101
+ Cleanup of unused Claude hook. No functional impact on package consumers.
102
+
103
+ ## Documentation
104
+
105
+ ### Clarified v7.x spectral gap language in CHANGELOG (`2efa26a`)
106
+ "for predictive analysis" → "for spectral gap analysis" in the v7.x λ₃ entry.
107
+ AHI is a deterministic descriptive composite (percentile bucketing P20/P50/P80
108
+ over peer-group distribution), not a supervised classifier — phrasing aligned
109
+ with that design.
110
+
111
+ ## Tests
112
+
113
+ - 909 passed | 1 skipped (893 base + 16 new from
114
+ `tests/web-symbol-normalization.test.ts`).
115
+ - `tsc --noEmit` clean.
116
+
117
+ ## Compatibility
118
+
119
+ - **Recommended runtime: Claude Sonnet 4.6+** for 1M context window support.
120
+ The 1M context beta header was retired for Sonnet 4.5/4 on 2026-04-30;
121
+ NREKI's compression remains effective on 200k contexts but benefits more
122
+ from 1M.
123
+ - `@modelcontextprotocol/sdk` remains pinned at `1.23.1` (1.24.0+ injects
124
+ `execution: { taskSupport: 'forbidden' }` which breaks NREKI's tool
125
+ registration).
126
+
127
+ ## [10.18.0] - 2026-05-02
128
+
129
+ # v10.18.0 Schema compatibility + CSS parser + UX deadlock fix
130
+
131
+ ## Fixed
132
+
133
+ ### Critical: Schema break in strict MCP clients (Bloque A)
134
+ SDK MCP `@modelcontextprotocol/sdk` was silently resolving from `^1.12.1`
135
+ to `1.27.1` via `npx -y` distribution. Versions 1.24.0+ inject an
136
+ `execution.taskSupport: 'forbidden'` field in tool registrations that
137
+ strict MCP clients (Gemini CLI, Codex CLI) reject as non-spec, causing
138
+ NREKI tools to be silently dropped. Now pinned to `1.23.1` (last clean
139
+ version, verified empirically).
140
+
141
+ All other runtime dependencies pinned to current lockfile resolutions to
142
+ prevent recurrence:
143
+ - `@typescript-eslint/parser`, `chokidar`, `eslint`, `eslint-plugin-jsx-a11y`,
144
+ `eslint-plugin-react`, `eslint-plugin-react-hooks`, `picomatch`,
145
+ `web-tree-sitter`, `zod`, `@xenova/transformers`
146
+ - TypeScript peer dependency capped at `>=5.5.0 <6.0.0`
147
+
148
+ ### Critical: P0 deadlock in Chronos + Cognitive Enforcer (Bug D reclassified)
149
+ Files marked HIGH friction by Chronos triggered an infinite loop:
150
+ 1. Layer 2 (edit gate) blocks edit and instructs LLM to `read compress:false`
151
+ 2. LLM obeys
152
+ 3. Layer 1 (Cognitive Enforcer) blocks the raw read on >100 line files
153
+ 4. Layer 2 keeps demanding raw read, Layer 1 keeps rejecting
154
+ 5. Context budget exhausted
155
+
156
+ Fix: Layer 2 now emits the JSON-RPC tool call including
157
+ `_nreki_bypass:"chronos_recovery"` token that Layer 1 honors. Both
158
+ single-edit and batch-edit gates updated.
159
+
160
+ ### CSS parser captures at-rules (Bloque C2)
161
+ Tree-sitter-css query previously only captured `rule_set` selectors,
162
+ making `@keyframes`, `@media`, `@import`, and `@font-face` blocks
163
+ invisible to the chunks index. `fast_grep` for at-rule strings returned
164
+ "No matches" even when present in source files.
165
+
166
+ Now captures 5 node types with `@symbol_name` binding:
167
+ - `rule_set` (regular CSS rules)
168
+ - `keyframes_statement` (`@keyframes`)
169
+ - `media_statement` (`@media`)
170
+ - `import_statement` (`@import`)
171
+ - `at_rule` (catch-all for `@font-face`, `@supports`, etc.)
172
+
173
+ ### CSS focus normalization (Hallazgo Colateral)
174
+ Parser strips punctuation from selectors at extraction (`.foo` → `foo`),
175
+ but `compressor-foveal.ts` kept the user's focus raw. TFC-Pro silently
176
+ failed to find `.home-sidebar` against the indexed `home-sidebar`. Now
177
+ applies the same normalization to focus when the file is CSS or HTML.
178
+
179
+ ### TFC-Pro returns discriminated union (Bloque C1)
180
+ Previously returned `TfcResult | null` and emitted misleading
181
+ "NOT FOUND or TOO LARGE (Density Shield)" which conflated two distinct
182
+ cases. New `TfcResultPayload` type:
183
+ - `{ kind: "success", data: TfcResult }`
184
+ - `{ kind: "not_found" }` → "symbol X not found, run outline first"
185
+ - `{ kind: "shield_tripped", ratio, ... }` → "focus spans >85% of file,
186
+ use compress:false or omit focus"
187
+
188
+ ### Multi-focus validation with domain shield (Bloque C3.A)
189
+ Agents passing `focus="func1 func2 func3"` (space-separated) previously
190
+ became a single token that never matched, returning generic "not_found".
191
+ Now emits an educational error in non-web file types. CSS/HTML preserve
192
+ multi-word selectors (e.g., `body .foo`).
193
+
194
+ ## Migration notes
195
+
196
+ If upgrading from earlier versions and you observe that:
197
+ - `fast_grep` returns no matches for CSS at-rules in projects you
198
+ previously indexed
199
+ - Indexed paths still point to old project locations (e.g., after
200
+ moving the project to a different directory)
201
+
202
+ **Workaround:** delete the `.nreki/` directory and `.nreki.db` file from
203
+ your project root to force reindex with the new parser.
204
+
205
+ ```bash
206
+ # Linux/Mac
207
+ rm -rf .nreki/ .nreki.db
208
+
209
+ # Windows PowerShell
210
+ Remove-Item -Recurse -Force .nreki, .nreki.db
211
+ ```
212
+
213
+ A permanent migration mechanism (paths relative to projectRoot,
214
+ schema-versioned cache invalidation) is shipping in v10.18.1.
215
+
216
+ ## Known issues for v10.18.1
217
+
218
+ - Path stale: paths in `.nreki.db` and `.nreki/backups/` are stored
219
+ absolute, breaking when projects are moved between directories.
220
+ - 8 npm audit vulnerabilities in transitive dependencies (review case
221
+ by case in v10.18.1).
222
+
223
+ ## Dependencies
224
+
225
+ - `@modelcontextprotocol/sdk`: `^1.12.1` → `1.23.1` (pinned, downgrade)
226
+ - All other runtime deps pinned to current lockfile resolutions
227
+ - 9 commits in this release including 3 internal smoke tests as
228
+ permanent regression tooling
229
+
230
+ ## [10.17.0] - 2026-04-25
231
+
232
+ ### Reliability pass: 6 critical bugs fixed
233
+
234
+ Pre-publish audit revealed 6 bugs in v10.16.x tags (never published to
235
+ npm). All fixed in this release.
236
+
237
+ - **fix(parser)**: `.tsx` files now use dedicated tree-sitter-tsx
238
+ grammar. Previously JSX caused 0 chunks, making React/Next/Remix
239
+ components invisible to NREKI. `da8275e`
240
+ - **fix(engine)**: File watcher auto-starts on boot. `fast_grep`
241
+ bootstraps index on first call. chokidar config uses
242
+ `ignoreInitial: true` and root-directory watching (required by
243
+ chokidar@4, which dropped glob support) to prevent race with
244
+ handler-side indexing. `77afbed`
245
+ - **fix(parser)**: Top-level `const`/`let` declarations now indexed.
246
+ Previously only arrow-function/function-expression constants
247
+ captured. Config objects, lookup tables, hardcoded values now
248
+ visible to fast_grep. `25287b2`
249
+ - **fix(semantic-edit)**: `batch_edit` path keys normalized via
250
+ `safePath()` for both stores and lookups, including hologram branch.
251
+ Relative paths no longer silently skip blast radius detection.
252
+ `907b7d2` + follow-up commit.
253
+ - **fix(path-jail)**: Windows drive letter comparison case-insensitive.
254
+ Lowercase `d:/` no longer blocked as traversal. Affects VSCode URIs,
255
+ WSL symlinks, shell copy-paste. `9c346d9`
256
+ - **fix(signature)**: `extractSignature` strips body from one-liner
257
+ functions, cutting at `=>` or `{` at zero paren/angle depth. No more
258
+ false positive blast radius on body-only edits. `76d778e`
259
+
260
+ ### Performance improvements
261
+
262
+ Zero-allocation rewrite + FFI diet from abandoned v10.16.0 branch now
263
+ published in this release:
264
+
265
+ - **perf(navigate)**: fast_grep O(L) pointer walk via `indexOf`
266
+ (V8 memchr SIMD internally). Replaces per-hit allocations.
267
+ - **perf(fast_grep)**: Lean SELECT (4 cols) reduces WASM-to-JS FFI
268
+ decoding overhead. Legacy 10-col method removed (breaking for
269
+ any hypothetical external consumer).
270
+
271
+ Combined benchmark delta on NREKI src/ (10 iter, median):
272
+ - export (156 hits): 11.24ms -> 5.22ms (-54%)
273
+ - findDefinition: 2.98ms -> 2.26ms (-24%)
274
+ - chronosMemory: 2.16ms -> 1.73ms (-20%)
275
+ - [OK]: 1.81ms -> 1.52ms (-16%)
276
+
277
+ ### Multi-agent manifest
278
+
279
+ `nreki init` now generates CLAUDE.md + AGENTS.md + SKILL.md. All three
280
+ share the IMMUNE SYSTEM operational rules: 80L Guillotine, Multi-patching
281
+ ACID, Anti-Sweep Shield, TTRD Shield with CFI, Engrams with ASSERT prefix.
282
+ Compatible with Claude Code, Codex, Gemini, and any MCP-capable agent.
283
+
284
+ ### Tests
285
+
286
+ 877 passing, 1 skipped (Linux-specific case-sensitivity test skipped on
287
+ win32). +26 tests added across 6 bug fixes.
288
+
289
+ ### Note on unreleased versions
290
+
291
+ v10.16.0 (`c08e61a`) and v10.16.1 (`ae9a526`) were git-tagged but never
292
+ reached npm registry due to the 6 bugs above discovered in pre-publish
293
+ audit. v10.17.0 is the next version reaching npm after v10.15.1.
294
+
295
+ ## [10.16.1] - 2026-04-24
174
296
 
175
297
  ### Multi-agent manifest completion
176
298
 
@@ -1036,7 +1158,7 @@ Three localized security/correctness fixes shipped as separate bisectable commit
1036
1158
 
1037
1159
  ### Added
1038
1160
  - **Fiedler Vector extraction**: `analyzeTopology` now returns the full eigenvector `v2` (bridge fragility map)
1039
- - **Third eigenvalue (λ₃)**: Enables spectral gap computation ∇(λ₃ - λ₂) for predictive analysis
1161
+ - **Third eigenvalue (λ₃)**: Enables spectral gap computation ∇(λ₃ - λ₂) for spectral gap analysis
1040
1162
  - **Third eigenvector (v3)**: Topological stress coordinates per node
1041
1163
  - **Gauge Fixing**: Deterministic phase canonicalization prevents sign ambiguity across commits (critical for ML pipelines)
1042
1164
  - **Gram-Schmidt deflation**: Reusable `powerIteration()` function extracts arbitrary eigenvectors
@@ -1 +1 @@
1
- {"version":3,"file":"compressor-foveal.d.ts","sourceRoot":"","sources":["../src/compressor-foveal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAOH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAQ/C,MAAM,WAAW,SAAS;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE;QACH,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,cAAc,EAAE,MAAM,CAAC;QACvB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,QAAQ,EAAE,MAAM,CAAC;QACjB,eAAe,EAAE,MAAM,CAAC;KAC3B,CAAC;CACL;AAED,MAAM,MAAM,gBAAgB,GACtB;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,SAAS,CAAA;CAAE,GACpC;IAAE,IAAI,EAAE,WAAW,CAAA;CAAE,GACrB;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;CAAE,CAAC;AAsB9F,wBAAsB,WAAW,CAC7B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,WAAW,GACpB,OAAO,CAAC,gBAAgB,CAAC,CAgO3B"}
1
+ {"version":3,"file":"compressor-foveal.d.ts","sourceRoot":"","sources":["../src/compressor-foveal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAOH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAQ/C,MAAM,WAAW,SAAS;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE;QACH,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,cAAc,EAAE,MAAM,CAAC;QACvB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,QAAQ,EAAE,MAAM,CAAC;QACjB,eAAe,EAAE,MAAM,CAAC;KAC3B,CAAC;CACL;AAED,MAAM,MAAM,gBAAgB,GACtB;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,SAAS,CAAA;CAAE,GACpC;IAAE,IAAI,EAAE,WAAW,CAAA;CAAE,GACrB;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAA;CAAE,CAAC;AAsB9F,wBAAsB,WAAW,CAC7B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,WAAW,GACpB,OAAO,CAAC,gBAAgB,CAAC,CA8N3B"}
@@ -21,6 +21,7 @@
21
21
  */
22
22
  import path from "path";
23
23
  import crypto from "crypto";
24
+ import { normalizeWebSymbol } from "./parser.js";
24
25
  import { extractDependencies, cleanSignature } from "./utils/imports.js";
25
26
  import { Embedder } from "./embedder.js";
26
27
  // 🔥 TFC v2: TRUE LRU AST CACHE 🔥
@@ -89,14 +90,12 @@ export async function tfcCompress(filePath, content, focusInput, engine) {
89
90
  if (parseResult.chunks.length === 0)
90
91
  return { kind: "not_found" };
91
92
  // 1. MULTI-FOCAL TARGETS + OVERLOAD FIX
93
+ // v10.18.1: shared normalizeWebSymbol covers CSS+HTML+JSON uniformly.
94
+ // Previous inline regex covered only CSS (despite isCss naming HTML too,
95
+ // it ran identical CSS rules). JSON foci were never normalized.
92
96
  const ext = path.extname(filePath).toLowerCase();
93
- const isCss = ext === ".css" || ext === ".html";
94
97
  const foci = focusInput.split(",").map(s => {
95
- let clean = s.trim().toLowerCase();
96
- if (isCss) {
97
- clean = clean.replace(/[.#,]/g, " ").replace(/\s+/g, " ").trim();
98
- }
99
- return clean;
98
+ return normalizeWebSymbol(s.trim(), ext).toLowerCase();
100
99
  }).filter(Boolean);
101
100
  const foveas = new Set();
102
101
  for (const focus of foci) {
@@ -1 +1 @@
1
- {"version":3,"file":"compressor-foveal.js","sourceRoot":"","sources":["../src/compressor-foveal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compressor-foveal.js","sourceRoot":"","sources":["../src/compressor-foveal.ts"],"names":[],"mappings":"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"}
@@ -86,9 +86,15 @@ export declare class NrekiDB {
86
86
  getMetadata(key: string): string | null;
87
87
  /** Write a metadata key-value pair (upsert). */
88
88
  setMetadata(key: string, value: string): void;
89
+ /**
90
+ * Wipes all indexed data from RAM and disk.
91
+ * Prevents ghost vectors and ID drift by cleaning up sequence counters
92
+ * and orphaned .vec files. Used during cache invalidation.
93
+ */
94
+ private wipeAllIndexedData;
89
95
  /**
90
96
  * Check if the active embedding dimension matches what was stored.
91
- * If they differ, clear all vectors and update the stored dimension.
97
+ * If they differ, wipe all indexed data and update the stored dimension.
92
98
  * Returns true if a re-index is needed.
93
99
  */
94
100
  checkEmbeddingDimension(activeDim: number): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../src/database.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../src/database.ts"],"names":[],"mappings":"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"}