@ruso-0/nreki 7.4.0 → 8.0.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,45 @@
2
2
 
3
3
  All notable changes to NREKI will be documented in this file.
4
4
 
5
+ ## 8.0.0 (2026-04-02) — Antigravity: Spectral Architecture Engine
6
+
7
+ ### Breaking Changes
8
+ - **Cache format:** `CACHE_FORMAT_VERSION` bumped from 1 to 2. Old `.nreki/repo-map.json` caches are auto-regenerated on first run. No manual action needed.
9
+ - **`buildDependencyGraph`** is now `async` (returns `Promise<DependencyGraph>`). Only affects code that imports this function directly.
10
+ - **`interceptAtomicBatch`** signature extended with optional `computeDiff: boolean = false` parameter. Backward compatible (defaults to `false`).
11
+
12
+ ### Features — Spectral Clustering & Architecture Intelligence
13
+ - **Cyclomatic Complexity (β₁):** True topological circuit rank via Union-Find with path compression on the type constraint graph. Excludes `EXTERNAL::` nodes. Formula: `β₁ = E_int - V_int + C_int` (first Betti number). Added to `SpectralResult.cyclomaticComplexity`.
14
+ - **Architecture Diff:** Real-time λ₂ and β₁ shift detection on `batch_edit`. Shows algebraic connectivity change, circuit rank delta, and verdict (`APPROVED` / `APPROVED_DECOUPLING` / `REJECTED_ENTROPY`). Opt-in via `computeDiff: true` on `interceptAtomicBatch`, auto-enabled for `batch_edit`.
15
+ - **Spectral Clustering:** File-level macro-topology using the Fiedler vector (v₂) from the combinatorial Laplacian. Partitions the repository into `cluster_a` (positive polarity), `cluster_b` (negative polarity), `bridge` (v₂ ≈ 0, structural bottleneck), and `orphan` (zero degree). Bridge threshold: `ε = σ/γ` where `γ = λ₃/λ₂` (spectral gap ratio), bounded `[0.01, 0.15]`.
16
+ - **Repo Map v2:** `repoMapToText` now renders files grouped by spectral cluster with topology metadata. Bridges sorted by stress ranking (`inDegree / |v₂|`). Header includes λ₂ value. Fallback rendering for pre-v8 caches.
17
+ - **Orphan Oracle:** `nreki_navigate action:"orphan_oracle"` — Mark-and-Sweep reachability analysis from framework roots (index, main, config, tests, routes, stories, migrations, service workers). Reports files with exports that are completely unreachable via static imports. Includes dynamic import warning.
18
+ - **Bridge Guard:** `handleEdit` now detects when the target file is a structural bridge (v₂ ≈ 0) and injects a real-time warning to the LLM with v₂ score, dependent count, and instructions to use `batch_edit` for signature changes.
19
+ - **DependencyGraph extended:** New optional fields `clusters`, `v2Score`, `fiedler` on `DependencyGraph` and `DependencyGraphData`. Fully serializable for cache persistence.
20
+ - **NrekiInterceptResult extended:** New optional field `architectureDiff` carries the formatted topology diff string.
21
+
22
+ ### Internal
23
+ - `SpectralResult` interface extended with optional `cyclomaticComplexity` field.
24
+ - `serializeGraph` / `deserializeGraph` updated for cluster data round-tripping.
25
+ - `processKernelResult` concatenates `architectureDiff` to TTRD feedback.
26
+ - Router dispatch extended with `orphan_oracle` case.
27
+ - Zod schema for `nreki_navigate` extended with `orphan_oracle` action.
28
+ - Test assertions updated for new repo map header format (`λ₂=` suffix).
29
+ - All 712 tests pass.
30
+
31
+ ---
32
+
33
+ ## 7.4.1 (2026-03-31) — Normalized Laplacian + Isolated Node Exile
34
+
35
+ ### Features
36
+ - **Spectral Topology:** `normalized: boolean = false` flag on `analyzeTopology()`. When true, uses symmetric normalized Laplacian (L_sym = I - D^{-1/2}AD^{-1/2}) confining λ₂ to [0, 2] instead of [0, ∞). Covers 4 critical traps: deflation against √D, div/0 guard for isolated nodes, shift constant c=2.0, and diagonal=1.0 for connected nodes.
37
+
38
+ ### Fixed
39
+ - **Spectral Topology:** Isolated node exile in normalized path. Degree-0 nodes had eigenvalue c in the shifted matrix (cI - L_sym), dominating over the Fiedler. Power iteration converged to orphan files instead of real architectural bottlenecks. Fix: force `v_next[i] = 0` for isolated nodes.
40
+ - **npx Windows:** CJS bin wrapper (`bin/nreki.cjs`) bridges CJS→ESM so `.cmd` shim resolves correctly on all platforms. `npx @ruso-0/nreki` now works on Windows.
41
+
42
+ ---
43
+
5
44
  ## 7.3.5 (2026-03-31) — Full Security Audit
6
45
 
7
46
  ### Security
package/README.md CHANGED
@@ -11,15 +11,17 @@
11
11
 
