@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
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
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
|
|
55
|
-
| Agent manages 16+ tool calls | 3 tools,
|
|
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
|
-
|
|
|
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
|
|
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
|
|
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
|
|
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`
|
|
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` |
|
|
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`
|
|
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
|
|
102
|
-
| `batch_edit` | Atomic multi-file
|
|
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`
|
|
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
|
|
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 |
|
|
125
|
-
| JavaScript |
|
|
126
|
-
| Go |
|
|
127
|
-
| Python |
|
|
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
|
|
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
|
-
###
|
|
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
|
|
277
|
+
TRS = RRF x G(d) x B(d,q)
|
|
179
278
|
|
|
180
|
-
G(d) = Gravity: PageRank tier weight +
|
|
181
|
-
B(d,q) = Blast Radius resonance: 1.
|
|
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 (
|
|
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
|
|
193
|
-
2. **Go/Python:** LSP `codeAction`
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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**
|
|
218
|
-
- **ACID transactions**
|
|
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**
|
|
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 |
|
|
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
|
|
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
|
-
|
|
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
|
|
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;
|
|
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
|
-
//
|
|
375
|
-
//
|
|
376
|
-
|
|
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": "
|
|
4
|
-
"description": "MCP plugin that validates AI agent edits in RAM before they touch disk.
|
|
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",
|