@ruso-0/nreki 10.12.0 → 10.14.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,110 @@
2
2
 
3
3
  All notable changes to NREKI will be documented in this file.
4
4
 
5
+ ## [10.14.0] — 2026-04-22
6
+
7
+ ### Multi-Patch Transactional batch_edit + Enforcer Hotfixes
8
+
9
+ Major feature: multiple patches to the same symbol are now allowed within a single `batch_edit` transaction, implemented via clustering + micro-splicing in RAM architecture. Bundled with enforcer hotfixes (F1 CSV focus, F2 passport persist, F3 win32 case-insensitive) identified during the v10.13.0 sprint retrospective. Cross-audit methodology: Claude + Pipipi Furia.
10
+
11
+ ### Added
12
+
13
+ - **Block 3: Multi-Patch Transactional Architecture**: `batchSemanticEdit` now clusters edits by AST node identity (`chunk.startIndex`). Multiple patches to the same symbol are applied sequentially inside an isolated chunk string ("the Limbo"), then spliced back into the global file state in one atomic step. Enables refactors that previously required node-script bypasses (e.g., renaming a field that appears in non-contiguous regions of a single function).
14
+ - **ACID pre-check**: each `search_text` in a multi-patch group must exist in the ORIGINAL chunk content. Prevents cross-patch corruption where a later patch anchors to content injected by an earlier one.
15
+ - **Causal re-indent inheritance**: when a preceding patch alters indentation (e.g., wrapping code in try/catch), subsequent fuzzy-matched patches inherit the new indent via split/join preservation. Intentional — keeps sequential patches causally consistent.
16
+ - **6 new tests** in `tests/batch-edit.test.ts` covering: happy multi-patch, ACID rejection, mixed-mode rejection, re-indent causal sequencing, per-iteration 80L cap enforcement, multi-chunk reverse-offset ordering.
17
+
18
+ ### Fixed
19
+
20
+ - **F1 — CSV parse in `compress focus`**: `focus:"A, B, C"` was being stored as the literal string `"A, B, C"` in the passport's `focusedSymbols` Set, causing subsequent `.has("A")` lookups to fail. Split on comma and register each symbol individually.
21
+ - **F2 — Passport persists post-edit**: removed aggressive decay (`focusedSymbols.delete` + `rawRead = false`) after successful `edit`/`batch_edit`. The agent retains in-context knowledge of symbols it just mutated; Layer 1 (AST sandbox), Layer 2 (TypeScript in RAM), and Cache Tickets already cover correctness and external-edit invalidation. Eliminates the recompress-after-every-edit loop that caused multi-step refactor deadlocks.
22
+ - **F3 — Win32 path case-insensitive comparison in enforcer hook**: `path.resolve` does not normalize Windows drive-letter case (`D:/` vs `d:/`). The enforcer hook now compares paths case-insensitively on win32 only; POSIX behavior unchanged.
23
+
24
+ ### Changed
25
+
26
+ - **Intra-chunk overlap detection** rewritten: instead of rejecting any two edits resolving to the same AST chunk, the enforcer now accepts multi-patch groups when all edits are `mode:"patch"` and `search_text` values pass the ACID pre-check.
27
+ - **80L payload guillotine**: moved from pre-validation sweep to per-iteration check inside the Phase C micro-splice loop. Each patch in a multi-patch group is evaluated individually; the first patch exceeding 80L aborts the transaction.
28
+
29
+ ### Notes
30
+
31
+ - Backward compatibility: 827/827 tests from v10.13.1 baseline pass unchanged. 833/833 total including the 6 new Block 3 tests.
32
+ - `.claude/hooks/nreki-enforcer.mjs` and `.claude/settings.json` now tracked in git (previously untracked, which meant the enforcer was local-only to each developer). F3 is visible in the repo as of this release.
33
+
34
+ ### Acknowledgments
35
+
36
+ Cross-audit triangular: Claude sourced code-level diagnostics and cross-audited the Block 3 architecture against the AST offset mismatch vector; Pipipi Furia confirmed root causes, proposed the clustering + micro-splicing design, and authored the initial test suite; Antigravity executed the multi-step protocol with hardened rollback discipline across the v10.13.1 hotfix and v10.14.0 feature release.
37
+
38
+
39
+ ## [10.13.1] — 2026-04-22
40
+
41
+ ### Enforcer Hotfix: CSV Parse + Passport Persistence
42
+
43
+ Hotfix addressing two deadlock sources in the Cognitive Enforcer identified during the v10.13.0 sprint retrospective. Cross-audit methodology: Claude + Pipipi Furia.
44
+
45
+ ### Fixed
46
+
47
+ - **F1 — CSV parse in `compress focus`**: `focus:"A, B, C"` was being stored as the literal string `"A, B, C"` in the passport's `focusedSymbols` Set, causing subsequent `.has("A")` lookups to fail. Split on comma and register each symbol individually. Affects only multi-symbol compress calls.
48
+ - **F2 — Passport persists post-edit**: removed aggressive decay (`focusedSymbols.delete` + `rawRead = false`) after successful `edit`/`batch_edit`. The agent retains in-context knowledge of symbols it just mutated; Layer 1 (AST sandbox), Layer 2 (TypeScript in RAM), and Cache Tickets already cover correctness and external-edit invalidation. Eliminates the recompress-after-every-edit loop that forced node-script bypasses during the v10.13.0 refactor sprint.
49
+
50
+ ### Notes
51
+
52
+ - Both fixes are strictly more permissive than prior behavior. No regression surface for existing users.
53
+ - Release test suite: 827/827 passing.
54
+ - An additional hotfix (F3 — `win32` path case-insensitive comparison) was applied to `.claude/hooks/nreki-enforcer.mjs` in the working tree. That file is currently outside git tracking; a follow-up in v10.14.x will address tracking of `.claude/` enforcer assets.
55
+
56
+ ### Acknowledgments
57
+
58
+ Cross-audit triangular: Claude sourced code-level diagnostics from the v10.13.0 sprint trace; Pipipi Furia confirmed root causes against the enforcer source and vetoed `mtime`-based invalidation in favor of passport persistence resting on the existing Cache Tickets infrastructure; Antigravity executed the protocol with hardened rollback discipline.
59
+
60
+
61
+ ## [10.13.0] — 2026-04-22
62
+
63
+ ### AHI Engine: Lanczos-PRO Transplant + Empirical Calibration
64
+
65
+ Major upgrade of the spectral analysis kernel, with empirical threshold
66
+ calibration against Django STGT dataset (18,225 commits). Cross-audit
67
+ methodology: Claude + Pipipi Furia + Antigravity.
68
+
69
+ ### Added
70
+
71
+ - **Lanczos-PRO eigensolver** replacing power iteration in `SpectralMath.analyzeTopology`. Converges in ~20 SpMVs vs ~150 iterations. Performance: 2-8x faster on N>1000 graphs.
72
+ - **Top-K eigenvalues exposure** in kernel return type (variable length, no zero-padding).
73
+ - **Degenerate discriminated union variant** for highly symmetric graphs (K_n cliques where L|⊥ = n·I collapses Krylov to k=1).
74
+ - **`vonNeumannEntropy` + `normalizedEigengap` pure functions** in `src/spectral/`.
75
+ - **Eigengap Integrity** component in AHI (weight 0.05 deep mode). Thresholds `[3.69, 3.31, 2.69]` calibrated from Django STGT dataset.
76
+ - **Markov Blanket localization** for eigengap_collapse issues (1-hop Ego-Graph around top-3 PageRank nodes).
77
+ - **`engine_version` flag** in AuditReport for transparency across scoring engine updates.
78
+ - **`scripts/calibrate-thresholds.py`** for reproducible empirical calibration.
79
+
80
+ ### Fixed
81
+
82
+ - **B.1 Continuous reward gradient** in bucketScore: step-function cliff-drops replaced with linear interpolation. Prevents LLM agents from perceiving zero gradient on legitimate improvements (Pipipi Furia cross-audit).
83
+ - **B.2 Mega-repo graceful degradation**: N>25000 returns `fiedler: undefined` and audit marks Spectral Integrity as unavailable instead of false "Toxic Monolith" verdict.
84
+ - **B.3 Symmetric Ecosystem Percentile** for PageRank tier classification: `Math.log10(N/300)` scaling replaces static p85/p60. Stable across repo sizes (micro to mega).
85
+ - **B.4 Chronos maturity gate**: Stability component requires ≥5 sessions before reporting (avoids false 10/10 on fresh NREKI installs in legacy codebases).
86
+
87
+ ### Changed
88
+
89
+ - **Weight rebalance** in AHI: Spectral Integrity 0.25 → 0.20, new Eigengap Integrity 0.05. Total topological weight preserved at 0.25 (v10.12.0 baseline).
90
+ - **Dual Laplacian analysis** in computeAudit: separate L_comb call for Spectral Integrity (historical semantics), L_sym call for Eigengap Integrity. ~2x Lanczos cost in explicit audit command (not hot-path).
91
+
92
+ ### Deferred to v10.14.x
93
+
94
+ - **Spectral Entropy component**: empirical calibration revealed ±0.05 discrimination band (97.6% of values cluster in [0.80, 0.90]). Von Neumann over top-K=10 eigenvalues converges to near-uniform distribution in real codebases. Pure function preserved, component removed from AHI. Redesign candidates: full-spectrum entropy (O(N³) impractical), baseline-relative entropy vs Erdős-Rényi null, Inverse Participation Ratio (IPR) on Fiedler vector.
95
+ - **Cross-ecosystem recalibration**: current thresholds biased toward Python/Django monolithic MVC architecture. Multi-ecosystem dataset generation (JS/TS/Rust/Python) planned.
96
+ - **Chronos temporal KL-divergence** for architectural velocity (requires SQLite history infrastructure).
97
+
98
+ ### Performance Notes
99
+
100
+ - Lanczos-PRO: net positive for N>1000 graphs. Negligible for N<500.
101
+ - Dual Laplacian: audit command ~2x longer on mega-repos (N>10000). Hot-path `interceptAtomicBatch` unaffected.
102
+ - AHI scores may shift for existing users due to weight rebalance and calibrated Eigengap. The `engine_version: "v10.13-spectral-enriched"` flag in AuditReport distinguishes engine update from architectural deterioration.
103
+
104
+ ### Acknowledgments
105
+
106
+ 1,114 backers whose crowdfunding supported this sprint. Cross-audit methodology by Pipipi Furia (local AI auditor on RX 580) validated kernel math, caught 5+ crimes in scoring logic, and derived empirical calibration against 18,225-commit STGT dataset.
107
+
108
+
5
109
  ## v10.12.0 — React/JSX Semantic Shield (Layer 1.5)
