audit-tools 0.32.17 → 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/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/reporting/mergeFindings.d.ts +2 -1
- package/dist/audit/reporting/mergeFindings.d.ts.map +1 -1
- package/dist/audit/reporting/mergeFindings.js +3 -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/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 +4 -0
- package/dist/shared/index.d.ts.map +1 -1
- package/dist/shared/index.js +2 -0
- package/dist/shared/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,298 @@
|
|
|
1
|
+
// Comment-decomposition extractor (Phase B intent-declared source; design of
|
|
2
|
+
// record spec/conceptual-design-review-design.md §"Structure decomposition
|
|
3
|
+
// sources" rule 2: "Comments are their own delta — comments are stated intent
|
|
4
|
+
// embedded in code").
|
|
5
|
+
//
|
|
6
|
+
// Comments are stated intent embedded in the code. This extractor mines the
|
|
7
|
+
// INTENT-DECLARED structure they assert: where a file's comments explicitly
|
|
8
|
+
// cross-reference another in-scope file (by path), the author is declaring the
|
|
9
|
+
// two related. Those cross-references become an intent-declared coupling source
|
|
10
|
+
// that the overlay-and-delta operator compares against the behavior graphs — a
|
|
11
|
+
// comment that claims a boundary the code does not honor surfaces as a
|
|
12
|
+
// non-co-localization finding downstream.
|
|
13
|
+
//
|
|
14
|
+
// The "stripped vs unstripped" pair the design calls for falls out structurally:
|
|
15
|
+
// the STRIPPED view (code without comments) is exactly the existing call/import
|
|
16
|
+
// coupling graph; the UNSTRIPPED intent is this comment source. Phase C layers the
|
|
17
|
+
// LLM comments-stripped semantic-cohesion pass on top; Phase B stays deterministic.
|
|
18
|
+
//
|
|
19
|
+
// Comment lexing is keyed by file EXTENSION — comment syntax is per-language
|
|
20
|
+
// lexical fact, not an environment coupling (the language-neutral invariant is
|
|
21
|
+
// about the graph/planning contract, not pretending `.py` doesn't use `#`).
|
|
22
|
+
// Unknown extensions fall back to the C-family `//` + `/* */` so a stray `#`
|
|
23
|
+
// (e.g. a JS private field) is never misread as a comment.
|
|
24
|
+
import { readFile } from "node:fs/promises";
|
|
25
|
+
import { join } from "node:path";
|
|
26
|
+
const C_FAMILY = { line: ["//"], block: [["/*", "*/"]] };
|
|
27
|
+
const HASH_ONLY = { line: ["#"], block: [] };
|
|
28
|
+
const PY = {
|
|
29
|
+
line: ["#"],
|
|
30
|
+
block: [
|
|
31
|
+
['"""', '"""'],
|
|
32
|
+
["'''", "'''"],
|
|
33
|
+
],
|
|
34
|
+
};
|
|
35
|
+
const MARKUP = { line: [], block: [["<!--", "-->"]] };
|
|
36
|
+
const CSS = { line: [], block: [["/*", "*/"]] };
|
|
37
|
+
const SQL_LIKE = { line: ["--"], block: [["/*", "*/"]] };
|
|
38
|
+
/** Extension (with dot, lowercased) → comment syntax. Unknown → C_FAMILY. */
|
|
39
|
+
const SYNTAX_BY_EXT = {
|
|
40
|
+
".js": C_FAMILY, ".jsx": C_FAMILY, ".ts": C_FAMILY, ".tsx": C_FAMILY,
|
|
41
|
+
".mjs": C_FAMILY, ".cjs": C_FAMILY, ".mts": C_FAMILY, ".cts": C_FAMILY,
|
|
42
|
+
".java": C_FAMILY, ".c": C_FAMILY, ".h": C_FAMILY, ".cpp": C_FAMILY,
|
|
43
|
+
".hpp": C_FAMILY, ".cc": C_FAMILY, ".cs": C_FAMILY, ".go": C_FAMILY,
|
|
44
|
+
".rs": C_FAMILY, ".swift": C_FAMILY, ".kt": C_FAMILY, ".scala": C_FAMILY,
|
|
45
|
+
".php": C_FAMILY, ".dart": C_FAMILY,
|
|
46
|
+
".py": PY, ".pyi": PY,
|
|
47
|
+
".rb": HASH_ONLY, ".sh": HASH_ONLY, ".bash": HASH_ONLY, ".zsh": HASH_ONLY,
|
|
48
|
+
".yaml": HASH_ONLY, ".yml": HASH_ONLY, ".toml": HASH_ONLY, ".r": HASH_ONLY,
|
|
49
|
+
".pl": HASH_ONLY, ".conf": HASH_ONLY, ".ini": HASH_ONLY, ".cfg": HASH_ONLY,
|
|
50
|
+
".sql": SQL_LIKE, ".lua": SQL_LIKE, ".hs": SQL_LIKE, ".elm": SQL_LIKE,
|
|
51
|
+
".html": MARKUP, ".htm": MARKUP, ".xml": MARKUP, ".vue": MARKUP,
|
|
52
|
+
".svelte": MARKUP, ".md": MARKUP, ".markdown": MARKUP,
|
|
53
|
+
".css": CSS, ".scss": CSS, ".less": CSS,
|
|
54
|
+
};
|
|
55
|
+
function extensionOf(path) {
|
|
56
|
+
const slash = Math.max(path.lastIndexOf("/"), path.lastIndexOf("\\"));
|
|
57
|
+
const dot = path.lastIndexOf(".");
|
|
58
|
+
if (dot <= slash)
|
|
59
|
+
return "";
|
|
60
|
+
return path.slice(dot).toLowerCase();
|
|
61
|
+
}
|
|
62
|
+
function syntaxFor(path) {
|
|
63
|
+
return SYNTAX_BY_EXT[extensionOf(path)] ?? C_FAMILY;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Extract concatenated comment text from source, honoring the file's comment
|
|
67
|
+
* syntax and skipping string literals (single/double/backtick, backslash-escaped)
|
|
68
|
+
* so a comment marker inside a string is not misread. A single-pass char scanner:
|
|
69
|
+
* normal → string → line-comment → block-comment. Degrades gracefully (an
|
|
70
|
+
* unterminated block just consumes to EOF).
|
|
71
|
+
*/
|
|
72
|
+
export function extractCommentText(source, path) {
|
|
73
|
+
const syntax = syntaxFor(path);
|
|
74
|
+
const out = [];
|
|
75
|
+
const n = source.length;
|
|
76
|
+
let i = 0;
|
|
77
|
+
const startsWith = (marker) => source.startsWith(marker, i);
|
|
78
|
+
while (i < n) {
|
|
79
|
+
const ch = source[i];
|
|
80
|
+
// String literals — skip so markers inside them don't count.
|
|
81
|
+
if (ch === '"' || ch === "'" || ch === "`") {
|
|
82
|
+
// Python triple-quote docstrings are handled as block comments below; only
|
|
83
|
+
// treat as a string here when it is NOT an opening triple quote for PY.
|
|
84
|
+
const triple = ch + ch + ch;
|
|
85
|
+
const isTriple = startsWith(triple);
|
|
86
|
+
const treatAsBlock = syntax.block.some(([open]) => open === triple);
|
|
87
|
+
if (!(isTriple && treatAsBlock)) {
|
|
88
|
+
i += 1;
|
|
89
|
+
while (i < n) {
|
|
90
|
+
if (source[i] === "\\") {
|
|
91
|
+
i += 2;
|
|
92
|
+
continue;
|
|
93
|
+
}
|
|
94
|
+
if (source[i] === ch) {
|
|
95
|
+
i += 1;
|
|
96
|
+
break;
|
|
97
|
+
}
|
|
98
|
+
i += 1;
|
|
99
|
+
}
|
|
100
|
+
continue;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
// Block comments (incl. Python triple-quote docstrings).
|
|
104
|
+
let matchedBlock = false;
|
|
105
|
+
for (const [open, close] of syntax.block) {
|
|
106
|
+
if (startsWith(open)) {
|
|
107
|
+
const end = source.indexOf(close, i + open.length);
|
|
108
|
+
const stop = end === -1 ? n : end;
|
|
109
|
+
out.push(source.slice(i + open.length, stop));
|
|
110
|
+
i = end === -1 ? n : end + close.length;
|
|
111
|
+
matchedBlock = true;
|
|
112
|
+
break;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
if (matchedBlock)
|
|
116
|
+
continue;
|
|
117
|
+
// Line comments.
|
|
118
|
+
let matchedLine = false;
|
|
119
|
+
for (const marker of syntax.line) {
|
|
120
|
+
if (startsWith(marker)) {
|
|
121
|
+
const nl = source.indexOf("\n", i);
|
|
122
|
+
const stop = nl === -1 ? n : nl;
|
|
123
|
+
out.push(source.slice(i + marker.length, stop));
|
|
124
|
+
i = stop;
|
|
125
|
+
matchedLine = true;
|
|
126
|
+
break;
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
if (matchedLine)
|
|
130
|
+
continue;
|
|
131
|
+
i += 1;
|
|
132
|
+
}
|
|
133
|
+
return out.join("\n");
|
|
134
|
+
}
|
|
135
|
+
/** Normalize a repo path to forward slashes for matching. */
|
|
136
|
+
function toPosix(path) {
|
|
137
|
+
return path.replace(/\\/g, "/");
|
|
138
|
+
}
|
|
139
|
+
const GENERIC_STEMS = new Set([
|
|
140
|
+
"index",
|
|
141
|
+
"types",
|
|
142
|
+
"type",
|
|
143
|
+
"utils",
|
|
144
|
+
"util",
|
|
145
|
+
"helpers",
|
|
146
|
+
"helper",
|
|
147
|
+
"constants",
|
|
148
|
+
"main",
|
|
149
|
+
"mod",
|
|
150
|
+
]);
|
|
151
|
+
/**
|
|
152
|
+
* Distinctive reference tokens for a file — the strings a comment would plausibly
|
|
153
|
+
* use to name it. Path-like tokens (≥ 2 segments) are always distinctive; a bare
|
|
154
|
+
* basename qualifies only when it is long enough and not a generic stem, so
|
|
155
|
+
* `index`/`types` never spuriously couple files.
|
|
156
|
+
*/
|
|
157
|
+
function referenceTokens(posixPath) {
|
|
158
|
+
const tokens = new Set();
|
|
159
|
+
const noExt = posixPath.replace(/\.[^./]+$/, "");
|
|
160
|
+
tokens.add(posixPath);
|
|
161
|
+
tokens.add(noExt);
|
|
162
|
+
const segs = posixPath.split("/");
|
|
163
|
+
if (segs.length >= 2) {
|
|
164
|
+
tokens.add(segs.slice(-2).join("/"));
|
|
165
|
+
const lastTwoNoExt = segs.slice(-2).join("/").replace(/\.[^./]+$/, "");
|
|
166
|
+
tokens.add(lastTwoNoExt);
|
|
167
|
+
}
|
|
168
|
+
const base = segs[segs.length - 1] ?? posixPath;
|
|
169
|
+
const stem = base.replace(/\.[^./]+$/, "");
|
|
170
|
+
if (stem.length >= 5 && !GENERIC_STEMS.has(stem.toLowerCase())) {
|
|
171
|
+
tokens.add(base); // basename WITH extension only, to stay distinctive
|
|
172
|
+
}
|
|
173
|
+
// Keep only tokens with a path separator or a kept distinctive basename.
|
|
174
|
+
return [...tokens].filter((t) => t.includes("/") || t === base);
|
|
175
|
+
}
|
|
176
|
+
const DEFAULT_MAX_BYTES = 512 * 1024;
|
|
177
|
+
async function defaultReadFileText(absPath, maxBytes) {
|
|
178
|
+
try {
|
|
179
|
+
const buf = await readFile(absPath);
|
|
180
|
+
if (buf.byteLength > maxBytes)
|
|
181
|
+
return undefined;
|
|
182
|
+
return buf.toString("utf8");
|
|
183
|
+
}
|
|
184
|
+
catch {
|
|
185
|
+
return undefined;
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* Derive intent-declared coupling edges from comment cross-references across the
|
|
190
|
+
* in-scope files. For each file, its comment text is scanned for the distinctive
|
|
191
|
+
* reference tokens of OTHER files; a match adds an undirected edge. Deterministic:
|
|
192
|
+
* files are processed in sorted order and edges are canonicalized + sorted.
|
|
193
|
+
*/
|
|
194
|
+
export async function deriveCommentDecomposition(params) {
|
|
195
|
+
const maxBytes = params.maxBytes ?? DEFAULT_MAX_BYTES;
|
|
196
|
+
const read = params.readFileText ?? ((abs) => defaultReadFileText(abs, maxBytes));
|
|
197
|
+
const files = [...new Set(params.files.map(toPosix))].sort((a, b) => a.localeCompare(b));
|
|
198
|
+
// token → owning file (longest/most-specific token wins on collision is
|
|
199
|
+
// unnecessary; a token maps to exactly one file by construction of paths).
|
|
200
|
+
const tokenOwner = new Map();
|
|
201
|
+
for (const file of files) {
|
|
202
|
+
for (const token of referenceTokens(file)) {
|
|
203
|
+
// A token shared by two files (possible for a bare basename) is ambiguous —
|
|
204
|
+
// drop it rather than couple arbitrarily.
|
|
205
|
+
if (tokenOwner.has(token))
|
|
206
|
+
tokenOwner.set(token, "\0ambiguous");
|
|
207
|
+
else
|
|
208
|
+
tokenOwner.set(token, file);
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
for (const [token, owner] of [...tokenOwner]) {
|
|
212
|
+
if (owner === "\0ambiguous")
|
|
213
|
+
tokenOwner.delete(token);
|
|
214
|
+
}
|
|
215
|
+
// Sort tokens longest-first so a specific path matches before a substring.
|
|
216
|
+
const tokens = [...tokenOwner.keys()].sort((a, b) => b.length - a.length || a.localeCompare(b));
|
|
217
|
+
const weightByPair = new Map();
|
|
218
|
+
let scannedFiles = 0;
|
|
219
|
+
for (const file of files) {
|
|
220
|
+
const text = await read(join(params.root, file));
|
|
221
|
+
if (text === undefined)
|
|
222
|
+
continue;
|
|
223
|
+
scannedFiles += 1;
|
|
224
|
+
const comments = extractCommentText(text, file);
|
|
225
|
+
if (comments.length === 0)
|
|
226
|
+
continue;
|
|
227
|
+
const posixComments = toPosix(comments);
|
|
228
|
+
const referenced = new Set();
|
|
229
|
+
for (const token of tokens) {
|
|
230
|
+
const owner = tokenOwner.get(token);
|
|
231
|
+
if (owner === file || referenced.has(owner))
|
|
232
|
+
continue;
|
|
233
|
+
if (posixComments.includes(token))
|
|
234
|
+
referenced.add(owner);
|
|
235
|
+
}
|
|
236
|
+
for (const other of referenced) {
|
|
237
|
+
const a = file.localeCompare(other) <= 0 ? file : other;
|
|
238
|
+
const b = file.localeCompare(other) <= 0 ? other : file;
|
|
239
|
+
const key = `${a} ${b}`;
|
|
240
|
+
weightByPair.set(key, (weightByPair.get(key) ?? 0) + 1);
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
const edges = [];
|
|
244
|
+
for (const [key, weight] of weightByPair) {
|
|
245
|
+
const idx = key.indexOf(" ");
|
|
246
|
+
edges.push({ a: key.slice(0, idx), b: key.slice(idx + 1), weight });
|
|
247
|
+
}
|
|
248
|
+
edges.sort((x, y) => x.a.localeCompare(y.a) || x.b.localeCompare(y.b));
|
|
249
|
+
return { edges, scannedFiles };
|
|
250
|
+
}
|
|
251
|
+
/**
|
|
252
|
+
* Derive intent-declared groups from docs: each doc's ENTIRE text (docs are
|
|
253
|
+
* prose, not comment-embedded) is scanned for the reference tokens of in-scope
|
|
254
|
+
* code files; every code file a single doc names becomes one group (the doc
|
|
255
|
+
* declares a module). Returns disjoint member groups of size ≥ 2 (a doc naming
|
|
256
|
+
* one file declares no grouping), lexically sorted. Deterministic.
|
|
257
|
+
*/
|
|
258
|
+
export async function deriveDocGroups(params) {
|
|
259
|
+
const maxBytes = params.maxBytes ?? DEFAULT_MAX_BYTES;
|
|
260
|
+
const read = params.readFileText ?? ((abs) => defaultReadFileText(abs, maxBytes));
|
|
261
|
+
const codeFiles = [...new Set(params.codeFiles.map(toPosix))].sort((a, b) => a.localeCompare(b));
|
|
262
|
+
const docFiles = [...new Set(params.docFiles.map(toPosix))].sort((a, b) => a.localeCompare(b));
|
|
263
|
+
const tokenOwner = new Map();
|
|
264
|
+
for (const file of codeFiles) {
|
|
265
|
+
for (const token of referenceTokens(file)) {
|
|
266
|
+
if (tokenOwner.has(token))
|
|
267
|
+
tokenOwner.set(token, "\0ambiguous");
|
|
268
|
+
else
|
|
269
|
+
tokenOwner.set(token, file);
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
for (const [token, owner] of [...tokenOwner]) {
|
|
273
|
+
if (owner === "\0ambiguous")
|
|
274
|
+
tokenOwner.delete(token);
|
|
275
|
+
}
|
|
276
|
+
const tokens = [...tokenOwner.keys()].sort((a, b) => b.length - a.length || a.localeCompare(b));
|
|
277
|
+
const groups = [];
|
|
278
|
+
for (const doc of docFiles) {
|
|
279
|
+
const text = await read(join(params.root, doc));
|
|
280
|
+
if (text === undefined)
|
|
281
|
+
continue;
|
|
282
|
+
const posixText = toPosix(text);
|
|
283
|
+
const named = new Set();
|
|
284
|
+
for (const token of tokens) {
|
|
285
|
+
const owner = tokenOwner.get(token);
|
|
286
|
+
if (named.has(owner))
|
|
287
|
+
continue;
|
|
288
|
+
if (posixText.includes(token))
|
|
289
|
+
named.add(owner);
|
|
290
|
+
}
|
|
291
|
+
if (named.size >= 2) {
|
|
292
|
+
groups.push([...named].sort((a, b) => a.localeCompare(b)));
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
groups.sort((a, b) => (a[0] ?? "").localeCompare(b[0] ?? ""));
|
|
296
|
+
return groups;
|
|
297
|
+
}
|
|
298
|
+
//# sourceMappingURL=commentDecomposition.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commentDecomposition.js","sourceRoot":"","sources":["../../../src/audit/extractors/commentDecomposition.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { GraphBundle } from "audit-tools/shared";
|
|
2
|
+
/** An undirected weighted coupling edge (canonical `a < b`). */
|
|
3
|
+
export interface CouplingEdge {
|
|
4
|
+
a: string;
|
|
5
|
+
b: string;
|
|
6
|
+
weight: number;
|
|
7
|
+
}
|
|
8
|
+
export interface DataStateCouplingOptions {
|
|
9
|
+
/**
|
|
10
|
+
* A target is "generic" (dropped) once its referrer count exceeds
|
|
11
|
+
* max(genericAbsolute, genericFraction × universe). Ubiquitous targets carry no
|
|
12
|
+
* grouping signal and would otherwise couple everything.
|
|
13
|
+
*/
|
|
14
|
+
genericFraction?: number;
|
|
15
|
+
genericAbsolute?: number;
|
|
16
|
+
/** Minimum shared-target count for an edge to be emitted. */
|
|
17
|
+
minSharedTargets?: number;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Derive data/state coupling edges from a graph bundle's structural edges. Two
|
|
21
|
+
* source files sharing K non-generic targets get one undirected edge of weight K.
|
|
22
|
+
* Deterministic: edges are canonicalized (`a < b`) and sorted by (a, b). Degrades
|
|
23
|
+
* to `[]` for an edgeless / malformed bundle (never throws).
|
|
24
|
+
*/
|
|
25
|
+
export declare function deriveDataStateCoupling(graphBundle: GraphBundle, options?: DataStateCouplingOptions): CouplingEdge[];
|
|
26
|
+
//# sourceMappingURL=dataStateCoupling.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dataStateCoupling.d.ts","sourceRoot":"","sources":["../../../src/audit/extractors/dataStateCoupling.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGtD,gEAAgE;AAChE,MAAM,WAAW,YAAY;IAC3B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,wBAAwB;IACvC;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,6DAA6D;IAC7D,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAMD;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,WAAW,EAAE,WAAW,EACxB,OAAO,GAAE,wBAA6B,GACrC,YAAY,EAAE,CAgDhB"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
// Data/state coupling extractor (Phase B behavior-exhibited source; design of
|
|
2
|
+
// record spec/conceptual-design-review-design.md §"Structure decomposition
|
|
3
|
+
// sources"): "code touching the same artifact/state even with no direct call."
|
|
4
|
+
//
|
|
5
|
+
// Realized deterministically + language-neutrally as BIBLIOGRAPHIC COUPLING: two
|
|
6
|
+
// files that reference the SAME targets are coupled through that shared state,
|
|
7
|
+
// even when neither calls the other. This is distinct from the direct
|
|
8
|
+
// call/import source (which is the edges themselves) — here the signal is shared
|
|
9
|
+
// OUT-neighbors, computed purely from the existing structural edge set (no file
|
|
10
|
+
// reads, no new IO).
|
|
11
|
+
//
|
|
12
|
+
// A target referenced by nearly everything (a ubiquitous util / logger) carries
|
|
13
|
+
// no grouping signal — like a stop-word — so targets whose in-degree exceeds a
|
|
14
|
+
// genericness cap are dropped before pairing. This also bounds the cost: a hub
|
|
15
|
+
// with N referrers would otherwise contribute O(N²) pairs.
|
|
16
|
+
import { allGraphEdges } from "./graphSignals.js";
|
|
17
|
+
const DEFAULT_GENERIC_FRACTION = 0.25;
|
|
18
|
+
const DEFAULT_GENERIC_ABSOLUTE = 12;
|
|
19
|
+
const DEFAULT_MIN_SHARED_TARGETS = 2;
|
|
20
|
+
/**
|
|
21
|
+
* Derive data/state coupling edges from a graph bundle's structural edges. Two
|
|
22
|
+
* source files sharing K non-generic targets get one undirected edge of weight K.
|
|
23
|
+
* Deterministic: edges are canonicalized (`a < b`) and sorted by (a, b). Degrades
|
|
24
|
+
* to `[]` for an edgeless / malformed bundle (never throws).
|
|
25
|
+
*/
|
|
26
|
+
export function deriveDataStateCoupling(graphBundle, options = {}) {
|
|
27
|
+
const genericFraction = options.genericFraction ?? DEFAULT_GENERIC_FRACTION;
|
|
28
|
+
const genericAbsolute = options.genericAbsolute ?? DEFAULT_GENERIC_ABSOLUTE;
|
|
29
|
+
const minSharedTargets = options.minSharedTargets ?? DEFAULT_MIN_SHARED_TARGETS;
|
|
30
|
+
const edges = allGraphEdges(graphBundle);
|
|
31
|
+
if (edges.length === 0)
|
|
32
|
+
return [];
|
|
33
|
+
// target → set of source files that reference it (self-references dropped).
|
|
34
|
+
const referrersByTarget = new Map();
|
|
35
|
+
const sources = new Set();
|
|
36
|
+
for (const edge of edges) {
|
|
37
|
+
if (edge.from === edge.to)
|
|
38
|
+
continue;
|
|
39
|
+
sources.add(edge.from);
|
|
40
|
+
let referrers = referrersByTarget.get(edge.to);
|
|
41
|
+
if (!referrers) {
|
|
42
|
+
referrers = new Set();
|
|
43
|
+
referrersByTarget.set(edge.to, referrers);
|
|
44
|
+
}
|
|
45
|
+
referrers.add(edge.from);
|
|
46
|
+
}
|
|
47
|
+
const genericThreshold = Math.max(genericAbsolute, Math.ceil(sources.size * genericFraction));
|
|
48
|
+
// Accumulate shared-target counts per source pair, over non-generic targets.
|
|
49
|
+
const sharedByPair = new Map();
|
|
50
|
+
for (const referrers of referrersByTarget.values()) {
|
|
51
|
+
if (referrers.size < 2 || referrers.size > genericThreshold)
|
|
52
|
+
continue;
|
|
53
|
+
const members = [...referrers].sort((a, b) => a.localeCompare(b));
|
|
54
|
+
for (let i = 0; i < members.length; i++) {
|
|
55
|
+
for (let j = i + 1; j < members.length; j++) {
|
|
56
|
+
const key = `${members[i]} ${members[j]}`;
|
|
57
|
+
sharedByPair.set(key, (sharedByPair.get(key) ?? 0) + 1);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
const result = [];
|
|
62
|
+
for (const [key, weight] of sharedByPair) {
|
|
63
|
+
if (weight < minSharedTargets)
|
|
64
|
+
continue;
|
|
65
|
+
const idx = key.indexOf(" ");
|
|
66
|
+
result.push({ a: key.slice(0, idx), b: key.slice(idx + 1), weight });
|
|
67
|
+
}
|
|
68
|
+
result.sort((x, y) => x.a.localeCompare(y.a) || x.b.localeCompare(y.b));
|
|
69
|
+
return result;
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=dataStateCoupling.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dataStateCoupling.js","sourceRoot":"","sources":["../../../src/audit/extractors/dataStateCoupling.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,6 +12,7 @@ import type { AuditPlanMetrics } from "../types/reviewPlanning.js";
|
|
|
12
12
|
import type { TaskAffinityGraph } from "../orchestrator/taskAffinityGraph.js";
|
|
13
13
|
import type { RuntimeValidationReport, RuntimeValidationTaskManifest } from "../types/runtimeValidation.js";
|
|
14
14
|
import type { DesignAssessment } from "../types/designAssessment.js";
|
|
15
|
+
import type { StructureDecomposition } from "../types/structureDecomposition.js";
|
|
15
16
|
import type { AnalyzerCapabilityRecord } from "../types/analyzerCapability.js";
|
|
16
17
|
import type { AuditScopeManifest } from "../types/auditScope.js";
|
|
17
18
|
import type { ToolingManifest } from "../types/toolingManifest.js";
|
|
@@ -45,6 +46,7 @@ type ArtifactPayloadMap = {
|
|
|
45
46
|
risk_register: RiskRegister;
|
|
46
47
|
git_history: GitHistory;
|
|
47
48
|
design_assessment: DesignAssessment;
|
|
49
|
+
structure_decomposition: StructureDecomposition;
|
|
48
50
|
analyzer_capability: AnalyzerCapabilityRecord;
|
|
49
51
|
scope: AuditScopeManifest;
|
|
50
52
|
coverage_matrix: CoverageMatrix;
|
|
@@ -124,6 +126,7 @@ export declare const ARTIFACT_DEFINITIONS: {
|
|
|
124
126
|
readonly risk_register: ArtifactDefinition<"risk_register">;
|
|
125
127
|
readonly git_history: ArtifactDefinition<"git_history">;
|
|
126
128
|
readonly design_assessment: ArtifactDefinition<"design_assessment">;
|
|
129
|
+
readonly structure_decomposition: ArtifactDefinition<"structure_decomposition">;
|
|
127
130
|
readonly analyzer_capability: ArtifactDefinition<"analyzer_capability">;
|
|
128
131
|
readonly scope: ArtifactDefinition<"scope">;
|
|
129
132
|
readonly coverage_matrix: ArtifactDefinition<"coverage_matrix">;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"artifacts.d.ts","sourceRoot":"","sources":["../../../src/audit/io/artifacts.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"artifacts.d.ts","sourceRoot":"","sources":["../../../src/audit/io/artifacts.ts"],"names":[],"mappings":"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"}
|
|
@@ -90,6 +90,7 @@ export const ARTIFACT_DEFINITIONS = {
|
|
|
90
90
|
risk_register: jsonArtifact("risk_register.json", "analysis"),
|
|
91
91
|
git_history: jsonArtifact("git_history.json", "analysis"),
|
|
92
92
|
design_assessment: jsonArtifact("design_assessment.json", "analysis"),
|
|
93
|
+
structure_decomposition: jsonArtifact("structure_decomposition.json", "analysis"),
|
|
93
94
|
analyzer_capability: jsonArtifact("analyzer_capability.json", "analysis"),
|
|
94
95
|
scope: jsonArtifact("scope.json", "execution"),
|
|
95
96
|
coverage_matrix: jsonArtifact("coverage_matrix.json", "execution"),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../../../src/audit/io/artifacts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAW,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EACL,qBAAqB,EACrB,uBAAuB,EACvB,eAAe,EACf,iBAAiB,EACjB,uBAAuB,EACvB,yBAAyB,GAC1B,MAAM,oBAAoB,CAAC;AAY5B,OAAO,EAAE,oCAAoC,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../../../src/audit/io/artifacts.ts"],"names":[],"mappings":"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"}
|
|
@@ -43,6 +43,7 @@ export declare const ARTIFACT_DEPENDS_ON_MAP: {
|
|
|
43
43
|
"git_history.json": string[];
|
|
44
44
|
"external_analyzer_acquisition.json": string[];
|
|
45
45
|
"design_assessment.json": string[];
|
|
46
|
+
"structure_decomposition.json": string[];
|
|
46
47
|
"coverage_matrix.json": string[];
|
|
47
48
|
"audit_tasks.json": string[];
|
|
48
49
|
"audit_plan_metrics.json": string[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dependencyMap.d.ts","sourceRoot":"","sources":["../../../src/audit/orchestrator/dependencyMap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AACjF,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAE7D;;;;;;;;GAQG;AACH,KAAK,gBAAgB,GACjB,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,OAAO,oBAAoB,CAAC,CAAC,UAAU,CAAC,GAC5E,OAAO,uBAAuB,GAC9B,OAAO,qBAAqB,CAAC;AAEjC,KAAK,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC;AAE3E;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,uBAAuB
|
|
1
|
+
{"version":3,"file":"dependencyMap.d.ts","sourceRoot":"","sources":["../../../src/audit/orchestrator/dependencyMap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AACjF,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAE7D;;;;;;;;GAQG;AACH,KAAK,gBAAgB,GACjB,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,OAAO,oBAAoB,CAAC,CAAC,UAAU,CAAC,GAC5E,OAAO,uBAAuB,GAC9B,OAAO,qBAAqB,CAAC;AAEjC,KAAK,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC;AAE3E;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;CAkKX,CAAC;AAE1B;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,aAAa,GAAG,aAAa,CAS3E;AAED;;;;;;GAMG;AACH,eAAO,MAAM,uBAAuB,EAAE,aACQ,CAAC;AAE/C;;;;;;;;GAQG;AACH,eAAO,MAAM,iBAAiB,EAAE,WAAW,CAAC,MAAM,CAGhD,CAAC"}
|
|
@@ -63,6 +63,16 @@ export const ARTIFACT_DEPENDS_ON_MAP = {
|
|
|
63
63
|
"file_disposition.json",
|
|
64
64
|
],
|
|
65
65
|
"design_assessment.json": ["unit_manifest.json", "critical_flows.json"],
|
|
66
|
+
// Phase B conceptual design-review: the deterministic structure-layer
|
|
67
|
+
// decomposition (overlay-and-delta operator). Depends on the enriched graph
|
|
68
|
+
// (co-change + analyzer edges land in graph_bundle) plus the manifest +
|
|
69
|
+
// disposition — repo_manifest carries per-file hashes, so a source-content
|
|
70
|
+
// change re-stales it transitively (comment/doc extraction reads that source).
|
|
71
|
+
"structure_decomposition.json": [
|
|
72
|
+
"repo_manifest.json",
|
|
73
|
+
"file_disposition.json",
|
|
74
|
+
"graph_bundle.json",
|
|
75
|
+
],
|
|
66
76
|
// Phase 3 — planning & execution. scope.json (delta vs. full) gates coverage;
|
|
67
77
|
// it is also a DIRECT input to audit_tasks so a scope change that produces an
|
|
68
78
|
// identical coverage_matrix (same files/buckets) still re-stales tasks
|
|
@@ -153,6 +163,7 @@ export const ARTIFACT_DEPENDS_ON_MAP = {
|
|
|
153
163
|
"surface_manifest.json",
|
|
154
164
|
"critical_flows.json",
|
|
155
165
|
"design_assessment.json",
|
|
166
|
+
"structure_decomposition.json",
|
|
156
167
|
"syntax_resolution_status.json",
|
|
157
168
|
"external_analyzer_results.json",
|
|
158
169
|
"coverage_matrix.json",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dependencyMap.js","sourceRoot":"","sources":["../../../src/audit/orchestrator/dependencyMap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AACjF,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAkB7D;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,0EAA0E;IAC1E,+EAA+E;IAC/E,oBAAoB,EAAE,CAAC,uBAAuB,CAAC;IAC/C,uBAAuB,EAAE,CAAC,oBAAoB,CAAC;IAE/C,6EAA6E;IAC7E,4EAA4E;IAC5E,8EAA8E;IAC9E,6EAA6E;IAC7E,oEAAoE;IACpE,+BAA+B;IAC/B,mBAAmB,EAAE,CAAC,oBAAoB,EAAE,uBAAuB,CAAC;IACpE,0BAA0B,EAAE,CAAC,mBAAmB,CAAC;IACjD,oBAAoB,EAAE,CAAC,oBAAoB,EAAE,uBAAuB,CAAC;IACrE,uBAAuB,EAAE,CAAC,oBAAoB,EAAE,uBAAuB,CAAC;IACxE,qBAAqB,EAAE;QACrB,oBAAoB;QACpB,uBAAuB;QACvB,uBAAuB;KACxB;IACD,oBAAoB,EAAE;QACpB,oBAAoB;QACpB,uBAAuB;QACvB,oBAAoB;QACpB,uBAAuB;QACvB,qBAAqB;KACtB;IACD,4EAA4E;IAC5E,8EAA8E;IAC9E,+EAA+E;IAC/E,kBAAkB,EAAE,CAAC,oBAAoB,EAAE,uBAAuB,CAAC;IACnE,+EAA+E;IAC/E,gFAAgF;IAChF,4EAA4E;IAC5E,6EAA6E;IAC7E,8EAA8E;IAC9E,iFAAiF;IACjF,uEAAuE;IACvE,oCAAoC,EAAE;QACpC,oBAAoB;QACpB,uBAAuB;KACxB;IACD,wBAAwB,EAAE,CAAC,oBAAoB,EAAE,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"dependencyMap.js","sourceRoot":"","sources":["../../../src/audit/orchestrator/dependencyMap.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executorRunners.d.ts","sourceRoot":"","sources":["../../../src/audit/orchestrator/executorRunners.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAqB,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"executorRunners.d.ts","sourceRoot":"","sources":["../../../src/audit/orchestrator/executorRunners.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAqB,MAAM,oBAAoB,CAAC;AA2BlE;;;;;;GAMG;AACH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,mBAAmB,CAAC;IAC7B,GAAG,EAAE,SAAS,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,sEAAsE;AACtE,MAAM,MAAM,mBAAmB,GAAG,CAChC,MAAM,EAAE,cAAc,EACtB,GAAG,EAAE,gBAAgB,KAClB,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAahC;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CA4HhE,CAAC"}
|
|
@@ -2,7 +2,7 @@ import { auditArtifactsDir } from "audit-tools/shared";
|
|
|
2
2
|
import { decideAuditFrictionCloseout } from "./nextStep.js";
|
|
3
3
|
import { runIntakeExecutor, runProviderConfirmationAutoComplete } from "./intakeExecutors.js";
|
|
4
4
|
import { runIntentCheckpointAutoComplete } from "./intentCheckpointExecutor.js";
|
|
5
|
-
import { runStructureExecutor, runDesignAssessmentExecutor, runDesignReviewAutoComplete, } from "./structureExecutors.js";
|
|
5
|
+
import { runStructureExecutor, runDesignAssessmentExecutor, runStructureDecompositionExecutor, runDesignReviewAutoComplete, } from "./structureExecutors.js";
|
|
6
6
|
import { runPlanningExecutor } from "./planningExecutors.js";
|
|
7
7
|
import { runResultIngestionExecutor, runRuntimeValidationExecutor, runRuntimeValidationUpdateExecutor, runExternalAnalyzerImportExecutor, } from "./ingestionExecutors.js";
|
|
8
8
|
import { runSynthesisExecutor, runSynthesisNarrativeExecutor, } from "./synthesisExecutors.js";
|
|
@@ -49,6 +49,7 @@ export const EXECUTOR_RUNNERS = {
|
|
|
49
49
|
edgeReasoning: options.edgeReasoningResults,
|
|
50
50
|
}),
|
|
51
51
|
design_assessment_executor: async (bundle) => runDesignAssessmentExecutor(bundle),
|
|
52
|
+
structure_decomposition_executor: async (bundle, { options }) => runStructureDecompositionExecutor(bundle, options.root),
|
|
52
53
|
design_review_contract: async (bundle) => runDesignReviewAutoComplete(bundle, "contract"),
|
|
53
54
|
design_review_conceptual: async (bundle) => runDesignReviewAutoComplete(bundle, "conceptual"),
|
|
54
55
|
// Legacy: auto-complete both passes.
|