12
12
  **MCP plugin that validates AI agent edits in RAM before they touch disk.** When Claude Code, Cursor, or Copilot changes a function signature in one file and breaks 30 others, NREKI catches it in milliseconds — the file is never written. If the error is structural (missing import, forgotten `await`), NREKI auto-fixes it in RAM. Zero tokens wasted on fix-retry doom loops.
13
13
 
14
+ **v8: Antigravity** — NREKI now understands your architecture. Spectral clustering partitions your repo into natural domains, detects structural bridges (load-bearing walls), shows real-time architecture diffs on every batch edit, and hunts dead code via transitive reachability analysis.
15
+
14
16
  ```
15
- AI proposes edit NREKI intercepts in RAM Compiler/LSP validates
16
-
17
- ┌──────── No errors ──────────────────────→ Two-Phase Atomic Commit to disk
18
-
19
- └──────── Errors found ─→ Auto-Heal (CodeFix API + LSP codeAction)
20
-
21
- Fixed all? ────────→ Commit to disk
22
- Some remain? ──────→ Full rollback. Disk untouched. Errors returned to agent.
17
+ AI proposes edit -> NREKI intercepts in RAM -> Compiler/LSP validates
18
+ | |
19
+ | +-------- No errors ----------------------> Two-Phase Atomic Commit to disk
20
+ | |
21
+ | +-------- Errors found --> Auto-Heal (CodeFix API + LSP codeAction)
22
+ | |
23
+ | Fixed all? --------> Commit to disk
24
+ | Some remain? ------> Full rollback. Disk untouched. Errors returned to agent.
23
25
  ```
24
26
 
25
27
  3 tools. 712 tests. 4 languages. Works with any MCP-compatible agent. Apache 2.0.
@@ -51,11 +53,97 @@ npx @ruso-0/nreki init
51
53
  |---------------|-----------|--------|
52
54
  | `cat file.ts` dumps entire file | `nreki_code action:"read"` compresses to signatures | 60-80% fewer tokens |
53
55
  | Agent writes broken code to disk | Edit validated in RAM before write | Zero broken files on disk |
54
- | Error read output guess fix retry repeat | Auto-Healing fixes structural errors in RAM | Zero doom loop tokens |
55
- | Agent manages 16+ tool calls | 3 tools, 19 actions | 81% less tool overhead |
56
+ | Error -> read output -> guess fix -> retry -> repeat | Auto-Healing fixes structural errors in RAM | Zero doom loop tokens |
57
+ | Agent manages 16+ tool calls | 3 tools, 20 actions | 85% less tool overhead |
56
58
  | No idea what breaks when you rename | `prepare_refactor` shows blast radius first | Zero cascade surprises |
57
59
  | Types silently degrade to `any` | TTRD catches type regressions in real-time | Zero silent debt |
58
- | Only TypeScript validated | Go (gopls) + Python (pyright) validated too | Zero cross-language blind spots |
60
+ | Flat file list, no structure | Spectral clustering shows domains + bridges | Architecture-aware edits |
61
+ | Dead code accumulates silently | `orphan_oracle` finds unreachable modules | Clean architecture |
62
+
63
+ ---
64
+
65
+ ## What's New in v8 (Antigravity)
66
+
67
+ ### Spectral Clustering
68
+
69
+ The repo map is no longer a flat list. NREKI computes the Fiedler vector (v2) from the combinatorial Laplacian of your dependency graph and partitions files into natural architectural domains:
70
+
71
+ - **Cluster A / Cluster B** — Two natural halves of your architecture (positive/negative polarity of v2)
72
+ - **Bridges** — Files where v2 ~ 0. These are structural bottlenecks connecting both domains. Sorted by stress (load / distance to center)
73
+ - **Orphans** — Zero-degree nodes with no static connections
74
+
75
+ ```
76
+ === Repo Map (47 files, 12,450 lines, lambda_2=1.4523) ===
77
+
78
+ === STRUCTURAL BRIDGES (v2 ~ 0) ===
79
+ [CORE] src/router.ts (319 lines) [v2=0.003, In:12]
80
+ [LOGIC] src/engine.ts (780 lines) [v2=-0.008, In:8]
81
+
82
+ === DOMAIN CLUSTER A (Positive Polarity) ===
83
+ [CORE] src/kernel/nreki-kernel.ts (1200 lines) (In:6)
84
+ ...
85
+
86
+ === DOMAIN CLUSTER B (Negative Polarity) ===
87
+ [LOGIC] src/handlers/navigate.ts (650 lines) (In:3)
88
+ ...
89
+ ```
90
+
91
+ ### Architecture Diff
92
+
93
+ Every `batch_edit` now shows how your edit changed the architecture:
94
+
95
+ ```
96
+ [NREKI ARCHITECTURE DIFF] (symbol-level topology)
97
+ lambda_2 (Algebraic Connectivity): 1.4523 -> 1.3891 (-4.4%) APPROVED
98
+ Circuit Rank beta_1: 12 -> 14 (+2) (Tangled)
99
+ Verdict: APPROVED
100
+ ```
101
+
102
+ - **lambda_2 drop** = your edit weakened connectivity (potential fracture)
103
+ - **beta_1 increase** = you added dependency cycles (tangling)
104
+ - **beta_1 decrease** = you decoupled modules (healthy)
105
+
106
+ ### Bridge Guard
107
+
108
+ When you edit a file that is a structural bridge, NREKI warns in real-time:
109
+
110
+ ```
111
+ NREKI STRUCTURAL GUARD
112
+ Target `src/router.ts` (v2=0.0031) is a CRITICAL STRUCTURAL BRIDGE
113
+ between architectural domains.
114
+ It is a load-bearing wall with 12 dependent file(s).
115
+
116
+ DO NOT bypass it by creating parallel paths.
117
+ If you modified its signature, use `nreki_code action:"batch_edit"`
118
+ to migrate all dependents safely.
119
+ ```
120
+
121
+ ### Orphan Oracle
122
+
123
+ ```
124
+ nreki_navigate action:"orphan_oracle"
125
+ ```
126
+
127
+ Mark-and-Sweep reachability analysis starting from framework roots (index, main, config, tests, routes, stories, migrations). Reports files that export logic but are completely unreachable via static imports.
128
+
129
+ ```
130
+ Orphan Candidates Oracle (Zero Static Reachability)
131
+
132
+ Found 3 files that export logic but are completely unreachable
133
+ via static imports (including transitive barrel sweeps).
134
+
135
+ Potential savings: ~450 lines.
136
+
137
+ Candidates:
138
+ - `src/legacy/old-auth.ts` (180 lines)
139
+ Exports: OldAuthProvider, validateLegacyToken
140
+ - `src/utils/deprecated-helpers.ts` (150 lines)
141
+ Exports: formatDate, parseConfig
142
+ ```
143
+
144
+ ### Cyclomatic Complexity (beta_1)
145
+
146
+ True topological circuit rank via Union-Find on the type constraint graph. `beta_1 = E - V + C` (first Betti number). Measures how many independent cycles exist in your dependency graph — not McCabe complexity, but *architectural* complexity.
59
147
 