6
110
 
7
111
  Community-funded release (1,114 backers via PayPal). Thank you for making this possible.
package/dist/audit.d.ts CHANGED
@@ -42,6 +42,7 @@ export interface AuditReport {
42
42
  filesAnalyzed: number;
43
43
  coreFiles: string[];
44
44
  timestamp: string;
45
+ engine_version: string;
45
46
  }
46
47
  export declare function computeAudit(graph: DependencyGraph, allFiles: string[], projectRoot: string, kernel?: NrekiKernel, chronos?: ChronosMemory): Promise<AuditReport>;
47
48
  export declare function formatAuditReport(report: AuditReport): string;
@@ -1 +1 @@
1
- {"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../src/audit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAKH,OAAO,EAAmB,KAAK,eAAe,EAAE,MAAM,eAAe,CAAC;AACtE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIzD,MAAM,WAAW,UAAU;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IACjD,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,cAAc;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IACzD,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB,UAAU,EAAE,cAAc,EAAE,CAAC;IAC7B,MAAM,EAAE,UAAU,EAAE,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACrB;AA+GD,wBAAsB,YAAY,CAC9B,KAAK,EAAE,eAAe,EACtB,QAAQ,EAAE,MAAM,EAAE,EAClB,WAAW,EAAE,MAAM,EACnB,MAAM,CAAC,EAAE,WAAW,EACpB,OAAO,CAAC,EAAE,aAAa,GACxB,OAAO,CAAC,WAAW,CAAC,CA2WtB;AAID,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAiD7D"}
1
+ {"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../src/audit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAKH,OAAO,EAAmB,KAAK,eAAe,EAAE,MAAM,eAAe,CAAC;AACtE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAIzD,MAAM,WAAW,UAAU;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IACjD,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,cAAc;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IACzD,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB,UAAU,EAAE,cAAc,EAAE,CAAC;IAC7B,MAAM,EAAE,UAAU,EAAE,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;CAC1B;AAqHD,wBAAsB,YAAY,CAC9B,KAAK,EAAE,eAAe,EACtB,QAAQ,EAAE,MAAM,EAAE,EAClB,WAAW,EAAE,MAAM,EACnB,MAAM,CAAC,EAAE,WAAW,EACpB,OAAO,CAAC,EAAE,aAAa,GACxB,OAAO,CAAC,WAAW,CAAC,CAwdtB;AAID,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAiD7D"}
package/dist/audit.js CHANGED
@@ -15,26 +15,32 @@
15
15
  */
