@cleocode/nexus 2026.5.15 → 2026.5.17

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.
@@ -1,26 +1,37 @@
1
1
  /**
2
2
  * Community Detection Processor — Phase 5
3
3
  *
4
- * Uses the Leiden algorithm (pure-TS implementation) to detect
5
- * communities/clusters in the code graph based on CALLS, EXTENDS, and
4
+ * Uses the Leiden algorithm (@aflsolutions/graphology-communities-leiden) to
5
+ * detect communities/clusters in the code graph based on CALLS, EXTENDS, and
6
6
  * IMPLEMENTS relationships.
7
7
  *
8
8
  * Communities represent groups of code that work together frequently,
9
9
  * helping agents navigate the codebase by functional area rather than by
10
10
  * file structure.
11
11
  *
12
- * ALGORITHM NOTE (T1063):
13
- * - Implements the Leiden algorithm from Traag, Waltman, van Eck (2019)
14
- * - Three phases: local moving, refinement, aggregation
15
- * - Refinement phase distinguishes Leiden from Louvain by splitting
16
- * sub-optimally-connected communities
17
- * - Produces ~10–15× more communities than Louvain at same resolution
18
- * - Pure-TS implementation replaces unavailable graphology-leiden package
12
+ * ALGORITHM NOTE (T1733 — swap decision):
13
+ * - Uses @aflsolutions/graphology-communities-leiden v1.1.1, a maintained
14
+ * extraction of the graphology community detection algorithm.
15
+ * - The prior pure-TS leiden.ts (T1063) had a broken modularity-gain formula:
16
+ * (2*edgesToTarget - edgesToCurrent - degree) / totalWeight always returned
17
+ * 0 because it omitted the community-level sigma_tot term from the
18
+ * Newman-Girvan formula. This caused every node to remain a singleton
19
+ * community with modularity=0 on all tested graphs.
20
+ * - Benchmark (T1733): AFL correctly produced 5/50/200/672 communities on
21
+ * perfectly-structured clique and realistic graphs; pure-TS produced
22
+ * N (one-per-node) communities with modularity=0.000 in all cases.
23
+ * - AFL modularity scores: 0.80 (tiny), 0.98 (medium), 0.995 (large clique),
24
+ * 0.20–0.49 on realistic graphs. Consistent with expected behaviour.
25
+ * - Wall-clock: AFL ~2–3× slower on large graphs (333ms vs 84ms at 7k nodes)
26
+ * but pure-TS was producing worthless output, so throughput is irrelevant.
27
+ * - Bundle cost: +39 KB unpacked (4 transitive deps: graphology-indices,
28
+ * graphology-utils, mnemonist, pandemonium) vs 11 KB for leiden.js.
29
+ * Acceptable for a server-side pipeline package.
19
30
  *
20
31
  * Ported and adapted from GitNexus
21
32
  * `src/core/ingestion/community-processor.ts`
22
33
  *
23
- * @task T538, T1063
34
+ * @task T538, T1063, T1733
24
35
  * @module pipeline/community-processor
25
36
  */
26
37
  import type { KnowledgeGraph } from './knowledge-graph.js';
