audit-tools 0.42.0 → 0.42.1
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/dist/audit/orchestrator/partitionTaskGraph.d.ts.map +1 -1
- package/dist/audit/orchestrator/partitionTaskGraph.js +2 -2
- package/dist/audit/orchestrator/partitionTaskGraph.js.map +1 -1
- package/dist/audit/reporting/synthesis.d.ts.map +1 -1
- package/dist/audit/reporting/synthesis.js +2 -3
- package/dist/audit/reporting/synthesis.js.map +1 -1
- package/dist/audit/reporting/workBlocks.d.ts.map +1 -1
- package/dist/audit/reporting/workBlocks.js +4 -38
- package/dist/audit/reporting/workBlocks.js.map +1 -1
- package/dist/remediate/steps/contractPipeline.d.ts.map +1 -1
- package/dist/remediate/steps/contractPipeline.js +9 -6
- package/dist/remediate/steps/contractPipeline.js.map +1 -1
- package/dist/remediate/steps/contractPipelinePrompts.js +1 -1
- package/dist/remediate/steps/contractPipelinePrompts.js.map +1 -1
- package/dist/remediate/validation/contractPipelineGates.d.ts.map +1 -1
- package/dist/remediate/validation/contractPipelineGates.js +24 -16
- package/dist/remediate/validation/contractPipelineGates.js.map +1 -1
- package/dist/shared/decompose/contentCoherence.d.ts +43 -2
- package/dist/shared/decompose/contentCoherence.d.ts.map +1 -1
- package/dist/shared/decompose/contentCoherence.js +109 -5
- package/dist/shared/decompose/contentCoherence.js.map +1 -1
- package/dist/shared/decompose/modularity.d.ts +17 -0
- package/dist/shared/decompose/modularity.d.ts.map +1 -1
- package/dist/shared/decompose/modularity.js +78 -3
- package/dist/shared/decompose/modularity.js.map +1 -1
- package/dist/shared/decompose/workBlockSeams.d.ts +45 -0
- package/dist/shared/decompose/workBlockSeams.d.ts.map +1 -0
- package/dist/shared/decompose/workBlockSeams.js +82 -0
- package/dist/shared/decompose/workBlockSeams.js.map +1 -0
- package/dist/shared/index.d.ts +4 -3
- package/dist/shared/index.d.ts.map +1 -1
- package/dist/shared/index.js +4 -2
- package/dist/shared/index.js.map +1 -1
- package/dist/shared/reporting/auditDeliverable.d.ts.map +1 -1
- package/dist/shared/reporting/auditDeliverable.js +8 -3
- package/dist/shared/reporting/auditDeliverable.js.map +1 -1
- package/dist/shared/types/finding.d.ts +105 -53
- package/dist/shared/types/finding.d.ts.map +1 -1
- package/dist/shared/types/finding.js +38 -11
- package/dist/shared/types/finding.js.map +1 -1
- package/dist/shared/validation/findingsReport.d.ts.map +1 -1
- package/dist/shared/validation/findingsReport.js +19 -1
- package/dist/shared/validation/findingsReport.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contractPipelineGates.js","sourceRoot":"","sources":["../../../src/remediate/validation/contractPipelineGates.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"contractPipelineGates.js","sourceRoot":"","sources":["../../../src/remediate/validation/contractPipelineGates.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,6 +15,39 @@ export declare const CONTENT_COHERENCE_SCORES: Readonly<{
|
|
|
15
15
|
readonly shared_unit: 80;
|
|
16
16
|
}>;
|
|
17
17
|
export declare const CONTENT_COHERENCE_THRESHOLD = 60;
|
|
18
|
+
/**
|
|
19
|
+
* Which pairs may join at all — the ONE policy axis of the shared core, never a
|
|
20
|
+
* fork. Both draws run the identical scan, union-find, and canonical ordering;
|
|
21
|
+
* they differ only in this predicate and in {@link ContentCoherencePolicy.refineAtModularityPeak}.
|
|
22
|
+
*
|
|
23
|
+
* - `weighted_score_threshold` — a pair joins when its summed evidence weight
|
|
24
|
+
* reaches {@link CONTENT_COHERENCE_THRESHOLD}. Disjunctive: four of the six
|
|
25
|
+
* classes clear 60 alone.
|
|
26
|
+
* - `shared_file_and_same_lens` — a pair joins only when it shares a FILE **and**
|
|
27
|
+
* a lens. Measured on the promoted 2026-08-18 run (3,230 findings): the
|
|
28
|
+
* threshold rule left 99.97% of findings in a single component, and no
|
|
29
|
+
* class-COUNT variant fixed it, because `shared_unit`/`same_lens`/`same_directory`
|
|
30
|
+
* are near-vacuous partitions at audit scale. The conjunction bounds by
|
|
31
|
+
* STRUCTURE, not density — `same_lens` is a hard partition no edge may cross.
|
|
32
|
+
*/
|
|
33
|
+
export type ContentCoherenceEligibility = "weighted_score_threshold" | "shared_file_and_same_lens";
|
|
34
|
+
/** The per-draw policy. Every difference between the draws lands here. */
|
|
35
|
+
export interface ContentCoherencePolicy {
|
|
36
|
+
readonly eligibility: ContentCoherenceEligibility;
|
|
37
|
+
/**
|
|
38
|
+
* Refine each eligible-edge component at its modularity peak (below), so a
|
|
39
|
+
* loose component splits at its own data-derived thin seam while a true clique
|
|
40
|
+
* survives whole. No budget, ceiling, or size target participates.
|
|
41
|
+
*/
|
|
42
|
+
readonly refineAtModularityPeak: boolean;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* The audit TASK draw. Unmeasured for collapse — its eligibility is deliberately
|
|
46
|
+
* left as-is until it is measured on its own lap (`docs/backlog/open-bugs.md`).
|
|
47
|
+
*/
|
|
48
|
+
export declare const TASK_DRAW_COHERENCE_POLICY: ContentCoherencePolicy;
|
|
49
|
+
/** The FINDINGS draw (work blocks + the findings deliverable). Owner cut, 2026-08-19. */
|
|
50
|
+
export declare const FINDINGS_DRAW_COHERENCE_POLICY: ContentCoherencePolicy;
|
|
18
51
|
export type ContentCoherenceEvidence = {
|
|
19
52
|
-readonly [Kind in keyof typeof CONTENT_COHERENCE_SCORES]: boolean;
|
|
20
53
|
};
|
|
@@ -106,6 +139,14 @@ export declare const ContentCoherenceTraceSchema: z.ZodObject<{
|
|
|
106
139
|
}[];
|
|
107
140
|
components: string[][];
|
|
108
141
|
}>;
|
|
109
|
-
/**
|
|
110
|
-
|
|
142
|
+
/**
|
|
143
|
+
* Build the complete canonical trace used by both audit and findings draws.
|
|
144
|
+
*
|
|
145
|
+
* `policy` is REQUIRED and has no default: a draw that forgot to declare its
|
|
146
|
+
* eligibility would otherwise silently inherit the other draw's, which is
|
|
147
|
+
* exactly the class of latent failure this project refuses to leave to a
|
|
148
|
+
* caller's memory. Pass {@link TASK_DRAW_COHERENCE_POLICY} or
|
|
149
|
+
* {@link FINDINGS_DRAW_COHERENCE_POLICY}.
|
|
150
|
+
*/
|
|
151
|
+
export declare function buildContentCoherenceTrace(input: ContentCoherenceInput | Record<string, unknown>, policy: ContentCoherencePolicy): ContentCoherenceTrace;
|
|
111
152
|
//# sourceMappingURL=contentCoherence.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contentCoherence.d.ts","sourceRoot":"","sources":["../../../src/shared/decompose/contentCoherence.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"contentCoherence.d.ts","sourceRoot":"","sources":["../../../src/shared/decompose/contentCoherence.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,wBAAwB;;;;;;;EAO1B,CAAC;AAEZ,eAAO,MAAM,2BAA2B,KAAK,CAAC;AAE9C;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,2BAA2B,GACnC,0BAA0B,GAC1B,2BAA2B,CAAC;AAEhC,0EAA0E;AAC1E,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,WAAW,EAAE,2BAA2B,CAAC;IAClD;;;;OAIG;IACH,QAAQ,CAAC,sBAAsB,EAAE,OAAO,CAAC;CAC1C;AAED;;;GAGG;AACH,eAAO,MAAM,0BAA0B,EAAE,sBAGvC,CAAC;AAEH,yFAAyF;AACzF,eAAO,MAAM,8BAA8B,EAAE,sBAG3C,CAAC;AAiBH,MAAM,MAAM,wBAAwB,GAAG;IACrC,CAAC,UAAU,IAAI,IAAI,MAAM,OAAO,wBAAwB,GAAG,OAAO;CACnE,CAAC;AAEF,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9B,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACxB,iBAAiB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,WAAW,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACjD;AAED,MAAM,MAAM,gCAAgC,GACxC,aAAa,GACb,sBAAsB,GACtB,WAAW,GACX,eAAe,GACf,WAAW,GACX,WAAW,GACX,UAAU,CAAC;AAEf,MAAM,WAAW,4BAA4B;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,gCAAgC,GAAG,MAAM,CAAC;CACjD;AAED,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,SAAS,oBAAoB,EAAE,CAAC;IACvC,aAAa,CAAC,EAAE,SAAS,4BAA4B,EAAE,CAAC;CACzD;AAED,MAAM,WAAW,8BAA8B;IAC7C,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC9B;AAoBD,MAAM,WAAW,qBAAqB;IACpC,gBAAgB,EAAE,8BAA8B,EAAE,CAAC;IACnD,UAAU,EAAE,MAAM,EAAE,EAAE,CAAC;CACxB;AAED,eAAO,MAAM,oCAAoC;;;;;;;;;;;;;;;;;;EAQtC,CAAC;AAEZ,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAK7B,CAAC;AA4RZ;;;;;;;;GAQG;AACH,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,qBAAqB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACtD,MAAM,EAAE,sBAAsB,GAC7B,qBAAqB,CAkGvB"}
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
* those components.
|
|
7
7
|
*/
|
|
8
8
|
import { z } from "zod";
|
|
9
|
+
import { louvain, modularityOf } from "./modularity.js";
|
|
9
10
|
export const CONTENT_COHERENCE_SCORES = Object.freeze({
|
|
10
11
|
call_import_reference_adjacency: 70,
|
|
11
12
|
same_directory: 10,
|
|
@@ -15,6 +16,32 @@ export const CONTENT_COHERENCE_SCORES = Object.freeze({
|
|
|
15
16
|
shared_unit: 80,
|
|
16
17
|
});
|
|
17
18
|
export const CONTENT_COHERENCE_THRESHOLD = 60;
|
|
19
|
+
/**
|
|
20
|
+
* The audit TASK draw. Unmeasured for collapse — its eligibility is deliberately
|
|
21
|
+
* left as-is until it is measured on its own lap (`docs/backlog/open-bugs.md`).
|
|
22
|
+
*/
|
|
23
|
+
export const TASK_DRAW_COHERENCE_POLICY = Object.freeze({
|
|
24
|
+
eligibility: "weighted_score_threshold",
|
|
25
|
+
refineAtModularityPeak: false,
|
|
26
|
+
});
|
|
27
|
+
/** The FINDINGS draw (work blocks + the findings deliverable). Owner cut, 2026-08-19. */
|
|
28
|
+
export const FINDINGS_DRAW_COHERENCE_POLICY = Object.freeze({
|
|
29
|
+
eligibility: "shared_file_and_same_lens",
|
|
30
|
+
refineAtModularityPeak: true,
|
|
31
|
+
});
|
|
32
|
+
/**
|
|
33
|
+
* The canonical modularity resolution (γ). NOT a tuned knob and never to become
|
|
34
|
+
* one: γ = 1 is the literature default, at which the trivial whole-component
|
|
35
|
+
* partition scores exactly 0, so "did the split beat keeping the component
|
|
36
|
+
* whole" is answered by the data alone.
|
|
37
|
+
*/
|
|
38
|
+
const MODULARITY_RESOLUTION = 1;
|
|
39
|
+
/**
|
|
40
|
+
* Components at or below this size are handed back unrefined. A triviality
|
|
41
|
+
* guard, not a size budget: modularity over one, two, or three nodes describes
|
|
42
|
+
* noise rather than structure, and nothing downstream reads the number.
|
|
43
|
+
*/
|
|
44
|
+
const TRIVIAL_COMPONENT_SIZE = 3;
|
|
18
45
|
export const NormalizedContentCoherenceItemSchema = z
|
|
19
46
|
.object({
|
|
20
47
|
id: z.string().min(1),
|
|
@@ -167,6 +194,55 @@ function scoreEvidence(evidence) {
|
|
|
167
194
|
}
|
|
168
195
|
return score;
|
|
169
196
|
}
|
|
197
|
+
function isEligible(direct, score, policy) {
|
|
198
|
+
return policy.eligibility === "shared_file_and_same_lens"
|
|
199
|
+
? direct.sharedFile && direct.sameLens
|
|
200
|
+
: score >= CONTENT_COHERENCE_THRESHOLD;
|
|
201
|
+
}
|
|
202
|
+
/**
|
|
203
|
+
* Split one eligible-edge component at its modularity PEAK, or hand it back
|
|
204
|
+
* whole. The component's own eligible pairs are the weighted graph (edge weight =
|
|
205
|
+
* the pair's evidence score), Louvain proposes a partition at the canonical γ,
|
|
206
|
+
* and the proposal is accepted only when it scores strictly above keeping the
|
|
207
|
+
* component whole. A component held together by one weak bridge splits there.
|
|
208
|
+
* Nothing in the decision is a constant of any denomination.
|
|
209
|
+
*
|
|
210
|
+
* What survives whole is a UNIFORM-weight clique: with every edge equal, any cut
|
|
211
|
+
* scores below the trivial partition, so it cannot be split. A clique whose
|
|
212
|
+
* weights DIFFER can still split — six findings on one file and one lens but two
|
|
213
|
+
* units weigh 220 within a unit and 140 across it, and that contrast alone beats
|
|
214
|
+
* the whole. That is intended (the halves are genuinely less coupled), and the
|
|
215
|
+
* shared file then surfaces as a seam between them rather than disappearing into
|
|
216
|
+
* one block. "A clique stays whole" without the uniform qualifier is an
|
|
217
|
+
* overclaim; the two cases are pinned separately in
|
|
218
|
+
* `tests/shared/content-coherence.test.ts`.
|
|
219
|
+
*/
|
|
220
|
+
function refineAtModularityPeak(members, candidates) {
|
|
221
|
+
if (members.length <= TRIVIAL_COMPONENT_SIZE)
|
|
222
|
+
return [[...members]];
|
|
223
|
+
const graph = {
|
|
224
|
+
nodes: [...members],
|
|
225
|
+
edges: candidates.map((candidate) => ({
|
|
226
|
+
a: candidate.left,
|
|
227
|
+
b: candidate.right,
|
|
228
|
+
weight: candidate.score,
|
|
229
|
+
})),
|
|
230
|
+
};
|
|
231
|
+
const proposed = louvain(graph, MODULARITY_RESOLUTION);
|
|
232
|
+
const whole = new Map(members.map((id) => [id, members[0] ?? id]));
|
|
233
|
+
if (modularityOf(graph, proposed, MODULARITY_RESOLUTION) <=
|
|
234
|
+
modularityOf(graph, whole, MODULARITY_RESOLUTION)) {
|
|
235
|
+
return [[...members]];
|
|
236
|
+
}
|
|
237
|
+
const communities = new Map();
|
|
238
|
+
for (const member of members) {
|
|
239
|
+
const community = proposed.get(member) ?? member;
|
|
240
|
+
const group = communities.get(community) ?? [];
|
|
241
|
+
group.push(member);
|
|
242
|
+
communities.set(community, group);
|
|
243
|
+
}
|
|
244
|
+
return [...communities.values()];
|
|
245
|
+
}
|
|
170
246
|
function findRoot(parent, id) {
|
|
171
247
|
const lineage = [];
|
|
172
248
|
let root = id;
|
|
@@ -178,8 +254,16 @@ function findRoot(parent, id) {
|
|
|
178
254
|
parent.set(member, root);
|
|
179
255
|
return root;
|
|
180
256
|
}
|
|
181
|
-
/**
|
|
182
|
-
|
|
257
|
+
/**
|
|
258
|
+
* Build the complete canonical trace used by both audit and findings draws.
|
|
259
|
+
*
|
|
260
|
+
* `policy` is REQUIRED and has no default: a draw that forgot to declare its
|
|
261
|
+
* eligibility would otherwise silently inherit the other draw's, which is
|
|
262
|
+
* exactly the class of latent failure this project refuses to leave to a
|
|
263
|
+
* caller's memory. Pass {@link TASK_DRAW_COHERENCE_POLICY} or
|
|
264
|
+
* {@link FINDINGS_DRAW_COHERENCE_POLICY}.
|
|
265
|
+
*/
|
|
266
|
+
export function buildContentCoherenceTrace(input, policy) {
|
|
183
267
|
if (!isRecord(input)) {
|
|
184
268
|
throw new Error("Content-coherence input must be an object.");
|
|
185
269
|
}
|
|
@@ -198,11 +282,17 @@ export function buildContentCoherenceTrace(input) {
|
|
|
198
282
|
const left = normalizedItems[leftIndex];
|
|
199
283
|
const right = normalizedItems[rightIndex];
|
|
200
284
|
const evidence = directEvidence(left, right);
|
|
285
|
+
// Captured BEFORE relationship evidence is folded in — the conjunctive
|
|
286
|
+
// policy must read only what the items themselves assert.
|
|
287
|
+
const direct = {
|
|
288
|
+
sharedFile: evidence.shared_file,
|
|
289
|
+
sameLens: evidence.shared_semantic_tag_or_same_lens,
|
|
290
|
+
};
|
|
201
291
|
for (const kind of relationshipEvidence.get(pairKey(left.id, right.id)) ?? []) {
|
|
202
292
|
evidence[kind] = true;
|
|
203
293
|
}
|
|
204
294
|
const score = scoreEvidence(evidence);
|
|
205
|
-
if (score
|
|
295
|
+
if (!isEligible(direct, score, policy))
|
|
206
296
|
continue;
|
|
207
297
|
eligibleCandidates.push({ left: left.id, right: right.id, score });
|
|
208
298
|
}
|
|
@@ -232,8 +322,22 @@ export function buildContentCoherenceTrace(input) {
|
|
|
232
322
|
members.push(item.id);
|
|
233
323
|
groups.set(root, members);
|
|
234
324
|
}
|
|
235
|
-
|
|
236
|
-
|
|
325
|
+
// Bucket the eligible pairs by the component they ended up inside, so
|
|
326
|
+
// refinement reads each component's own weighted evidence graph once.
|
|
327
|
+
const candidatesByRoot = new Map();
|
|
328
|
+
if (policy.refineAtModularityPeak) {
|
|
329
|
+
for (const candidate of eligibleCandidates) {
|
|
330
|
+
const root = findRoot(parent, candidate.left);
|
|
331
|
+
const bucket = candidatesByRoot.get(root) ?? [];
|
|
332
|
+
bucket.push(candidate);
|
|
333
|
+
candidatesByRoot.set(root, bucket);
|
|
334
|
+
}
|
|
335
|
+
}
|
|
336
|
+
const merged = [...groups.entries()].map(([root, members]) => [root, members.sort(compareCodeUnits)]);
|
|
337
|
+
const components = (policy.refineAtModularityPeak
|
|
338
|
+
? merged.flatMap(([root, members]) => refineAtModularityPeak(members, candidatesByRoot.get(root) ?? []))
|
|
339
|
+
: merged.map(([, members]) => members))
|
|
340
|
+
.map((members) => [...members].sort(compareCodeUnits))
|
|
237
341
|
.sort((left, right) => compareCodeUnits(left[0] ?? "", right[0] ?? ""));
|
|
238
342
|
return {
|
|
239
343
|
normalized_items: normalizedItems,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contentCoherence.js","sourceRoot":"","sources":["../../../src/shared/decompose/contentCoherence.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"contentCoherence.js","sourceRoot":"","sources":["../../../src/shared/decompose/contentCoherence.ts"],"names":[],"mappings":"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"}
|
|
@@ -34,6 +34,23 @@ export declare const DEFAULT_RESOLUTIONS: readonly number[];
|
|
|
34
34
|
* lexicographically smallest member). Deterministic for a given graph + γ.
|
|
35
35
|
*/
|
|
36
36
|
export declare function louvain(graph: WeightedGraph, resolution: number): Partition;
|
|
37
|
+
/**
|
|
38
|
+
* Score a partition with the resolution-parameterised modularity Q the
|
|
39
|
+
* {@link louvain} local-moving phase optimises:
|
|
40
|
+
*
|
|
41
|
+
* Q = Σ_c [ Σ_in(c)/m − γ·(Σ_tot(c)/2m)² ]
|
|
42
|
+
*
|
|
43
|
+
* where Σ_in(c) is the intra-community edge weight (each undirected pair counted
|
|
44
|
+
* once, self-loops once), Σ_tot(c) the summed degree of its members, and m the
|
|
45
|
+
* graph mass. The convention is self-consistent rather than universal, and that
|
|
46
|
+
* is what it is for: the ONE trivial partition (every node in one community)
|
|
47
|
+
* scores exactly `1 − γ`, so comparing a candidate partition against the whole
|
|
48
|
+
* needs no tuned constant — at the canonical γ = 1 the comparison is against 0.
|
|
49
|
+
*
|
|
50
|
+
* Deterministic: communities are accumulated in lexical id order, so the same
|
|
51
|
+
* graph and partition always yield the same float.
|
|
52
|
+
*/
|
|
53
|
+
export declare function modularityOf(graph: WeightedGraph, partition: Partition, resolution: number): number;
|
|
37
54
|
/**
|
|
38
55
|
* Cluster the same graph at every resolution in the ladder, coarse→fine, and
|
|
39
56
|
* return the partitions in ladder order. The multi-resolution family is the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modularity.d.ts","sourceRoot":"","sources":["../../../src/shared/decompose/modularity.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"modularity.d.ts","sourceRoot":"","sources":["../../../src/shared/decompose/modularity.ts"],"names":[],"mappings":"AAmCA;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC5B,gEAAgE;IAChE,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,EAAE,KAAK,CAAC;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACxD;AAED;;;;GAIG;AACH,MAAM,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAiD5C;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,EAAE,SAAS,MAAM,EAAyB,CAAC;AAkR3E;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,GAAG,SAAS,CAgC3E;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,aAAa,EACpB,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,MAAM,GACjB,MAAM,CA0CR;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,aAAa,EACpB,WAAW,GAAE,SAAS,MAAM,EAAwB,GACnD,SAAS,EAAE,CAEb"}
|
|
@@ -8,6 +8,23 @@
|
|
|
8
8
|
// persists across resolutions is trusted. This module owns only the clustering;
|
|
9
9
|
// the stability scoring across the resulting partitions lives in consensus.ts.
|
|
10
10
|
//
|
|
11
|
+
// ARITHMETIC ENVELOPE — what this module accepts, stated honestly. Weights must
|
|
12
|
+
// be finite and positive, and the GRAPH MASS (Σ degrees) must stay inside the
|
|
13
|
+
// exact-integer range; a graph past that is refused rather than silently
|
|
14
|
+
// approximated, because community membership must not depend on input order
|
|
15
|
+
// changing the rounding of very large repeated sums. Two narrower limits were
|
|
16
|
+
// removed after they refused ordinary inputs: the community-degree guard now
|
|
17
|
+
// scales its tolerance to the graph mass instead of a fixed 1e-12 (fractional
|
|
18
|
+
// weights around 1e5 drift past a fixed epsilon by float arithmetic alone), and
|
|
19
|
+
// the modularity penalty divides by 2m before multiplying by Σtot so the bounded
|
|
20
|
+
// VALUE is checked rather than an unbounded intermediate. NOT fixed: the degree
|
|
21
|
+
// guard binds at every AGGREGATED level, where super-node degrees are larger
|
|
22
|
+
// than any original node's, so the mass at which a graph is refused depends on
|
|
23
|
+
// how many Louvain levels it produces — which is data-dependent, and at γ > 1
|
|
24
|
+
// (more, smaller communities → more levels) not monotone in the input size.
|
|
25
|
+
// Nothing in this repo runs above γ = 1; a metric sweep that does should
|
|
26
|
+
// re-measure rather than assume the envelope scales smoothly.
|
|
27
|
+
//
|
|
11
28
|
// PURE + DETERMINISTIC: no IO, no Math.random, no Date. Ties are broken by
|
|
12
29
|
// lexical node/community id so the same graph always yields the same partition.
|
|
13
30
|
// Language-neutral by construction — it consumes only string node ids and numeric
|
|
@@ -131,6 +148,14 @@ function buildAdjacency(graph) {
|
|
|
131
148
|
*/
|
|
132
149
|
function localMoving(graph, resolution) {
|
|
133
150
|
const twoM = checkedMultiply(graph.totalWeight, 2, "Graph mass");
|
|
151
|
+
// A community's degree is repeatedly added to and subtracted from as nodes
|
|
152
|
+
// move, and floating-point residue from that scales with the MAGNITUDE of the
|
|
153
|
+
// sums, not with a fixed absolute epsilon. A fixed -1e-12 therefore refused
|
|
154
|
+
// ordinary fractional-weight graphs ("Community degree … became negative") as
|
|
155
|
+
// soon as weights reached ~1e5 over ~100 nodes. Scale the tolerance to the
|
|
156
|
+
// graph's own mass; a genuinely negative degree is a whole weight below zero
|
|
157
|
+
// and stays far outside it.
|
|
158
|
+
const negativeDegreeTolerance = Math.max(1e-9, twoM * 1e-12);
|
|
134
159
|
const communityOf = new Map();
|
|
135
160
|
// Σtot(C): total degree of nodes currently in community C.
|
|
136
161
|
const communityDegree = new Map();
|
|
@@ -157,7 +182,7 @@ function localMoving(graph, resolution) {
|
|
|
157
182
|
// Remove node from its community.
|
|
158
183
|
const remainingDegree = (communityDegree.get(current) ?? 0) - nodeDegree;
|
|
159
184
|
assertSignedBounded(remainingDegree, `Community degree for ${current}`);
|
|
160
|
-
if (remainingDegree < -
|
|
185
|
+
if (remainingDegree < -negativeDegreeTolerance) {
|
|
161
186
|
throw new RangeError(`Community degree for ${current} became negative.`);
|
|
162
187
|
}
|
|
163
188
|
communityDegree.set(current, Math.max(0, remainingDegree));
|
|
@@ -180,8 +205,12 @@ function localMoving(graph, resolution) {
|
|
|
180
205
|
const kiIn = weightToCommunity.get(comm) ?? 0;
|
|
181
206
|
const sigmaTot = communityDegree.get(comm) ?? 0;
|
|
182
207
|
const scaledDegree = checkedMultiply(resolution, nodeDegree, `Modularity resolution-degree product for ${node}`);
|
|
183
|
-
|
|
184
|
-
|
|
208
|
+
// DIVIDE BEFORE MULTIPLYING. The value γ·k_i·Σtot/2m is bounded by γ·k_i
|
|
209
|
+
// because Σtot ≤ 2m, but the intermediate product γ·k_i·Σtot is not:
|
|
210
|
+
// rescaling integral weights by 1e6 — the obvious way to make fractional
|
|
211
|
+
// metrics exact — pushed it past MAX_SAFE_INTEGER and refused a graph
|
|
212
|
+
// whose real arithmetic was nowhere near the limit. Bound the RESULT.
|
|
213
|
+
const penalty = (scaledDegree / twoM) * sigmaTot;
|
|
185
214
|
assertSignedBounded(penalty, `Modularity penalty for ${node}`);
|
|
186
215
|
const gain = kiIn - penalty;
|
|
187
216
|
assertSignedBounded(gain, `Modularity gain for ${node}`);
|
|
@@ -296,6 +325,52 @@ export function louvain(graph, resolution) {
|
|
|
296
325
|
}
|
|
297
326
|
return canonicalizeCommunities(result);
|
|
298
327
|
}
|
|
328
|
+
/**
|
|
329
|
+
* Score a partition with the resolution-parameterised modularity Q the
|
|
330
|
+
* {@link louvain} local-moving phase optimises:
|
|
331
|
+
*
|
|
332
|
+
* Q = Σ_c [ Σ_in(c)/m − γ·(Σ_tot(c)/2m)² ]
|
|
333
|
+
*
|
|
334
|
+
* where Σ_in(c) is the intra-community edge weight (each undirected pair counted
|
|
335
|
+
* once, self-loops once), Σ_tot(c) the summed degree of its members, and m the
|
|
336
|
+
* graph mass. The convention is self-consistent rather than universal, and that
|
|
337
|
+
* is what it is for: the ONE trivial partition (every node in one community)
|
|
338
|
+
* scores exactly `1 − γ`, so comparing a candidate partition against the whole
|
|
339
|
+
* needs no tuned constant — at the canonical γ = 1 the comparison is against 0.
|
|
340
|
+
*
|
|
341
|
+
* Deterministic: communities are accumulated in lexical id order, so the same
|
|
342
|
+
* graph and partition always yield the same float.
|
|
343
|
+
*/
|
|
344
|
+
export function modularityOf(graph, partition, resolution) {
|
|
345
|
+
assertPositiveBounded(resolution, "Modularity resolution");
|
|
346
|
+
const base = buildAdjacency(graph);
|
|
347
|
+
if (base.totalWeight === 0)
|
|
348
|
+
return 0;
|
|
349
|
+
const twoM = checkedMultiply(base.totalWeight, 2, "Graph mass");
|
|
350
|
+
const internal = new Map();
|
|
351
|
+
const total = new Map();
|
|
352
|
+
for (const node of base.nodes) {
|
|
353
|
+
const community = partition.get(node) ?? node;
|
|
354
|
+
total.set(community, checkedAdd(total.get(community) ?? 0, base.degree.get(node) ?? 0, `Community degree for ${community}`));
|
|
355
|
+
const row = base.adjacency.get(node) ?? new Map();
|
|
356
|
+
for (const [neighbor, weight] of row) {
|
|
357
|
+
// Visit each undirected pair once; a self-loop (neighbor === node) is not
|
|
358
|
+
// skipped, so it contributes its weight exactly once.
|
|
359
|
+
if (compareNodeIds(neighbor, node) < 0)
|
|
360
|
+
continue;
|
|
361
|
+
if ((partition.get(neighbor) ?? neighbor) !== community)
|
|
362
|
+
continue;
|
|
363
|
+
internal.set(community, checkedAdd(internal.get(community) ?? 0, weight, `Community internal weight for ${community}`));
|
|
364
|
+
}
|
|
365
|
+
}
|
|
366
|
+
let quality = 0;
|
|
367
|
+
for (const community of [...total.keys()].sort(compareNodeIds)) {
|
|
368
|
+
const share = (total.get(community) ?? 0) / twoM;
|
|
369
|
+
quality += (internal.get(community) ?? 0) / base.totalWeight - resolution * share * share;
|
|
370
|
+
assertSignedBounded(quality, `Modularity accumulation for ${community}`);
|
|
371
|
+
}
|
|
372
|
+
return quality;
|
|
373
|
+
}
|
|
299
374
|
/**
|
|
300
375
|
* Cluster the same graph at every resolution in the ladder, coarse→fine, and
|
|
301
376
|
* return the partitions in ladder order. The multi-resolution family is the
|