16
16
  import * as fs from "fs";
17
17
  import * as path from "path";
18
- import { SpectralMath } from "./kernel/spectral-topology.js";
18
+ import { SpectralMath, SpectralTopologist } from "./kernel/spectral-topology.js";
19
19
  import { computePageRank } from "./repo-map.js";
20
20
  // ─── Score Helpers ──────────────────────────────────────────────────
21
21
  function bucketScore(value, thresholds) {
22
- if (value >= thresholds[0])
22
+ const [t0, t1, t2] = thresholds;
23
+ // thresholds descending: t0 > t1 > t2 (e.g., [0.90, 0.70, 0.40])
24
+ if (value >= t0)
23
25
  return 1.0;
24
- if (value >= thresholds[1])
25
- return 0.7;
26
- if (value >= thresholds[2])
27
- return 0.4;
28
- return 0.1;
26
+ if (value >= t1)
27
+ return 0.7 + 0.3 * ((value - t1) / (t0 - t1));
28
+ if (value >= t2)
29
+ return 0.4 + 0.3 * ((value - t2) / (t1 - t2));
30
+ // Below t2: linear decay toward 0.1 clamp
31
+ return Math.max(0.1, 0.4 - 0.3 * ((t2 - value) / (t1 - t2)));
29
32
  }
