@ruso-0/nreki 11.3.1 → 11.4.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
@@ -2,6 +2,29 @@
2
2
 
3
3
  All notable changes to NREKI will be documented in this file.
4
4
 
5
+ ## [11.4.0] - 2026-05-19
6
+
7
+ ### Fixed
8
+
9
+ - **EISDIR crash on `nreki_code action:"read"` / `action:"compress"` with a directory path.** Both handlers previously called `fs.readFileSync` without a stat guard; passing a directory surfaced an opaque `EISDIR: illegal operation on a directory` error from the MCP server. v11.4.0 explicitly checks `stat.isDirectory()` and returns a structured error that points to the correct tool: `nreki_navigate action:"outline"` for per-file overview, `action:"fast_grep" / "search"` for cross-tree lookup. `ENOENT` (missing file) is now also caught with a structured "Path not found" message instead of an uncaught stack trace.
10
+ - **Regression guard for pre-existing TS errors in edited files.** A user reported (2026-05-19) that NREKI rolled back unrelated edits in `fillTemplate.ts` because of pre-existing TS1259/TS2802 errors elsewhere in the same file. The differential check (`count > baseline.get(fingerprint)` in `src/kernel/backends/ts-compiler-wrapper.ts:611`) was already in place and works correctly in v11.3.x — the user's binary was likely an older release (the globally installed `@ruso-0/nreki@10.19.0`). v11.4.0 closes the gap by adding four explicit regression tests in [`tests/kernel-pre-existing-errors.test.ts`](tests/kernel-pre-existing-errors.test.ts) that pin the exact same-file scenario the user described (existing kernel tests only covered separate-file pre-existing errors).
11
+
12
+ ### Added
13
+
14
+ - **`tests/read-compress-directory.test.ts`** — 4 tests covering directory + missing-file inputs to both `handleRead` and `handleCompress`. Confirms EISDIR is gone, error messages name the correct alternative tool, and the response shape is `isError: true` (not a crash).
15
+ - **`tests/kernel-pre-existing-errors.test.ts`** — 4 tests pinning the same-file pre-existing-error scenario (TS2322, TS1192-family, same-symbol edit, counter-test of genuine new error).
16
+ - **`docs/furia-v11.4.0-review.md`** — adversarial Q1-Q5 review documenting (Q1) why Phase 1 contributes only regression guards, (Q2) why the EISDIR fix returns an explicit error instead of auto-redirecting, (Q3) zero perf overhead, (Q4) anti-silent-failure audit, (Q5) two residual gaps logged for a future iteration (FIFO/device-file handling, push the guard into `readSource` itself).
17
+
18
+ ### Templates
19
+
20
+ - `templates/CLAUDE.md`, `templates/AGENTS.md`, `templates/SKILL.md` updated with:
21
+ - A new "Pre-existing TS errors are NOT blockers (differential check)" note in section 5.
22
+ - A new section 6 ("Input validation") explaining that `read` / `compress` are file operations and directory inputs should use `nreki_navigate`.
23
+
24
+ ### Migration
25
+
26
+ - No API change, no file-format change, no breaking signature. Users on v11.3.1 see the EISDIR fix automatically. Behavior on valid file paths is unchanged.
27
+
5
28
  ## [11.3.1] - 2026-05-19
6
29
 
7
30
  ### Changed
