@ruso-0/nreki 11.2.0 → 11.3.1

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.
Files changed (46) hide show
  1. package/CHANGELOG.md +103 -0
  2. package/README.md +50 -37
  3. package/dist/engine/indexer.d.ts.map +1 -1
  4. package/dist/engine/indexer.js +11 -0
  5. package/dist/engine/indexer.js.map +1 -1
  6. package/dist/engine.d.ts +11 -0
  7. package/dist/engine.d.ts.map +1 -1
  8. package/dist/engine.js +52 -1
  9. package/dist/engine.js.map +1 -1
  10. package/dist/handlers/navigate.d.ts.map +1 -1
  11. package/dist/handlers/navigate.js +34 -11
  12. package/dist/handlers/navigate.js.map +1 -1
  13. package/dist/index.js +62 -176
  14. package/dist/index.js.map +1 -1
  15. package/dist/init/agent-detect.d.ts +24 -0
  16. package/dist/init/agent-detect.d.ts.map +1 -0
  17. package/dist/init/agent-detect.js +57 -0
  18. package/dist/init/agent-detect.js.map +1 -0
  19. package/dist/init/init-runner.d.ts +55 -0
  20. package/dist/init/init-runner.d.ts.map +1 -0
  21. package/dist/init/init-runner.js +279 -0
  22. package/dist/init/init-runner.js.map +1 -0
  23. package/dist/limits.d.ts +20 -0
  24. package/dist/limits.d.ts.map +1 -0
  25. package/dist/limits.js +37 -0
  26. package/dist/limits.js.map +1 -0
  27. package/dist/repo-map.d.ts.map +1 -1
  28. package/dist/repo-map.js +7 -0
  29. package/dist/repo-map.js.map +1 -1
  30. package/dist/semantic-edit.d.ts.map +1 -1
  31. package/dist/semantic-edit.js +5 -4
  32. package/dist/semantic-edit.js.map +1 -1
  33. package/package.json +1 -1
  34. package/src/engine/indexer.ts +10 -0
  35. package/src/engine.ts +50 -1
  36. package/src/handlers/navigate.ts +35 -11
  37. package/src/index.ts +72 -188
  38. package/src/init/agent-detect.ts +72 -0
  39. package/src/init/init-runner.ts +334 -0
  40. package/src/limits.ts +44 -0
  41. package/src/repo-map.ts +34 -28
  42. package/src/semantic-edit.ts +13 -12
  43. package/templates/AGENTS.md +26 -25
  44. package/templates/CLAUDE.md +32 -31
  45. package/templates/SKILL.md +4 -3
  46. package/templates/hooks/nreki-enforcer.mjs +76 -0
package/CHANGELOG.md CHANGED
@@ -2,6 +2,109 @@
2
2
 
3
3
  All notable changes to NREKI will be documented in this file.
4
4
 