@@ -68,22 +79,19 @@ export interface CommunityDetectionResult {
68
79
  * built. It writes Community nodes (kind='community') and MEMBER_OF edges
69
80
  * (type='member_of') directly into `graph`.
70
81
  *
71
- * OUTPUTS (T1063):
82
+ * OUTPUTS (T1733):
72
83
  * - Community nodes: id=`comm_<n>`, kind='community', name=heuristic label
73
84
  * - MEMBER_OF edges: source=symbol, target=community_node, confidence=1.0
74
85
  * - Backward compat: symbol nodes' `communityId` field preserved
75
86
  *
76
87
  * Handles empty graphs (no CALLS edges) gracefully — returns empty results.
77
88
  *
78
- * ALGORITHM NOTE (T1063):
79
- * Leiden provides finer-grained community detection than Louvain by:
80
- * - Local moving phase: optimizes modularity by repositioning nodes
81
- * - Refinement phase: splits poorly-optimized communities to eliminate
82
- * sub-optimal structures (key difference from Louvain)
83
- * - Aggregation phase: contracts graph and repeats
84
- *
85
- * This yields ~10–15× more communities than Louvain on large graphs
86
- * while maintaining or improving modularity.
89
+ * ALGORITHM NOTE (T1733 — swap to @aflsolutions/graphology-communities-leiden):
90
+ * Uses the maintained @aflsolutions/graphology-communities-leiden v1.1.1 package
91
+ * which correctly implements the Leiden algorithm. The prior pure-TS leiden.ts
92
+ * had a broken modularity-gain formula that produced 0 communities on all
93
+ * tested graphs (including perfectly structured cliques). See module-level
94
+ * comment for the full diagnosis and benchmark data.
87
95
  *
88
96
  * @param graph - The in-memory KnowledgeGraph to read edges from and write to
89
97
  * @returns Detection result with community nodes, memberships, and stats
@@ -1 +1 @@
1
- {"version":3,"file":"community-processor.d.ts","sourceRoot":"","sources":["../../../src/pipeline/community-processor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAIH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAwC3D,wCAAwC;AACxC,MAAM,WAAW,aAAa;IAC5B,qCAAqC;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,8EAA8E;IAC9E,cAAc,EAAE,MAAM,CAAC;IACvB,gCAAgC;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,6DAA6D;IAC7D,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,uDAAuD;AACvD,MAAM,WAAW,mBAAmB;IAClC,oCAAoC;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,6DAA6D;IAC7D,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,8CAA8C;AAC9C,MAAM,WAAW,wBAAwB;IACvC,sDAAsD;IACtD,WAAW,EAAE,aAAa,EAAE,CAAC;IAC7B,2DAA2D;IAC3D,WAAW,EAAE,mBAAmB,EAAE,CAAC;IACnC,KAAK,EAAE;QACL,iDAAiD;QACjD,gBAAgB,EAAE,MAAM,CAAC;QACzB,0DAA0D;QAC1D,UAAU,EAAE,MAAM,CAAC;QACnB,wDAAwD;QACxD,cAAc,EAAE,MAAM,CAAC;QACvB,oEAAoE;QACpE,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,oDAAoD;QACpD,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;CACH;AAmCD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAsB,iBAAiB,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,wBAAwB,CAAC,CA8HhG"}
1
+ {"version":3,"file":"community-processor.d.ts","sourceRoot":"","sources":["../../../src/pipeline/community-processor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAKH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AA6D3D,wCAAwC;AACxC,MAAM,WAAW,aAAa;IAC5B,qCAAqC;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,8EAA8E;IAC9E,cAAc,EAAE,MAAM,CAAC;IACvB,gCAAgC;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,6DAA6D;IAC7D,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,uDAAuD;AACvD,MAAM,WAAW,mBAAmB;IAClC,oCAAoC;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,6DAA6D;IAC7D,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,8CAA8C;AAC9C,MAAM,WAAW,wBAAwB;IACvC,sDAAsD;IACtD,WAAW,EAAE,aAAa,EAAE,CAAC;IAC7B,2DAA2D;IAC3D,WAAW,EAAE,mBAAmB,EAAE,CAAC;IACnC,KAAK,EAAE;QACL,iDAAiD;QACjD,gBAAgB,EAAE,MAAM,CAAC;QACzB,0DAA0D;QAC1D,UAAU,EAAE,MAAM,CAAC;QACnB,wDAAwD;QACxD,cAAc,EAAE,MAAM,CAAC;QACvB,oEAAoE;QACpE,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,oDAAoD;QACpD,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;CACH;AAmCD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAsB,iBAAiB,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,wBAAwB,CAAC,CA8HhG"}
@@ -1,38 +1,51 @@
1
1
  /**
2
2
  * Community Detection Processor — Phase 5
3
3
  *
4
- * Uses the Leiden algorithm (pure-TS implementation) to detect
5
- * communities/clusters in the code graph based on CALLS, EXTENDS, and
4
+ * Uses the Leiden algorithm (@aflsolutions/graphology-communities-leiden) to
5
+ * detect communities/clusters in the code graph based on CALLS, EXTENDS, and
6
6
  * IMPLEMENTS relationships.
7
7
  *
8
8
  * Communities represent groups of code that work together frequently,
9
9
  * helping agents navigate the codebase by functional area rather than by
10
10
  * file structure.
11
11
  *
12
- * ALGORITHM NOTE (T1063):
13
- * - Implements the Leiden algorithm from Traag, Waltman, van Eck (2019)
14
- * - Three phases: local moving, refinement, aggregation
15
- * - Refinement phase distinguishes Leiden from Louvain by splitting
16
- * sub-optimally-connected communities
17
- * - Produces ~10–15× more communities than Louvain at same resolution
18
- * - Pure-TS implementation replaces unavailable graphology-leiden package
12
+ * ALGORITHM NOTE (T1733 — swap decision):
13
+ * - Uses @aflsolutions/graphology-communities-leiden v1.1.1, a maintained
14
+ * extraction of the graphology community detection algorithm.
15
+ * - The prior pure-TS leiden.ts (T1063) had a broken modularity-gain formula:
16
+ * (2*edgesToTarget - edgesToCurrent - degree) / totalWeight always returned
17
+ * 0 because it omitted the community-level sigma_tot term from the
18
+ * Newman-Girvan formula. This caused every node to remain a singleton
19
+ * community with modularity=0 on all tested graphs.
20
+ * - Benchmark (T1733): AFL correctly produced 5/50/200/672 communities on
21
+ * perfectly-structured clique and realistic graphs; pure-TS produced
22
+ * N (one-per-node) communities with modularity=0.000 in all cases.
23
+ * - AFL modularity scores: 0.80 (tiny), 0.98 (medium), 0.995 (large clique),
24
+ * 0.20–0.49 on realistic graphs. Consistent with expected behaviour.
25
+ * - Wall-clock: AFL ~2–3× slower on large graphs (333ms vs 84ms at 7k nodes)
26
+ * but pure-TS was producing worthless output, so throughput is irrelevant.
27
+ * - Bundle cost: +39 KB unpacked (4 transitive deps: graphology-indices,
28
+ * graphology-utils, mnemonist, pandemonium) vs 11 KB for leiden.js.
29
+ * Acceptable for a server-side pipeline package.
19
30
  *
20
31
  * Ported and adapted from GitNexus
21
32
  * `src/core/ingestion/community-processor.ts`
22
33
  *
23
- * @task T538, T1063
34
+ * @task T538, T1063, T1733
24
35
  * @module pipeline/community-processor
25
36
  */
26
37
  import { createRequire } from 'node:module';
27
- import { leiden } from './leiden.js';
38
+ import { performance } from 'node:perf_hooks';
28
39
  // ============================================================================
29
40
  // GRAPHOLOGY INTEROP
30
41
  // ============================================================================
31
- // graphology is loaded via createRequire to avoid ESM interop issues with
32
- // NodeNext resolution.
42
+ // graphology and graphology-communities-leiden are loaded via createRequire to
43
+ // avoid ESM interop issues with NodeNext resolution.
33
44
  const _require = createRequire(import.meta.url);
34
45
  // eslint-disable-next-line @typescript-eslint/no-require-imports
35
46
  const GraphCtor = _require('graphology');
47
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
48
+ const leidenAlgo = _require('@aflsolutions/graphology-communities-leiden');
36
49
  // ============================================================================
37
50
  // CONSTANTS
38
51
  // ============================================================================
@@ -67,22 +80,19 @@ const LEIDEN_RESOLUTION = 1.0;
67
80
  * built. It writes Community nodes (kind='community') and MEMBER_OF edges
68
81
  * (type='member_of') directly into `graph`.
69
82
  *
70
- * OUTPUTS (T1063):
83
+ * OUTPUTS (T1733):
71
84
  * - Community nodes: id=`comm_<n>`, kind='community', name=heuristic label
72
85
  * - MEMBER_OF edges: source=symbol, target=community_node, confidence=1.0
73
86
  * - Backward compat: symbol nodes' `communityId` field preserved
74
87
  *
75
88
  * Handles empty graphs (no CALLS edges) gracefully — returns empty results.
76
89
  *
77
- * ALGORITHM NOTE (T1063):
78
- * Leiden provides finer-grained community detection than Louvain by:
79
- * - Local moving phase: optimizes modularity by repositioning nodes
80
- * - Refinement phase: splits poorly-optimized communities to eliminate
81
- * sub-optimal structures (key difference from Louvain)
82
- * - Aggregation phase: contracts graph and repeats
83
- *
84
- * This yields ~10–15× more communities than Louvain on large graphs
85
- * while maintaining or improving modularity.
90
+ * ALGORITHM NOTE (T1733 — swap to @aflsolutions/graphology-communities-leiden):
91
+ * Uses the maintained @aflsolutions/graphology-communities-leiden v1.1.1 package
92
+ * which correctly implements the Leiden algorithm. The prior pure-TS leiden.ts
93
+ * had a broken modularity-gain formula that produced 0 communities on all
94
+ * tested graphs (including perfectly structured cliques). See module-level
95
+ * comment for the full diagnosis and benchmark data.
86
96
  *
87
97
  * @param graph - The in-memory KnowledgeGraph to read edges from and write to
88
98
  * @returns Detection result with community nodes, memberships, and stats
@@ -114,12 +124,13 @@ export async function detectCommunities(graph) {
114
124
  }
115
125
  process.stderr.write(`[nexus] Phase 5: Running Leiden on ${gGraph.order} nodes, ${gGraph.size} edges` +
116
126
  `${isLarge ? ` (large-graph mode, filtered from ${symbolCount} symbols)` : ''}\n`);
117
- // Run Leiden (pure-TS implementation with 60-second timeout guard)
127
+ // Run Leiden (@aflsolutions/graphology-communities-leiden with 60-second timeout guard)
118
128
  const LEIDEN_TIMEOUT_MS = 60_000;
119
129
  let details;
130
+ const t0 = performance.now();
120
131
  try {
121
132
  details = await Promise.race([
122
- Promise.resolve(leiden(gGraph, { resolution: LEIDEN_RESOLUTION })),
133
+ Promise.resolve(leidenAlgo.detailed(gGraph, { resolution: LEIDEN_RESOLUTION })),
123
134
  new Promise((_, reject) => setTimeout(() => reject(new Error('Leiden timeout')), LEIDEN_TIMEOUT_MS)),
124
135
  ]);
125
136
  }
@@ -135,16 +146,14 @@ export async function detectCommunities(graph) {
135
146
  communities: fallback,
136
147
  count: 1,
137
148
  modularity: 0,
138
- nodesProcessed: gGraph.order,
139
- refinementIterations: 0,
140
- durationMs: 0,
141
149
  };
142
150
  }
143
151
  else {
144
152
  throw err;
145
153
  }
146
154
  }
147
- process.stderr.write(`[nexus] Phase 5: Leiden found ${details.count} raw communities in ${details.durationMs.toFixed(0)}ms\n`);
155
+ const durationMs = performance.now() - t0;
156
+ process.stderr.write(`[nexus] Phase 5: Leiden found ${details.count} raw communities in ${durationMs.toFixed(0)}ms\n`);
148
157
  // Build community info nodes (skip singletons)
149
158
  const communities = buildCommunityInfos(details.communities, gGraph, graph);
150
159
  // Build membership list
@@ -181,7 +190,7 @@ export async function detectCommunities(graph) {
181
190
  target: m.communityId,
182
191
  type: 'member_of',
183
192
  confidence: 1.0,
184
- reason: 'louvain-community',
193
+ reason: 'leiden-community',
185
194
  });
186
195
  // Update the node's communityId in-place (Map holds a reference)
187
196
  memberNode.communityId = m.communityId;
@@ -194,8 +203,8 @@ export async function detectCommunities(graph) {
194
203
  totalCommunities: communities.length,
195
204
  modularity: details.modularity,
196
205
  nodesProcessed: gGraph.order,
197
- refinementIterations: details.refinementIterations,
198
- durationMs: details.durationMs,
206
+ refinementIterations: 0,
207
+ durationMs,
199
208
  },
200
209
  };
201
210
  }
@@ -1 +1 @@
1
- {"version":3,"file":"community-processor.js","sourceRoot":"","sources":["../../../src/pipeline/community-processor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"community-processor.js","sourceRoot":"","sources":["../../../src/pipeline/community-processor.ts"],"names":[],"mappings":"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"}