audit-tools 0.32.16 → 0.32.18
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/cli/conceptualDispatch.d.ts +9 -1
- package/dist/audit/cli/conceptualDispatch.d.ts.map +1 -1
- package/dist/audit/cli/conceptualDispatch.js +3 -0
- package/dist/audit/cli/conceptualDispatch.js.map +1 -1
- package/dist/audit/contracts/workerSchemas.d.ts +13 -0
- package/dist/audit/contracts/workerSchemas.d.ts.map +1 -1
- package/dist/audit/decompose/buildStructureDecomposition.d.ts +14 -0
- package/dist/audit/decompose/buildStructureDecomposition.d.ts.map +1 -0
- package/dist/audit/decompose/buildStructureDecomposition.js +107 -0
- package/dist/audit/decompose/buildStructureDecomposition.js.map +1 -0
- package/dist/audit/decompose/findings.d.ts +23 -0
- package/dist/audit/decompose/findings.d.ts.map +1 -0
- package/dist/audit/decompose/findings.js +121 -0
- package/dist/audit/decompose/findings.js.map +1 -0
- package/dist/audit/decompose/sources.d.ts +21 -0
- package/dist/audit/decompose/sources.d.ts.map +1 -0
- package/dist/audit/decompose/sources.js +168 -0
- package/dist/audit/decompose/sources.js.map +1 -0
- package/dist/audit/extractors/commentDecomposition.d.ts +52 -0
- package/dist/audit/extractors/commentDecomposition.d.ts.map +1 -0
- package/dist/audit/extractors/commentDecomposition.js +298 -0
- package/dist/audit/extractors/commentDecomposition.js.map +1 -0
- package/dist/audit/extractors/dataStateCoupling.d.ts +26 -0
- package/dist/audit/extractors/dataStateCoupling.d.ts.map +1 -0
- package/dist/audit/extractors/dataStateCoupling.js +71 -0
- package/dist/audit/extractors/dataStateCoupling.js.map +1 -0
- package/dist/audit/io/artifacts.d.ts +3 -0
- package/dist/audit/io/artifacts.d.ts.map +1 -1
- package/dist/audit/io/artifacts.js +1 -0
- package/dist/audit/io/artifacts.js.map +1 -1
- package/dist/audit/orchestrator/dependencyMap.d.ts +1 -0
- package/dist/audit/orchestrator/dependencyMap.d.ts.map +1 -1
- package/dist/audit/orchestrator/dependencyMap.js +11 -0
- package/dist/audit/orchestrator/dependencyMap.js.map +1 -1
- package/dist/audit/orchestrator/executorRunners.d.ts.map +1 -1
- package/dist/audit/orchestrator/executorRunners.js +2 -1
- package/dist/audit/orchestrator/executorRunners.js.map +1 -1
- package/dist/audit/orchestrator/executors.d.ts.map +1 -1
- package/dist/audit/orchestrator/executors.js +5 -0
- package/dist/audit/orchestrator/executors.js.map +1 -1
- package/dist/audit/orchestrator/nextStep.d.ts.map +1 -1
- package/dist/audit/orchestrator/nextStep.js +1 -0
- package/dist/audit/orchestrator/nextStep.js.map +1 -1
- package/dist/audit/orchestrator/state.d.ts.map +1 -1
- package/dist/audit/orchestrator/state.js +4 -0
- package/dist/audit/orchestrator/state.js.map +1 -1
- package/dist/audit/orchestrator/structureExecutors.d.ts +8 -0
- package/dist/audit/orchestrator/structureExecutors.d.ts.map +1 -1
- package/dist/audit/orchestrator/structureExecutors.js +30 -0
- package/dist/audit/orchestrator/structureExecutors.js.map +1 -1
- package/dist/audit/orchestrator/synthesisExecutors.d.ts.map +1 -1
- package/dist/audit/orchestrator/synthesisExecutors.js +1 -0
- package/dist/audit/orchestrator/synthesisExecutors.js.map +1 -1
- package/dist/audit/orchestrator/taskAffinityGraph.d.ts +2 -2
- package/dist/audit/reporting/mergeFindings.d.ts +2 -1
- package/dist/audit/reporting/mergeFindings.d.ts.map +1 -1
- package/dist/audit/reporting/mergeFindings.js +9 -1
- package/dist/audit/reporting/mergeFindings.js.map +1 -1
- package/dist/audit/reporting/synthesis.d.ts +2 -0
- package/dist/audit/reporting/synthesis.d.ts.map +1 -1
- package/dist/audit/reporting/synthesis.js +1 -1
- package/dist/audit/reporting/synthesis.js.map +1 -1
- package/dist/audit/types/structureDecomposition.d.ts +27 -0
- package/dist/audit/types/structureDecomposition.d.ts.map +1 -0
- package/dist/audit/types/structureDecomposition.js +2 -0
- package/dist/audit/types/structureDecomposition.js.map +1 -0
- package/dist/audit/types.d.ts +5 -0
- package/dist/audit/types.d.ts.map +1 -1
- package/dist/audit/validation/artifacts.d.ts.map +1 -1
- package/dist/audit/validation/artifacts.js +19 -1
- package/dist/audit/validation/artifacts.js.map +1 -1
- package/dist/remediate/state/types.d.ts +5 -0
- package/dist/remediate/state/types.d.ts.map +1 -1
- package/dist/shared/decompose/consensus.d.ts +66 -0
- package/dist/shared/decompose/consensus.d.ts.map +1 -0
- package/dist/shared/decompose/consensus.js +213 -0
- package/dist/shared/decompose/consensus.js.map +1 -0
- package/dist/shared/decompose/modularity.d.ts +44 -0
- package/dist/shared/decompose/modularity.d.ts.map +1 -0
- package/dist/shared/decompose/modularity.js +249 -0
- package/dist/shared/decompose/modularity.js.map +1 -0
- package/dist/shared/index.d.ts +7 -0
- package/dist/shared/index.d.ts.map +1 -1
- package/dist/shared/index.js +4 -0
- package/dist/shared/index.js.map +1 -1
- package/dist/shared/types/charter.d.ts +242 -0
- package/dist/shared/types/charter.d.ts.map +1 -0
- package/dist/shared/types/charter.js +146 -0
- package/dist/shared/types/charter.js.map +1 -0
- package/dist/shared/types/finding.d.ts +40 -0
- package/dist/shared/types/finding.d.ts.map +1 -1
- package/dist/shared/types/finding.js +10 -0
- package/dist/shared/types/finding.js.map +1 -1
- package/dist/shared/types/intentCheckpoint.d.ts +224 -0
- package/dist/shared/types/intentCheckpoint.d.ts.map +1 -1
- package/dist/shared/types/intentCheckpoint.js +16 -0
- package/dist/shared/types/intentCheckpoint.js.map +1 -1
- package/dist/shared/validation/charterGate.d.ts +38 -0
- package/dist/shared/validation/charterGate.d.ts.map +1 -0
- package/dist/shared/validation/charterGate.js +73 -0
- package/dist/shared/validation/charterGate.js.map +1 -0
- package/package.json +1 -1
- package/schemas/audit_result.schema.json +4 -0
- package/schemas/audit_results.schema.json +4 -0
- package/schemas/finding.schema.json +4 -0
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
// The overlay-and-delta operator — consensus / ensemble decomposition (Phase B;
|
|
2
|
+
// design of record spec/conceptual-design-review-design.md §"The one operator").
|
|
3
|
+
//
|
|
4
|
+
// decompose(sources, target) → { consensus, contested }
|
|
5
|
+
//
|
|
6
|
+
// Feed several INDEPENDENTLY-SOURCED views of a target; where they AGREE you have
|
|
7
|
+
// a node (a real subsystem boundary), where they DISAGREE you have a finding and a
|
|
8
|
+
// hotspot. The views are NEVER reconciled into one truth — the disagreement is the
|
|
9
|
+
// product. A node carries TWO orthogonal robustness scores (design §"Granularity
|
|
10
|
+
// resolves across scale"):
|
|
11
|
+
// - agreed_across_source: how many independent sources co-locate its members.
|
|
12
|
+
// - stable_across_scale: how many resolution levels (within the behavior graphs'
|
|
13
|
+
// modularity sweep) keep its members together.
|
|
14
|
+
// High on BOTH = a confident subsystem (consensus). Low on EITHER = contested
|
|
15
|
+
// (routed to more adversarial review; the contested status is itself a finding).
|
|
16
|
+
//
|
|
17
|
+
// PURE + DETERMINISTIC + language-neutral: operates only on abstract partitions of
|
|
18
|
+
// string node ids, so the SAME primitive runs at the structure layer (this phase)
|
|
19
|
+
// and, in Phase C, at the charter layer (sources = the four charters). No IO.
|
|
20
|
+
const DEFAULT_AGREEMENT_THRESHOLD = 0.5;
|
|
21
|
+
const DEFAULT_CONFIDENT_THRESHOLD = 0.6;
|
|
22
|
+
/** Canonical unordered-pair key (`minmax`, a text-safe unit separator that
|
|
23
|
+
* cannot appear in a node id) so (u,v) and (v,u) collide. */
|
|
24
|
+
function pairKey(a, b) {
|
|
25
|
+
return a.localeCompare(b) <= 0 ? `${a}\u001f${b}` : `${b}\u001f${a}`;
|
|
26
|
+
}
|
|
27
|
+
function splitPairKey(key) {
|
|
28
|
+
const idx = key.indexOf("\u001f");
|
|
29
|
+
return [key.slice(0, idx), key.slice(idx + 1)];
|
|
30
|
+
}
|
|
31
|
+
/** Minimal deterministic union-find over string ids. */
|
|
32
|
+
class UnionFind {
|
|
33
|
+
parent = new Map();
|
|
34
|
+
find(x) {
|
|
35
|
+
let root = this.parent.get(x);
|
|
36
|
+
if (root === undefined) {
|
|
37
|
+
this.parent.set(x, x);
|
|
38
|
+
return x;
|
|
39
|
+
}
|
|
40
|
+
while (root !== this.parent.get(root)) {
|
|
41
|
+
const grand = this.parent.get(root);
|
|
42
|
+
this.parent.set(root, this.parent.get(grand));
|
|
43
|
+
root = this.parent.get(root);
|
|
44
|
+
}
|
|
45
|
+
return root;
|
|
46
|
+
}
|
|
47
|
+
add(x) {
|
|
48
|
+
if (!this.parent.has(x))
|
|
49
|
+
this.parent.set(x, x);
|
|
50
|
+
}
|
|
51
|
+
union(a, b) {
|
|
52
|
+
const ra = this.find(a);
|
|
53
|
+
const rb = this.find(b);
|
|
54
|
+
if (ra === rb)
|
|
55
|
+
return;
|
|
56
|
+
// Attach the lexically larger root under the smaller so the representative is
|
|
57
|
+
// stable and independent of union order.
|
|
58
|
+
if (ra.localeCompare(rb) < 0)
|
|
59
|
+
this.parent.set(rb, ra);
|
|
60
|
+
else
|
|
61
|
+
this.parent.set(ra, rb);
|
|
62
|
+
}
|
|
63
|
+
groups() {
|
|
64
|
+
const out = new Map();
|
|
65
|
+
for (const node of this.parent.keys()) {
|
|
66
|
+
const root = this.find(node);
|
|
67
|
+
const list = out.get(root);
|
|
68
|
+
if (list)
|
|
69
|
+
list.push(node);
|
|
70
|
+
else
|
|
71
|
+
out.set(root, [node]);
|
|
72
|
+
}
|
|
73
|
+
for (const list of out.values())
|
|
74
|
+
list.sort((a, b) => a.localeCompare(b));
|
|
75
|
+
return out;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Per-pair co-membership counts over a set of partitions. Only pairs that are
|
|
80
|
+
* co-located in at least one partition get an entry (so the result is bounded by
|
|
81
|
+
* Σ|community|² rather than |universe|²). Returns the counts + partition total.
|
|
82
|
+
*/
|
|
83
|
+
function coMembershipCounts(partitions) {
|
|
84
|
+
const counts = new Map();
|
|
85
|
+
for (const partition of partitions) {
|
|
86
|
+
// Group nodes by community for this partition.
|
|
87
|
+
const communities = new Map();
|
|
88
|
+
for (const [node, comm] of partition) {
|
|
89
|
+
const list = communities.get(comm);
|
|
90
|
+
if (list)
|
|
91
|
+
list.push(node);
|
|
92
|
+
else
|
|
93
|
+
communities.set(comm, [node]);
|
|
94
|
+
}
|
|
95
|
+
for (const members of communities.values()) {
|
|
96
|
+
if (members.length < 2)
|
|
97
|
+
continue;
|
|
98
|
+
const sorted = [...members].sort((a, b) => a.localeCompare(b));
|
|
99
|
+
for (let i = 0; i < sorted.length; i++) {
|
|
100
|
+
for (let j = i + 1; j < sorted.length; j++) {
|
|
101
|
+
const key = pairKey(sorted[i], sorted[j]);
|
|
102
|
+
counts.set(key, (counts.get(key) ?? 0) + 1);
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
return { counts, total: partitions.length };
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Cluster nodes that co-locate in at least `minFraction` of the given partitions
|
|
111
|
+
* (a consensus over the partition family). Returns member groups of size ≥ 2,
|
|
112
|
+
* lexically sorted, in a deterministic order. Shared by {@link decompose} and by
|
|
113
|
+
* the non-co-localization finding detectors, which need behavior-only and
|
|
114
|
+
* intent-only cluster views separately.
|
|
115
|
+
*/
|
|
116
|
+
export function clustersFromPartitions(partitions, minFraction = DEFAULT_AGREEMENT_THRESHOLD) {
|
|
117
|
+
const { counts, total } = coMembershipCounts(partitions);
|
|
118
|
+
if (total === 0)
|
|
119
|
+
return [];
|
|
120
|
+
const uf = new UnionFind();
|
|
121
|
+
for (const [key, count] of counts) {
|
|
122
|
+
if (count / total + 1e-12 >= minFraction) {
|
|
123
|
+
const [a, b] = splitPairKey(key);
|
|
124
|
+
uf.add(a);
|
|
125
|
+
uf.add(b);
|
|
126
|
+
uf.union(a, b);
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
const groups = [...uf.groups().values()].filter((g) => g.length >= 2);
|
|
130
|
+
groups.sort((a, b) => a[0].localeCompare(b[0]));
|
|
131
|
+
return groups;
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* The overlay-and-delta operator. Builds a co-association over all sources,
|
|
135
|
+
* unions strongly-agreed pairs into candidate nodes, scores each node on the two
|
|
136
|
+
* orthogonal robustness axes, and splits confident (consensus) from contested.
|
|
137
|
+
*/
|
|
138
|
+
export function decompose(sources, target, options = {}) {
|
|
139
|
+
const agreementThreshold = options.agreementThreshold ?? DEFAULT_AGREEMENT_THRESHOLD;
|
|
140
|
+
const confidentThreshold = options.confidentThreshold ?? DEFAULT_CONFIDENT_THRESHOLD;
|
|
141
|
+
// agreed-across-source: mean over sources of each source's within-family
|
|
142
|
+
// co-location fraction. Accumulate one source at a time to bound memory.
|
|
143
|
+
const agreedSum = new Map();
|
|
144
|
+
const activeSources = sources.filter((s) => s.partitions.length > 0);
|
|
145
|
+
for (const source of activeSources) {
|
|
146
|
+
const { counts, total } = coMembershipCounts(source.partitions);
|
|
147
|
+
for (const [key, count] of counts) {
|
|
148
|
+
agreedSum.set(key, (agreedSum.get(key) ?? 0) + count / total);
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
const numSources = activeSources.length;
|
|
152
|
+
// stable-across-scale: co-location fraction pooled over ALL behavior partitions
|
|
153
|
+
// (every resolution level of every behavior source).
|
|
154
|
+
const behaviorPartitions = activeSources
|
|
155
|
+
.filter((s) => s.family === "behavior")
|
|
156
|
+
.flatMap((s) => s.partitions);
|
|
157
|
+
const { counts: stableCounts, total: behaviorTotal } = coMembershipCounts(behaviorPartitions);
|
|
158
|
+
const agreedOf = (key) => numSources === 0 ? 0 : (agreedSum.get(key) ?? 0) / numSources;
|
|
159
|
+
const stableOf = (key) => behaviorTotal === 0 ? 0 : (stableCounts.get(key) ?? 0) / behaviorTotal;
|
|
160
|
+
// Union strongly-agreed pairs into candidate nodes.
|
|
161
|
+
const uf = new UnionFind();
|
|
162
|
+
for (const key of agreedSum.keys()) {
|
|
163
|
+
if (agreedOf(key) + 1e-12 >= agreementThreshold) {
|
|
164
|
+
const [a, b] = splitPairKey(key);
|
|
165
|
+
uf.add(a);
|
|
166
|
+
uf.add(b);
|
|
167
|
+
uf.union(a, b);
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
const consensus = [];
|
|
171
|
+
const contested = [];
|
|
172
|
+
for (const members of uf.groups().values()) {
|
|
173
|
+
if (members.length < 2)
|
|
174
|
+
continue;
|
|
175
|
+
// Node scores = mean over all internal member-pairs (missing pair ⇒ 0), so a
|
|
176
|
+
// loosely-agreed component is penalized on both axes.
|
|
177
|
+
let agreedAcc = 0;
|
|
178
|
+
let stableAcc = 0;
|
|
179
|
+
let pairs = 0;
|
|
180
|
+
for (let i = 0; i < members.length; i++) {
|
|
181
|
+
for (let j = i + 1; j < members.length; j++) {
|
|
182
|
+
const key = pairKey(members[i], members[j]);
|
|
183
|
+
agreedAcc += agreedOf(key);
|
|
184
|
+
stableAcc += stableOf(key);
|
|
185
|
+
pairs += 1;
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
const agreed = pairs === 0 ? 0 : agreedAcc / pairs;
|
|
189
|
+
const stable = pairs === 0 ? 0 : stableAcc / pairs;
|
|
190
|
+
const isContested = !(agreed + 1e-12 >= confidentThreshold &&
|
|
191
|
+
stable + 1e-12 >= confidentThreshold);
|
|
192
|
+
const node = {
|
|
193
|
+
node_id: members[0],
|
|
194
|
+
members,
|
|
195
|
+
agreed_across_source: round(agreed),
|
|
196
|
+
stable_across_scale: round(stable),
|
|
197
|
+
contested: isContested,
|
|
198
|
+
};
|
|
199
|
+
if (isContested)
|
|
200
|
+
contested.push(node);
|
|
201
|
+
else
|
|
202
|
+
consensus.push(node);
|
|
203
|
+
}
|
|
204
|
+
const byId = (a, b) => a.node_id.localeCompare(b.node_id);
|
|
205
|
+
consensus.sort(byId);
|
|
206
|
+
contested.sort(byId);
|
|
207
|
+
return { target, consensus, contested };
|
|
208
|
+
}
|
|
209
|
+
/** Round a score to 4 decimals so persisted artifacts don't churn on float noise. */
|
|
210
|
+
function round(value) {
|
|
211
|
+
return Math.round(value * 1e4) / 1e4;
|
|
212
|
+
}
|
|
213
|
+
//# sourceMappingURL=consensus.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"consensus.js","sourceRoot":"","sources":["../../../src/shared/decompose/consensus.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A weighted undirected graph over string node ids. `edges` are undirected; a
|
|
3
|
+
* repeated {a,b} pair (either orientation) accumulates weight. Self-loops
|
|
4
|
+
* (a === b) are allowed and accounted for in the degree, which matters once
|
|
5
|
+
* communities are aggregated into super-nodes.
|
|
6
|
+
*/
|
|
7
|
+
export interface WeightedGraph {
|
|
8
|
+
/** The full node universe (may include nodes with no edges). */
|
|
9
|
+
nodes: string[];
|
|
10
|
+
edges: Array<{
|
|
11
|
+
a: string;
|
|
12
|
+
b: string;
|
|
13
|
+
weight: number;
|
|
14
|
+
}>;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* A partition of a node universe: a map from node id to the id of the community
|
|
18
|
+
* it belongs to. Community ids are themselves node ids (the lexicographically
|
|
19
|
+
* smallest member acts as the stable representative).
|
|
20
|
+
*/
|
|
21
|
+
export type Partition = Map<string, string>;
|
|
22
|
+
/**
|
|
23
|
+
* Default resolution ladder, coarse→fine. Higher resolution γ penalizes large
|
|
24
|
+
* communities more, yielding more (smaller) communities — so the ladder walks
|
|
25
|
+
* from few coarse subsystems to many fine ones. A boundary present at coarse γ
|
|
26
|
+
* AND fine γ is scale-stable. Chosen as a geometric spread so each rung is a
|
|
27
|
+
* distinct scale rather than a small perturbation of its neighbor.
|
|
28
|
+
*/
|
|
29
|
+
export declare const DEFAULT_RESOLUTIONS: readonly number[];
|
|
30
|
+
/**
|
|
31
|
+
* Detect communities in a weighted graph at a single resolution γ via the
|
|
32
|
+
* Louvain method: local-moving then aggregation, repeated until a level stops
|
|
33
|
+
* improving. Returns a flat node→community partition (community ids are the
|
|
34
|
+
* lexicographically smallest member). Deterministic for a given graph + γ.
|
|
35
|
+
*/
|
|
36
|
+
export declare function louvain(graph: WeightedGraph, resolution: number): Partition;
|
|
37
|
+
/**
|
|
38
|
+
* Cluster the same graph at every resolution in the ladder, coarse→fine, and
|
|
39
|
+
* return the partitions in ladder order. The multi-resolution family is the
|
|
40
|
+
* input to scale-stability scoring (consensus.ts). Resolutions are applied in
|
|
41
|
+
* the given order; the default ladder is {@link DEFAULT_RESOLUTIONS}.
|
|
42
|
+
*/
|
|
43
|
+
export declare function resolutionSweep(graph: WeightedGraph, resolutions?: readonly number[]): Partition[];
|
|
44
|
+
//# sourceMappingURL=modularity.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"modularity.d.ts","sourceRoot":"","sources":["../../../src/shared/decompose/modularity.ts"],"names":[],"mappings":"AAkBA;;;;;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;AAE5C;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,EAAE,SAAS,MAAM,EAAyB,CAAC;AA0N3E;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,GAAG,SAAS,CAmC3E;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,aAAa,EACpB,WAAW,GAAE,SAAS,MAAM,EAAwB,GACnD,SAAS,EAAE,CAEb"}
|
|
@@ -0,0 +1,249 @@
|
|
|
1
|
+
// Resolution-swept modularity community detection (Louvain-style local-moving +
|
|
2
|
+
// aggregation) — the deterministic clustering backbone of the conceptual
|
|
3
|
+
// design-review overlay-and-delta operator (Phase B; design of record
|
|
4
|
+
// spec/conceptual-design-review-design.md §"Granularity resolves across scale").
|
|
5
|
+
//
|
|
6
|
+
// A boundary is "real" to the degree it is STABLE ACROSS SCALES: we cluster the
|
|
7
|
+
// same weighted graph at many resolutions (coarse→fine) and a boundary that
|
|
8
|
+
// persists across resolutions is trusted. This module owns only the clustering;
|
|
9
|
+
// the stability scoring across the resulting partitions lives in consensus.ts.
|
|
10
|
+
//
|
|
11
|
+
// PURE + DETERMINISTIC: no IO, no Math.random, no Date. Ties are broken by
|
|
12
|
+
// lexical node/community id so the same graph always yields the same partition.
|
|
13
|
+
// Language-neutral by construction — it consumes only string node ids and numeric
|
|
14
|
+
// edge weights, so any source of coupling (call/import, git co-change, data/state)
|
|
15
|
+
// feeds it identically. Hand-rolled (community detection is an algorithm, not a
|
|
16
|
+
// grammar → outside the import-vetted-libs policy; owning it keeps full
|
|
17
|
+
// tie-break/determinism control).
|
|
18
|
+
/**
|
|
19
|
+
* Default resolution ladder, coarse→fine. Higher resolution γ penalizes large
|
|
20
|
+
* communities more, yielding more (smaller) communities — so the ladder walks
|
|
21
|
+
* from few coarse subsystems to many fine ones. A boundary present at coarse γ
|
|
22
|
+
* AND fine γ is scale-stable. Chosen as a geometric spread so each rung is a
|
|
23
|
+
* distinct scale rather than a small perturbation of its neighbor.
|
|
24
|
+
*/
|
|
25
|
+
export const DEFAULT_RESOLUTIONS = [0.25, 0.5, 1, 2, 4];
|
|
26
|
+
function buildAdjacency(graph) {
|
|
27
|
+
const nodes = [...new Set(graph.nodes)].sort((a, b) => a.localeCompare(b));
|
|
28
|
+
const adjacency = new Map();
|
|
29
|
+
for (const node of nodes)
|
|
30
|
+
adjacency.set(node, new Map());
|
|
31
|
+
const ensure = (node) => {
|
|
32
|
+
let row = adjacency.get(node);
|
|
33
|
+
if (!row) {
|
|
34
|
+
row = new Map();
|
|
35
|
+
adjacency.set(node, row);
|
|
36
|
+
nodes.push(node);
|
|
37
|
+
}
|
|
38
|
+
return row;
|
|
39
|
+
};
|
|
40
|
+
for (const edge of graph.edges) {
|
|
41
|
+
if (!(edge.weight > 0))
|
|
42
|
+
continue; // drop zero / negative / NaN weights
|
|
43
|
+
const a = edge.a;
|
|
44
|
+
const b = edge.b;
|
|
45
|
+
const rowA = ensure(a);
|
|
46
|
+
if (a === b) {
|
|
47
|
+
rowA.set(a, (rowA.get(a) ?? 0) + edge.weight);
|
|
48
|
+
continue;
|
|
49
|
+
}
|
|
50
|
+
const rowB = ensure(b);
|
|
51
|
+
rowA.set(b, (rowA.get(b) ?? 0) + edge.weight);
|
|
52
|
+
rowB.set(a, (rowB.get(a) ?? 0) + edge.weight);
|
|
53
|
+
}
|
|
54
|
+
// Nodes may have been appended by ensure(); keep the list unique + sorted so
|
|
55
|
+
// downstream iteration order is deterministic.
|
|
56
|
+
const uniqueSorted = [...new Set(nodes)].sort((a, b) => a.localeCompare(b));
|
|
57
|
+
const degree = new Map();
|
|
58
|
+
let degreeSum = 0;
|
|
59
|
+
for (const node of uniqueSorted) {
|
|
60
|
+
const row = adjacency.get(node) ?? new Map();
|
|
61
|
+
let deg = 0;
|
|
62
|
+
for (const w of row.values())
|
|
63
|
+
deg += w;
|
|
64
|
+
degree.set(node, deg);
|
|
65
|
+
degreeSum += deg;
|
|
66
|
+
}
|
|
67
|
+
return {
|
|
68
|
+
nodes: uniqueSorted,
|
|
69
|
+
adjacency,
|
|
70
|
+
degree,
|
|
71
|
+
totalWeight: degreeSum / 2,
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Local-moving phase: greedily move each node to the neighboring community that
|
|
76
|
+
* most improves modularity at resolution γ, iterating in lexical node order until
|
|
77
|
+
* a full pass makes no move. Returns node→community and whether anything moved.
|
|
78
|
+
*/
|
|
79
|
+
function localMoving(graph, resolution) {
|
|
80
|
+
const twoM = graph.totalWeight * 2;
|
|
81
|
+
const communityOf = new Map();
|
|
82
|
+
// Σtot(C): total degree of nodes currently in community C.
|
|
83
|
+
const communityDegree = new Map();
|
|
84
|
+
for (const node of graph.nodes) {
|
|
85
|
+
communityOf.set(node, node);
|
|
86
|
+
communityDegree.set(node, graph.degree.get(node) ?? 0);
|
|
87
|
+
}
|
|
88
|
+
if (twoM === 0) {
|
|
89
|
+
// No edges: every node is its own community, nothing to move.
|
|
90
|
+
return { communityOf, moved: false };
|
|
91
|
+
}
|
|
92
|
+
let movedEver = false;
|
|
93
|
+
let improved = true;
|
|
94
|
+
// Bound the passes so a pathological weight pattern can never loop forever;
|
|
95
|
+
// Louvain converges in a handful of passes in practice.
|
|
96
|
+
let guard = 0;
|
|
97
|
+
const maxPasses = graph.nodes.length + 8;
|
|
98
|
+
while (improved && guard < maxPasses) {
|
|
99
|
+
improved = false;
|
|
100
|
+
guard += 1;
|
|
101
|
+
for (const node of graph.nodes) {
|
|
102
|
+
const nodeDegree = graph.degree.get(node) ?? 0;
|
|
103
|
+
const current = communityOf.get(node);
|
|
104
|
+
// Remove node from its community.
|
|
105
|
+
communityDegree.set(current, (communityDegree.get(current) ?? 0) - nodeDegree);
|
|
106
|
+
// Weight from node into each candidate community (self-loop excluded — it
|
|
107
|
+
// travels with the node and cannot distinguish communities).
|
|
108
|
+
const weightToCommunity = new Map();
|
|
109
|
+
const row = graph.adjacency.get(node) ?? new Map();
|
|
110
|
+
for (const [neighbor, weight] of row) {
|
|
111
|
+
if (neighbor === node)
|
|
112
|
+
continue;
|
|
113
|
+
const comm = communityOf.get(neighbor);
|
|
114
|
+
weightToCommunity.set(comm, (weightToCommunity.get(comm) ?? 0) + weight);
|
|
115
|
+
}
|
|
116
|
+
// Isolation (staying in a fresh singleton) is the baseline: gain 0.
|
|
117
|
+
let bestCommunity = current;
|
|
118
|
+
let bestGain = 0;
|
|
119
|
+
// Evaluate candidates in lexical order for a deterministic tie-break.
|
|
120
|
+
const candidates = [...weightToCommunity.keys()].sort((a, b) => a.localeCompare(b));
|
|
121
|
+
for (const comm of candidates) {
|
|
122
|
+
const kiIn = weightToCommunity.get(comm) ?? 0;
|
|
123
|
+
const sigmaTot = communityDegree.get(comm) ?? 0;
|
|
124
|
+
const gain = kiIn - (resolution * nodeDegree * sigmaTot) / twoM;
|
|
125
|
+
if (gain > bestGain + 1e-12 ||
|
|
126
|
+
(Math.abs(gain - bestGain) <= 1e-12 && comm.localeCompare(bestCommunity) < 0)) {
|
|
127
|
+
bestGain = gain;
|
|
128
|
+
bestCommunity = comm;
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
// Re-add node to the chosen community.
|
|
132
|
+
communityDegree.set(bestCommunity, (communityDegree.get(bestCommunity) ?? 0) + nodeDegree);
|
|
133
|
+
communityOf.set(node, bestCommunity);
|
|
134
|
+
if (bestCommunity !== current) {
|
|
135
|
+
improved = true;
|
|
136
|
+
movedEver = true;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
return { communityOf, moved: movedEver };
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Relabel a community assignment so each community id is its lexicographically
|
|
144
|
+
* smallest member — a stable representative independent of iteration order.
|
|
145
|
+
*/
|
|
146
|
+
function canonicalizeCommunities(communityOf) {
|
|
147
|
+
const rep = new Map();
|
|
148
|
+
for (const [node, comm] of communityOf) {
|
|
149
|
+
const existing = rep.get(comm);
|
|
150
|
+
if (existing === undefined || node.localeCompare(existing) < 0) {
|
|
151
|
+
rep.set(comm, node);
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
const canonical = new Map();
|
|
155
|
+
for (const [node, comm] of communityOf) {
|
|
156
|
+
canonical.set(node, rep.get(comm));
|
|
157
|
+
}
|
|
158
|
+
return canonical;
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Aggregate communities into super-nodes: the returned graph has one node per
|
|
162
|
+
* community, with edge weights summed so that each super-node's degree equals
|
|
163
|
+
* the total degree of its members (intra-community weight becomes a self-loop).
|
|
164
|
+
* `members` maps each super-node back to the original node ids it contains.
|
|
165
|
+
*/
|
|
166
|
+
function aggregate(graph, communityOf) {
|
|
167
|
+
const members = new Map();
|
|
168
|
+
for (const node of graph.nodes) {
|
|
169
|
+
const comm = communityOf.get(node);
|
|
170
|
+
const list = members.get(comm);
|
|
171
|
+
if (list)
|
|
172
|
+
list.push(node);
|
|
173
|
+
else
|
|
174
|
+
members.set(comm, [node]);
|
|
175
|
+
}
|
|
176
|
+
const edges = [];
|
|
177
|
+
const superNodes = [...members.keys()].sort((a, b) => a.localeCompare(b));
|
|
178
|
+
// Sum weights between/within communities. Each undirected pair is visited once
|
|
179
|
+
// by iterating the symmetric adjacency and only taking a ≤ b (self included).
|
|
180
|
+
for (const node of graph.nodes) {
|
|
181
|
+
const commA = communityOf.get(node);
|
|
182
|
+
const row = graph.adjacency.get(node) ?? new Map();
|
|
183
|
+
for (const [neighbor, weight] of row) {
|
|
184
|
+
if (neighbor.localeCompare(node) < 0)
|
|
185
|
+
continue; // count each pair once
|
|
186
|
+
const commB = communityOf.get(neighbor);
|
|
187
|
+
// The adjacency already stores each cross pair on both endpoints; taking
|
|
188
|
+
// node ≤ neighbor once reconstructs the undirected weight exactly.
|
|
189
|
+
edges.push({ a: commA, b: commB, weight });
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
return {
|
|
193
|
+
graph: buildAdjacency({ nodes: superNodes, edges }),
|
|
194
|
+
members,
|
|
195
|
+
};
|
|
196
|
+
}
|
|
197
|
+
/**
|
|
198
|
+
* Detect communities in a weighted graph at a single resolution γ via the
|
|
199
|
+
* Louvain method: local-moving then aggregation, repeated until a level stops
|
|
200
|
+
* improving. Returns a flat node→community partition (community ids are the
|
|
201
|
+
* lexicographically smallest member). Deterministic for a given graph + γ.
|
|
202
|
+
*/
|
|
203
|
+
export function louvain(graph, resolution) {
|
|
204
|
+
const base = buildAdjacency(graph);
|
|
205
|
+
if (base.nodes.length === 0)
|
|
206
|
+
return new Map();
|
|
207
|
+
// Track the mapping from ORIGINAL nodes down through each aggregation level.
|
|
208
|
+
let current = base;
|
|
209
|
+
// originalToCurrent: original node id → its node id in the current level.
|
|
210
|
+
let originalToCurrent = new Map();
|
|
211
|
+
for (const node of base.nodes)
|
|
212
|
+
originalToCurrent.set(node, node);
|
|
213
|
+
const levels = [];
|
|
214
|
+
let guard = 0;
|
|
215
|
+
const maxLevels = base.nodes.length + 4;
|
|
216
|
+
while (guard < maxLevels) {
|
|
217
|
+
guard += 1;
|
|
218
|
+
const { communityOf, moved } = localMoving(current, resolution);
|
|
219
|
+
const canonical = canonicalizeCommunities(communityOf);
|
|
220
|
+
levels.push({ communityOf: canonical });
|
|
221
|
+
if (!moved)
|
|
222
|
+
break;
|
|
223
|
+
const { graph: nextGraph, members } = aggregate(current, canonical);
|
|
224
|
+
if (nextGraph.nodes.length === current.nodes.length)
|
|
225
|
+
break;
|
|
226
|
+
current = nextGraph;
|
|
227
|
+
void members;
|
|
228
|
+
}
|
|
229
|
+
// Fold every level's assignment back down to the original nodes.
|
|
230
|
+
const result = new Map();
|
|
231
|
+
for (const node of base.nodes) {
|
|
232
|
+
let community = node;
|
|
233
|
+
for (const level of levels) {
|
|
234
|
+
community = level.communityOf.get(community) ?? community;
|
|
235
|
+
}
|
|
236
|
+
result.set(node, community);
|
|
237
|
+
}
|
|
238
|
+
return canonicalizeCommunities(result);
|
|
239
|
+
}
|
|
240
|
+
/**
|
|
241
|
+
* Cluster the same graph at every resolution in the ladder, coarse→fine, and
|
|
242
|
+
* return the partitions in ladder order. The multi-resolution family is the
|
|
243
|
+
* input to scale-stability scoring (consensus.ts). Resolutions are applied in
|
|
244
|
+
* the given order; the default ladder is {@link DEFAULT_RESOLUTIONS}.
|
|
245
|
+
*/
|
|
246
|
+
export function resolutionSweep(graph, resolutions = DEFAULT_RESOLUTIONS) {
|
|
247
|
+
return resolutions.map((gamma) => louvain(graph, gamma));
|
|
248
|
+
}
|
|
249
|
+
//# sourceMappingURL=modularity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"modularity.js","sourceRoot":"","sources":["../../../src/shared/decompose/modularity.ts"],"names":[],"mappings":"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"}
|
package/dist/shared/index.d.ts
CHANGED
|
@@ -17,6 +17,13 @@ export { findingIdentity } from "./types/finding.js";
|
|
|
17
17
|
export { FindingSeveritySchema, FindingConfidenceSchema, FindingLocationSchema, FindingGroundingSchema, AnchorExpectationSchema, ExecutableAnchorSchema, FindingSchema, WorkBlockSchema, FindingThemeSchema, SynthesisNarrativeSchema, AuditFindingsSummarySchema, AuditFindingsReportSchema, } from "./types/finding.js";
|
|
18
18
|
export type { IntentCheckpoint } from "./types/intentCheckpoint.js";
|
|
19
19
|
export { IntentCheckpointSchema } from "./types/intentCheckpoint.js";
|
|
20
|
+
export type { CharterKind, CharterConfidence, CharterProvenance, Charter, GoalNode, GoalEdge, GoalGraph, Ceiling, CharterDelta, } from "./types/charter.js";
|
|
21
|
+
export { CharterKindSchema, CharterConfidenceSchema, CharterProvenanceSchema, CharterSchema, GoalNodeSchema, GoalEdgeSchema, GoalGraphSchema, CeilingSchema, CharterDeltaSchema, } from "./types/charter.js";
|
|
22
|
+
export { applyTrueCharterGate, charterReviewDisposition, gateCharterDelta, } from "./validation/charterGate.js";
|
|
23
|
+
export type { WeightedGraph, Partition } from "./decompose/modularity.js";
|
|
24
|
+
export { DEFAULT_RESOLUTIONS, louvain, resolutionSweep, } from "./decompose/modularity.js";
|
|
25
|
+
export type { DecompositionSource, DecomposedNode, DecomposeResult, DecomposeOptions, } from "./decompose/consensus.js";
|
|
26
|
+
export { decompose, clustersFromPartitions } from "./decompose/consensus.js";
|
|
20
27
|
export type { InterpretedIntent } from "./intent/freeFormIntentInterpreter.js";
|
|
21
28
|
export { interpretFreeFormIntent } from "./intent/freeFormIntentInterpreter.js";
|
|
22
29
|
export type { IntentClauseKind, IntentClause, ClauseInterpretResult, } from "./intent/clauseInterpreter.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/shared/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/shared/index.ts"],"names":[],"mappings":"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"}
|