5
+ ## [11.3.1] - 2026-05-19
6
+
7
+ ### Changed
8
+
9
+ - **`SYMBOL_REPLACE_LIMIT` default raised 40 L → 100 L.** The legacy 40 L guillotine on `mode:"replace"` was introduced in v9.1 (`3661c31`, 2026-04-13) as a magic number without empirical justification. Phase 1 measurement of 2 880 functions across 5 production TypeScript codebases (NREKI src/, zod, ajv, eventsource, ajv-formats) showed the 40 L cap blocked **10.45% of real-world functions** and **19.06% of NREKI's own source** — a self-inconsistency. The new default (100 L) blocks only 3.02% aggregate (true outliers) and matches NREKI's pre-existing outline auto-expand cutoff (`<=100L` in v10.1.1). The other 10 defense-in-depth gates (anti-sweep shield, kernel TS validation, TTRD, blast radius, Fiedler bridge, Chronos friction, auto-backup, ACID, file lock, topology invalidate) remain unchanged and continue to detect every defect class the size-only gate was incidentally catching.
10
+ - Error message now reports the active threshold and points to the env override:
11
+ `Blocked: Symbol "X" is 55L (>100L). Use mode:"patch" with search_text and replace_text, or override via NREKI_SYMBOL_LIMIT env.`
12
+
13
+ ### Added
14
+
15
+ - **`NREKI_SYMBOL_LIMIT` env override** — accepts any integer 1..1000. Parse failures fall back to the default and warn on stderr (never silently disable the gate). Backward-compat: users who prefer the legacy 40 L behavior can set `NREKI_SYMBOL_LIMIT=40`.
16
+ - **`src/limits.ts`** — central, named export `SYMBOL_REPLACE_LIMIT` replaces the magic number `40` in two locations (`src/semantic-edit.ts:637` batch path, `src/semantic-edit.ts:1029` single-edit path).
17
+ - **Empirical analysis docs**:
18
+ - `docs/threshold-empirical-analysis.md` — methodology, samples, percentile distribution, false-positive rates per threshold (40 / 50 / 60 / 70 / 80 / 100 / 120 / 150).
19
+ - `docs/furia-threshold-review.md` — adversarial Q1–Q5 review (arbitrariness check, risk surface analysis, ratio-vs-absolute, env-override constraints, legitimate-rewrite scenario).
20
+ - `scripts/analyze-symbol-sizes.mjs` — reproducible analysis script (TypeScript Compiler API), regenerable on demand.
21
+ - **Tests** — `tests/semantic-edit.test.ts` adds three cases: (a) 55 L symbol is now allowed, (b) 120 L god-function still blocked, (c) error message dynamically reflects active threshold.
22
+
23
+ ### Templates
24
+
25
+ - `templates/CLAUDE.md`, `templates/AGENTS.md`, `templates/SKILL.md` updated to document the new 100 L default and the `NREKI_SYMBOL_LIMIT` override.
26
+
27
+ ### Migration
28
+
29
+ - **Existing users:** the only externally-visible change is that symbols 41–100 L now accept `mode:"replace"` where they were previously rejected. No file format change, no API change, no breaking signature. To restore exact pre-v11.3.1 behavior, set `NREKI_SYMBOL_LIMIT=40` in your environment.
30
+
31
+ ## [11.3.0] - 2026-05-19
32
+
33
+ ### Added
34
+
35
+ - **Agent-aware `nreki init` CLI** — pre-v11.3.0 `nreki init` unconditionally wrote `CLAUDE.md`, `AGENTS.md`, `SKILL.md` plus a Claude Code-specific PreToolUse hook into every project regardless of which AI coding agent the user actually ran. v11.3.0 detects the agent from filesystem signals (`.claude/` / `CLAUDE.md` → claude, `.cursor/` / `.cursorrules` → cursor, `.clinerules` → cline, `.github/copilot-instructions.md` → copilot) and installs only the files that agent reads:
36
+ - **claude**: `CLAUDE.md`, `SKILL.md`, `.claude/hooks/nreki-enforcer.mjs`, `.claude/settings.json` PreToolUse merge.
37
+ - **cursor**: `.cursor/rules/nreki.mdc` with `alwaysApply: true` frontmatter.
38
+ - **cline**: `.clinerules/nreki.md`.
39
+ - **copilot**: `.github/copilot-instructions.md` (appended if pre-existing).
40
+ - **generic** (no signal): `AGENTS.md` + an honest disclosure pointing at the `--agent` flag.
41
+ Flags: `--agent <claude|cursor|cline|copilot|generic>` overrides detection; `--force` rewrites an existing NREKI block; `--dry-run` previews the plan without filesystem writes. The pre-existing NREKI marker check is preserved per file, so `nreki init` remains idempotent.
42
+ - **`tests/cli-init.test.ts`** — 28 filesystem-based tests covering detection priority, all agent install paths, idempotency (marker-based skip), `--force` rewrite, `--dry-run` no-op semantics, and end-to-end auto-detection.
43
+
44
+ ### Changed
45
+
46
+ - The Claude Code enforcer hook moved from a TypeScript template literal in `src/index.ts` (`getEnforcerScriptContent()`) to a real file at `templates/hooks/nreki-enforcer.mjs`. Template content is read at runtime via `fs.readFileSync`, so future edits to the hook source no longer require navigating nested backslash-escape gymnastics. The runtime behavior of the hook is unchanged.
47
+ - `nreki --help` now documents the `init` subcommand flags.
48
+
49
+ ### Internal
50
+
51
+ - `src/init/agent-detect.ts` — pure detector returning `{ agent, reason, detected }`.
52
+ - `src/init/init-runner.ts` — orchestrator with `parseInitArgs`, `runInit`, and `formatAction`. Pure functions over the filesystem so tests can `mkdtemp` and assert against on-disk outcomes. The Claude-Code-only `.claude/settings.json` merge is conservative: it preserves user-added PreToolUse matchers and only inserts the ones NREKI owns; malformed JSON aborts the merge with a clear message instead of clobbering the file.
53
+
54
+ ### Migration notes
55
+
56
+ - Existing Claude Code installs are unaffected: the detector sees their `.claude/` directory and continues to install the same Claude-Code files. Re-running `nreki init` on a v11.2.x Claude Code project will report all four target files as `[skip]` (markers already present).
57
+ - Cursor / Cline / Copilot users on v11.2.x who ran `nreki init` and ended up with stray `CLAUDE.md` / `SKILL.md` files can safely delete them — v11.3.0 will now write the correct agent-specific files for them on the next run.
58
+
59
+ ## [11.2.1] - 2026-05-19
60
+
61
+ Hot-fix release. v11.2.0 surfaced an EOF-style MCP crash on real-world
62
+ repositories when Claude Code invoked `nreki_navigate action="hybrid_search"`
63
+ (and to a lesser extent `search`, `map`, `orphan_oracle`, `fast_grep`).
64
+ Empirical reproduction via stdio probe in this repo (D:/Nreki, ~12k source
65
+ files, heavy dot-trees `.eval-phase5-cache/` and `.venv-aider/`) showed the
66
+ server never responded inside the client's tool-call timeout window — Claude
67
+ Code surfaced this as `connection closed: calling tools/call: client is closing: EOF`.
68
+
69
+ ### Fixed
70
+
71
+ - **MCP EOF on first `hybrid_search` / `search` on real repos** — three
72
+ independent directory walks (NREKI indexer `walkDirectory`, the Phase 5
73
+ repo-map `walkFiles`, and chokidar's initial scan) used synchronous
74
+ `fs.readdirSync` and did NOT skip dot-prefixed directories. Heavy
75
+ dot-trees (`.venv*`, `.cache`, `.turbo`, `.parcel-cache`, `.pytest_cache`,
76
+ `.mypy_cache`, `.ruff_cache`, `.eval-phase5-cache`, `.nreki-runtime`,
77
+ etc.) blocked the MCP event loop for tens of seconds to minutes. All
78
+ three walkers now mirror `BM25Engine.walkSourceFiles`'s policy and skip
79
+ any dot-prefixed directory.
80
+ - **Watcher initialization no longer blocks server startup** — pre-v11.2.1
81
+ `await engine.startWatcher()` ran inside `main()` AFTER `server.connect(transport)`,
82
+ so the MCP transport accepted requests but the watcher's chokidar scan
83
+ prevented handlers from making forward progress. The watcher now starts
84
+ in the background; readiness is logged when chokidar emits `ready`.
85
+ - **First-call full-project indexing no longer awaited inside tool
86
+ handlers** — `hybrid_search`, `search`, `map`, and `orphan_oracle` now
87
+ kick off `engine.indexDirectory()` in the background via
88
+ `engine.ensureIndexedBackground()` and return immediately with whatever
89
+ the current index supports. `hybrid_search` surfaces useful BM25 results
90
+ on the first call even while NREKI's semantic index warms up; `search`
91
+ returns a "warming" hint guiding the user to `hybrid_search` / `fast_grep`
92
+ for an immediate answer. `fast_grep` keeps its existing synchronous
93
+ bootstrap because the RAM cache contract depends on it.
94
+ - **Defensive `unhandledRejection` / `uncaughtException` handlers** —
95
+ unexpected async errors no longer terminate the MCP process. Both are
96
+ logged to stderr (never stdout, which would corrupt JSON-RPC) and the
97
+ server keeps serving.
98
+
99
+ ### Internal
100
+
101
+ - `NrekiEngine.ensureIndexedBackground()` coalesces concurrent
102
+ first-call indexing requests onto a single in-flight promise.
103
+ - chokidar v4 `ignored` option migrated from an array of glob strings
104
+ (a v3 form not natively interpreted by v4) to a predicate function
105
+ that combines dot-prefix skipping with the configured glob list via
106
+ `picomatch.isMatch`.
107
+
5
108
  ## [11.2.0] - 2026-05-18
6
109
 
7
110
  ### Added
package/README.md CHANGED
@@ -4,7 +4,7 @@
4
4
  <img src="https://img.shields.io/npm/v/@ruso-0/nreki?style=for-the-badge&color=blue" alt="npm version">
5
5
  <img src="https://img.shields.io/badge/Tests-783-brightgreen?style=for-the-badge" alt="783 Tests">
6
6
  <img src="https://img.shields.io/badge/AHI-9.7%2F10-brightgreen?style=for-the-badge" alt="AHI 9.7/10">
7
- <img src="https://img.shields.io/badge/Languages-TS%20%7C%20JS%20%7C%20Go%20%7C%20Python%20%7C%20Kotlin%20%7C%20Java%20%7C%20C%2B%2B-blue?style=for-the-badge" alt="Multi-language">
7
+ <img src="https://img.shields.io/badge/Languages-TS%20%7C%20JS%20%7C%20Go%20%7C%20Python%20%7C%20Kotlin%20%7C%20Java%20%7C%20C%2B%2B-blue?style=for-the-badge" alt="Multi-language">
8
8
  <img src="https://img.shields.io/badge/Cloud-Zero-orange?style=for-the-badge" alt="Zero Cloud">
9
9
  <img src="https://img.shields.io/badge/License-Apache_2.0-yellow?style=for-the-badge" alt="Apache 2.0">
10
10
  </p>
@@ -24,11 +24,24 @@ claude mcp add nreki -- npx -y @ruso-0/nreki
24
24
  # Cursor / any MCP client - add to mcp.json:
25
25
  { "mcpServers": { "nreki": { "command": "npx", "args": ["-y", "@ruso-0/nreki"] } } }
26
26
 
27
- # Optional: installs CLAUDE.md instructions + CLI hook firewall
28
- npx @ruso-0/nreki init
27
+ # Optional: agent-aware instructions install (v11.3.0+)
28
+ npx @ruso-0/nreki init # auto-detect agent (Claude Code / Cursor / Cline / Copilot / generic)
29
+ npx @ruso-0/nreki init --agent cursor # explicit; valid: claude, cursor, cline, copilot, generic
30
+ npx @ruso-0/nreki init --dry-run # preview the plan, write nothing
31
+ npx @ruso-0/nreki init --force # rewrite an existing NREKI block
29
32
  ```
30
33
 
31
- First run indexes the project automatically. Zero config for TS/JS; point a `tsconfig.json` at your code and NREKI detects the right validation mode.
34
+ What `nreki init` writes per agent:
35
+
36
+ | Agent | Detected via | Files installed |
37
+ |-----------|----------------------------------------|-----------------------------------------------------------------------|
38
+ | `claude` | `.claude/` or `CLAUDE.md` | `CLAUDE.md`, `SKILL.md`, `.claude/hooks/nreki-enforcer.mjs`, `.claude/settings.json` |
39
+ | `cursor` | `.cursor/` or `.cursorrules` | `.cursor/rules/nreki.mdc` (with `alwaysApply: true` frontmatter) |
40
+ | `cline` | `.clinerules` (file or dir) | `.clinerules/nreki.md` |
41
+ | `copilot` | `.github/copilot-instructions.md` | `.github/copilot-instructions.md` (appended) |
42
+ | `generic` | none of the above | `AGENTS.md` |
43
+
44
+ First MCP run indexes the project automatically in the background — `hybrid_search` returns BM25 results immediately while NREKI's semantic index warms (v11.2.1+). Zero config for TS/JS; point a `tsconfig.json` at your code and NREKI detects the right validation mode.
32
45
 
33
46
  ## How it works
34
47
 
@@ -53,33 +66,33 @@ Three tools (`nreki_navigate`, `nreki_code`, `nreki_guard`), 23 actions, 4 langu
53
66
  - **Defect radar + ghost oracle.** Four inline detectors and a 0-ext-refs tagger run during `outline` - free signals, no extra tool call.
54
67
  - **Executable engrams.** Pin insights to symbols. Engrams prefixed `ASSERT` survive AST mutation; everything else invalidates on body change so memory can't go stale.
55
68
 
56
- ## Language support (Validation + Auto-heal)
69
+ ## Language support (Validation + Auto-heal)
57
70
 
58
71
  | Language | Validation | Auto-heal |
59
72
  |----------|------------|-----------|
60
73
  | TypeScript / JavaScript | Full (TS Compiler API) | TS CodeFix API |
61
- | Go | gopls LSP sidecar | codeAction (atomic) |
62
- | Python | pyright LSP sidecar | codeAction (atomic) |
63
-
64
- ## AST parser coverage
65
-
66
- NREKI's tree-sitter parser layer indexes additional languages for
67
- foveal compression + symbol retrieval + semantic-edit syntactic
68
- validation. These languages do **not** have LSP sidecars and
69
- therefore receive no auto-heal; otherwise their files participate
70
- in the retrieval index identically to TypeScript files.
71
-
72
- | Language | Extensions | Parser | Foveal | Syntax check | LSP auto-heal | Type Ledger |
73
- |-------------|-----------------------------------------|--------|--------|--------------|---------------|-------------|
74
- | TypeScript | .ts .tsx .mts .cts | ✓ | ✓ | ✓ | ✓ (tsc) | ✓ |
75
- | JavaScript | .js .jsx .mjs .cjs | ✓ | ✓ | ✓ | ✓ (tsc) | ✓ |
76
- | Python | .py | ✓ | ✓ | ✓ | ✓ (pyright) | — |
77
- | Go | .go | ✓ | ✓ | ✓ | ✓ (gopls) | — |
78
- | CSS | .css | ✓ | ✓ | ✓ | — | — |
79
- | JSON | .json | ✓ | ✓ | ✓ | — | — |
80
- | HTML | .html | ✓ | ✓ | ✓ | — | — |
81
- | **Kotlin** | .kt .kts | ✓ | ✓ | ✓ | — | — |
82
- | **Java** | .java | ✓ | ✓ | ✓ | — | — |
74
+ | Go | gopls LSP sidecar | codeAction (atomic) |
75
+ | Python | pyright LSP sidecar | codeAction (atomic) |
76
+
77
+ ## AST parser coverage
78
+
79
+ NREKI's tree-sitter parser layer indexes additional languages for
80
+ foveal compression + symbol retrieval + semantic-edit syntactic
81
+ validation. These languages do **not** have LSP sidecars and
82
+ therefore receive no auto-heal; otherwise their files participate
83
+ in the retrieval index identically to TypeScript files.
84
+
85
+ | Language | Extensions | Parser | Foveal | Syntax check | LSP auto-heal | Type Ledger |
86
+ |-------------|-----------------------------------------|--------|--------|--------------|---------------|-------------|
87
+ | TypeScript | .ts .tsx .mts .cts | ✓ | ✓ | ✓ | ✓ (tsc) | ✓ |
88
+ | JavaScript | .js .jsx .mjs .cjs | ✓ | ✓ | ✓ | ✓ (tsc) | ✓ |
89
+ | Python | .py | ✓ | ✓ | ✓ | ✓ (pyright) | — |
90
+ | Go | .go | ✓ | ✓ | ✓ | ✓ (gopls) | — |
91
+ | CSS | .css | ✓ | ✓ | ✓ | — | — |
92
+ | JSON | .json | ✓ | ✓ | ✓ | — | — |
93
+ | HTML | .html | ✓ | ✓ | ✓ | — | — |
94
+ | **Kotlin** | .kt .kts | ✓ | ✓ | ✓ | — | — |
95
+ | **Java** | .java | ✓ | ✓ | ✓ | — | — |
83
96
  | **C++** | .cpp .cc .cxx .hpp .hh .hxx .h* | ✓ | ✓ | ✓ | — | — |
84
97
  | **C** | .c .h* | ✓ | ✓ | ✓ | — | — |
85
98
 
@@ -90,8 +103,8 @@ broader JVM / native cross-platform ecosystem.
90
103
  > *`.h` headers are routed at parse time: headers containing
91
104
  > C++ markers (template, namespace, class, `#ifdef __cplusplus`)
92
105
  > use the C++ grammar; pure C headers use the C grammar. Default
93
- > to C grammar for ambiguous cases.
94
-
106
+ > to C grammar for ambiguous cases.
107
+
95
108
  **Known limitation (v11.0.x):** cross-file import detection for
96
109
  Kotlin / Java / C++ / C is not yet implemented. Repo-map dependency edges
97
110
  for files in these languages are intra-file only until v11.0.x.1.
@@ -110,14 +123,14 @@ propagate to vendor `wasm/` directory due to skip-if-exists logic in
110
123
  **chunks table lacks language column.** Retrieval language-aware scoring
111
124
  requires runtime path extension filtering. Breaking migration tracked as
112
125
  issue #6 (coordinated with v11.0.2 XML activation due to noise risk
113
- amplification).
114
-
115
- **Type Ledger (cross-file architectural dependency mapping) remains
116
- TypeScript-specific by design** - it relies on TypeScript compiler-
117
- derived type information. Multi-language Type Ledger expansion is
118
- tracked under the Phase 8 roadmap.
119
-
120
- ## Docs & links
126
+ amplification).
127
+
128
+ **Type Ledger (cross-file architectural dependency mapping) remains
129
+ TypeScript-specific by design** - it relies on TypeScript compiler-
130
+ derived type information. Multi-language Type Ledger expansion is
131
+ tracked under the Phase 8 roadmap.
132
+
133
+ ## Docs & links
121
134
 