30
33
  function bucketScoreInverse(value, thresholds) {
31
- if (value <= thresholds[0])
34
+ const [t0, t1, t2] = thresholds;
35
+ // thresholds ascending: t0 < t1 < t2 (e.g., [0.05, 0.15, 0.50])
36
+ if (value <= t0)
32
37
  return 1.0;
33
- if (value <= thresholds[1])
34
- return 0.7;
35
- if (value <= thresholds[2])
36
- return 0.4;
37
- return 0.1;
38
+ if (value <= t1)
39
+ return 1.0 - 0.3 * ((value - t0) / (t1 - t0));
40
+ if (value <= t2)
41
+ return 0.7 - 0.3 * ((value - t1) / (t2 - t1));
42
+ // Above t2: linear decay toward 0.1 clamp
43
+ return Math.max(0.1, 0.4 - 0.3 * ((value - t2) / (t2 - t1)));
38
44
  }
39
45
  function scoreToLabel(score) {
40
46
  if (score >= 0.9)
@@ -157,43 +163,81 @@ export async function computeAudit(graph, allFiles, projectRoot, kernel, chronos
157
163
  }
158
164
  }
159
165
  }
166
+ // Dual Laplacian: L_comb for historical Spectral Integrity (29k users'
167
+ // AHI stability); L_sym for new Eigengap + vonNeumann (require [0,2]
168
+ // eigenvalue range and density-normalized gap).
169
+ // Cost: ~2x Lanczos per audit (explicit command only, not hot path).
170
+ const spectralComb = N > 2 && sparseEdges.length > 0
171
+ ? SpectralMath.analyzeTopology(N, sparseEdges, false)
172
+ : undefined;
173
+ const spectralSym = N > 2 && sparseEdges.length > 0
174
+ ? SpectralMath.analyzeTopology(N, sparseEdges, true)
175
+ : undefined;
160
176
  let spectralScore = 0.5;