60
148
  ---
61
149
 
@@ -63,15 +151,15 @@ npx @ruso-0/nreki init
63
151
 
64
152
  NREKI has 3 validation layers with multi-language support:
65
153
 
66
- **Layer 1 Syntax (Tree-sitter).** Every edit is parsed by Tree-sitter WASM before anything else. Catches syntax errors in TypeScript, JavaScript, Python, and Go. Always on.
154
+ **Layer 1 -- Syntax (Tree-sitter).** Every edit is parsed by Tree-sitter WASM before anything else. Catches syntax errors in TypeScript, JavaScript, Python, and Go. Always on.
67
155
 
68
- **Layer 2 Semantics.** Language-specific validation in RAM:
156
+ **Layer 2 -- Semantics.** Language-specific validation in RAM:
69
157
  - **TypeScript/JavaScript:** Full incremental TypeScript compiler with VFS. Cross-file type errors caught before disk writes. ACID rollback.
70
158
  - **Go:** gopls spawned as LSP sidecar process. JSON-RPC 2.0 over stdio. Pull diagnostics (LSP 3.17+).
71
159
  - **Python:** pyright spawned as LSP sidecar. Same architecture as Go.
72
160
  - **Cross-language:** If a `batch_edit` touches `.ts` + `.go`, both backends must approve or the entire batch is rolled back.
73
161
 