@@ -1 +1 @@
1
- {"version":3,"file":"read.d.ts","sourceRoot":"","sources":["../../../src/handlers/code/read.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAWvF,wBAAsB,UAAU,CAC5B,MAAM,EAAE,UAAU,EAClB,IAAI,EAAE,kBAAkB,GACzB,OAAO,CAAC,eAAe,CAAC,CA2K1B;AAID,wBAAsB,cAAc,CAChC,MAAM,EAAE,UAAU,EAClB,IAAI,EAAE,kBAAkB,GACzB,OAAO,CAAC,eAAe,CAAC,CA2K1B"}
1
+ {"version":3,"file":"read.d.ts","sourceRoot":"","sources":["../../../src/handlers/code/read.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAWvF,wBAAsB,UAAU,CAC5B,MAAM,EAAE,UAAU,EAClB,IAAI,EAAE,kBAAkB,GACzB,OAAO,CAAC,eAAe,CAAC,CA0M1B;AAID,wBAAsB,cAAc,CAChC,MAAM,EAAE,UAAU,EAClB,IAAI,EAAE,kBAAkB,GACzB,OAAO,CAAC,eAAe,CAAC,CA4M1B"}
@@ -28,7 +28,36 @@ export async function handleRead(params, deps) {
28
28
  };
29
29
  }
30
30
  try {
31
- const stat = fs.statSync(resolvedPath);
31
+ let stat;
32
+ try {
33
+ stat = fs.statSync(resolvedPath);
34
+ }
35
+ catch (statErr) {
36
+ const code = statErr.code;
37
+ if (code === "ENOENT") {
38
+ return {
39
+ content: [{
40
+ type: "text",
41
+ text: `Path not found: ${path.relative(engine.getProjectRoot(), resolvedPath) || file_path}\n` +
42
+ `Hint: use nreki_navigate action:"fast_grep" or action:"outline" to locate files.`,
43
+ }],
44
+ isError: true,
45
+ };
46
+ }
47
+ throw statErr;
48
+ }
49
+ if (stat.isDirectory()) {
50
+ return {
51
+ content: [{
52
+ type: "text",
53
+ text: `Path is a directory, not a file: ${path.relative(engine.getProjectRoot(), resolvedPath) || file_path}\n` +
54
+ `Hint: nreki_code action:"read" / "compress" operates on individual files.\n` +
55
+ `For a directory overview, use nreki_navigate action:"outline" path:"<file>" on specific files, ` +
56
+ `or nreki_navigate action:"fast_grep" / "search" to locate symbols across the tree.`,
57
+ }],
58
+ isError: true,
59
+ };
60
+ }
32
61
  const filterResult = shouldProcess(resolvedPath, stat.size);
33
62
  if (!filterResult.process) {
34
63
  return {
@@ -169,6 +198,36 @@ export async function handleCompress(params, deps) {
169
198
  };
170
199
  }
171
200
  try {
201
+ let stat;
202
+ try {
203
+ stat = fs.statSync(resolvedPath);
204
+ }
205
+ catch (statErr) {
206
+ const code = statErr.code;
207
+ if (code === "ENOENT") {
208
+ return {
209
+ content: [{
210
+ type: "text",
211
+ text: `Path not found: ${path.relative(engine.getProjectRoot(), resolvedPath) || file_path}\n` +
212
+ `Hint: use nreki_navigate action:"fast_grep" or action:"outline" to locate files.`,
213
+ }],
214
+ isError: true,
215
+ };
216
+ }
217
+ throw statErr;
218
+ }
219
+ if (stat.isDirectory()) {
220
+ return {
221
+ content: [{
222
+ type: "text",
223
+ text: `Path is a directory, not a file: ${path.relative(engine.getProjectRoot(), resolvedPath) || file_path}\n` +
224
+ `Hint: nreki_code action:"compress" operates on individual files.\n` +
225
+ `For a directory overview, use nreki_navigate action:"outline" on specific files, ` +
226
+ `or nreki_navigate action:"fast_grep" / "search" to locate symbols across the tree.`,
227
+ }],
228
+ isError: true,
229
+ };
230
+ }
172
231
  const compression_level = typeof params.level === "string" &&
173
232
  ["light", "medium", "aggressive"].includes(params.level)
174
233
  ? params.level
@@ -1 +1 @@
1
- {"version":3,"file":"read.js","sourceRoot":"","sources":["../../../src/handlers/code/read.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"read.js","sourceRoot":"","sources":["../../../src/handlers/code/read.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ruso-0/nreki",
3
- "version": "11.3.1",
3
+ "version": "11.4.0",
4
4
  "description": "MCP plugin that validates AI agent edits in RAM before they touch disk. Spectral clustering, architecture diffs, bridge detection, dead code oracle, and cross-file semantic checks for TypeScript (full Type Ledger), with parser-level support for JavaScript, Python (pyright), Go (gopls), Kotlin, Java, C, and C++. Zero cloud dependencies.",
5
5
  "main": "dist/index.js",
6
6
  "type": "module",
@@ -37,7 +37,38 @@ export async function handleRead(
37
37
  }
38
38
 
39
39
  try {
40
- const stat = fs.statSync(resolvedPath);
40
+ let stat;
41
+ try {
42
+ stat = fs.statSync(resolvedPath);
43
+ } catch (statErr) {
44
+ const code = (statErr as NodeJS.ErrnoException).code;
45
+ if (code === "ENOENT") {
46
+ return {
47
+ content: [{
48
+ type: "text" as const,
49
+ text:
50
+ `Path not found: ${path.relative(engine.getProjectRoot(), resolvedPath) || file_path}\n` +
51
+ `Hint: use nreki_navigate action:"fast_grep" or action:"outline" to locate files.`,
52
+ }],
53
+ isError: true,
54
+ };
55
+ }
56
+ throw statErr;
57
+ }
58
+
59
+ if (stat.isDirectory()) {
60
+ return {
61
+ content: [{
62
+ type: "text" as const,
63
+ text:
64
+ `Path is a directory, not a file: ${path.relative(engine.getProjectRoot(), resolvedPath) || file_path}\n` +
65
+ `Hint: nreki_code action:"read" / "compress" operates on individual files.\n` +
66
+ `For a directory overview, use nreki_navigate action:"outline" path:"<file>" on specific files, ` +
67
+ `or nreki_navigate action:"fast_grep" / "search" to locate symbols across the tree.`,
68
+ }],
69
+ isError: true,
70
+ };
71
+ }
41
72
 
42
73
  const filterResult = shouldProcess(resolvedPath, stat.size);
43
74
  if (!filterResult.process) {
@@ -215,6 +246,39 @@ export async function handleCompress(
215
246
  }
216
247
 
217
248
  try {
249
+ let stat;
250
+ try {
251
+ stat = fs.statSync(resolvedPath);
252
+ } catch (statErr) {
253
+ const code = (statErr as NodeJS.ErrnoException).code;
254
+ if (code === "ENOENT") {
255
+ return {
256
+ content: [{
257
+ type: "text" as const,
258
+ text:
259
+ `Path not found: ${path.relative(engine.getProjectRoot(), resolvedPath) || file_path}\n` +
260
+ `Hint: use nreki_navigate action:"fast_grep" or action:"outline" to locate files.`,
261
+ }],
262
+ isError: true,
263
+ };
264
+ }
265
+ throw statErr;
266
+ }
267
+
268
+ if (stat.isDirectory()) {
269
+ return {
270
+ content: [{
271
+ type: "text" as const,
272
+ text:
273
+ `Path is a directory, not a file: ${path.relative(engine.getProjectRoot(), resolvedPath) || file_path}\n` +
274
+ `Hint: nreki_code action:"compress" operates on individual files.\n` +
275
+ `For a directory overview, use nreki_navigate action:"outline" on specific files, ` +
276
+ `or nreki_navigate action:"fast_grep" / "search" to locate symbols across the tree.`,
277
+ }],
278
+ isError: true,
279
+ };
280
+ }
281
+
218
282
  const compression_level = typeof params.level === "string" &&
219
283
  ["light", "medium", "aggressive"].includes(params.level)
220
284
  ? params.level as CompressionLevel
@@ -23,4 +23,8 @@ Call tools immediately. No preambles. One-line responses.
23
23
 
24
24
  ## 5. VERIFICATION
25
25
  - NEVER run tsc/eslint. NREKI validates in RAM. `[OK]` = valid. Errors → fix via NREKI.
26
+ - Pre-existing TS errors in edited files are NOT blockers (differential check filters by fingerprint). Only NEW errors trigger rollback.
26
27
  - Filter: `nreki_code action:"filter_output"`. Circuit breaker → STOP and rethink.
28
+
29
+ ## 6. INPUT VALIDATION
30
+ - `read` / `compress` are FILE ops. Directory paths return a clear error → use `nreki_navigate action:"outline" / "fast_grep" / "search"`.
@@ -29,4 +29,8 @@ Call tools immediately. No preambles. One-line responses.
29
29
  ## 5. VERIFICATION
30
30
  - NEVER run tsc/eslint. NREKI validates edits in RAM. `[OK]` = guaranteed valid.
31
31
  - Errors: fix with NREKI tools, not bash. Filter output: `nreki_code action:"filter_output"`.
32
+ - **Pre-existing TS errors** in the file you edit are NOT blockers — NREKI's differential check (`count > baseline` per error fingerprint) only rejects edits that *introduce* a new error. You are not obligated to fix pre-existing problems that are unrelated to your change.
32
33
  - `BREAK & BUILD` or `DECOMPOSE`: STOP and rethink.
34
+
35
+ ## 6. INPUT VALIDATION
36
+ - `read` / `compress` are FILE operations. Passing a directory returns a clear error pointing to `nreki_navigate action:"outline" / "fast_grep" / "search"`. Use the right tool for the input shape.
@@ -48,6 +48,10 @@ If nreki_* tools fail: fall back to native Read/Write ONLY for new files or <100
48
48
  ## 5. ALERTS & VERIFICATION
49
49
  - NEVER run tsc, eslint, or npm install to verify edits. NREKI mathematically validates every edit via TypeScript Compiler and LSP sidecars (Go/Python) in RAM BEFORE disk write.
50
50
  - If nreki_code returns [OK], the edit is guaranteed valid. Trust it. Move on.
51
+ - DIFFERENTIAL CHECK: pre-existing TypeScript errors in the file you edit are NOT blockers. NREKI captures a per-fingerprint baseline and only rejects edits that introduce NEW errors (count > baseline). You are not required to fix pre-existing problems that are unrelated to your change.
51
52
  - If NREKI returns an error, read the structured output and fix it using NREKI tools. Do not drop to the bash terminal.
52
53
  - Terminal output: nreki_code action:"filter_output".
53
54
  - Circuit breaker: If you see BREAK & BUILD or DECOMPOSE, STOP. Read the strategy and rethink.
55
+
56
+ ## 6. INPUT VALIDATION
57
+ - nreki_code action:"read" and action:"compress" operate on individual FILES. Passing a directory returns an explicit error pointing to nreki_navigate action:"outline" / "fast_grep" / "search". Pick the tool that matches the input shape.