177
+ let eigengapScore = 0.5;
178
+ let couplingRatio = 0;
161
179
  let fiedlerValue = 0;
162
180
  let avgDegree = 0;
163
- let couplingRatio = 0;
164
- if (N > 2 && sparseEdges.length > 0) {
165
- const spectral = SpectralMath.analyzeTopology(N, sparseEdges);
166
- fiedlerValue = spectral.fiedler;
167
- avgDegree = (2 * sparseEdges.length) / N;
181
+ let topologyAvailable = false;
182
+ let eigengapAvailable = false;
183
+ if (spectralComb?.fiedler !== undefined) {
184
+ topologyAvailable = true;
185
+ fiedlerValue = spectralComb.fiedler;
186
+ avgDegree = N > 0 ? (2 * sparseEdges.length) / N : 0;
168
187
  couplingRatio = avgDegree > 0 ? fiedlerValue / avgDegree : 0;
169
188
  if (fiedlerValue === 0) {
170
- // Disconnected islands, dead code, or total fragmentation
171
189
  spectralScore = 0.1;
172
190
  }
173
- else if (couplingRatio >= 0.5) {
174
- // Toxic monolith: everything imports everything. Spaghetti.
175
- spectralScore = 0.2;
176
- }
177
- else if (couplingRatio >= 0.15) {
178
- // Acceptable: moderate coupling
179
- spectralScore = 0.6;
180
- }
181
191
  else {
182
- // Ideal zone: high internal cohesion, low global coupling (healthy modularity)
183
- spectralScore = 1.0;
192
+ spectralScore = bucketScoreInverse(couplingRatio, [0.05, 0.15, 0.50]);
184
193
  }
185
194
  }
186
195
  else if (N <= 2) {
187
196
  // Too small to measure — neutral
197
+ topologyAvailable = true;
188
198
  spectralScore = 0.7;
189
199
  }
200
+ // New spectral components use L_sym (normalized=true).
201
+ if (spectralSym?.fiedler !== undefined && spectralSym.eigenvalues) {
202
+ const density = Math.max(sparseEdges.length / (N * (N - 1)), 1e-9);
203
+ // Eigengap Integrity: requires lambda3 (non-degenerate variant).
204
+ if (spectralSym.lambda3 !== undefined) {
205
+ eigengapAvailable = true;
206
+ const gap = spectralSym.lambda3 - spectralSym.fiedler;
207
+ const normalizedGap = Math.sign(gap) * Math.log1p(Math.abs(gap / density));
208
+ // Calibrated from Django STGT dataset (18,225 commits).
209
+ // P80=3.69 (healthy), P50=3.31 (fair), P20=2.69 (critical).
210
+ // Empirical range [1.58, 4.09]. TENTATIVE [5.0, 2.0, 0.5] was out of range.
211
+ // Cross-ecosystem recalibration planned for v10.14.x via multi-ecosystem dataset.
212
+ eigengapScore = bucketScore(normalizedGap, [3.69, 3.31, 2.69]);
213
+ }
214
+ // NOTE: Spectral Entropy (vonNeumann) removed from AHI in v10.13.0.
215
+ // Empirical calibration (Django STGT 18,225 commits) showed ±0.05
216
+ // discrimination band (97.6% in [0.80, 0.90]): Von Neumann over
217
+ // top-K=10 eigenvalues converges to near-uniform distribution.
218
+ // Pure function preserved in src/spectral/vonNeumann.ts for
219
+ // v10.14.x investigation (IPR alternative under consideration).
220
+ }
190
221
  components.push({
191
222
  name: "Spectral Integrity",
192
223
  score: spectralScore,
193
- weight: 0.25,
194
- label: scoreToLabel(spectralScore),
195
- detail: `λ₂ = ${fiedlerValue.toFixed(4)}, avgDegree = ${avgDegree.toFixed(2)}, coupling ratio = ${couplingRatio.toFixed(4)} (${N} files, ${sparseEdges.length} edges)`,
196
- available: true,
224
+ weight: topologyAvailable ? 0.20 : 0.0,
225
+ label: topologyAvailable ? scoreToLabel(spectralScore) : "N/A (graph skipped for mega-repo)",
226
+ detail: topologyAvailable
227
+ ? `Coupling Ratio: ${couplingRatio.toFixed(3)} (λ₂: ${fiedlerValue.toFixed(4)})`
228
+ : `Repository too large (N>25000), spectral analysis skipped`,
229
+ available: topologyAvailable,
230
+ });
231
+ // New component: Eigengap Integrity (deep mode only)
232
+ components.push({
233
+ name: "Eigengap Integrity",
234
+ score: eigengapScore,
235
+ weight: isDeep && eigengapAvailable ? 0.05 : 0.0,
236
+ label: eigengapAvailable ? scoreToLabel(eigengapScore) : "N/A",
237
+ detail: eigengapAvailable
238
+ ? `Normalized gap indicates cluster partition risk`
239
+ : `Insufficient spectral dimensionality (< 2 eigenvalues)`,
240
+ available: eigengapAvailable && isDeep,
197
241
  });
198
242
  if (fiedlerValue === 0 && N > 2 && sparseEdges.length > 0) {
199
243
  issues.push({
@@ -264,6 +308,53 @@ export async function computeAudit(graph, allFiles, projectRoot, kernel, chronos
264
308
  }
265
309
  }
266
310
  // ═════════════════════════════════════════════════════════
311
+ // Markov Blanket differentiated issue localization (v10.13.0)
312
+ //
313
+ // Eigengap bajo → localize structural bridge via 1-hop Ego-Graph
314
+ // around top-PageRank nodes.
315
+ // Entropy bajo → global chaos, no local blanket (guide to Repo Map).
316
+ // Hub super-nodes → deferred to v10.14+ (asymmetric filter needed).
317
+ // ═════════════════════════════════════════════════════════
318
+ if (eigengapAvailable && eigengapScore < 0.4) {
319
+ // Build TopologicalEdge[] from graph.importedBy for blanket computation.
320
+ const blanketEdges = [];
321
+ for (const [tgt, consumers] of graph.importedBy.entries()) {
322
+ for (const consumer of consumers) {
323
+ blanketEdges.push({
324
+ sourceId: consumer + "::*",
325
+ targetId: tgt + "::*",
326
+ sourceFile: consumer,
327
+ targetFile: tgt,
328
+ weight: 1.0,
329
+ });
330
+ }
331
+ }
332
+ const blanketFiles = [];
333
+ for (const [file] of sortedPR.slice(0, 3)) {
334
+ try {
335
+ const blanket = SpectralTopologist.getMarkovBlanket(file, blanketEdges);
336
+ if (blanket && blanket.size > 0 && blanket.size < allFiles.length / 2) {
337
+ blanketFiles.push(`${file} (blanket: ${blanket.size} files)`);
338
+ }
339
+ }
340
+ catch {
341
+ // Skip if blanket computation fails for this file
342
+ }
343
+ }
344
+ if (blanketFiles.length > 0) {
345
+ issues.push({
346
+ file: "project-wide",
347
+ severity: "high",
348
+ type: "eigengap_collapse",
349
+ detail: `Eigengap critically low (${eigengapScore.toFixed(2)}). ` +
350
+ `Structural bridge risk around high-coupling nodes:\n` +
351
+ blanketFiles.map(f => ` - ${f}`).join("\n"),
352
+ action: "Review these nodes and extract interfaces between emerging clusters.",
353
+ impactOnScore: 0,
354
+ });
355
+ }
356
+ }
357
+ // ═════════════════════════════════════════════════════════
267
358
  // SIGNAL 3: Type Safety (Deep mode only)
268
359
  // ═════════════════════════════════════════════════════════
269
360
  let typeSafetyScore = 0.5;
@@ -337,9 +428,22 @@ export async function computeAudit(graph, allFiles, projectRoot, kernel, chronos
337
428
  // ═════════════════════════════════════════════════════════
338
429
  let stabilityScore = 0.7;
339
430
  let stabilityAvailable = false;
340
- if (chronos) {
431
+ let sessionCount = 0;
432
+ const fragileCore = [];
433
+ // B.4 Fix: Chronos Honeymoon check.
434
+ // Require minimum 5 sessions of history before trusting Stability metric.
435
+ try {
436
+ const dbPath = path.join(projectRoot, ".nreki", "chronos-history.json");
437
+ if (fs.existsSync(dbPath)) {
438
+ const data = JSON.parse(fs.readFileSync(dbPath, "utf-8"));
439
+ sessionCount = data.currentSessionId || 0;
440
+ }
441
+ }
442
+ catch {
443
+ // Chronos history unavailable, stability stays unavailable
444
+ }
445
+ if (chronos && sessionCount >= 5) {
341
446
  stabilityAvailable = true;
342
- const fragileCore = [];
343
447
  for (const coreFile of coreFiles) {
344
448
  const cfi = chronos.getFileCFI(coreFile);
345
449
  if (cfi >= chronos.CFI_ALERT_THRESHOLD) {
@@ -368,12 +472,12 @@ export async function computeAudit(graph, allFiles, projectRoot, kernel, chronos
368
472
  components.push({
369
473
  name: "Stability",
370
474
  score: stabilityScore,
371
- weight: isDeep ? 0.10 : 0.0,
372
- label: stabilityAvailable ? scoreToLabel(stabilityScore) : "N/A (no session history)",
475
+ weight: isDeep && stabilityAvailable ? 0.10 : 0.0,
476
+ label: stabilityAvailable ? scoreToLabel(stabilityScore) : "N/A (insufficient history)",
373
477
  detail: stabilityAvailable
374
- ? `Chronos tracking active. ${coreFiles.length} core files monitored.`
375
- : "No session history yet. Stability improves with usage.",
376
- available: stabilityAvailable,
478
+ ? `Chronos sessions: ${sessionCount}, fragile core files: ${fragileCore.length}`
479
+ : `Requires 5+ sessions. Current: ${sessionCount}.`,
480
+ available: stabilityAvailable && isDeep,
377
481
  });
378
482
  // ═════════════════════════════════════════════════════════
379
483
  // COMPUTE AHI + SIMULATE RECOVERY (no more fiction)
@@ -451,6 +555,7 @@ export async function computeAudit(graph, allFiles, projectRoot, kernel, chronos
451
555
  filesAnalyzed: allFiles.length,
452
556
  coreFiles,
453
557
  timestamp: new Date().toISOString(),
558
+ engine_version: "v10.13-spectral-enriched",
454
559
  };
455
560
  }
456
561
  // ─── Format Report ──────────────────────────────────────────────────
package/dist/audit.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"audit.js","sourceRoot":"","sources":["../src/audit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"audit.js","sourceRoot":"","sources":["../src/audit.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"nreki-kernel.d.ts","sourceRoot":"","sources":["../../src/kernel/nreki-kernel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nreki-kernel.d.ts","sourceRoot":"","sources":["../../src/kernel/nreki-kernel.ts"],"names":[],"mappings":"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"}
@@ -590,8 +590,9 @@ export class NrekiKernel {
590
590
  : eulerShift > 0 ? "🍝 (Tangled)"
591
591
  : "⚖️ (Stable)";
592
592
  const delta = SpectralTopologist.computeDelta(preTopology, postTopology);
593
- const fiedlerShift = preTopology.fiedlerValue > 0
594
- ? ((delta.fiedlerPost - delta.fiedlerPre) / preTopology.fiedlerValue) * 100
593
+ const preFiedlerTopo = preTopology.fiedler ?? 0;
594
+ const fiedlerShift = preFiedlerTopo > 0
595
+ ? ((delta.fiedlerPost - delta.fiedlerPre) / preFiedlerTopo) * 100
595
596
  : 0;
596
597
  const icon = delta.verdict === "APPROVED" ? "✅"
597
598
  : delta.verdict === "APPROVED_DECOUPLING" ? "🚀 DECOUPLED"