74
- **Layer 3 Auto-Healing (Dual Cascade).** When Layer 2 finds errors, NREKI attempts automatic repair:
162
+ **Layer 3 -- Auto-Healing (Dual Cascade).** When Layer 2 finds errors, NREKI attempts automatic repair:
75
163
  - **TypeScript:** CodeFix API (same engine as VS Code's "Quick Fix"). 8 whitelisted fix types.
76
164
  - **Go/Python:** LSP `codeAction/resolve` requests. Structural fixes only.
77
165
  - **Ice Wall (Muro de Hielo):** Whitelist of safe fix kinds. Business logic is never touched.
@@ -81,7 +169,7 @@ NREKI has 3 validation layers with multi-language support:
81
169
 
82
170
  ## The 3 Tools
83
171
 
84
- ### `nreki_navigate` Find and understand code
172
+ ### `nreki_navigate` -- Find and understand code
85
173
 
86
174
  | Action | What It Does |
87
175
  |--------|-------------|
@@ -89,21 +177,22 @@ NREKI has 3 validation layers with multi-language support:
89
177
  | `definition` | Go-to-definition by symbol name with auto-injected dependency signatures |
90
178
  | `references` | Find all references cross-project |
91
179
  | `outline` | List all symbols in a file with signatures |
92
- | `map` | Deterministic repo map with PageRank tiers (core/logic/leaf) and pinned rules |
180
+ | `map` | Spectral repo map: files grouped by cluster (bridge/domain A/domain B/orphan) with lambda_2 |
93
181
  | `prepare_refactor` | Predictive blast radius: shows every file that breaks if you rename a symbol |
182
+ | `orphan_oracle` | Mark-and-Sweep dead code detection via transitive reachability from framework roots |
94
183
 
95
- ### `nreki_code` Read, write, and validate code
184
+ ### `nreki_code` -- Read, write, and validate code
96
185
 
97
186
  | Action | What It Does |
98
187
  |--------|-------------|
99
188
  | `read` | Smart file reading with 3-level compression + Chronos friction warnings |
100
189
  | `compress` | Light/medium/aggressive compression with per-section breakdown |
101
- | `edit` | Surgical edit by symbol name validated by Tree-sitter + Compiler/LSP + Auto-Healer |
102
- | `batch_edit` | Atomic multi-file, multi-language edit. All files pass or none are written. |
190
+ | `edit` | Surgical edit by symbol name -- validated by Tree-sitter + Compiler/LSP + Auto-Healer + Bridge Guard |
191
+ | `batch_edit` | Atomic multi-file edit. All files pass or none are written. Includes Architecture Diff. |
103
192
  | `undo` | Restore last edit from backup |
104
193
  | `filter_output` | Strip ANSI, deduplicate errors, compress terminal output |
105
194
 
106
- ### `nreki_guard` Safety and session management
195
+ ### `nreki_guard` -- Safety and session management
107
196
 
108
197
  | Action | What It Does |
109
198
  |--------|-------------|
@@ -111,7 +200,7 @@ NREKI has 3 validation layers with multi-language support:
111
200
  | `status` | Token burn rate, depletion prediction, model recommendation |
112
201
  | `report` | Full session receipt with USD savings estimate |
113
202
  | `reset` | Clear circuit breaker after doom loop recovery |
114
- | `set_plan` | Anchor a plan file survives context compaction via Context Heartbeat |
203
+ | `set_plan` | Anchor a plan file -- survives context compaction via Context Heartbeat |
115
204
  | `memorize` | Save progress notes to NREKI's active scratchpad |
116
205
  | `audit` | Architecture Health Index: 5-signal deterministic score (1-10) with recovery plan |
117
206
 
@@ -121,14 +210,14 @@ NREKI has 3 validation layers with multi-language support:
121
210
 
122
211
  | Language | Layer 1 (Syntax) | Layer 2 (Semantics) | Layer 3 (Auto-Heal) | TTRD |
123
212
  |----------|:---:|:---:|:---:|:---:|
124
- | TypeScript | | Compiler API | CodeFix API | TypeFlags |
125
- | JavaScript | | Compiler API | CodeFix API | TypeFlags |
126
- | Go | | gopls LSP | codeAction | Syntactic v2 |
127
- | Python | | pyright LSP | codeAction | Syntactic v2 |
213
+ | TypeScript | Yes | Compiler API | CodeFix API | TypeFlags |
214
+ | JavaScript | Yes | Compiler API | CodeFix API | TypeFlags |
215
+ | Go | Yes | gopls LSP | codeAction | Syntactic v2 |
216
+ | Python | Yes | pyright LSP | codeAction | Syntactic v2 |
128
217
 
129
218
  Go/Python require gopls/pyright in PATH. If not found, NREKI degrades gracefully to Layer 1.
130
219
 
131
- **TTRD Syntactic v2** (v7.3): For Go and Python, NREKI detects type regressions using structural signature analysis with toxicity scoring and bracket-balanced extraction no type checker required.
220
+ **TTRD Syntactic v2** (v7.3): For Go and Python, NREKI detects type regressions using structural signature analysis with toxicity scoring and bracket-balanced extraction -- no type checker required.
132
221
 
133
222
  ---
134
223
 
@@ -140,7 +229,7 @@ NREKI auto-selects validation depth. No configuration needed.
140
229
  |------|-------------|----------------|-----------|-----|
141
230
  | Syntax | < 50 files | Tree-sitter AST only | < 100ms | ~30MB |
142
231
  | File | 50-200 files | Semantic checks on touched files | 1-3s | ~150MB |
143
- | Project | 200-1000 files | Full cross-file cascade | 3-10s | 200MB-1GB |
232
+ | Project | 200-1000 files | Full cross-file cascade + spectral clustering | 3-10s | 200MB-1GB |
144
233
  | Hologram | > 1000 files | Full cascade via .d.ts shadows (JIT) | ~2s | ~350MB |
145
234
 
146
235
  ### VSCode Benchmark (5,584 files)
@@ -170,35 +259,45 @@ NREKI auto-selects validation depth. No configuration needed.
170
259
 
171
260
  ## Key Features
172
261
 
173
- ### T-RAG Topology-Aware Retrieval (v7.1)
262
+ ### Spectral Architecture Engine (v8.0)
263
+
264
+ NREKI computes the combinatorial Laplacian of the file-level dependency graph and extracts:
265
+
266
+ - **lambda_2 (Fiedler value):** Algebraic connectivity. How tightly coupled is your codebase.
267
+ - **v2 (Fiedler vector):** Each file gets a signed score. Sign determines cluster, magnitude determines distance from the architectural cut.
268
+ - **lambda_3 / v3:** Third eigenvalue and eigenvector for spectral gap ratio (bipartition confidence).
269
+ - **beta_1 (Circuit Rank):** `E - V + C` via Union-Find with path compression. True topological cyclomatic complexity.
270
+ - **Bridge threshold:** `epsilon = sigma / gamma` where `gamma = lambda_3 / lambda_2`, bounded `[0.01, 0.15]`.
271
+
272
+ ### T-RAG -- Topology-Aware Retrieval (v7.1)
174
273
 
175
274
  Standard RAG returns the most textually similar code. T-RAG re-ranks results using the project's dependency graph:
176
275
 
177
276
  ```
178
- TRS = RRF × G(d) × B(d,q)
277
+ TRS = RRF x G(d) x B(d,q)
179
278
 
180
- G(d) = Gravity: PageRank tier weight + log₂(1 + inDegree)
181
- B(d,q) = Blast Radius resonance: 1. if the file imports the search epicenter
279
+ G(d) = Gravity: PageRank tier weight + log2(1 + inDegree)
280
+ B(d,q) = Blast Radius resonance: 1.5x if the file imports the search epicenter
182
281
  ```
183
282
 
184
283
  ### Architecture Health Index (v7.1)
185
284
 
186
- `nreki_guard action:"audit"` computes a deterministic 1-10 score from 5 signals: Spectral Integrity (λ₂/avgDegree), Bus Factor (Shannon Entropy), Type Safety, Core Coverage, and Stability (Chronos CFI). Includes recovery plan simulated in RAM.
285
+ `nreki_guard action:"audit"` computes a deterministic 1-10 score from 5 signals: Spectral Integrity (lambda_2/avgDegree), Bus Factor (Shannon Entropy), Type Safety, Core Coverage, and Stability (Chronos CFI). Includes recovery plan simulated in RAM.
187
286
 
188
287
  ### Auto-Healing Dual Cascade (v7.3)
189
288
 
190
289
  When validation fails, NREKI attempts repair through two cascading systems:
191
290
 
192
- 1. **TypeScript:** CodeFix API 8 whitelisted structural fixes (imports, async/await, interface implementation)
193
- 2. **Go/Python:** LSP `codeAction` structural fixes from gopls/pyright filtered through the Ice Wall whitelist
291
+ 1. **TypeScript:** CodeFix API -- 8 whitelisted structural fixes (imports, async/await, interface implementation)
292
+ 2. **Go/Python:** LSP `codeAction` -- structural fixes from gopls/pyright filtered through the Ice Wall whitelist
194
293
 
195
- Each fix must reduce total errors. If a fix fails, it's micro-rolled-back and blacklisted. If all errors are resolved, the edit commits. If some remain, full rollback disk untouched.
294
+ Each fix must reduce total errors. If a fix fails, it's micro-rolled-back and blacklisted. If all errors are resolved, the edit commits. If some remain, full rollback -- disk untouched.
196
295
 
197
- ### TTRD Type Regression Detection
296
+ ### TTRD -- Type Regression Detection
198
297
 
199
298
  **TypeScript:** TypeFlags-based toxicity scoring (any=10, unknown=2, Function=5). Compares pre/post type contracts within the ACID transaction. Tracks type debt across sessions.
200
299
 
201
- **Go/Python (v7.3):** Syntactic v2 structural signature analysis with bracket-balanced extraction and toxicity pattern matching. Detects regressions without a type checker.
300
+ **Go/Python (v7.3):** Syntactic v2 -- structural signature analysis with bracket-balanced extraction and toxicity pattern matching. Detects regressions without a type checker.
202
301
 
203
302
  ### Chronos Memory
204
303
 
@@ -206,7 +305,7 @@ Cross-session file fragility tracking. CFI scoring (trip=10, error=3, heal=1). S
206
305
 
207
306
  ### Context Heartbeat
208
307
 
209
- Re-injects 4-layer session state every ~15 tool calls to survive context compaction. Respects prompt cache physics map output stays at token position 0.
308
+ Re-injects 4-layer session state every ~15 tool calls to survive context compaction. Respects prompt cache physics -- map output stays at token position 0.
210
309
 
211
310
  ---
212
311
 
@@ -214,10 +313,10 @@ Re-injects 4-layer session state every ~15 tool calls to survive context compact
214
313
 
215
314
  - **Zero cloud, zero telemetry, zero network calls.** Everything runs locally.
216
315
  - **Path traversal protection** at middleware + kernel level with POSIX normalization.
217
- - **Sensitive file blocking** `.env`, `.pem`, `.key`, `id_rsa` are rejected by the VFS.
218
- - **ACID transactions** partial writes are impossible. Backup temp rename cleanup.
316
+ - **Sensitive file blocking** -- `.env`, `.pem`, `.key`, `id_rsa` are rejected by the VFS.
317
+ - **ACID transactions** -- partial writes are impossible. Backup -> temp -> rename -> cleanup.
219
318
  - **48 security tests** covering traversal, symlink escape, injection, and circuit breaker abuse.
220
- - **LSP Anti-Zombie Guard** stdin pipe suffocation + SIGKILL kills the entire process tree (tsx wrappers, grandchildren). SSOT `cleanupState()` cleans all timers, pending requests, and listeners in one idempotent call.
319
+ - **LSP Anti-Zombie Guard** -- stdin pipe suffocation + SIGKILL kills the entire process tree (tsx wrappers, grandchildren). SSOT `cleanupState()` cleans all timers, pending requests, and listeners in one idempotent call.
221
320
 
222
321
  ---
223
322
 
@@ -234,11 +333,62 @@ Re-injects 4-layer session state every ~15 tool calls to survive context compact
234
333
  | Spectral benchmark | 11 projects, 55/55 correct, 0 false positives |
235
334
  | OpenDota benchmark | 6/6 correct verdicts |
236
335
  | VSCode (5,584 files) | JIT boot 1.94s, total 3.32s |
237
- | Router | 319 lines (87% reduction from 2,485) |
336
+ | Router | 3 facades, 20 actions |
238
337
  | Tool overhead | ~660 tokens (3 tools replace 16) |
239
338
 
240
339
  ---
241
340
 
341
+ ## How It Works Internally
342
+
343
+ ### The Intercept Cycle
344
+
345
+ 1. **Inject** -- All edits enter VFS simultaneously (atomic batch)
346
+ 2. **Compile** -- Incremental TypeScript builder evaluates proposed future state
347
+ 3. **Shield 1-3** -- Global -> Syntactic -> Semantic diagnostics
348
+ 4. **LSP Sidecars** -- Go/Python files validated via gopls/pyright (Pull diagnostics LSP 3.17+)
349
+ 5. **Auto-Heal** -- Dual Cascade: CodeFix API (TS) + LSP codeAction (Go/Py) through Ice Wall whitelist
350
+ 6. **TTRD** -- Compare pre/post type contracts (TypeFlags for TS, Syntactic v2 for Go/Py)
351
+ 7. **Architecture Diff** -- Pre/post spectral analysis: lambda_2 shift + beta_1 circuit rank delta
352
+ 8. **Verdict** -- All clear -> Two-Phase Atomic Commit. Errors remain -> Full rollback.
353
+
354
+ ### Architecture (v8.0)
355
+
356
+ ```
357
+ NrekiKernel (Orchestrator)
358
+ +-- VFS (Map<string, string|null>), ACID rollback, mutex, logical clock
359
+ +-- TsCompilerWrapper (TypeScript backend)
360
+ | +-- CompilerHost + DocumentRegistry + LanguageService
361
+ | +-- Incremental builder with corruption recovery
362
+ | +-- TTRD: TypeFlags toxicity scoring
363
+ | +-- Auto-Healer: 8 whitelisted CodeFix types
364
+ +-- LspSidecarBase (Go/Python backends)
365
+ | +-- JSON-RPC 2.0 over stdio, Pull diagnostics (LSP 3.17+)
366
+ | +-- requestCodeActions + Ice Wall whitelist
367
+ | +-- TTRD Syntactic v2 (toxicity + bracket balancer)
368
+ | +-- SSOT cleanupState() -- one idempotent funnel for all death paths
369
+ | +-- Anti-Zombie: stdin suffocation + SIGKILL (kills entire process tree)
370
+ +-- GoLspSidecar -> gopls
371
+ +-- PythonLspSidecar -> pyright
372
+ +-- TypeScriptCorsaBackend -> tsgo (Project Corsa placeholder)
373
+ +-- SpectralTopologist
374
+ +-- Fiedler vector (v2) + spectral gap (lambda_3/lambda_2)
375
+ +-- Union-Find beta_1 cyclomatic complexity
376
+ +-- Architecture Diff (pre/post topology comparison)
377
+
378
+ Router (3 facades, 20 actions)
379
+ +-- nreki_navigate -> handlers/navigate.ts (7 actions)
380
+ +-- nreki_code -> handlers/code.ts (6 actions)
381
+ +-- nreki_guard -> handlers/guard.ts (8 actions + Context Heartbeat)
382
+
383
+ RepoMap (Spectral Clustering)
384
+ +-- PageRank tier classification (core/logic/leaf)
385
+ +-- Fiedler bipartition (cluster_a/cluster_b/bridge/orphan)
386
+ +-- Stress-ranked bridge detection (load / |v2|)
387
+ +-- Deterministic text for Anthropic prompt caching
388
+ ```
389
+
390
+ ---
391
+
242
392
  ## Honest Limitations
243
393
 
244
394
  **Small projects don't need the kernel.** Projects under 50 files run in syntax mode (Tree-sitter only). The kernel boots for 50+ file projects where cross-file validation matters.
@@ -247,49 +397,13 @@ Re-injects 4-layer session state every ~15 tool calls to survive context compact
247
397
 
248
398
  **Auto-Healing is conservative.** Structural fixes only. Business logic errors are returned to the agent, never auto-fixed. If the healer can't resolve ALL errors, everything rolls back.
249
399
 
250
- **Go/Python TTRD is syntactic.** Without a type checker exposing resolved types, TTRD v2 uses structural pattern matching accurate for signature changes, blind to inferred type regressions.
400
+ **Go/Python TTRD is syntactic.** Without a type checker exposing resolved types, TTRD v2 uses structural pattern matching -- accurate for signature changes, blind to inferred type regressions.
251
401
 
252
402
  **Token savings are estimates.** Uses `characters / 3.5` heuristic, not BPE tokenization. Real savings vary ~20-40%.
253
403
 
254
- ---
255
-
256
- ## How It Works Internally
404
+ **Orphan Oracle is static.** Cannot detect dynamic imports (`await import()`), dependency injection, or reflection-based loading. Review candidates manually before deleting.
257
405
 
258
- ### The Intercept Cycle
259
-
260
- 1. **Inject** — All edits enter VFS simultaneously (atomic batch)
261
- 2. **Compile** — Incremental TypeScript builder evaluates proposed future state
262
- 3. **Shield 1-3** — Global → Syntactic → Semantic diagnostics
263
- 4. **LSP Sidecars** — Go/Python files validated via gopls/pyright (Pull diagnostics LSP 3.17+)
264
- 5. **Auto-Heal** — Dual Cascade: CodeFix API (TS) + LSP codeAction (Go/Py) through Ice Wall whitelist
265
- 6. **TTRD** — Compare pre/post type contracts (TypeFlags for TS, Syntactic v2 for Go/Py)
266
- 7. **Verdict** — All clear → Two-Phase Atomic Commit. Errors remain → Full rollback.
267
-
268
- ### Architecture (v7.3 post-Strangler Fig)
269
-
270
- ```
271
- NrekiKernel (Orchestrator)
272
- ├── VFS (Map<string, string|null>), ACID rollback, mutex, logical clock
273
- ├── TsCompilerWrapper (TypeScript backend)
274
- │ ├── CompilerHost + DocumentRegistry + LanguageService
275
- │ ├── Incremental builder with corruption recovery
276
- │ ├── TTRD: TypeFlags toxicity scoring
277
- │ └── Auto-Healer: 8 whitelisted CodeFix types
278
- ├── LspSidecarBase (Go/Python backends)
279
- │ ├── JSON-RPC 2.0 over stdio, Pull diagnostics (LSP 3.17+)
280
- │ ├── requestCodeActions + Ice Wall whitelist
281
- │ ├── TTRD Syntactic v2 (toxicity + bracket balancer)
282
- │ ├── SSOT cleanupState() — one idempotent funnel for all death paths
283
- │ └── Anti-Zombie: stdin suffocation + SIGKILL (kills entire process tree)
284
- ├── GoLspSidecar → gopls (22 lines)
285
- ├── PythonLspSidecar → pyright (24 lines)
286
- └── TypeScriptCorsaBackend → tsgo (Project Corsa placeholder)
287
-
288
- Router (319 lines, 3 facades)
289
- ├── nreki_navigate → handlers/navigate.ts
290
- ├── nreki_code → handlers/code.ts
291
- └── nreki_guard → handlers/guard.ts
292
- ```
406
+ **Spectral clustering requires edges.** Projects with fewer than 3 files or zero import relationships fall back to flat rendering.
293
407
 
294
408
  ---
295
409
 
@@ -299,7 +413,7 @@ See [CONTRIBUTING.md](CONTRIBUTING.md).
299
413
 
300
414
  ## License
301
415
 
302
- Apache-2.0 see [LICENSE](LICENSE).
416
+ Apache-2.0 -- see [LICENSE](LICENSE).
303
417
 
304
418
  ## Author
305
419
 
@@ -1 +1 @@
1
- {"version":3,"file":"spectral-topology.d.ts","sourceRoot":"","sources":["../../src/kernel/spectral-topology.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAEjC,MAAM,WAAW,eAAe;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,UAAU;IACvB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,MAAM,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,EAAE,CAAC,EAAE,YAAY,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,EAAE,CAAC,EAAE,YAAY,CAAC;IAClB,SAAS,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,aAAa;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,UAAU,GAAG,kBAAkB,GAAG,qBAAqB,CAAC;CACpE;AAED,qBAAa,kBAAkB;WAEb,sBAAsB,CAChC,OAAO,EAAE,EAAE,CAAC,OAAO,EACnB,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,GACzB;QAAE,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QAAC,KAAK,EAAE,eAAe,EAAE,CAAA;KAAE;WAiGrC,gBAAgB,CAC1B,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,EAClB,KAAK,EAAE,eAAe,EAAE,GACzB;QAAE,WAAW,EAAE,UAAU,EAAE,CAAC;QAAC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE;WAoB7D,YAAY,CACtB,GAAG,EAAE,cAAc,EACnB,IAAI,EAAE,cAAc,GACrB,aAAa;WAqDF,gBAAgB,CAC1B,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,eAAe,EAAE,GACzB,GAAG,CAAC,MAAM,CAAC;WAmBA,gBAAgB,CAC1B,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,EAClB,KAAK,EAAE,eAAe,EAAE,GACzB;QAAE,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QAAC,UAAU,EAAE,eAAe,EAAE,CAAA;KAAE;WAsB/C,OAAO,CACjB,OAAO,EAAE,EAAE,CAAC,OAAO,EACnB,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,EACxB,UAAU,CAAC,EAAE,MAAM,GACpB,cAAc;CA2CpB;AAED,qBAAa,YAAY;WACP,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,UAAU,GAAE,OAAe,GAAG;QACxF,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAChC,EAAE,CAAC,EAAE,YAAY,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,EAAE,CAAC,EAAE,YAAY,CAAC;KAC1D;CAoOJ"}
1
+ {"version":3,"file":"spectral-topology.d.ts","sourceRoot":"","sources":["../../src/kernel/spectral-topology.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAEjC,MAAM,WAAW,eAAe;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,UAAU;IACvB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,MAAM,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,EAAE,CAAC,EAAE,YAAY,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,EAAE,CAAC,EAAE,YAAY,CAAC;IAClB,SAAS,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,aAAa;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,UAAU,GAAG,kBAAkB,GAAG,qBAAqB,CAAC;CACpE;AAED,qBAAa,kBAAkB;WAEb,sBAAsB,CAChC,OAAO,EAAE,EAAE,CAAC,OAAO,EACnB,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,GACzB;QAAE,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QAAC,KAAK,EAAE,eAAe,EAAE,CAAA;KAAE;WAiGrC,gBAAgB,CAC1B,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,EAClB,KAAK,EAAE,eAAe,EAAE,GACzB;QAAE,WAAW,EAAE,UAAU,EAAE,CAAC;QAAC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE;WAoB7D,YAAY,CACtB,GAAG,EAAE,cAAc,EACnB,IAAI,EAAE,cAAc,GACrB,aAAa;WAqDF,gBAAgB,CAC1B,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,eAAe,EAAE,GACzB,GAAG,CAAC,MAAM,CAAC;WAmBA,gBAAgB,CAC1B,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,EAClB,KAAK,EAAE,eAAe,EAAE,GACzB;QAAE,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QAAC,UAAU,EAAE,eAAe,EAAE,CAAA;KAAE;WAsB/C,OAAO,CACjB,OAAO,EAAE,EAAE,CAAC,OAAO,EACnB,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,EACxB,UAAU,CAAC,EAAE,MAAM,GACpB,cAAc;CA2CpB;AAED,qBAAa,YAAY;WACP,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,UAAU,GAAE,OAAe,GAAG;QACxF,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAChC,EAAE,CAAC,EAAE,YAAY,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,EAAE,CAAC,EAAE,YAAY,CAAC;KAC1D;CA0OJ"}
@@ -371,9 +371,15 @@ export class SpectralMath {
371
371
  let Lv_i;
372
372
  if (normalized) {
373
373
  // L_sym·v = v_i - Σ (w_ij / √(d_i × d_j)) × v_j
374
- // TRAMPA MORTAL 2: diagonal = 1.0 for connected nodes, 0 for isolated.
375
- // TRAMPA MORTAL 2: invSqrtD[i]=0 for degree=0 no NaN.
376
- Lv_i = (degree[i] > 0) ? vec[i] : 0;
374
+ // ISOLATED NODE EXILE: degree=0 nodes have eigenvalue c in the
375
+ // shifted matrix (cI - L_sym), which DOMINATES over the Fiedler.
376
+ // Without exile, power iteration converges to orphan files
377
+ // instead of the real architectural bottleneck.
378
+ if (degree[i] === 0) {
379
+ v_next[i] = 0;
380
+ continue;
381
+ }
382
+ Lv_i = vec[i]; // Diagonal of L_sym = 1.0 for connected nodes
377
383
  const end = rowPtr[i + 1];
378
384
  for (let k = rowPtr[i]; k < end; k++) {
379
385
  const j = colIdx[k];
@@ -1 +1 @@
1
- {"version":3,"file":"spectral-topology.js","sourceRoot":"","sources":["../../src/kernel/spectral-topology.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"spectral-topology.js","sourceRoot":"","sources":["../../src/kernel/spectral-topology.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@ruso-0/nreki",
3
- "version": "7.4.0",
4
- "description": "MCP plugin that validates AI agent edits in RAM before they touch disk. Cross-file semantic checks for TypeScript, Go (gopls), and Python (pyright). Auto-healing, type regression detection, and spectral topology. Zero cloud dependencies.",
3
+ "version": "8.0.0",
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, Go (gopls), and Python (pyright). Zero cloud dependencies.",
5
5
  "main": "dist/index.js",
6
6
  "type": "module",
7
7
  "bin": {
@@ -46,7 +46,13 @@
46
46
  "spectral-topology",
47
47
  "fiedler-vector",
48
48
  "topology-aware-rag",
49
- "lsp-sidecar"
49
+ "lsp-sidecar",
50
+ "spectral-clustering",
51
+ "architecture-diff",
52
+ "bridge-detection",
53
+ "dead-code-oracle",
54
+ "cyclomatic-complexity",
55
+ "union-find"
50
56
  ],
51
57
  "author": "Jherson Eddie Tintaya Holguin (https://github.com/Ruso-0)",
52
58
  "license": "Apache-2.0",