122
135
  - **[CHANGELOG.md](CHANGELOG.md)** - full version history (every patch, every release, every test count).
123
136
  - **[templates/CLAUDE.md](templates/CLAUDE.md)** - optimized instructions auto-installed by `npx @ruso-0/nreki init`.
@@ -1 +1 @@
1
- {"version":3,"file":"indexer.d.ts","sourceRoot":"","sources":["../../src/engine/indexer.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAI3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,qBAAa,aAAa;IAElB,OAAO,CAAC,EAAE;IACV,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,QAAQ;gBAHR,EAAE,EAAE,OAAO,EACX,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,QAAQ,CAAC,YAAY,CAAC,EAC9B,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC;IAGnC,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;YAwBhD,sBAAsB;YAmBtB,cAAc;IA8DtB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IA6BpG,OAAO,CAAC,aAAa;CA4BxB"}
1
+ {"version":3,"file":"indexer.d.ts","sourceRoot":"","sources":["../../src/engine/indexer.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAI3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,qBAAa,aAAa;IAElB,OAAO,CAAC,EAAE;IACV,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,QAAQ;gBAHR,EAAE,EAAE,OAAO,EACX,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,QAAQ,CAAC,YAAY,CAAC,EAC9B,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC;IAGnC,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;YAwBhD,sBAAsB;YAmBtB,cAAc;IA8DtB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IA6BpG,OAAO,CAAC,aAAa;CAsCxB"}
@@ -150,6 +150,17 @@ export class IndexPipeline {
150
150
  const fullPath = path.join(dir, entry.name);
151
151
  const relativePath = path.relative(dirPath, fullPath).replace(/\\/g, "/");
152
152
  if (entry.isDirectory()) {
153
+ // v11.2.1: skip dot-prefixed directories (mirrors
154
+ // BM25Engine.walkSourceFiles policy at bm25-engine.ts:281).
155
+ // Covers .git, .next, .venv*, .eval-phase5-cache, .turbo,
156
+ // .cache, .parcel-cache, .pytest_cache, .mypy_cache,
157
+ // .ruff_cache, .idea, .vscode, .ipynb_checkpoints, .nreki,
158
+ // .nreki-runtime without enumeration. Pre-v11.2.1 these
159
+ // were walked synchronously by fs.readdirSync, blocking the
160
+ // MCP event loop for tens of seconds on heavy dot-dirs and
161
+ // surfacing to Claude Code as a tools/call EOF.
162
+ if (entry.name.startsWith("."))
163
+ continue;
153
164
  if (!isIgnored(entry.name) && !isIgnored(relativePath) && !isIgnored(relativePath + "/")) {
154
165
  walk(fullPath);
155
166
  }
@@ -1 +1 @@
1
- {"version":3,"file":"indexer.js","sourceRoot":"","sources":["../../src/engine/indexer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"indexer.js","sourceRoot":"","sources":["../../src/engine/indexer.ts"],"names":[],"mappings":"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"}
package/dist/engine.d.ts CHANGED
@@ -61,6 +61,17 @@ export declare class NrekiEngine {
61
61
  skipped: number;
62
62
  errors: number;
63
63
  }>;
64
+ /**
65
+ * v11.2.1: kick off a full project index in the background and return
66
+ * immediately. MCP tool handlers call this on first request so they
67
+ * can respond inside Claude Code's tool-call timeout window instead
68
+ * of blocking on a multi-minute walk that surfaces as "connection
69
+ * closed: EOF" on large repos. Concurrent calls coalesce on the
70
+ * single in-flight promise; once it settles the next call kicks a
71
+ * fresh pass (so newly-added trees are eventually picked up).
72
+ */
73
+ private backgroundIndexPromise;
74
+ ensureIndexedBackground(): boolean;
64
75
  search(query: string, limit?: number): Promise<import("./engine-types.js").SearchResult[]>;
65
76
  /**
66
77
  * Lazy-construct the HybridEngine (NREKI semantic + BM25 lexical via RRF).
@@ -1 +1 @@
1
- {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
package/dist/engine.js CHANGED
@@ -13,6 +13,7 @@
13
13
  import fs from "fs";
14
14
  import path from "path";
15
15
  import chokidar from "chokidar";
16
+ import picomatch from "picomatch";
16
17
  import { NrekiDB } from "./database.js";
17
18
  import { estimateTokens } from "./utils/token-estimator.js";
18
19
  import { ASTParser } from "./parser.js";
@@ -240,6 +241,33 @@ export class NrekiEngine {
240
241
  this.invalidateHybridIndex();
241
242
  return result;
242
243
  }
244
+ /**
245
+ * v11.2.1: kick off a full project index in the background and return
246
+ * immediately. MCP tool handlers call this on first request so they
247
+ * can respond inside Claude Code's tool-call timeout window instead
248
+ * of blocking on a multi-minute walk that surfaces as "connection
249
+ * closed: EOF" on large repos. Concurrent calls coalesce on the
250
+ * single in-flight promise; once it settles the next call kicks a
251
+ * fresh pass (so newly-added trees are eventually picked up).
252
+ */
253
+ backgroundIndexPromise = null;
254
+ ensureIndexedBackground() {
255
+ if (this.backgroundIndexPromise)
256
+ return false;
257
+ if (this.hasIndexedFiles())
258
+ return false;
259
+ this.backgroundIndexPromise = this.indexDirectory(this.getProjectRoot())
260
+ .then((stats) => {
261
+ logger.info(`Background index complete: ${stats.indexed} indexed, ${stats.skipped} skipped, ${stats.errors} errors.`);
262
+ })
263
+ .catch((err) => {
264
+ logger.error(`Background indexing failed: ${err.message}`);
265
+ })
266
+ .finally(() => {
267
+ this.backgroundIndexPromise = null;
268
+ });
269
+ return true;
270
+ }
243
271
  // ─── Search (delegated to SearchEngine) ─────────────────────────
244
272
  async search(query, limit = 10) {
245
273
  await this.initialize();
@@ -517,8 +545,31 @@ export class NrekiEngine {
517
545
  if (this.watcher)
518
546
  return this.watcherReady ?? Promise.resolve();
519
547
  const shouldWatchFile = (fp) => this.config.extensions.includes(path.extname(fp).toLowerCase());
548
+ // v11.2.1: combine the configured globs with a dot-prefix predicate so
549
+ // chokidar's initial scan does not enumerate heavy dot-directories
550
+ // (.venv*, .eval-phase5-cache, .turbo, .cache, .parcel-cache,
551
+ // .pytest_cache, .nreki-runtime, etc.) Pre-v11.2.1 the watcher walked
552
+ // these synchronously during scan, holding the event loop and surfacing
553
+ // to MCP tool callers as an EOF crash.
554
+ const ignoredGlobs = this.config.ignorePaths;
555
+ const ignoredMatcher = (filePath) => {
556
+ const base = path.basename(filePath);
557
+ if (base.startsWith(".")) {
558
+ // Always allow the project root itself even if it sits inside
559
+ // a dot-path the user explicitly chose to watch.
560
+ const isWatchRoot = this.config.watchPaths.some(w => path.resolve(w) === path.resolve(filePath));
561
+ if (!isWatchRoot)
562
+ return true;
563
+ }
564
+ // Defer to the configured glob list for the remaining ignores.
565
+ for (const g of ignoredGlobs) {
566
+ if (picomatch.isMatch(filePath, g))
567
+ return true;
568
+ }
569
+ return false;
570
+ };
520
571
  this.watcher = chokidar.watch(this.config.watchPaths, {
521
- ignored: this.config.ignorePaths,
572
+ ignored: ignoredMatcher,
522
573
  persistent: true,
523
574
  ignoreInitial: true, // prevent race with handler bootstrap
524
575
  });
@@ -1 +1 @@
1
- {"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"navigate.d.ts","sourceRoot":"","sources":["../../src/handlers/navigate.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAmBxF,wBAAsB,YAAY,CAC9B,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,kBAAkB,GACzB,OAAO,CAAC,eAAe,CAAC,CA6F1B;AAID,wBAAsB,gBAAgB,CAClC,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,kBAAkB,GACzB,OAAO,CAAC,eAAe,CAAC,CAoF1B;AAID,wBAAsB,gBAAgB,CAClC,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,kBAAkB,GACzB,OAAO,CAAC,eAAe,CAAC,CAiD1B;AAgDD,wBAAsB,aAAa,CAC/B,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,kBAAkB,GACzB,OAAO,CAAC,eAAe,CAAC,CAuL1B;AAID,wBAAsB,SAAS,CAC3B,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,kBAAkB,GACzB,OAAO,CAAC,eAAe,CAAC,CAgC1B;AAmCD,wBAAsB,qBAAqB,CACvC,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,kBAAkB,GACzB,OAAO,CAAC,eAAe,CAAC,CA8H1B;AAID,wBAAsB,kBAAkB,CACpC,OAAO,EAAE,cAAc,EACvB,IAAI,EAAE,kBAAkB,GACzB,OAAO,CAAC,eAAe,CAAC,CAgH1B;AAID,wBAAsB,eAAe,CACjC,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,kBAAkB,GACzB,OAAO,CAAC,eAAe,CAAC,CAiD1B;AAID;;;;;;;;;;;;;GAaG;AACH,wBAAsB,kBAAkB,CACpC,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,kBAAkB,GACzB,OAAO,CAAC,eAAe,CAAC,CAqG1B;AAED;;;;;;;;GAQG;AACH,wBAAsB,cAAc,CAChC,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,kBAAkB,GACzB,OAAO,CAAC,eAAe,CAAC,CA+F1B"}
1
+ {"version":3,"file":"navigate.d.ts","sourceRoot":"","sources":["../../src/handlers/navigate.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAmBxF,wBAAsB,YAAY,CAC9B,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,kBAAkB,GACzB,OAAO,CAAC,eAAe,CAAC,CA2G1B;AAID,wBAAsB,gBAAgB,CAClC,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,kBAAkB,GACzB,OAAO,CAAC,eAAe,CAAC,CAoF1B;AAID,wBAAsB,gBAAgB,CAClC,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,kBAAkB,GACzB,OAAO,CAAC,eAAe,CAAC,CAiD1B;AAgDD,wBAAsB,aAAa,CAC/B,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,kBAAkB,GACzB,OAAO,CAAC,eAAe,CAAC,CAuL1B;AAID,wBAAsB,SAAS,CAC3B,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,kBAAkB,GACzB,OAAO,CAAC,eAAe,CAAC,CAkC1B;AAmCD,wBAAsB,qBAAqB,CACvC,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,kBAAkB,GACzB,OAAO,CAAC,eAAe,CAAC,CA8H1B;AAID,wBAAsB,kBAAkB,CACpC,OAAO,EAAE,cAAc,EACvB,IAAI,EAAE,kBAAkB,GACzB,OAAO,CAAC,eAAe,CAAC,CAkH1B;AAID,wBAAsB,eAAe,CACjC,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,kBAAkB,GACzB,OAAO,CAAC,eAAe,CAAC,CAiD1B;AAID;;;;;;;;;;;;;GAaG;AACH,wBAAsB,kBAAkB,CACpC,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,kBAAkB,GACzB,OAAO,CAAC,eAAe,CAAC,CA2G1B;AAED;;;;;;;;GAQG;AACH,wBAAsB,cAAc,CAChC,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,kBAAkB,GACzB,OAAO,CAAC,eAAe,CAAC,CA+F1B"}
@@ -21,13 +21,26 @@ export async function handleSearch(params, deps) {
21
21
  const { engine } = deps;
22
22
  await engine.initialize();
23
23
  const query = params.query ?? "";
24
- if (!engine.hasIndexedFiles()) {
25
- logger.info("First-time project indexing this may take a moment for large repos.");
26
- await engine.indexDirectory(engine.getProjectRoot());
27
- }
24
+ // v11.2.1: non-blocking lazy index. Pre-v11.2.1 this awaited a full
25
+ // walk that exceeded Claude Code's tool-call timeout on large repos
26
+ // and surfaced as EOF. The handler now returns early with a hint when
27
+ // the index is still warming; subsequent calls progressively gain
28
+ // coverage. fast_grep / hybrid_search remain usable in the meantime.
29
+ const indexStarted = !engine.hasIndexedFiles() && engine.ensureIndexedBackground();
28
30
  const limit = typeof params.limit === "number" ? Math.min(50, Math.max(1, params.limit)) : 10;
29
31
  const include_raw = params.include_raw === true;
30
32
  const results = await engine.search(query, limit);
33
+ if (indexStarted && results.length === 0) {
34
+ return {
35
+ content: [{
36
+ type: "text",
37
+ text: `Index pending for: "${query}"\n\n` +
38
+ `NREKI's semantic index is warming in the background. Try again in a few seconds, ` +
39
+ `or use action:"hybrid_search" (BM25-backed, no wait) or action:"fast_grep" ` +
40
+ `(exact substring) for immediate results.`,
41
+ }],
42
+ };
43
+ }
31
44
  if (results.length === 0) {
32
45
  return {
33
46
  content: [{
@@ -455,9 +468,11 @@ export async function handleOutline(params, deps) {
455
468
  export async function handleMap(params, deps) {
456
469
  const { engine } = deps;
457
470
  await engine.initialize();
471
+ // v11.2.1: kick off indexing in the background instead of awaiting it
472
+ // — the repo map renders from whatever is already in the DB and the
473
+ // next call picks up the freshly-indexed entries.
458
474
  if (!engine.hasIndexedFiles()) {
459
- logger.info("First-time project indexing — this may take a moment for large repos.");
460
- await engine.indexDirectory(engine.getProjectRoot());
475
+ engine.ensureIndexedBackground();
461
476
  }
462
477
  const refresh = params.refresh === true;
463
478
  const { text: cachedText, map } = await engine.getRepoMap(refresh);
@@ -619,9 +634,11 @@ export async function handlePrepareRefactor(params, deps) {
619
634
  export async function handleOrphanOracle(_params, deps) {
620
635
  const { engine } = deps;
621
636
  await engine.initialize();
637
+ // v11.2.1: non-blocking lazy index. orphan_oracle reads whatever is
638
+ // already in the repo map; if the index is warming, the answer may be
639
+ // incomplete on this call but the next call will see new entries.
622
640
  if (!engine.hasIndexedFiles()) {
623
- logger.info("First-time project indexing — this may take a moment for large repos.");
624
- await engine.indexDirectory(engine.getProjectRoot());
641
+ engine.ensureIndexedBackground();
625
642
  }
626
643
  const { map } = await engine.getRepoMap();
627
644
  const graph = await engine.getDependencyGraph();
@@ -787,9 +804,15 @@ export async function handleHybridSearch(params, deps) {
787
804
  isError: true,
788
805
  };
789
806
  }
790
- if (!engine.hasIndexedFiles()) {
791
- logger.info("First-time project indexing for hybrid_search...");
792
- await engine.indexDirectory(engine.getProjectRoot());
807
+ // v11.2.1: do NOT block on a full indexDirectory walk. On large repos
808
+ // that walk takes longer than Claude Code's tool-call timeout and
809
+ // surfaces as "connection closed: EOF". BM25 carries its own walker
810
+ // and can serve lexical results even while NREKI's semantic index
811
+ // populates in the background. Subsequent calls progressively gain
812
+ // semantic coverage.
813
+ const indexStarted = !engine.hasIndexedFiles() && engine.ensureIndexedBackground();
814
+ if (indexStarted) {
815
+ logger.info("hybrid_search: NREKI index pending; BM25 results only this call.");
793
816
  }
794
817
  const topK = typeof params.limit === "number" ? Math.min(20, Math.max(1, params.limit)) : 10;
795
818
  const hybrid = await engine.getHybridEngine();