intentpatch 0.9.2 → 0.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.ko.md +28 -22
- package/README.md +24 -20
- package/dist/application/ports/analysis-rule.d.ts +2 -0
- package/dist/application/ports/analysis-rule.d.ts.map +1 -1
- package/dist/application/ports/code-structure-extractor.d.ts +2 -0
- package/dist/application/ports/code-structure-extractor.d.ts.map +1 -1
- package/dist/application/rules/duplicate-implementation-rule.d.ts +1 -1
- package/dist/application/rules/duplicate-implementation-rule.d.ts.map +1 -1
- package/dist/application/rules/duplicate-implementation-rule.js +6 -3
- package/dist/application/rules/duplicate-implementation-rule.js.map +1 -1
- package/dist/application/rules/missing-test-change-rule.js +2 -2
- package/dist/application/rules/missing-test-change-rule.js.map +1 -1
- package/dist/application/rules/public-api-compatibility-rule.d.ts +1 -1
- package/dist/application/rules/public-api-compatibility-rule.d.ts.map +1 -1
- package/dist/application/rules/public-api-compatibility-rule.js +8 -4
- package/dist/application/rules/public-api-compatibility-rule.js.map +1 -1
- package/dist/application/services/analyze-code-structure.d.ts.map +1 -1
- package/dist/application/services/analyze-code-structure.js +18 -4
- package/dist/application/services/analyze-code-structure.js.map +1 -1
- package/dist/application/services/analyze-test-changes.d.ts +1 -1
- package/dist/application/services/analyze-test-changes.d.ts.map +1 -1
- package/dist/application/services/analyze-test-changes.js +28 -2
- package/dist/application/services/analyze-test-changes.js.map +1 -1
- package/dist/application/services/trace-intent-to-files.d.ts +10 -0
- package/dist/application/services/trace-intent-to-files.d.ts.map +1 -0
- package/dist/application/services/trace-intent-to-files.js +20 -0
- package/dist/application/services/trace-intent-to-files.js.map +1 -0
- package/dist/application/use-cases/analyze-changes.js +6 -6
- package/dist/application/use-cases/analyze-changes.js.map +1 -1
- package/dist/domain/code-structure.d.ts +2 -0
- package/dist/domain/code-structure.d.ts.map +1 -1
- package/dist/domain/code-structure.js +2 -0
- package/dist/domain/code-structure.js.map +1 -1
- package/dist/infrastructure/typescript/typescript-code-structure-extractor.d.ts.map +1 -1
- package/dist/infrastructure/typescript/typescript-code-structure-extractor.js +79 -4
- package/dist/infrastructure/typescript/typescript-code-structure-extractor.js.map +1 -1
- package/dist/infrastructure/typescript/typescript-symbol-extractor.js +19 -7
- package/dist/infrastructure/typescript/typescript-symbol-extractor.js.map +1 -1
- package/dist/presentation/html/html-report.d.ts.map +1 -1
- package/dist/presentation/html/html-report.js +59 -2
- package/dist/presentation/html/html-report.js.map +1 -1
- package/package.json +1 -1
|
@@ -3,7 +3,7 @@ import { createTestChangeAnalysis } from "../../domain/test-change.js";
|
|
|
3
3
|
import { matchesPathPattern } from "./path-pattern.js";
|
|
4
4
|
const sourceExtension = /\.(?:[cm]?[jt]sx?)$/u;
|
|
5
5
|
const testSuffix = /\.(?:(?:unit|integration|e2e)\.)?(?:test|spec)$/u;
|
|
6
|
-
/** 변경 파일을 테스트 정책으로 분류하고
|
|
6
|
+
/** 변경 파일을 테스트 정책으로 분류하고 명시적 매핑·정적 import·파일명 근거로 연결한다. */
|
|
7
7
|
export class AnalyzeTestChanges {
|
|
8
8
|
async analyze(context) {
|
|
9
9
|
const policy = context.contract?.tests;
|
|
@@ -16,6 +16,14 @@ export class AnalyzeTestChanges {
|
|
|
16
16
|
const sourceFiles = context.changes.files.filter((file) => !matchesAny(file.path, policy.include) &&
|
|
17
17
|
matchesAny(file.path, policy.requireFor) &&
|
|
18
18
|
!matchesAny(file.path, policy.exclude));
|
|
19
|
+
const imports = context.impact?.dependencies ?? [];
|
|
20
|
+
const importedBy = new Map();
|
|
21
|
+
for (const dependency of imports) {
|
|
22
|
+
const targets = importedBy.get(dependency.importer) ?? new Set();
|
|
23
|
+
targets.add(dependency.imported);
|
|
24
|
+
importedBy.set(dependency.importer, targets);
|
|
25
|
+
}
|
|
26
|
+
const importedPathsByTest = new Map(testFiles.map((test) => [test.path, reachableImports(test.path, importedBy)]));
|
|
19
27
|
return createTestChangeAnalysis({
|
|
20
28
|
testFiles,
|
|
21
29
|
sourceCoverage: sourceFiles.map((source) => ({
|
|
@@ -24,13 +32,31 @@ export class AnalyzeTestChanges {
|
|
|
24
32
|
matchingTests: testFiles
|
|
25
33
|
.filter((test) => (Object.hasOwn(policy.related ?? {}, source.path)
|
|
26
34
|
? (policy.related?.[source.path] ?? []).some((path) => matchesPathPattern(test.path, path))
|
|
27
|
-
: testIdentity(test.path) === sourceIdentity(source.path)
|
|
35
|
+
: testIdentity(test.path) === sourceIdentity(source.path) ||
|
|
36
|
+
(importedPathsByTest.get(test.path)?.has(source.path) ?? false)) &&
|
|
28
37
|
(source.kind === "deleted" || test.changeKind !== "deleted"))
|
|
29
38
|
.map((test) => test.path),
|
|
30
39
|
})),
|
|
31
40
|
});
|
|
32
41
|
}
|
|
33
42
|
}
|
|
43
|
+
function reachableImports(testPath, importedBy) {
|
|
44
|
+
const seen = new Set([testPath]);
|
|
45
|
+
const queue = [testPath];
|
|
46
|
+
for (let index = 0; index < queue.length; index += 1) {
|
|
47
|
+
const current = queue[index];
|
|
48
|
+
if (current === undefined)
|
|
49
|
+
continue;
|
|
50
|
+
for (const imported of importedBy.get(current) ?? []) {
|
|
51
|
+
if (!seen.has(imported)) {
|
|
52
|
+
seen.add(imported);
|
|
53
|
+
queue.push(imported);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
seen.delete(testPath);
|
|
58
|
+
return seen;
|
|
59
|
+
}
|
|
34
60
|
function matchesAny(path, patterns) {
|
|
35
61
|
return patterns.some((pattern) => matchesPathPattern(path, pattern));
|
|
36
62
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analyze-test-changes.js","sourceRoot":"","sources":["../../../src/application/services/analyze-test-changes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,wBAAwB,EAA2B,MAAM,6BAA6B,CAAC;AAGhG,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAEvD,MAAM,eAAe,GAAG,sBAAsB,CAAC;AAC/C,MAAM,UAAU,GAAG,kDAAkD,CAAC;AAEtE,
|
|
1
|
+
{"version":3,"file":"analyze-test-changes.js","sourceRoot":"","sources":["../../../src/application/services/analyze-test-changes.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { FileChange } from "../../domain/change.js";
|
|
2
|
+
import type { ChangeContract } from "../../domain/change-contract.js";
|
|
3
|
+
export interface IntentFileTrace {
|
|
4
|
+
readonly path: string;
|
|
5
|
+
readonly relation: "expected" | "allowed" | "outside" | "unclassified";
|
|
6
|
+
readonly patterns: readonly string[];
|
|
7
|
+
}
|
|
8
|
+
/** 명시된 계약 경로와 실제 변경 파일의 관계만 기록한다. 자연어 의도는 추정하지 않는다. */
|
|
9
|
+
export declare function traceIntentToFiles(contract: ChangeContract, files: readonly FileChange[]): readonly IntentFileTrace[];
|
|
10
|
+
//# sourceMappingURL=trace-intent-to-files.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trace-intent-to-files.d.ts","sourceRoot":"","sources":["../../../src/application/services/trace-intent-to-files.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAGtE,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,cAAc,CAAC;IACvE,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;CACtC;AAED,uDAAuD;AACvD,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,cAAc,EACxB,KAAK,EAAE,SAAS,UAAU,EAAE,GAC3B,SAAS,eAAe,EAAE,CAoB5B"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { matchesPathPattern } from "./path-pattern.js";
|
|
2
|
+
/** 명시된 계약 경로와 실제 변경 파일의 관계만 기록한다. 자연어 의도는 추정하지 않는다. */
|
|
3
|
+
export function traceIntentToFiles(contract, files) {
|
|
4
|
+
return files.map((file) => {
|
|
5
|
+
const expected = contract.scope.include.filter((pattern) => matchesPathPattern(file.path, pattern));
|
|
6
|
+
if (expected.length > 0) {
|
|
7
|
+
return { path: file.path, relation: "expected", patterns: expected };
|
|
8
|
+
}
|
|
9
|
+
const allowed = contract.scope.allow.filter((pattern) => matchesPathPattern(file.path, pattern));
|
|
10
|
+
if (allowed.length > 0) {
|
|
11
|
+
return { path: file.path, relation: "allowed", patterns: allowed };
|
|
12
|
+
}
|
|
13
|
+
return {
|
|
14
|
+
path: file.path,
|
|
15
|
+
relation: contract.scope.include.length > 0 ? "outside" : "unclassified",
|
|
16
|
+
patterns: [],
|
|
17
|
+
};
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=trace-intent-to-files.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trace-intent-to-files.js","sourceRoot":"","sources":["../../../src/application/services/trace-intent-to-files.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAQvD,uDAAuD;AACvD,MAAM,UAAU,kBAAkB,CAChC,QAAwB,EACxB,KAA4B;IAE5B,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACxB,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CACzD,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CACvC,CAAC;QACF,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;QACvE,CAAC;QACD,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CACtD,kBAAkB,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CACvC,CAAC;QACF,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;QACrE,CAAC;QACD,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc;YACxE,QAAQ,EAAE,EAAE;SACb,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -57,16 +57,16 @@ export class AnalyzeChanges {
|
|
|
57
57
|
changes,
|
|
58
58
|
...(input.contract === undefined ? {} : { contract: input.contract }),
|
|
59
59
|
};
|
|
60
|
-
const [
|
|
61
|
-
this.
|
|
60
|
+
const [impact, symbolChanges] = await Promise.all([
|
|
61
|
+
this.impactAnalyzer.analyze(initialContext),
|
|
62
62
|
this.symbolChangeAnalyzer.analyze(initialContext),
|
|
63
63
|
]);
|
|
64
|
-
const factContext = { ...initialContext,
|
|
65
|
-
const [codeStructure,
|
|
64
|
+
const factContext = { ...initialContext, impact, symbolChanges };
|
|
65
|
+
const [codeStructure, testChanges] = await Promise.all([
|
|
66
66
|
this.codeStructureAnalyzer.analyze(factContext),
|
|
67
|
-
this.
|
|
67
|
+
this.testChangeAnalyzer.analyze(factContext),
|
|
68
68
|
]);
|
|
69
|
-
const context = { ...factContext, codeStructure };
|
|
69
|
+
const context = { ...factContext, codeStructure, testChanges };
|
|
70
70
|
const findings = await this.ruleEngine.run(context);
|
|
71
71
|
return {
|
|
72
72
|
target,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analyze-changes.js","sourceRoot":"","sources":["../../../src/application/use-cases/analyze-changes.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,2BAA2B,EAAE,MAAM,gCAAgC,CAAC;AAC7E,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AAMvE,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAQxD,MAAM,yBAAyB,GAAyB;IACtD,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,qBAAqB,CAAC,EAAE,CAAC;CAC/C,CAAC;AAEF,MAAM,mBAAmB,GAAyB;IAChD,OAAO,EAAE,KAAK,IAAI,EAAE,CAClB,oBAAoB,CAAC;QACnB,WAAW,EAAE,CAAC;QACd,cAAc,EAAE,EAAE;QAClB,YAAY,EAAE,EAAE;QAChB,aAAa,EAAE,EAAE;KAClB,CAAC;CACL,CAAC;AAEF,MAAM,uBAAuB,GAAuB;IAClD,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,wBAAwB,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE,CAAC;CACrF,CAAC;AAEF,MAAM,0BAA0B,GAA0B;IACxD,OAAO,EAAE,KAAK,IAAI,EAAE,CAClB,2BAA2B,CAAC;QAC1B,WAAW,EAAE,CAAC;QACd,mBAAmB,EAAE,EAAE;QACvB,gCAAgC,EAAE,EAAE;KACrC,CAAC;CACL,CAAC;AAEF;;;GAGG;AACH,MAAM,OAAO,cAAc;IAEN;IACA;IACA;IACA;IACA;IACA;IANnB,YACmB,YAA0B,EAC1B,aAAyB,IAAI,UAAU,CAAC,EAAE,CAAC,EAC3C,uBAA6C,yBAAyB,EACtE,iBAAuC,mBAAmB,EAC1D,qBAAyC,uBAAuB,EAChE,wBAA+C,0BAA0B;QALzE,iBAAY,GAAZ,YAAY,CAAc;QAC1B,eAAU,GAAV,UAAU,CAAiC;QAC3C,yBAAoB,GAApB,oBAAoB,CAAkD;QACtE,mBAAc,GAAd,cAAc,CAA4C;QAC1D,uBAAkB,GAAlB,kBAAkB,CAA8C;QAChE,0BAAqB,GAArB,qBAAqB,CAAoD;IACzF,CAAC;IAEG,KAAK,CAAC,OAAO,CAAC,QAA6B,EAAE;QAClD,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,MAAM,CAAC;QAChD,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,SAAS,CAAC;QACnD,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAC1B,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAC5B,CAAC;QACD,MAAM,MAAM,GAAG,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;QAE1E,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACxD,MAAM,cAAc,GAAG;YACrB,MAAM;YACN,OAAO;YACP,GAAG,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC;SACtE,CAAC;QACF,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"analyze-changes.js","sourceRoot":"","sources":["../../../src/application/use-cases/analyze-changes.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,8 @@ export interface CodeSymbolLocation {
|
|
|
6
6
|
export interface DuplicateImplementationCandidate {
|
|
7
7
|
readonly added: CodeSymbolLocation;
|
|
8
8
|
readonly existing: CodeSymbolLocation;
|
|
9
|
+
readonly addedKind?: "method";
|
|
10
|
+
readonly matchKind?: "renamed-locals";
|
|
9
11
|
}
|
|
10
12
|
export interface SingleImplementationAbstraction {
|
|
11
13
|
readonly abstraction: CodeSymbolLocation;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"code-structure.d.ts","sourceRoot":"","sources":["../../src/domain/code-structure.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,gCAAgC;IAC/C,QAAQ,CAAC,KAAK,EAAE,kBAAkB,CAAC;IACnC,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,CAAC;CACvC;AAED,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,CAAC,WAAW,EAAE,kBAAkB,CAAC;IACzC,QAAQ,CAAC,cAAc,EAAE,kBAAkB,CAAC;CAC7C;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,gCAAgC,EAAE,MAAM,CAAC;CACnD;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,mBAAmB,EAAE,SAAS,gCAAgC,EAAE,CAAC;IAC1E,QAAQ,CAAC,gCAAgC,EAAE,SAAS,+BAA+B,EAAE,CAAC;IACtF,QAAQ,CAAC,MAAM,EAAE,SAAS,0BAA0B,EAAE,CAAC;IACvD,QAAQ,CAAC,OAAO,EAAE,4BAA4B,CAAC;CAChD;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,mBAAmB,EAAE,SAAS,gCAAgC,EAAE,CAAC;IAC1E,QAAQ,CAAC,gCAAgC,EAAE,SAAS,+BAA+B,EAAE,CAAC;IACtF,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,0BAA0B,EAAE,CAAC;CACzD;AAED,kDAAkD;AAClD,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,0BAA0B,GAChC,qBAAqB,
|
|
1
|
+
{"version":3,"file":"code-structure.d.ts","sourceRoot":"","sources":["../../src/domain/code-structure.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,gCAAgC;IAC/C,QAAQ,CAAC,KAAK,EAAE,kBAAkB,CAAC;IACnC,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,CAAC;IACtC,QAAQ,CAAC,SAAS,CAAC,EAAE,QAAQ,CAAC;IAC9B,QAAQ,CAAC,SAAS,CAAC,EAAE,gBAAgB,CAAC;CACvC;AAED,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,CAAC,WAAW,EAAE,kBAAkB,CAAC;IACzC,QAAQ,CAAC,cAAc,EAAE,kBAAkB,CAAC;CAC7C;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,gCAAgC,EAAE,MAAM,CAAC;CACnD;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,mBAAmB,EAAE,SAAS,gCAAgC,EAAE,CAAC;IAC1E,QAAQ,CAAC,gCAAgC,EAAE,SAAS,+BAA+B,EAAE,CAAC;IACtF,QAAQ,CAAC,MAAM,EAAE,SAAS,0BAA0B,EAAE,CAAC;IACvD,QAAQ,CAAC,OAAO,EAAE,4BAA4B,CAAC;CAChD;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,mBAAmB,EAAE,SAAS,gCAAgC,EAAE,CAAC;IAC1E,QAAQ,CAAC,gCAAgC,EAAE,SAAS,+BAA+B,EAAE,CAAC;IACtF,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,0BAA0B,EAAE,CAAC;CACzD;AAED,kDAAkD;AAClD,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,0BAA0B,GAChC,qBAAqB,CAwCvB"}
|
|
@@ -9,6 +9,8 @@ export function createCodeStructureAnalysis(input) {
|
|
|
9
9
|
.map((candidate) => Object.freeze({
|
|
10
10
|
added: freezeLocation(candidate.added),
|
|
11
11
|
existing: freezeLocation(candidate.existing),
|
|
12
|
+
...(candidate.addedKind === undefined ? {} : { addedKind: candidate.addedKind }),
|
|
13
|
+
...(candidate.matchKind === undefined ? {} : { matchKind: candidate.matchKind }),
|
|
12
14
|
}))
|
|
13
15
|
.sort(compareDuplicateCandidates);
|
|
14
16
|
const singleImplementationAbstractions = input.singleImplementationAbstractions
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"code-structure.js","sourceRoot":"","sources":["../../src/domain/code-structure.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"code-structure.js","sourceRoot":"","sources":["../../src/domain/code-structure.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typescript-code-structure-extractor.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/typescript/typescript-code-structure-extractor.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAEV,6BAA6B,EAC7B,sBAAsB,EAGvB,MAAM,qDAAqD,CAAC;AAG7D,sDAAsD;AACtD,qBAAa,gCAAiC,YAAW,sBAAsB;IACtE,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI/B,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,6BAA6B;
|
|
1
|
+
{"version":3,"file":"typescript-code-structure-extractor.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/typescript/typescript-code-structure-extractor.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAEV,6BAA6B,EAC7B,sBAAsB,EAGvB,MAAM,qDAAqD,CAAC;AAG7D,sDAAsD;AACtD,qBAAa,gCAAiC,YAAW,sBAAsB;IACtE,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI/B,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,6BAA6B;CAmE5E"}
|
|
@@ -4,7 +4,7 @@ import { parseTypeScriptSource } from "./parse-typescript-source.js";
|
|
|
4
4
|
/** TypeScript AST에서 구현 중복과 단일 구현 추론에 필요한 사실만 추출한다. */
|
|
5
5
|
export class TypeScriptCodeStructureExtractor {
|
|
6
6
|
supports(path) {
|
|
7
|
-
return
|
|
7
|
+
return /\.(?:[cm]?[jt]s|[jt]sx)$/u.test(path);
|
|
8
8
|
}
|
|
9
9
|
extract(path, source) {
|
|
10
10
|
const parseResult = parseTypeScriptSource(path, source);
|
|
@@ -20,7 +20,7 @@ export class TypeScriptCodeStructureExtractor {
|
|
|
20
20
|
if (ts.isFunctionDeclaration(statement) &&
|
|
21
21
|
statement.name !== undefined &&
|
|
22
22
|
statement.body !== undefined) {
|
|
23
|
-
const implementation = fingerprintImplementation(statement.body, sourceFile);
|
|
23
|
+
const implementation = fingerprintImplementation(statement.body, sourceFile, statement.parameters);
|
|
24
24
|
functions.push({ name: statement.name.text, line, ...implementation });
|
|
25
25
|
continue;
|
|
26
26
|
}
|
|
@@ -36,6 +36,20 @@ export class TypeScriptCodeStructureExtractor {
|
|
|
36
36
|
line,
|
|
37
37
|
implementedTypes: implementedTypeNames(statement),
|
|
38
38
|
});
|
|
39
|
+
for (const member of statement.members) {
|
|
40
|
+
if (!ts.isMethodDeclaration(member) || member.body === undefined)
|
|
41
|
+
continue;
|
|
42
|
+
const methodName = staticMethodName(member.name);
|
|
43
|
+
if (methodName === undefined)
|
|
44
|
+
continue;
|
|
45
|
+
const isStatic = (ts.getModifiers(member) ?? []).some((modifier) => modifier.kind === ts.SyntaxKind.StaticKeyword);
|
|
46
|
+
functions.push({
|
|
47
|
+
name: `${statement.name.text}${isStatic ? ".static" : ""}.${methodName}`,
|
|
48
|
+
line: sourceFile.getLineAndCharacterOfPosition(member.getStart(sourceFile)).line + 1,
|
|
49
|
+
symbolKind: "method",
|
|
50
|
+
...fingerprintImplementation(member.body, sourceFile, member.parameters),
|
|
51
|
+
});
|
|
52
|
+
}
|
|
39
53
|
}
|
|
40
54
|
}
|
|
41
55
|
return {
|
|
@@ -48,17 +62,78 @@ export class TypeScriptCodeStructureExtractor {
|
|
|
48
62
|
};
|
|
49
63
|
}
|
|
50
64
|
}
|
|
51
|
-
function fingerprintImplementation(body, sourceFile) {
|
|
65
|
+
function fingerprintImplementation(body, sourceFile, parameters) {
|
|
66
|
+
const substitutions = localIdentifierSubstitutions(body, parameters, sourceFile);
|
|
52
67
|
const scanner = ts.createScanner(sourceFile.languageVersion, true, sourceFile.languageVariant, body.getText(sourceFile));
|
|
53
68
|
const tokens = [];
|
|
69
|
+
const structuralTokens = [];
|
|
54
70
|
for (let token = scanner.scan(); token !== ts.SyntaxKind.EndOfFileToken; token = scanner.scan()) {
|
|
55
|
-
|
|
71
|
+
const value = scanner.getTokenText();
|
|
72
|
+
tokens.push(`${token}:${value}`);
|
|
73
|
+
structuralTokens.push(`${token}:${substitutions?.get(scanner.getTokenPos()) ?? value}`);
|
|
56
74
|
}
|
|
57
75
|
return {
|
|
58
76
|
implementationFingerprint: createHash("sha256").update(tokens.join("\0")).digest("hex"),
|
|
77
|
+
...(substitutions === undefined
|
|
78
|
+
? {}
|
|
79
|
+
: {
|
|
80
|
+
structuralFingerprint: createHash("sha256")
|
|
81
|
+
.update(structuralTokens.join("\0"))
|
|
82
|
+
.digest("hex"),
|
|
83
|
+
}),
|
|
59
84
|
tokenCount: tokens.length,
|
|
60
85
|
};
|
|
61
86
|
}
|
|
87
|
+
/** 매개변수·지역 변수의 참조만 치환한다. 중첩 스코프와 구조 분해는 추정하지 않는다. */
|
|
88
|
+
function localIdentifierSubstitutions(body, parameters, sourceFile) {
|
|
89
|
+
const names = [];
|
|
90
|
+
for (const parameter of parameters) {
|
|
91
|
+
if (!ts.isIdentifier(parameter.name))
|
|
92
|
+
return undefined;
|
|
93
|
+
names.push(parameter.name.text);
|
|
94
|
+
}
|
|
95
|
+
let supported = true;
|
|
96
|
+
const collect = (node) => {
|
|
97
|
+
if (node !== body && ts.isFunctionLike(node)) {
|
|
98
|
+
supported = false;
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
if (ts.isVariableDeclaration(node)) {
|
|
102
|
+
if (!ts.isIdentifier(node.name))
|
|
103
|
+
supported = false;
|
|
104
|
+
else
|
|
105
|
+
names.push(node.name.text);
|
|
106
|
+
}
|
|
107
|
+
ts.forEachChild(node, collect);
|
|
108
|
+
};
|
|
109
|
+
collect(body);
|
|
110
|
+
if (!supported || new Set(names).size !== names.length)
|
|
111
|
+
return undefined;
|
|
112
|
+
// NUL 접두사는 실제 식별자와 충돌하지 않아 외부 호출명을 지역 변수로 오인하지 않는다.
|
|
113
|
+
const canonical = new Map(names.map((name, index) => [name, `\0local${index}`]));
|
|
114
|
+
const substitutions = new Map();
|
|
115
|
+
const visit = (node) => {
|
|
116
|
+
if (ts.isIdentifier(node) && canonical.has(node.text) && !isPropertyName(node)) {
|
|
117
|
+
substitutions.set(node.getStart(sourceFile) - body.getStart(sourceFile), canonical.get(node.text) ?? "");
|
|
118
|
+
}
|
|
119
|
+
ts.forEachChild(node, visit);
|
|
120
|
+
};
|
|
121
|
+
visit(body);
|
|
122
|
+
return substitutions;
|
|
123
|
+
}
|
|
124
|
+
function isPropertyName(node) {
|
|
125
|
+
const parent = node.parent;
|
|
126
|
+
return ((ts.isPropertyAccessExpression(parent) && parent.name === node) ||
|
|
127
|
+
(ts.isPropertyAssignment(parent) && parent.name === node) ||
|
|
128
|
+
(ts.isShorthandPropertyAssignment(parent) && parent.name === node) ||
|
|
129
|
+
(ts.isMethodDeclaration(parent) && parent.name === node) ||
|
|
130
|
+
(ts.isLabeledStatement(parent) && parent.label === node));
|
|
131
|
+
}
|
|
132
|
+
function staticMethodName(name) {
|
|
133
|
+
return ts.isIdentifier(name) || ts.isStringLiteral(name) || ts.isNumericLiteral(name)
|
|
134
|
+
? name.text
|
|
135
|
+
: undefined;
|
|
136
|
+
}
|
|
62
137
|
function implementedTypeNames(declaration) {
|
|
63
138
|
const names = declaration.heritageClauses
|
|
64
139
|
?.filter((clause) => clause.token === ts.SyntaxKind.ImplementsKeyword)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typescript-code-structure-extractor.js","sourceRoot":"","sources":["../../../src/infrastructure/typescript/typescript-code-structure-extractor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,MAAM,YAAY,CAAC;AAQ5B,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAErE,sDAAsD;AACtD,MAAM,OAAO,gCAAgC;IACpC,QAAQ,CAAC,IAAY;QAC1B,OAAO,
|
|
1
|
+
{"version":3,"file":"typescript-code-structure-extractor.js","sourceRoot":"","sources":["../../../src/infrastructure/typescript/typescript-code-structure-extractor.ts"],"names":[],"mappings":"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"}
|
|
@@ -161,20 +161,32 @@ function classMethodSymbols(group, sourceFile) {
|
|
|
161
161
|
line: sourceFile.getLineAndCharacterOfPosition(member.getStart(sourceFile)).line + 1,
|
|
162
162
|
exported: group.exported && !isPrivate,
|
|
163
163
|
declarations: [member.getText(sourceFile)],
|
|
164
|
+
nodes: [member],
|
|
164
165
|
});
|
|
165
166
|
}
|
|
166
167
|
else {
|
|
167
168
|
existing.declarations.push(member.getText(sourceFile));
|
|
169
|
+
existing.nodes.push(member);
|
|
168
170
|
}
|
|
169
171
|
}
|
|
170
172
|
}
|
|
171
|
-
return [...methods].map(([name, method]) =>
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
173
|
+
return [...methods].map(([name, method]) => {
|
|
174
|
+
const overloads = method.nodes.filter((node) => node.body === undefined);
|
|
175
|
+
const signatures = (overloads.length > 0 ? overloads : method.nodes)
|
|
176
|
+
.map((node) => functionSignature(node, sourceFile))
|
|
177
|
+
.sort();
|
|
178
|
+
const publicApi = method.exported
|
|
179
|
+
? { kind: "function", signatures }
|
|
180
|
+
: undefined;
|
|
181
|
+
return {
|
|
182
|
+
name,
|
|
183
|
+
kind: "method",
|
|
184
|
+
line: method.line,
|
|
185
|
+
exported: method.exported,
|
|
186
|
+
fingerprint: createHash("sha256").update(method.declarations.join("\0")).digest("hex"),
|
|
187
|
+
...(publicApi === undefined ? {} : { publicApi }),
|
|
188
|
+
};
|
|
189
|
+
});
|
|
178
190
|
}
|
|
179
191
|
function staticClassMemberName(name) {
|
|
180
192
|
return ts.isIdentifier(name) || ts.isStringLiteral(name) || ts.isNumericLiteral(name)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typescript-symbol-extractor.js","sourceRoot":"","sources":["../../../src/infrastructure/typescript/typescript-symbol-extractor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"typescript-symbol-extractor.js","sourceRoot":"","sources":["../../../src/infrastructure/typescript/typescript-symbol-extractor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"html-report.d.ts","sourceRoot":"","sources":["../../../src/presentation/html/html-report.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"html-report.d.ts","sourceRoot":"","sources":["../../../src/presentation/html/html-report.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAgB,MAAM,wBAAwB,CAAC;AAIzE,oDAAoD;AACpD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CA0D7D"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { traceIntentToFiles } from "../../application/services/trace-intent-to-files.js";
|
|
1
2
|
/** ChangeReport를 외부 리소스가 필요 없는 정적 HTML 문서로 변환한다. */
|
|
2
3
|
export function formatHtmlReport(report) {
|
|
3
4
|
const target = report.target.headRef === undefined
|
|
@@ -33,6 +34,7 @@ export function formatHtmlReport(report) {
|
|
|
33
34
|
${renderSeverityBar(report)}
|
|
34
35
|
${renderReportControls()}
|
|
35
36
|
${renderContract(report.contract)}
|
|
37
|
+
${renderIntentTrace(report.contract, report.changes.files)}
|
|
36
38
|
${renderImpact(report.impact.changedModules, report.impact.impactedFiles, report.changes.files)}
|
|
37
39
|
${renderFindings(report.findings.items, report.patchPreviews ?? [])}
|
|
38
40
|
${renderPatchPreviews(report.patchPreviews ?? [], report.changes.files.length)}
|
|
@@ -49,7 +51,7 @@ export function formatHtmlReport(report) {
|
|
|
49
51
|
<script>${reportScript}</script>
|
|
50
52
|
</body>
|
|
51
53
|
</html>
|
|
52
|
-
|
|
54
|
+
`.replace(/[ \t]+$/gmu, "");
|
|
53
55
|
}
|
|
54
56
|
function renderIntent(contract) {
|
|
55
57
|
if (contract?.intent === undefined) {
|
|
@@ -139,6 +141,39 @@ function renderContract(contract) {
|
|
|
139
141
|
.map(([label, value]) => `<div><dt>${escapeHtml(label ?? "")}</dt><dd>${escapeHtml(value ?? "")}</dd></div>`)
|
|
140
142
|
.join("")}</dl>`);
|
|
141
143
|
}
|
|
144
|
+
function renderIntentTrace(contract, files) {
|
|
145
|
+
if (contract === undefined)
|
|
146
|
+
return "";
|
|
147
|
+
const traces = traceIntentToFiles(contract, files);
|
|
148
|
+
const groups = [
|
|
149
|
+
{ relation: "expected", label: "Expected scope", note: "Matched scope.include" },
|
|
150
|
+
{ relation: "allowed", label: "Allowed scope", note: "Matched scope.allow" },
|
|
151
|
+
{ relation: "outside", label: "Outside scope", note: "No declared path matched" },
|
|
152
|
+
{ relation: "unclassified", label: "Unclassified", note: "Expected paths not configured" },
|
|
153
|
+
];
|
|
154
|
+
const columns = groups.flatMap((group) => {
|
|
155
|
+
const matches = traces.filter((trace) => trace.relation === group.relation);
|
|
156
|
+
if (matches.length === 0)
|
|
157
|
+
return [];
|
|
158
|
+
return [
|
|
159
|
+
`<div class="intent-trace-group ${group.relation}" data-intent-group>
|
|
160
|
+
<h3>${group.label} <small data-intent-count>${matches.length}</small></h3>
|
|
161
|
+
<p>${group.note}</p>
|
|
162
|
+
<ul>${matches
|
|
163
|
+
.map((trace) => {
|
|
164
|
+
const fileIndex = files.findIndex((file) => file.path === trace.path);
|
|
165
|
+
return `<li data-report-path="${escapeHtml(trace.path)}"><a href="#file-${fileIndex}">${escapeHtml(trace.path)}</a>${trace.patterns.length === 0 ? "" : `<small>${escapeHtml(trace.patterns.join(", "))}</small>`}</li>`;
|
|
166
|
+
})
|
|
167
|
+
.join("")}</ul>
|
|
168
|
+
</div>`,
|
|
169
|
+
];
|
|
170
|
+
});
|
|
171
|
+
const root = contract.intent === undefined ? "Declared change" : contract.intent;
|
|
172
|
+
return renderSection("Request → changed files", "Contract path evidence", `<div class="intent-trace">
|
|
173
|
+
<div class="intent-trace-root"><span>REQUEST</span><strong>${escapeHtml(root)}</strong></div>
|
|
174
|
+
<div class="intent-trace-groups">${columns.join("") || renderEmpty("No changed files were found.")}</div>
|
|
175
|
+
</div><p class="intent-trace-note">Connections show declared path matches, not inferred natural-language intent.</p>`);
|
|
176
|
+
}
|
|
142
177
|
function renderFindings(findings, previews) {
|
|
143
178
|
const body = findings.length === 0
|
|
144
179
|
? renderEmpty("No potential issues were detected by the enabled rules.")
|
|
@@ -368,6 +403,7 @@ const reportScript = `(() => {
|
|
|
368
403
|
const graphNodes = [...document.querySelectorAll("[data-graph-path]")];
|
|
369
404
|
const graphEdges = [...document.querySelectorAll("[data-graph-from]")];
|
|
370
405
|
const graphStatus = document.getElementById("graph-visible-count");
|
|
406
|
+
const intentGroups = [...document.querySelectorAll("[data-intent-group]")];
|
|
371
407
|
function update() {
|
|
372
408
|
const path = input.value.trim().toLocaleLowerCase();
|
|
373
409
|
let findings = 0;
|
|
@@ -381,6 +417,12 @@ const reportScript = `(() => {
|
|
|
381
417
|
findingPaths.add(entry.getAttribute("data-report-path"));
|
|
382
418
|
}
|
|
383
419
|
}
|
|
420
|
+
for (const group of intentGroups) {
|
|
421
|
+
const count = [...group.querySelectorAll("li[data-report-path]")].filter((item) => !item.hidden).length;
|
|
422
|
+
group.hidden = count === 0;
|
|
423
|
+
const label = group.querySelector("[data-intent-count]");
|
|
424
|
+
if (label) label.textContent = String(count);
|
|
425
|
+
}
|
|
384
426
|
status.textContent = [findings, "findings shown"].join(" ");
|
|
385
427
|
const visiblePaths = new Set();
|
|
386
428
|
for (const node of graphNodes) {
|
|
@@ -505,6 +547,21 @@ details dl { display:grid; gap:7px; margin:12px 0 0; } details dl div { display:
|
|
|
505
547
|
.contract-grid div { padding:16px; background:var(--panel-2); }
|
|
506
548
|
.contract-grid dt { color:var(--muted); font-size:11px; text-transform:uppercase; letter-spacing:.08em; }
|
|
507
549
|
.contract-grid dd { margin:7px 0 0; overflow-wrap:anywhere; font:13px ui-monospace,SFMono-Regular,Menlo,monospace; }
|
|
550
|
+
.intent-trace { display:grid; grid-template-columns:minmax(170px,1fr) 3fr; gap:22px; align-items:start; }
|
|
551
|
+
.intent-trace-root,.intent-trace-group { padding:16px; border:1px solid var(--line); border-radius:12px; background:var(--panel-2); }
|
|
552
|
+
.intent-trace-root { border-color:var(--cyan); overflow-wrap:anywhere; }
|
|
553
|
+
.intent-trace-root span { display:block; margin-bottom:8px; color:var(--cyan); font-size:10px; font-weight:800; letter-spacing:.14em; }
|
|
554
|
+
.intent-trace-root strong { font-size:15px; }
|
|
555
|
+
.intent-trace-groups { display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:12px; border-left:2px solid var(--line); padding-left:20px; }
|
|
556
|
+
.intent-trace-group { position:relative; }
|
|
557
|
+
.intent-trace-group::before { content:""; position:absolute; width:20px; height:2px; left:-21px; top:29px; background:var(--line); }
|
|
558
|
+
.intent-trace-group.outside { border-color:var(--medium); }
|
|
559
|
+
.intent-trace-group h3 small { color:var(--muted); font-size:12px; }
|
|
560
|
+
.intent-trace-group p,.intent-trace-note { color:var(--muted); font-size:12px; }
|
|
561
|
+
.intent-trace-group ul { padding:0; margin:12px 0 0; list-style:none; }
|
|
562
|
+
.intent-trace-group li { padding:8px 0; border-top:1px solid var(--line); overflow-wrap:anywhere; }
|
|
563
|
+
.intent-trace-group li a { color:var(--text); font:12px ui-monospace,SFMono-Regular,Menlo,monospace; }
|
|
564
|
+
.intent-trace-group li small { display:block; margin-top:4px; color:var(--muted); }
|
|
508
565
|
.finding-list { display:grid; gap:10px; }
|
|
509
566
|
.finding { padding:18px; border:1px solid var(--line); border-left:3px solid var(--low); border-radius:12px; background:var(--panel-2); }
|
|
510
567
|
.finding.high { border-left-color:var(--high); }.finding.medium { border-left-color:var(--medium); }
|
|
@@ -553,6 +610,6 @@ td { padding:14px 12px; border-bottom:1px solid #202735; vertical-align:top; } t
|
|
|
553
610
|
.notes { display:grid; gap:8px; margin:0; padding-left:18px; color:#b9c2d0; }
|
|
554
611
|
.empty { margin:0; padding:28px; border:1px dashed #303949; border-radius:12px; color:var(--muted); text-align:center; }
|
|
555
612
|
footer { display:flex; justify-content:space-between; padding:26px 4px 0; color:#536074; font-size:11px; letter-spacing:.05em; text-transform:uppercase; }
|
|
556
|
-
@media (max-width:760px) { .shell{width:min(100% - 24px,1180px);padding-top:32px}.hero{align-items:flex-start;flex-direction:column}.metrics{grid-template-columns:repeat(2,1fr)}.contract-grid,.impact-list{grid-template-columns:1fr}.severity-bar{flex-wrap:wrap}.panel{padding:18px}.intent{grid-template-columns:1fr}.report-state{width:100%} }
|
|
613
|
+
@media (max-width:760px) { .shell{width:min(100% - 24px,1180px);padding-top:32px}.hero{align-items:flex-start;flex-direction:column}.metrics{grid-template-columns:repeat(2,1fr)}.contract-grid,.impact-list,.intent-trace{grid-template-columns:1fr}.intent-trace-groups{border-left:0;border-top:2px solid var(--line);padding:20px 0 0}.intent-trace-group::before{display:none}.severity-bar{flex-wrap:wrap}.panel{padding:18px}.intent{grid-template-columns:1fr}.report-state{width:100%} }
|
|
557
614
|
`;
|
|
558
615
|
//# sourceMappingURL=html-report.js.map
|