audit-tools 0.55.6 → 0.55.8
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/lineIndex.d.ts.map +1 -1
- package/dist/audit/cli/lineIndex.js +19 -41
- package/dist/audit/cli/lineIndex.js.map +1 -1
- package/dist/audit/cli/nextStepCommand.d.ts.map +1 -1
- package/dist/audit/cli/nextStepCommand.js +5 -2
- package/dist/audit/cli/nextStepCommand.js.map +1 -1
- package/dist/audit/cli/nextStepHelpers.d.ts +6 -6
- package/dist/audit/cli/nextStepHelpers.d.ts.map +1 -1
- package/dist/audit/cli/nextStepHelpers.js +52 -129
- package/dist/audit/cli/nextStepHelpers.js.map +1 -1
- package/dist/audit/extractors/disposition.d.ts.map +1 -1
- package/dist/audit/extractors/disposition.js +14 -38
- package/dist/audit/extractors/disposition.js.map +1 -1
- package/dist/audit/extractors/graphManifestEdges/go.d.ts.map +1 -1
- package/dist/audit/extractors/graphManifestEdges/go.js +4 -10
- package/dist/audit/extractors/graphManifestEdges/go.js.map +1 -1
- package/dist/audit/extractors/graphManifestEdges/maven.d.ts.map +1 -1
- package/dist/audit/extractors/graphManifestEdges/maven.js +4 -10
- package/dist/audit/extractors/graphManifestEdges/maven.js.map +1 -1
- package/dist/audit/extractors/graphManifestEdges/packageJson.d.ts.map +1 -1
- package/dist/audit/extractors/graphManifestEdges/packageJson.js +4 -12
- package/dist/audit/extractors/graphManifestEdges/packageJson.js.map +1 -1
- package/dist/audit/extractors/graphManifestEdges/typescript.d.ts.map +1 -1
- package/dist/audit/extractors/graphManifestEdges/typescript.js +4 -10
- package/dist/audit/extractors/graphManifestEdges/typescript.js.map +1 -1
- package/dist/audit/extractors/graphPathUtils.d.ts +2 -0
- package/dist/audit/extractors/graphPathUtils.d.ts.map +1 -1
- package/dist/audit/extractors/graphPathUtils.js +14 -0
- package/dist/audit/extractors/graphPathUtils.js.map +1 -1
- package/dist/audit/extractors/readFileText.d.ts.map +1 -1
- package/dist/audit/extractors/readFileText.js +34 -5
- package/dist/audit/extractors/readFileText.js.map +1 -1
- package/dist/audit/orchestrator/acquisitionExecutor.d.ts +5 -2
- package/dist/audit/orchestrator/acquisitionExecutor.d.ts.map +1 -1
- package/dist/audit/orchestrator/acquisitionExecutor.js +28 -22
- package/dist/audit/orchestrator/acquisitionExecutor.js.map +1 -1
- package/dist/audit/orchestrator/reviewPacketGraphContext.d.ts +17 -0
- package/dist/audit/orchestrator/reviewPacketGraphContext.d.ts.map +1 -1
- package/dist/audit/orchestrator/reviewPacketGraphContext.js +51 -14
- package/dist/audit/orchestrator/reviewPacketGraphContext.js.map +1 -1
- package/dist/audit/orchestrator/reviewPacketSizing.d.ts +4 -4
- package/dist/audit/orchestrator/reviewPacketSizing.d.ts.map +1 -1
- package/dist/audit/orchestrator/reviewPacketSizing.js +5 -5
- package/dist/audit/orchestrator/reviewPacketSizing.js.map +1 -1
- package/dist/audit/orchestrator/reviewPackets.d.ts +2 -1
- package/dist/audit/orchestrator/reviewPackets.d.ts.map +1 -1
- package/dist/audit/orchestrator/reviewPackets.js +19 -11
- package/dist/audit/orchestrator/reviewPackets.js.map +1 -1
- package/dist/audit/orchestrator/runtimeCommand.d.ts +9 -2
- package/dist/audit/orchestrator/runtimeCommand.d.ts.map +1 -1
- package/dist/audit/orchestrator/runtimeCommand.js +14 -22
- package/dist/audit/orchestrator/runtimeCommand.js.map +1 -1
- package/dist/audit/orchestrator/scope.d.ts.map +1 -1
- package/dist/audit/orchestrator/scope.js +7 -2
- package/dist/audit/orchestrator/scope.js.map +1 -1
- package/dist/audit/orchestrator/scopeIndexBaseline.d.ts.map +1 -1
- package/dist/audit/orchestrator/scopeIndexBaseline.js +7 -29
- package/dist/audit/orchestrator/scopeIndexBaseline.js.map +1 -1
- package/dist/audit/orchestrator/selectiveDeepening/conflict.d.ts +6 -2
- package/dist/audit/orchestrator/selectiveDeepening/conflict.d.ts.map +1 -1
- package/dist/audit/orchestrator/selectiveDeepening/conflict.js +45 -4
- package/dist/audit/orchestrator/selectiveDeepening/conflict.js.map +1 -1
- package/dist/audit/orchestrator/selectiveDeepening/index.d.ts.map +1 -1
- package/dist/audit/orchestrator/selectiveDeepening/index.js +4 -4
- package/dist/audit/orchestrator/selectiveDeepening/index.js.map +1 -1
- package/dist/remediate/phases/close.d.ts.map +1 -1
- package/dist/remediate/phases/close.js +10 -7
- package/dist/remediate/phases/close.js.map +1 -1
- package/dist/remediate/phases/closeAcceptance.d.ts.map +1 -1
- package/dist/remediate/phases/closeAcceptance.js +2 -0
- package/dist/remediate/phases/closeAcceptance.js.map +1 -1
- package/dist/remediate/phases/closeVerifyAnalyzerLeads.d.ts +2 -1
- package/dist/remediate/phases/closeVerifyAnalyzerLeads.d.ts.map +1 -1
- package/dist/remediate/phases/closeVerifyAnalyzerLeads.js +10 -9
- package/dist/remediate/phases/closeVerifyAnalyzerLeads.js.map +1 -1
- package/dist/remediate/state/dirtyBaseline.d.ts +10 -0
- package/dist/remediate/state/dirtyBaseline.d.ts.map +1 -0
- package/dist/remediate/state/dirtyBaseline.js +18 -0
- package/dist/remediate/state/dirtyBaseline.js.map +1 -0
- package/dist/remediate/state/store.d.ts +4 -4
- package/dist/remediate/state/store.d.ts.map +1 -1
- package/dist/remediate/state/store.js +8 -0
- package/dist/remediate/state/store.js.map +1 -1
- package/dist/remediate/steps/dispatch/hostCorroboration.d.ts.map +1 -1
- package/dist/remediate/steps/dispatch/hostCorroboration.js +34 -82
- package/dist/remediate/steps/dispatch/hostCorroboration.js.map +1 -1
- package/dist/remediate/steps/dispatch/hostHandoff.d.ts.map +1 -1
- package/dist/remediate/steps/dispatch/hostHandoff.js +6 -1
- package/dist/remediate/steps/dispatch/hostHandoff.js.map +1 -1
- package/dist/remediate/steps/finalGate.d.ts.map +1 -1
- package/dist/remediate/steps/finalGate.js +11 -5
- package/dist/remediate/steps/finalGate.js.map +1 -1
- package/dist/remediate/steps/gateCommands.d.ts +1 -0
- package/dist/remediate/steps/gateCommands.d.ts.map +1 -1
- package/dist/remediate/steps/gateCommands.js +7 -11
- package/dist/remediate/steps/gateCommands.js.map +1 -1
- package/dist/remediate/steps/nextStep.d.ts +0 -10
- package/dist/remediate/steps/nextStep.d.ts.map +1 -1
- package/dist/remediate/steps/nextStep.js +55 -59
- package/dist/remediate/steps/nextStep.js.map +1 -1
- package/dist/shared/analyzers/acquisitionEngine.d.ts +12 -5
- package/dist/shared/analyzers/acquisitionEngine.d.ts.map +1 -1
- package/dist/shared/analyzers/acquisitionEngine.js +86 -38
- package/dist/shared/analyzers/acquisitionEngine.js.map +1 -1
- package/dist/shared/analyzers/binaryAcquisition.d.ts +17 -41
- package/dist/shared/analyzers/binaryAcquisition.d.ts.map +1 -1
- package/dist/shared/analyzers/binaryAcquisition.js +260 -227
- package/dist/shared/analyzers/binaryAcquisition.js.map +1 -1
- package/dist/shared/analyzers/binaryFetcher.d.ts +4 -0
- package/dist/shared/analyzers/binaryFetcher.d.ts.map +1 -0
- package/dist/shared/analyzers/binaryFetcher.js +79 -0
- package/dist/shared/analyzers/binaryFetcher.js.map +1 -0
- package/dist/shared/analyzers/binaryVersions.d.ts +5 -0
- package/dist/shared/analyzers/binaryVersions.d.ts.map +1 -0
- package/dist/shared/analyzers/binaryVersions.js +31 -0
- package/dist/shared/analyzers/binaryVersions.js.map +1 -0
- package/dist/shared/analyzers/candidates.d.ts +3 -3
- package/dist/shared/analyzers/candidates.d.ts.map +1 -1
- package/dist/shared/analyzers/candidates.js +35 -12
- package/dist/shared/analyzers/candidates.js.map +1 -1
- package/dist/shared/git.d.ts +38 -3
- package/dist/shared/git.d.ts.map +1 -1
- package/dist/shared/git.js +169 -55
- package/dist/shared/git.js.map +1 -1
- package/dist/shared/gitTrackedPaths.d.ts +39 -0
- package/dist/shared/gitTrackedPaths.d.ts.map +1 -0
- package/dist/shared/gitTrackedPaths.js +29 -0
- package/dist/shared/gitTrackedPaths.js.map +1 -0
- package/dist/shared/index.d.ts +4 -2
- package/dist/shared/index.d.ts.map +1 -1
- package/dist/shared/index.js +5 -2
- package/dist/shared/index.js.map +1 -1
- package/dist/shared/io/sourcePath.d.ts +8 -0
- package/dist/shared/io/sourcePath.d.ts.map +1 -0
- package/dist/shared/io/sourcePath.js +38 -0
- package/dist/shared/io/sourcePath.js.map +1 -0
- package/dist/shared/tooling/exec.d.ts +1 -0
- package/dist/shared/tooling/exec.d.ts.map +1 -1
- package/dist/shared/tooling/exec.js +20 -4
- package/dist/shared/tooling/exec.js.map +1 -1
- package/dist/shared/tooling/resolveExecutable.d.ts +10 -0
- package/dist/shared/tooling/resolveExecutable.d.ts.map +1 -0
- package/dist/shared/tooling/resolveExecutable.js +46 -0
- package/dist/shared/tooling/resolveExecutable.js.map +1 -0
- package/dist/shared/validation/citationGrounding.d.ts +1 -1
- package/dist/shared/validation/citationGrounding.d.ts.map +1 -1
- package/dist/shared/validation/citationGrounding.js +24 -11
- package/dist/shared/validation/citationGrounding.js.map +1 -1
- package/dist/shared/validation/findingGrounding.d.ts +1 -1
- package/dist/shared/validation/findingGrounding.d.ts.map +1 -1
- package/dist/shared/validation/findingGrounding.js +11 -23
- package/dist/shared/validation/findingGrounding.js.map +1 -1
- package/package.json +2 -2
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
// sites-pinned: tests/audit/scope.test.ts
|
|
2
|
+
import { readChangedFiles, gitRefExists, isGitRepo, pathMatchesPrefix, compareCodeUnits } from "audit-tools/shared";
|
|
2
3
|
import { buildDispositionMap } from "../extractors/disposition.js";
|
|
3
4
|
import { buildPathLookup } from "../extractors/graph.js";
|
|
4
5
|
import { HIGH_FAN_DEGREE_THRESHOLD, buildGraphDegreeIndex, collectGraphEdges, graphEdgeConfidence, normalizeGraphPath, } from "./reviewPacketGraph.js";
|
|
@@ -176,6 +177,10 @@ export async function resolveAuditScope(input) {
|
|
|
176
177
|
if (!(await gitRefExists(input.root, since))) {
|
|
177
178
|
return fullAuditScope(input.budget, `--since '${since}' could not be resolved to a commit, so a full audit ran.`);
|
|
178
179
|
}
|
|
180
|
+
const changed = await readChangedFiles(input.root, since);
|
|
181
|
+
if (!changed.ok) {
|
|
182
|
+
return fullAuditScope(input.budget, `The delta could not be established, so a full audit is used: ${changed.reason.slice(0, 512)}`);
|
|
183
|
+
}
|
|
179
184
|
const dispositionMap = buildDispositionMap(input.bundle.file_disposition);
|
|
180
185
|
const includedFiles = input.bundle.repo_manifest
|
|
181
186
|
? [
|
|
@@ -184,7 +189,7 @@ export async function resolveAuditScope(input) {
|
|
|
184
189
|
: [];
|
|
185
190
|
return computeAuditScope({
|
|
186
191
|
since,
|
|
187
|
-
changed:
|
|
192
|
+
changed: changed.paths,
|
|
188
193
|
includedFiles,
|
|
189
194
|
graphBundle: input.bundle.graph_bundle,
|
|
190
195
|
budget: input.budget,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scope.js","sourceRoot":"","sources":["../../../src/audit/orchestrator/scope.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"scope.js","sourceRoot":"","sources":["../../../src/audit/orchestrator/scope.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scopeIndexBaseline.d.ts","sourceRoot":"","sources":["../../../src/audit/orchestrator/scopeIndexBaseline.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"scopeIndexBaseline.d.ts","sourceRoot":"","sources":["../../../src/audit/orchestrator/scopeIndexBaseline.ts"],"names":[],"mappings":"AA6CA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAGhD;;;;;;;;;GASG;AACH,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,MAAM,EACZ,cAAc,EAAE,SAAS,MAAM,EAAE,GAChC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAWxB;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,WAAW,cAAc;IAC7B,iEAAiE;IACjE,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;mFAC+E;IAC/E,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED;;;GAGG;AACH,wBAAsB,wBAAwB,CAC5C,IAAI,EAAE,cAAc,GAAG,SAAS,EAChC,IAAI,EAAE,MAAM,EACZ,cAAc,EAAE,SAAS,MAAM,EAAE,GAChC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CASxB;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,YAAY,EAAE,YAAY,GAAG,SAAS,EACtC,GAAG,EAAE,MAAM,GAAG,IAAI,GACjB,YAAY,GAAG,SAAS,CAG1B"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
// sites-pinned: tests/audit/recursive-tracked-adapters.test.ts, tests/audit/scope-index-probe-per-fold.test.ts
|
|
1
2
|
/**
|
|
2
3
|
* The live git-index probe behind `repo_manifest.json`'s `scope_index_key`.
|
|
3
4
|
*
|
|
@@ -34,19 +35,10 @@
|
|
|
34
35
|
* leaves unset: the manifest then carries no index claim at all, and the
|
|
35
36
|
* pre-existing content-only behaviour is preserved verbatim.
|
|
36
37
|
*
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
* with `--recurse-submodules`, and so does the citation-grounding corpus
|
|
40
|
-
* (`enumerateTrackedFilePaths`) — the flag is ONE decision shared by all three,
|
|
41
|
-
* because "tracked" must mean one thing everywhere or a finding grounds against
|
|
42
|
-
* a file the disposition excluded. A probe without the flag returns a stable,
|
|
43
|
-
* plausible key that simply cannot see a move INSIDE a submodule: the gitlink
|
|
44
|
-
* line is unchanged, the parent's own entries are unchanged, so
|
|
45
|
-
* `scope_index_key` holds still while the recursive tracked set moves — and the
|
|
46
|
-
* stale `file_disposition.json` this probe exists to catch is carried forward
|
|
47
|
-
* silently, for exactly the repos that have first-party submodules.
|
|
38
|
+
* Recursive enumeration is owned by readRecursiveTrackedPaths, shared with
|
|
39
|
+
* disposition and grounding, so an index-only submodule move is observable.
|
|
48
40
|
*/
|
|
49
|
-
import { hashContent,
|
|
41
|
+
import { hashContent, readRecursiveTrackedPaths, normalizeRepoPath, } from "audit-tools/shared";
|
|
50
42
|
import { toPosixPath } from "audit-tools/shared";
|
|
51
43
|
/**
|
|
52
44
|
* Probe the live git index for the audited candidate set and return a stable
|
|
@@ -61,24 +53,10 @@ import { toPosixPath } from "audit-tools/shared";
|
|
|
61
53
|
export async function probeScopeIndexKey(root, candidatePaths) {
|
|
62
54
|
if (candidatePaths.length === 0)
|
|
63
55
|
return null;
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
result = await runTrackedAsync(["git", "ls-files", "-z", "--recurse-submodules"], {
|
|
67
|
-
cwd: root,
|
|
68
|
-
encoding: "utf8",
|
|
69
|
-
maxBuffer: 256 * 1024 * 1024,
|
|
70
|
-
timeout: TRACKED_CHILD_DEADLINE_MS,
|
|
71
|
-
});
|
|
72
|
-
}
|
|
73
|
-
catch {
|
|
74
|
-
return null;
|
|
75
|
-
}
|
|
76
|
-
if (result.error || result.status !== 0)
|
|
56
|
+
const result = await readRecursiveTrackedPaths(root);
|
|
57
|
+
if (!result.ok)
|
|
77
58
|
return null;
|
|
78
|
-
const tracked = new Set(
|
|
79
|
-
.split("\0")
|
|
80
|
-
.filter((path) => path.length > 0)
|
|
81
|
-
.map(normalizeRepoPath));
|
|
59
|
+
const tracked = new Set(result.paths.map(normalizeRepoPath));
|
|
82
60
|
const trackedCandidates = candidatePaths
|
|
83
61
|
.map((path) => normalizeRepoPath(toPosixPath(path)))
|
|
84
62
|
.filter((path) => tracked.has(path))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scopeIndexBaseline.js","sourceRoot":"","sources":["../../../src/audit/orchestrator/scopeIndexBaseline.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"scopeIndexBaseline.js","sourceRoot":"","sources":["../../../src/audit/orchestrator/scopeIndexBaseline.ts"],"names":[],"mappings":"AAAA,+GAA+G;AAC/G;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,OAAO,EACL,WAAW,EACX,yBAAyB,EACzB,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,IAAY,EACZ,cAAiC;IAEjC,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC7C,MAAM,MAAM,GAAG,MAAM,yBAAyB,CAAC,IAAI,CAAC,CAAC;IACrD,IAAI,CAAC,MAAM,CAAC,EAAE;QAAE,OAAO,IAAI,CAAC;IAE5B,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAC7D,MAAM,iBAAiB,GAAG,cAAc;SACrC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,iBAAiB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;SACnD,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;SACnC,IAAI,EAAE,CAAC;IACV,OAAO,WAAW,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACnD,CAAC;AAkCD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,IAAgC,EAChC,IAAY,EACZ,cAAiC;IAEjC,MAAM,GAAG,GAAG,GAAG,IAAI,KAAK,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IACpD,IAAI,IAAI,IAAI,IAAI,CAAC,GAAG,KAAK,GAAG;QAAE,OAAO,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC;IACxD,MAAM,KAAK,GAAG,MAAM,kBAAkB,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IAC7D,IAAI,IAAI,EAAE,CAAC;QACT,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAC/B,YAAsC,EACtC,GAAkB;IAElB,IAAI,CAAC,YAAY,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,YAAY,CAAC;IACvD,OAAO,EAAE,GAAG,YAAY,EAAE,eAAe,EAAE,GAAG,EAAE,CAAC;AACnD,CAAC"}
|
|
@@ -2,8 +2,12 @@ import type { AuditTask } from "../../types.js";
|
|
|
2
2
|
import { type FindingContext } from "./shared.js";
|
|
3
3
|
export declare function buildConflictFollowupTask(params: {
|
|
4
4
|
contexts: FindingContext[];
|
|
5
|
-
|
|
5
|
+
conflictKeys: string[];
|
|
6
6
|
lineIndex?: Record<string, number>;
|
|
7
7
|
}): AuditTask;
|
|
8
|
-
|
|
8
|
+
/** Coalesce only already-qualified buckets with exactly the same member set. */
|
|
9
|
+
export declare function coalescedConflictGroups(contexts: FindingContext[], lineIndex?: Record<string, number>): Array<{
|
|
10
|
+
conflictKeys: string[];
|
|
11
|
+
contexts: FindingContext[];
|
|
12
|
+
}>;
|
|
9
13
|
//# sourceMappingURL=conflict.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conflict.d.ts","sourceRoot":"","sources":["../../../../src/audit/orchestrator/selectiveDeepening/conflict.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"conflict.d.ts","sourceRoot":"","sources":["../../../../src/audit/orchestrator/selectiveDeepening/conflict.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAe,SAAS,EAAQ,MAAM,gBAAgB,CAAC;AACnE,OAAO,EAGL,KAAK,cAAc,EAMpB,MAAM,aAAa,CAAC;AAErB,wBAAgB,yBAAyB,CAAC,MAAM,EAAE;IAChD,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACpC,GAAG,SAAS,CAqDZ;AA+BD,gFAAgF;AAChF,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,cAAc,EAAE,EAC1B,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACjC,KAAK,CAAC;IAAE,YAAY,EAAE,MAAM,EAAE,CAAC;IAAC,QAAQ,EAAE,cAAc,EAAE,CAAA;CAAE,CAAC,CAsC/D"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
// sites-pinned: tests/audit/selective-deepening-conflicts.test.ts, tests/audit/selective-deepening-handoff.test.ts
|
|
2
|
+
import { compareCodeUnits, stableStringify } from "audit-tools/shared";
|
|
1
3
|
import { lineCountForPath } from "../lineCounts.js";
|
|
2
4
|
import { CONFIDENCE_RANK, DEEPENING_TAG, SEVERITY_RANK, sanitizeSegment, taskIdFor, uniqueSorted, } from "./shared.js";
|
|
3
5
|
export function buildConflictFollowupTask(params) {
|
|
@@ -16,7 +18,7 @@ export function buildConflictFollowupTask(params) {
|
|
|
16
18
|
const findingIds = uniqueSorted(params.contexts.map((context) => context.finding.id));
|
|
17
19
|
return {
|
|
18
20
|
task_id: taskIdFor("conflict", [
|
|
19
|
-
params.
|
|
21
|
+
params.conflictKeys[0],
|
|
20
22
|
...sourceTaskIds,
|
|
21
23
|
...findingIds,
|
|
22
24
|
]),
|
|
@@ -33,18 +35,18 @@ export function buildConflictFollowupTask(params) {
|
|
|
33
35
|
: (params.lineIndex?.[path] ?? 0),
|
|
34
36
|
];
|
|
35
37
|
})),
|
|
36
|
-
rationale: `Reconcile conflicting audit output for ${params.
|
|
38
|
+
rationale: `Reconcile conflicting audit output for ${params.conflictKeys.join(", ")}. ` +
|
|
37
39
|
`Compare source tasks ${sourceTaskIds.join(", ")} and decide the correct severity, confidence, and evidence-backed conclusion.`,
|
|
38
40
|
priority: maxSeverity >= SEVERITY_RANK.high ? "high" : "medium",
|
|
39
41
|
tags: [
|
|
40
42
|
DEEPENING_TAG,
|
|
41
43
|
"trigger:conflicting_output",
|
|
42
|
-
...sourceTaskIds.
|
|
44
|
+
...sourceTaskIds.map((id) => `source_task:${sanitizeSegment(id)}`),
|
|
43
45
|
],
|
|
44
46
|
status: "pending",
|
|
45
47
|
};
|
|
46
48
|
}
|
|
47
|
-
|
|
49
|
+
function conflictGroups(contexts) {
|
|
48
50
|
const groups = new Map();
|
|
49
51
|
for (const context of contexts) {
|
|
50
52
|
for (const path of context.paths) {
|
|
@@ -70,4 +72,43 @@ export function conflictGroups(contexts) {
|
|
|
70
72
|
}
|
|
71
73
|
return groups;
|
|
72
74
|
}
|
|
75
|
+
/** Coalesce only already-qualified buckets with exactly the same member set. */
|
|
76
|
+
export function coalescedConflictGroups(contexts, lineIndex) {
|
|
77
|
+
function members(group) {
|
|
78
|
+
const ordered = group.map((context) => {
|
|
79
|
+
const paths = uniqueSorted(context.paths);
|
|
80
|
+
return {
|
|
81
|
+
context,
|
|
82
|
+
primary: stableStringify([
|
|
83
|
+
context.result.task_id, context.result.unit_id, context.result.pass_id,
|
|
84
|
+
context.result.lens, context.result.agent_role ?? null,
|
|
85
|
+
context.finding.id, context.finding.category, context.finding, paths,
|
|
86
|
+
]),
|
|
87
|
+
// Only effective builder inputs break equal-member ties. This is a
|
|
88
|
+
// lexicographic representative choice, not a preference for more lines.
|
|
89
|
+
secondary: stableStringify(paths.map((path) => [path, lineCountForPath(path, {
|
|
90
|
+
task: context.task, result: context.result, lineIndex,
|
|
91
|
+
})])),
|
|
92
|
+
};
|
|
93
|
+
}).sort((a, b) => compareCodeUnits(a.primary, b.primary) || compareCodeUnits(a.secondary, b.secondary));
|
|
94
|
+
return ordered.filter((member, index) => index === 0 || member.primary !== ordered[index - 1].primary);
|
|
95
|
+
}
|
|
96
|
+
const classes = new Map();
|
|
97
|
+
for (const [key, group] of conflictGroups(contexts)) {
|
|
98
|
+
const canonical = members(group);
|
|
99
|
+
const membership = stableStringify(canonical.map((member) => member.primary));
|
|
100
|
+
const existing = classes.get(membership);
|
|
101
|
+
if (existing) {
|
|
102
|
+
existing.conflictKeys.push(key);
|
|
103
|
+
existing.contexts.push(...canonical.map((member) => member.context));
|
|
104
|
+
}
|
|
105
|
+
else {
|
|
106
|
+
classes.set(membership, { conflictKeys: [key], contexts: canonical.map((member) => member.context) });
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
return [...classes.values()].map((group) => ({
|
|
110
|
+
conflictKeys: uniqueSorted(group.conflictKeys),
|
|
111
|
+
contexts: members(group.contexts).map((member) => member.context),
|
|
112
|
+
})).sort((a, b) => compareCodeUnits(a.conflictKeys[0], b.conflictKeys[0]));
|
|
113
|
+
}
|
|
73
114
|
//# sourceMappingURL=conflict.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conflict.js","sourceRoot":"","sources":["../../../../src/audit/orchestrator/selectiveDeepening/conflict.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD,OAAO,EACL,eAAe,EACf,aAAa,EAEb,aAAa,EAEb,eAAe,EACf,SAAS,EACT,YAAY,GACb,MAAM,aAAa,CAAC;AAErB,MAAM,UAAU,yBAAyB,CAAC,MAIzC;IACC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC;IAChC,MAAM,KAAK,GAAG,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IAChF,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAC1B,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAC7E,CAAC;IACF,MAAM,WAAW,GAAG,IAAI,GAAG,EAAqD,CAAC;IACjF,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACtC,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YACjC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC3B,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;YACxE,CAAC;QACH,CAAC;IACH,CAAC;IACD,MAAM,aAAa,GAAG,YAAY,CAChC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CACzD,CAAC;IACF,MAAM,UAAU,GAAG,YAAY,CAC7B,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CACrD,CAAC;IAEF,OAAO;QACL,OAAO,EAAE,SAAS,CAAC,UAAU,EAAE;YAC7B,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"conflict.js","sourceRoot":"","sources":["../../../../src/audit/orchestrator/selectiveDeepening/conflict.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/audit/orchestrator/selectiveDeepening/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/audit/orchestrator/selectiveDeepening/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EACL,KAAK,kCAAkC,EAKxC,MAAM,aAAa,CAAC;AAgBrB,YAAY,EAAE,kCAAkC,EAAE,MAAM,aAAa,CAAC;AAEtE;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,kCAAkC,GAC1C,SAAS,EAAE,CAkKb"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { SEVERITY_RANK, intersects, isDeepeningTask, priorityRank, } from "./shared.js";
|
|
2
2
|
import { buildFindingFollowupTask, findingContexts } from "./findingFollowup.js";
|
|
3
|
-
import { buildConflictFollowupTask,
|
|
3
|
+
import { buildConflictFollowupTask, coalescedConflictGroups } from "./conflict.js";
|
|
4
4
|
import { buildHighRiskCleanFollowupTask, isHighRiskCleanResult, } from "./highRiskClean.js";
|
|
5
5
|
import { buildRuntimeValidationFollowupTask, runtimeResultNeedsFollowup, runtimeValidationHasStrongStaticFinding, } from "./runtimeValidation.js";
|
|
6
6
|
import { buildLensVerificationTasks } from "./lensVerification.js";
|
|
@@ -63,10 +63,10 @@ export function buildSelectiveDeepeningTasks(options) {
|
|
|
63
63
|
}
|
|
64
64
|
strategyContributions["finding_followup"] = created.length - beforeFindingFollowup;
|
|
65
65
|
let beforeConflict = created.length;
|
|
66
|
-
for (const
|
|
66
|
+
for (const group of coalescedConflictGroups(contexts, options.lineIndex)) {
|
|
67
67
|
pushIfNew(buildConflictFollowupTask({
|
|
68
|
-
contexts: group,
|
|
69
|
-
|
|
68
|
+
contexts: group.contexts,
|
|
69
|
+
conflictKeys: group.conflictKeys,
|
|
70
70
|
lineIndex: options.lineIndex,
|
|
71
71
|
}));
|
|
72
72
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/audit/orchestrator/selectiveDeepening/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/audit/orchestrator/selectiveDeepening/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"close.d.ts","sourceRoot":"","sources":["../../../src/remediate/phases/close.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"close.d.ts","sourceRoot":"","sources":["../../../src/remediate/phases/close.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { readGitPathList } from "audit-tools/shared";
|
|
2
|
+
import { admitRemediationDirtyBaseline } from "../state/dirtyBaseline.js";
|
|
1
3
|
import { assertApprovedRuntimePlan, RemediationPlanAuthorityError } from "../contractPipeline/runtimePlanAuthority.js";
|
|
2
4
|
import { executionPlanContextIssues } from "../contractPipeline/executionPlan.js";
|
|
3
5
|
import { contentSha256 } from "../../shared/submission/hostHandoffCore.js";
|
|
@@ -660,8 +662,8 @@ const AUDIT_TOOLS_EXCLUDE_PATTERN = /^\.audit-tools\//;
|
|
|
660
662
|
* which paths the commit changed; it does not prove the tool owns any
|
|
661
663
|
* still-dirty pre-run content at those paths. Excluding source (1) paths too
|
|
662
664
|
* prevents a merge attestation from sweeping the user's earlier WIP into a
|
|
663
|
-
* later closing commit.
|
|
664
|
-
* `run_start_dirty`
|
|
665
|
+
* later closing commit.
|
|
666
|
+
* Unmarked legacy `run_start_dirty` cannot authorize closing work.
|
|
665
667
|
*
|
|
666
668
|
* An empty surface is legitimate (e.g. a run that only produced
|
|
667
669
|
* `resolved_no_change` / skipped items) and correctly yields an empty
|
|
@@ -675,7 +677,7 @@ const AUDIT_TOOLS_EXCLUDE_PATTERN = /^\.audit-tools\//;
|
|
|
675
677
|
*/
|
|
676
678
|
function resolveEditSurfaceManifest(state) {
|
|
677
679
|
const files = new Set();
|
|
678
|
-
const runStartDirtyKeys = new Set((state
|
|
680
|
+
const runStartDirtyKeys = new Set(admitRemediationDirtyBaseline(state).map(normalizeRepoPath));
|
|
679
681
|
// Accepted source changes already live in their corroborated commits. A
|
|
680
682
|
// later dirty version, even one restoring the original reviewed bytes, is
|
|
681
683
|
// not attributed by that commit. Preserve it as leftover rather than stage
|
|
@@ -845,6 +847,7 @@ const PREVIEW_ACTIONS = new Set(["commit", "push", "open-pr", "publish"]);
|
|
|
845
847
|
* no files to stage).
|
|
846
848
|
*/
|
|
847
849
|
async function checkClosingPreview(state, options) {
|
|
850
|
+
admitRemediationDirtyBaseline(state);
|
|
848
851
|
const closingPlan = state.closing_plan;
|
|
849
852
|
if (closingPlan.pre_authorized === true)
|
|
850
853
|
return undefined;
|
|
@@ -881,11 +884,9 @@ async function commitClosingFiles(root, files, message, run, commands) {
|
|
|
881
884
|
if (!foldCollision) {
|
|
882
885
|
return run("git", ["commit", "-m", message, "--", ...files]);
|
|
883
886
|
}
|
|
884
|
-
const listed = await
|
|
887
|
+
const listed = await readGitPathList(root, ["diff", "--cached", "--name-only", "--no-renames", "--ignore-submodules=none", "-z"], { timeout: CLOSING_CHILD_DEADLINE_MS, windowsHide: true });
|
|
885
888
|
const own = new Set(files);
|
|
886
|
-
const foreign = listed.
|
|
887
|
-
? String(listed.stdout).split("\0").filter((path) => path && !own.has(path))
|
|
888
|
-
: null;
|
|
889
|
+
const foreign = listed.ok ? listed.paths.filter(path => !own.has(path)) : null;
|
|
889
890
|
if (foreign === null || foreign.length > 0) {
|
|
890
891
|
commands.push({
|
|
891
892
|
command: [],
|
|
@@ -908,6 +909,7 @@ async function commitClosingFiles(root, files, message, run, commands) {
|
|
|
908
909
|
* lock is a liveness hazard rather than a style preference.
|
|
909
910
|
*/
|
|
910
911
|
export async function executeClosingAction(state, options) {
|
|
912
|
+
admitRemediationDirtyBaseline(state);
|
|
911
913
|
const action = state.closing_plan.action;
|
|
912
914
|
if (action === "none") {
|
|
913
915
|
return {
|
|
@@ -1797,6 +1799,7 @@ async function assertClosingPlanAuthority(state, options) {
|
|
|
1797
1799
|
throw new RemediationPlanAuthorityError(issues.join("; "));
|
|
1798
1800
|
}
|
|
1799
1801
|
export async function runClosePhase(state, options, runLogger) {
|
|
1802
|
+
admitRemediationDirtyBaseline(state);
|
|
1800
1803
|
console.log("Running Close Phase...");
|
|
1801
1804
|
if (!state.plan || !state.items || !state.closing_plan) {
|
|
1802
1805
|
throw new Error("Cannot run close phase: missing plan, items, or closing_plan from state.");
|