audit-tools 0.42.0 → 0.43.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.
Files changed (261) hide show
  1. package/dispatch/merge-results.mjs +229 -140
  2. package/dispatch/validate-result.mjs +98 -40
  3. package/dist/audit/cli/conceptualDispatch.d.ts.map +1 -1
  4. package/dist/audit/cli/conceptualDispatch.js +35 -3
  5. package/dist/audit/cli/conceptualDispatch.js.map +1 -1
  6. package/dist/audit/cli/dispatch/hostHandoff.d.ts +9 -1
  7. package/dist/audit/cli/dispatch/hostHandoff.d.ts.map +1 -1
  8. package/dist/audit/cli/dispatch/hostHandoff.js +94 -38
  9. package/dist/audit/cli/dispatch/hostHandoff.js.map +1 -1
  10. package/dist/audit/cli/nextStepCommand.d.ts +64 -0
  11. package/dist/audit/cli/nextStepCommand.d.ts.map +1 -1
  12. package/dist/audit/cli/nextStepCommand.js +877 -783
  13. package/dist/audit/cli/nextStepCommand.js.map +1 -1
  14. package/dist/audit/cli/nextStepHelpers.d.ts +12 -0
  15. package/dist/audit/cli/nextStepHelpers.d.ts.map +1 -1
  16. package/dist/audit/cli/nextStepHelpers.js +34 -1
  17. package/dist/audit/cli/nextStepHelpers.js.map +1 -1
  18. package/dist/audit/cli/steps.d.ts +2 -2
  19. package/dist/audit/extractors/graph.d.ts +28 -2
  20. package/dist/audit/extractors/graph.d.ts.map +1 -1
  21. package/dist/audit/extractors/graph.js +122 -11
  22. package/dist/audit/extractors/graph.js.map +1 -1
  23. package/dist/audit/extractors/graphRoutes.d.ts +8 -0
  24. package/dist/audit/extractors/graphRoutes.d.ts.map +1 -1
  25. package/dist/audit/extractors/graphRoutes.js +71 -4
  26. package/dist/audit/extractors/graphRoutes.js.map +1 -1
  27. package/dist/audit/io/artifacts.d.ts +55 -0
  28. package/dist/audit/io/artifacts.d.ts.map +1 -1
  29. package/dist/audit/io/artifacts.js +189 -12
  30. package/dist/audit/io/artifacts.js.map +1 -1
  31. package/dist/audit/io/toolingManifest.d.ts +11 -0
  32. package/dist/audit/io/toolingManifest.d.ts.map +1 -1
  33. package/dist/audit/io/toolingManifest.js +13 -3
  34. package/dist/audit/io/toolingManifest.js.map +1 -1
  35. package/dist/audit/orchestrator/advance.d.ts +64 -0
  36. package/dist/audit/orchestrator/advance.d.ts.map +1 -1
  37. package/dist/audit/orchestrator/advance.js +191 -57
  38. package/dist/audit/orchestrator/advance.js.map +1 -1
  39. package/dist/audit/orchestrator/charterClarificationExecutor.d.ts.map +1 -1
  40. package/dist/audit/orchestrator/charterClarificationExecutor.js +55 -21
  41. package/dist/audit/orchestrator/charterClarificationExecutor.js.map +1 -1
  42. package/dist/audit/orchestrator/flowCoverage.d.ts.map +1 -1
  43. package/dist/audit/orchestrator/flowCoverage.js +7 -10
  44. package/dist/audit/orchestrator/flowCoverage.js.map +1 -1
  45. package/dist/audit/orchestrator/flowPlanning.d.ts +54 -1
  46. package/dist/audit/orchestrator/flowPlanning.d.ts.map +1 -1
  47. package/dist/audit/orchestrator/flowPlanning.js +77 -18
  48. package/dist/audit/orchestrator/flowPlanning.js.map +1 -1
  49. package/dist/audit/orchestrator/flowRequeue.d.ts.map +1 -1
  50. package/dist/audit/orchestrator/flowRequeue.js +6 -10
  51. package/dist/audit/orchestrator/flowRequeue.js.map +1 -1
  52. package/dist/audit/orchestrator/partitionTaskGraph.d.ts.map +1 -1
  53. package/dist/audit/orchestrator/partitionTaskGraph.js +2 -2
  54. package/dist/audit/orchestrator/partitionTaskGraph.js.map +1 -1
  55. package/dist/audit/orchestrator/requeueFold.d.ts.map +1 -1
  56. package/dist/audit/orchestrator/requeueFold.js +18 -5
  57. package/dist/audit/orchestrator/requeueFold.js.map +1 -1
  58. package/dist/audit/orchestrator/staleness.d.ts +24 -1
  59. package/dist/audit/orchestrator/staleness.d.ts.map +1 -1
  60. package/dist/audit/orchestrator/staleness.js +147 -16
  61. package/dist/audit/orchestrator/staleness.js.map +1 -1
  62. package/dist/audit/orchestrator/syntaxResolutionExecutor.d.ts +26 -0
  63. package/dist/audit/orchestrator/syntaxResolutionExecutor.d.ts.map +1 -1
  64. package/dist/audit/orchestrator/syntaxResolutionExecutor.js +97 -12
  65. package/dist/audit/orchestrator/syntaxResolutionExecutor.js.map +1 -1
  66. package/dist/audit/orchestrator/taskBuilder.d.ts.map +1 -1
  67. package/dist/audit/orchestrator/taskBuilder.js +111 -21
  68. package/dist/audit/orchestrator/taskBuilder.js.map +1 -1
  69. package/dist/audit/orchestrator/trivialAudit.d.ts +17 -1
  70. package/dist/audit/orchestrator/trivialAudit.d.ts.map +1 -1
  71. package/dist/audit/orchestrator/trivialAudit.js +31 -4
  72. package/dist/audit/orchestrator/trivialAudit.js.map +1 -1
  73. package/dist/audit/reporting/synthesis.d.ts.map +1 -1
  74. package/dist/audit/reporting/synthesis.js +2 -3
  75. package/dist/audit/reporting/synthesis.js.map +1 -1
  76. package/dist/audit/reporting/workBlocks.d.ts.map +1 -1
  77. package/dist/audit/reporting/workBlocks.js +4 -38
  78. package/dist/audit/reporting/workBlocks.js.map +1 -1
  79. package/dist/audit/types/analyzerCapability.d.ts +6 -6
  80. package/dist/audit/types/charterRegister.d.ts +30 -12
  81. package/dist/audit/types/charterRegister.d.ts.map +1 -1
  82. package/dist/audit/types/charterRegister.js +22 -9
  83. package/dist/audit/types/charterRegister.js.map +1 -1
  84. package/dist/audit/validation/anchorGrounding.d.ts.map +1 -1
  85. package/dist/audit/validation/anchorGrounding.js +17 -0
  86. package/dist/audit/validation/anchorGrounding.js.map +1 -1
  87. package/dist/audit/validation/auditResults.d.ts +17 -0
  88. package/dist/audit/validation/auditResults.d.ts.map +1 -1
  89. package/dist/audit/validation/auditResults.js +50 -17
  90. package/dist/audit/validation/auditResults.js.map +1 -1
  91. package/dist/remediate/contractPipeline/cyclicSeamResolution.d.ts +48 -0
  92. package/dist/remediate/contractPipeline/cyclicSeamResolution.d.ts.map +1 -1
  93. package/dist/remediate/contractPipeline/cyclicSeamResolution.js +128 -0
  94. package/dist/remediate/contractPipeline/cyclicSeamResolution.js.map +1 -1
  95. package/dist/remediate/contractPipeline/derive.d.ts +8 -5
  96. package/dist/remediate/contractPipeline/derive.d.ts.map +1 -1
  97. package/dist/remediate/contractPipeline/derive.js +8 -16
  98. package/dist/remediate/contractPipeline/derive.js.map +1 -1
  99. package/dist/remediate/index.d.ts.map +1 -1
  100. package/dist/remediate/index.js +43 -2
  101. package/dist/remediate/index.js.map +1 -1
  102. package/dist/remediate/intent/intentOrdering.d.ts +13 -5
  103. package/dist/remediate/intent/intentOrdering.d.ts.map +1 -1
  104. package/dist/remediate/intent/intentOrdering.js +56 -25
  105. package/dist/remediate/intent/intentOrdering.js.map +1 -1
  106. package/dist/remediate/phases/close.d.ts +57 -2
  107. package/dist/remediate/phases/close.d.ts.map +1 -1
  108. package/dist/remediate/phases/close.js +260 -36
  109. package/dist/remediate/phases/close.js.map +1 -1
  110. package/dist/remediate/state/disposition.d.ts +26 -4
  111. package/dist/remediate/state/disposition.d.ts.map +1 -1
  112. package/dist/remediate/state/itemStatus.d.ts +33 -6
  113. package/dist/remediate/state/itemStatus.d.ts.map +1 -1
  114. package/dist/remediate/state/itemStatus.js +154 -39
  115. package/dist/remediate/state/itemStatus.js.map +1 -1
  116. package/dist/remediate/state/types.d.ts +41 -2
  117. package/dist/remediate/state/types.d.ts.map +1 -1
  118. package/dist/remediate/state/types.js.map +1 -1
  119. package/dist/remediate/steps/contractPipeline.d.ts +287 -15
  120. package/dist/remediate/steps/contractPipeline.d.ts.map +1 -1
  121. package/dist/remediate/steps/contractPipeline.js +1664 -987
  122. package/dist/remediate/steps/contractPipeline.js.map +1 -1
  123. package/dist/remediate/steps/contractPipelinePrompts.js +1 -1
  124. package/dist/remediate/steps/contractPipelinePrompts.js.map +1 -1
  125. package/dist/remediate/steps/dispatch/hostHandoff.d.ts +137 -2
  126. package/dist/remediate/steps/dispatch/hostHandoff.d.ts.map +1 -1
  127. package/dist/remediate/steps/dispatch/hostHandoff.js +713 -59
  128. package/dist/remediate/steps/dispatch/hostHandoff.js.map +1 -1
  129. package/dist/remediate/steps/finalGate.d.ts +136 -37
  130. package/dist/remediate/steps/finalGate.d.ts.map +1 -1
  131. package/dist/remediate/steps/finalGate.js +120 -86
  132. package/dist/remediate/steps/finalGate.js.map +1 -1
  133. package/dist/remediate/steps/gateCommands.d.ts +8 -0
  134. package/dist/remediate/steps/gateCommands.d.ts.map +1 -1
  135. package/dist/remediate/steps/gateCommands.js +40 -11
  136. package/dist/remediate/steps/gateCommands.js.map +1 -1
  137. package/dist/remediate/steps/nextStep.d.ts +96 -5
  138. package/dist/remediate/steps/nextStep.d.ts.map +1 -1
  139. package/dist/remediate/steps/nextStep.js +668 -147
  140. package/dist/remediate/steps/nextStep.js.map +1 -1
  141. package/dist/remediate/steps/types.d.ts +4 -1
  142. package/dist/remediate/steps/types.d.ts.map +1 -1
  143. package/dist/remediate/steps/types.js +10 -0
  144. package/dist/remediate/steps/types.js.map +1 -1
  145. package/dist/remediate/validation/artifacts.d.ts +20 -0
  146. package/dist/remediate/validation/artifacts.d.ts.map +1 -1
  147. package/dist/remediate/validation/artifacts.js +239 -13
  148. package/dist/remediate/validation/artifacts.js.map +1 -1
  149. package/dist/remediate/validation/contractPipelineGates.d.ts +58 -0
  150. package/dist/remediate/validation/contractPipelineGates.d.ts.map +1 -1
  151. package/dist/remediate/validation/contractPipelineGates.js +167 -43
  152. package/dist/remediate/validation/contractPipelineGates.js.map +1 -1
  153. package/dist/shared/analyzers/acquisitionEngine.d.ts +72 -25
  154. package/dist/shared/analyzers/acquisitionEngine.d.ts.map +1 -1
  155. package/dist/shared/analyzers/acquisitionEngine.js +149 -15
  156. package/dist/shared/analyzers/acquisitionEngine.js.map +1 -1
  157. package/dist/shared/analyzers/binaryAcquisition.d.ts +27 -2
  158. package/dist/shared/analyzers/binaryAcquisition.d.ts.map +1 -1
  159. package/dist/shared/analyzers/binaryAcquisition.js +149 -43
  160. package/dist/shared/analyzers/binaryAcquisition.js.map +1 -1
  161. package/dist/shared/analyzers/candidates.d.ts +9 -8
  162. package/dist/shared/analyzers/candidates.d.ts.map +1 -1
  163. package/dist/shared/analyzers/candidates.js +96 -64
  164. package/dist/shared/analyzers/candidates.js.map +1 -1
  165. package/dist/shared/analyzers/normalizeExternal.d.ts +40 -12
  166. package/dist/shared/analyzers/normalizeExternal.d.ts.map +1 -1
  167. package/dist/shared/analyzers/normalizeExternal.js +74 -18
  168. package/dist/shared/analyzers/normalizeExternal.js.map +1 -1
  169. package/dist/shared/analyzers/rubocop.d.ts +14 -13
  170. package/dist/shared/analyzers/rubocop.d.ts.map +1 -1
  171. package/dist/shared/analyzers/rubocop.js +29 -6
  172. package/dist/shared/analyzers/rubocop.js.map +1 -1
  173. package/dist/shared/analyzers/types.d.ts +196 -13
  174. package/dist/shared/analyzers/types.d.ts.map +1 -1
  175. package/dist/shared/analyzers/types.js +122 -9
  176. package/dist/shared/analyzers/types.js.map +1 -1
  177. package/dist/shared/decompose/charterClarification.d.ts +12 -1
  178. package/dist/shared/decompose/charterClarification.d.ts.map +1 -1
  179. package/dist/shared/decompose/charterClarification.js +11 -4
  180. package/dist/shared/decompose/charterClarification.js.map +1 -1
  181. package/dist/shared/decompose/charterExtraction.d.ts +20 -10
  182. package/dist/shared/decompose/charterExtraction.d.ts.map +1 -1
  183. package/dist/shared/decompose/charterExtraction.js +52 -23
  184. package/dist/shared/decompose/charterExtraction.js.map +1 -1
  185. package/dist/shared/decompose/contentCoherence.d.ts +43 -2
  186. package/dist/shared/decompose/contentCoherence.d.ts.map +1 -1
  187. package/dist/shared/decompose/contentCoherence.js +109 -5
  188. package/dist/shared/decompose/contentCoherence.js.map +1 -1
  189. package/dist/shared/decompose/modularity.d.ts +17 -0
  190. package/dist/shared/decompose/modularity.d.ts.map +1 -1
  191. package/dist/shared/decompose/modularity.js +78 -3
  192. package/dist/shared/decompose/modularity.js.map +1 -1
  193. package/dist/shared/decompose/workBlockSeams.d.ts +45 -0
  194. package/dist/shared/decompose/workBlockSeams.d.ts.map +1 -0
  195. package/dist/shared/decompose/workBlockSeams.js +82 -0
  196. package/dist/shared/decompose/workBlockSeams.js.map +1 -0
  197. package/dist/shared/index.d.ts +4 -3
  198. package/dist/shared/index.d.ts.map +1 -1
  199. package/dist/shared/index.js +4 -2
  200. package/dist/shared/index.js.map +1 -1
  201. package/dist/shared/intent/freeFormIntentInterpreter.d.ts +12 -2
  202. package/dist/shared/intent/freeFormIntentInterpreter.d.ts.map +1 -1
  203. package/dist/shared/intent/freeFormIntentInterpreter.js +27 -22
  204. package/dist/shared/intent/freeFormIntentInterpreter.js.map +1 -1
  205. package/dist/shared/intent/pathScope.d.ts +12 -1
  206. package/dist/shared/intent/pathScope.d.ts.map +1 -1
  207. package/dist/shared/intent/pathScope.js +56 -19
  208. package/dist/shared/intent/pathScope.js.map +1 -1
  209. package/dist/shared/intent/sharedIntentData.d.ts +19 -1
  210. package/dist/shared/intent/sharedIntentData.d.ts.map +1 -1
  211. package/dist/shared/intent/sharedIntentData.js +33 -8
  212. package/dist/shared/intent/sharedIntentData.js.map +1 -1
  213. package/dist/shared/io/fileLock.d.ts +12 -0
  214. package/dist/shared/io/fileLock.d.ts.map +1 -1
  215. package/dist/shared/io/fileLock.js +48 -5
  216. package/dist/shared/io/fileLock.js.map +1 -1
  217. package/dist/shared/io/json.d.ts +13 -0
  218. package/dist/shared/io/json.d.ts.map +1 -1
  219. package/dist/shared/io/json.js +19 -1
  220. package/dist/shared/io/json.js.map +1 -1
  221. package/dist/shared/reporting/auditDeliverable.d.ts.map +1 -1
  222. package/dist/shared/reporting/auditDeliverable.js +8 -3
  223. package/dist/shared/reporting/auditDeliverable.js.map +1 -1
  224. package/dist/shared/steps/stepEmissionScaffold.d.ts +69 -0
  225. package/dist/shared/steps/stepEmissionScaffold.d.ts.map +1 -0
  226. package/dist/shared/steps/stepEmissionScaffold.js +83 -0
  227. package/dist/shared/steps/stepEmissionScaffold.js.map +1 -0
  228. package/dist/shared/submission/handRecovery.d.ts.map +1 -1
  229. package/dist/shared/submission/handRecovery.js +69 -4
  230. package/dist/shared/submission/handRecovery.js.map +1 -1
  231. package/dist/shared/submission/submissionIdentity.d.ts +10 -1
  232. package/dist/shared/submission/submissionIdentity.d.ts.map +1 -1
  233. package/dist/shared/submission/submissionIdentity.js +12 -3
  234. package/dist/shared/submission/submissionIdentity.js.map +1 -1
  235. package/dist/shared/submission/submissionLedger.d.ts +43 -2
  236. package/dist/shared/submission/submissionLedger.d.ts.map +1 -1
  237. package/dist/shared/submission/submissionLedger.js +50 -7
  238. package/dist/shared/submission/submissionLedger.js.map +1 -1
  239. package/dist/shared/tooling/allowlistedExec.d.ts +9 -0
  240. package/dist/shared/tooling/allowlistedExec.d.ts.map +1 -1
  241. package/dist/shared/tooling/allowlistedExec.js +19 -2
  242. package/dist/shared/tooling/allowlistedExec.js.map +1 -1
  243. package/dist/shared/types/charter.d.ts +24 -0
  244. package/dist/shared/types/charter.d.ts.map +1 -1
  245. package/dist/shared/types/charter.js +9 -0
  246. package/dist/shared/types/charter.js.map +1 -1
  247. package/dist/shared/types/finding.d.ts +105 -53
  248. package/dist/shared/types/finding.d.ts.map +1 -1
  249. package/dist/shared/types/finding.js +38 -11
  250. package/dist/shared/types/finding.js.map +1 -1
  251. package/dist/shared/types/remediationOutcome.d.ts +282 -9
  252. package/dist/shared/types/remediationOutcome.d.ts.map +1 -1
  253. package/dist/shared/types/remediationOutcome.js +174 -1
  254. package/dist/shared/types/remediationOutcome.js.map +1 -1
  255. package/dist/shared/validation/findingsReport.d.ts.map +1 -1
  256. package/dist/shared/validation/findingsReport.js +19 -1
  257. package/dist/shared/validation/findingsReport.js.map +1 -1
  258. package/package.json +2 -1
  259. package/remediate-code.mjs +15 -0
  260. package/wrapper/remediate-code-wrapper-install-hosts.mjs +45 -4
  261. package/wrapper/remediate-code-wrapper-install-renderers.mjs +12 -2
@@ -4,7 +4,7 @@ import { readdirSync } from "node:fs";
4
4
  import { AUDIT_TOOLS_DIRNAME } from "../io/auditToolsPaths.js";
5
5
  import { detectNodeEcosystem, detectPythonEcosystem, detectRustEcosystem, detectRubyEcosystem, detectDockerEcosystem, detectGithubActionsEcosystem, } from "./acquisitionEngine.js";
6
6
  import { parseClippy } from "./clippy.js";
7
- import { parseRubocop } from "./rubocop.js";
7
+ import { parseRubocopOutcome } from "./rubocop.js";
8
8
  /**
9
9
  * The value-curated EXTERNAL analyzer candidate registry. This is the only place
10
10
  * concrete tools are named; the engine is tool-agnostic. Membership in the
@@ -18,6 +18,22 @@ import { parseRubocop } from "./rubocop.js";
18
18
  // before execution — see binaryAcquisition.ts).
19
19
  const GITLEAKS_VERSION = "8.21.2";
20
20
  const GITLEAKS_RELEASE_BASE = `https://github.com/gitleaks/gitleaks/releases/download/v${GITLEAKS_VERSION}`;
21
+ /** A clean parse that produced exactly these items and dropped nothing. */
22
+ function items(parsed) {
23
+ return { items: parsed };
24
+ }
25
+ /**
26
+ * A parse that could not read the payload at all. This is the affirmation that
27
+ * replaces the bare `[]` every parser used to return: an empty item list plus
28
+ * `parse_failed` is what lets the engine classify the run `parse_error` instead of
29
+ * labelling upstream schema drift a clean scan.
30
+ */
31
+ function parseFailure(tool, cause) {
32
+ return { items: [], parse_failed: true, note: `${tool}: ${cause}` };
33
+ }
34
+ function isRecord(value) {
35
+ return Boolean(value) && typeof value === "object" && !Array.isArray(value);
36
+ }
21
37
  /**
22
38
  * Look up a release-asset name part (os or cpu) in a per-tool naming table.
23
39
  * Every external tool names its assets differently (windows vs macos, x64 vs
@@ -70,11 +86,12 @@ function parseGitleaks(report) {
70
86
  findings = JSON.parse(report || "[]");
71
87
  }
72
88
  catch {
73
- return [];
89
+ return parseFailure("gitleaks", "report is not valid JSON");
74
90
  }
75
- if (!Array.isArray(findings))
76
- return [];
77
- return findings
91
+ if (!Array.isArray(findings)) {
92
+ return parseFailure("gitleaks", "report is not a JSON array of findings");
93
+ }
94
+ return items(findings
78
95
  .filter((f) => Boolean(f) && typeof f === "object")
79
96
  .map((f) => {
80
97
  const ruleId = typeof f.RuleID === "string" ? f.RuleID : "secret";
@@ -100,7 +117,7 @@ function parseGitleaks(report) {
100
117
  // the raw credential.
101
118
  raw: { rule: ruleId, fingerprint, entropy: f.Entropy },
102
119
  };
103
- });
120
+ }));
104
121
  }
105
122
  const gitleaksCandidate = {
106
123
  id: "gitleaks",
@@ -138,12 +155,13 @@ function parseSemgrep(stdout) {
138
155
  payload = JSON.parse(stdout || "{}");
139
156
  }
140
157
  catch {
141
- return [];
158
+ return parseFailure("semgrep", "output is not valid JSON");
159
+ }
160
+ if (!isRecord(payload) || !Array.isArray(payload.results)) {
161
+ return parseFailure("semgrep", "output has no `results` array");
142
162
  }
143
- const results = payload && typeof payload === "object" && Array.isArray(payload.results)
144
- ? (payload.results)
145
- : [];
146
- return results.map((r) => {
163
+ const results = payload.results;
164
+ return items(results.map((r) => {
147
165
  const extra = (r.extra ?? {});
148
166
  const start = (r.start ?? {});
149
167
  const end = (r.end ?? {});
@@ -159,7 +177,7 @@ function parseSemgrep(stdout) {
159
177
  summary: typeof extra.message === "string" ? extra.message : checkId,
160
178
  rule: checkId,
161
179
  };
162
- });
180
+ }));
163
181
  }
164
182
  const semgrepCandidate = {
165
183
  id: "semgrep",
@@ -184,11 +202,12 @@ function parseEslint(stdout) {
184
202
  files = JSON.parse(stdout || "[]");
185
203
  }
186
204
  catch {
187
- return [];
205
+ return parseFailure("eslint", "output is not valid JSON");
206
+ }
207
+ if (!Array.isArray(files)) {
208
+ return parseFailure("eslint", "output is not a JSON array of file results");
188
209
  }
189
- if (!Array.isArray(files))
190
- return [];
191
- const items = [];
210
+ const parsed = [];
192
211
  for (const file of files) {
193
212
  if (!file || typeof file !== "object")
194
213
  continue;
@@ -201,7 +220,7 @@ function parseEslint(stdout) {
201
220
  for (const m of messages) {
202
221
  const ruleId = typeof m.ruleId === "string" ? m.ruleId : "eslint";
203
222
  const line = typeof m.line === "number" ? m.line : undefined;
204
- items.push({
223
+ parsed.push({
205
224
  id: `${ruleId}:${filePath}:${line ?? 0}`,
206
225
  category: "maintainability",
207
226
  severity: m.severity === 2 ? "medium" : "low",
@@ -212,7 +231,7 @@ function parseEslint(stdout) {
212
231
  });
213
232
  }
214
233
  }
215
- return items;
234
+ return items(parsed);
216
235
  }
217
236
  const eslintCandidate = {
218
237
  id: "eslint",
@@ -251,12 +270,13 @@ function parseKnip(stdout) {
251
270
  payload = JSON.parse(stdout || "{}");
252
271
  }
253
272
  catch {
254
- return [];
273
+ return parseFailure("knip", "output is not valid JSON");
255
274
  }
256
- const issues = payload && typeof payload === "object" && Array.isArray(payload.issues)
257
- ? (payload.issues)
258
- : [];
259
- const items = [];
275
+ if (!isRecord(payload) || !Array.isArray(payload.issues)) {
276
+ return parseFailure("knip", "output has no `issues` array");
277
+ }
278
+ const issues = payload.issues;
279
+ const parsed = [];
260
280
  for (const row of issues) {
261
281
  const file = typeof row.file === "string" ? row.file : "";
262
282
  if (!file)
@@ -274,7 +294,7 @@ function parseKnip(stdout) {
274
294
  const line = typeof symbol.line === "number"
275
295
  ? symbol.line
276
296
  : undefined;
277
- items.push({
297
+ parsed.push({
278
298
  id: `knip-${issueType}:${file}:${name}:${line ?? 0}`,
279
299
  category: "maintainability",
280
300
  severity: "low",
@@ -288,7 +308,7 @@ function parseKnip(stdout) {
288
308
  // Whole-file dead code: a non-empty `files` array on this row means the module
289
309
  // itself is imported by nothing. One lead per file (path === the file).
290
310
  if (Array.isArray(row.files) && row.files.length > 0) {
291
- items.push({
311
+ parsed.push({
292
312
  id: `knip-files:${file}`,
293
313
  category: "maintainability",
294
314
  severity: "low",
@@ -309,7 +329,7 @@ function parseKnip(stdout) {
309
329
  const line = typeof symbol.line === "number"
310
330
  ? symbol.line
311
331
  : undefined;
312
- items.push({
332
+ parsed.push({
313
333
  id: `knip-dependencies:${file}:${name}`,
314
334
  category: "maintainability",
315
335
  severity: "low",
@@ -321,7 +341,7 @@ function parseKnip(stdout) {
321
341
  }
322
342
  }
323
343
  }
324
- return items;
344
+ return items(parsed);
325
345
  }
326
346
  const knipCandidate = {
327
347
  id: "knip",
@@ -459,12 +479,13 @@ function parseJscpd(report) {
459
479
  payload = JSON.parse(report || "{}");
460
480
  }
461
481
  catch {
462
- return [];
482
+ return parseFailure("jscpd", "report is not valid JSON");
483
+ }
484
+ if (!isRecord(payload) || !Array.isArray(payload.duplicates)) {
485
+ return parseFailure("jscpd", "report has no `duplicates` array");
463
486
  }
464
- const duplicates = payload && typeof payload === "object" && Array.isArray(payload.duplicates)
465
- ? (payload.duplicates)
466
- : [];
467
- return duplicates
487
+ const duplicates = payload.duplicates;
488
+ return items(duplicates
468
489
  .filter((d) => Boolean(d) && typeof d === "object")
469
490
  .map((d) => {
470
491
  const firstFile = (d.firstFile ?? {});
@@ -486,7 +507,7 @@ function parseJscpd(report) {
486
507
  summary: `jscpd: duplicate code block (${lines ?? "?"} lines) shared with ${otherPath || "another file"}`,
487
508
  rule: "jscpd-duplicate",
488
509
  };
489
- });
510
+ }));
490
511
  }
491
512
  const jscpdCandidate = {
492
513
  id: "jscpd",
@@ -562,12 +583,13 @@ function parseOsvScanner(stdout) {
562
583
  payload = JSON.parse(stdout || "{}");
563
584
  }
564
585
  catch {
565
- return [];
586
+ return parseFailure("osv-scanner", "output is not valid JSON");
566
587
  }
567
- const results = payload && typeof payload === "object" && Array.isArray(payload.results)
568
- ? (payload.results)
569
- : [];
570
- const items = [];
588
+ if (!isRecord(payload) || !Array.isArray(payload.results)) {
589
+ return parseFailure("osv-scanner", "output has no `results` array");
590
+ }
591
+ const results = payload.results;
592
+ const parsed = [];
571
593
  for (const result of results) {
572
594
  if (!result || typeof result !== "object")
573
595
  continue;
@@ -607,7 +629,7 @@ function parseOsvScanner(stdout) {
607
629
  : primary && typeof primary.details === "string"
608
630
  ? primary.details.slice(0, 200)
609
631
  : `known vulnerability in ${pkgName}`;
610
- items.push({
632
+ parsed.push({
611
633
  id: `osv:${ids.join(",")}:${pkgName}@${pkgVersion}`,
612
634
  category: "security",
613
635
  severity,
@@ -618,7 +640,7 @@ function parseOsvScanner(stdout) {
618
640
  }
619
641
  }
620
642
  }
621
- return items;
643
+ return items(parsed);
622
644
  }
623
645
  const osvScannerCandidate = {
624
646
  id: "osv-scanner",
@@ -684,7 +706,7 @@ const rubocopCandidate = {
684
706
  detect: (root) => detectRubyEcosystem(root),
685
707
  // Read-only: NO `--autocorrect`/`-a`/`-A`. `--format json` → single JSON doc.
686
708
  buildArgv: (prefix, root) => [...prefix, "--format", "json", root],
687
- parse: parseRubocop,
709
+ parse: parseRubocopOutcome,
688
710
  };
689
711
  // ---------------------------------------------------------------------------
690
712
  // hadolint — Dockerfile linter, shipped as a RAW (non-archived) release binary
@@ -728,11 +750,12 @@ function parseHadolint(stdout) {
728
750
  findings = JSON.parse(stdout || "[]");
729
751
  }
730
752
  catch {
731
- return [];
753
+ return parseFailure("hadolint", "output is not valid JSON");
754
+ }
755
+ if (!Array.isArray(findings)) {
756
+ return parseFailure("hadolint", "output is not a JSON array of diagnostics");
732
757
  }
733
- if (!Array.isArray(findings))
734
- return [];
735
- return findings
758
+ return items(findings
736
759
  .filter((f) => Boolean(f) && typeof f === "object")
737
760
  .map((f) => {
738
761
  const file = typeof f.file === "string" ? f.file : "";
@@ -751,7 +774,7 @@ function parseHadolint(stdout) {
751
774
  rule: code,
752
775
  };
753
776
  })
754
- .filter((item) => item.path.length > 0);
777
+ .filter((item) => item.path.length > 0));
755
778
  }
756
779
  const hadolintCandidate = {
757
780
  id: "hadolint",
@@ -820,11 +843,12 @@ function parseActionlint(stdout) {
820
843
  findings = JSON.parse(stdout || "[]");
821
844
  }
822
845
  catch {
823
- return [];
846
+ return parseFailure("actionlint", "output is not valid JSON");
824
847
  }
825
- if (!Array.isArray(findings))
826
- return [];
827
- return findings
848
+ if (!Array.isArray(findings)) {
849
+ return parseFailure("actionlint", "output is not a JSON array of diagnostics");
850
+ }
851
+ return items(findings
828
852
  .filter((f) => Boolean(f) && typeof f === "object")
829
853
  .map((f) => {
830
854
  const path = typeof f.filepath === "string" ? f.filepath : "";
@@ -841,7 +865,7 @@ function parseActionlint(stdout) {
841
865
  rule: kind,
842
866
  };
843
867
  })
844
- .filter((item) => item.path.length > 0);
868
+ .filter((item) => item.path.length > 0));
845
869
  }
846
870
  const actionlintCandidate = {
847
871
  id: "actionlint",
@@ -877,12 +901,13 @@ function parseTypeCoverage(stdout) {
877
901
  payload = JSON.parse(stdout || "{}");
878
902
  }
879
903
  catch {
880
- return [];
904
+ return parseFailure("type-coverage", "output is not valid JSON");
905
+ }
906
+ if (!isRecord(payload) || !Array.isArray(payload.anys)) {
907
+ return parseFailure("type-coverage", "output has no `anys` array");
881
908
  }
882
- const anys = payload && typeof payload === "object" && Array.isArray(payload.anys)
883
- ? (payload.anys)
884
- : [];
885
- return anys
909
+ const anys = payload.anys;
910
+ return items(anys
886
911
  .filter((a) => Boolean(a) && typeof a === "object")
887
912
  .map((a) => {
888
913
  const file = typeof a.file === "string" ? a.file : "";
@@ -898,7 +923,7 @@ function parseTypeCoverage(stdout) {
898
923
  rule: "type-coverage-any",
899
924
  };
900
925
  })
901
- .filter((item) => item.path.length > 0);
926
+ .filter((item) => item.path.length > 0));
902
927
  }
903
928
  const typeCoverageCandidate = {
904
929
  id: "type-coverage",
@@ -965,12 +990,15 @@ function parseCsvLine(line) {
965
990
  */
966
991
  function parseLizard(stdout) {
967
992
  if (!stdout || stdout.trim().length === 0) {
968
- return [];
993
+ return items([]);
969
994
  }
970
995
  const lines = stdout.trim().split("\n");
971
996
  if (lines.length < 2)
972
- return []; // CSV header only, no data rows
973
- const items = [];
997
+ return items([]); // CSV header only, no data rows
998
+ const parsed = [];
999
+ // A row the CSV shape does not fit is COUNTED, not silently discarded: a schema
1000
+ // drift that drops every row must not be reportable as a clean scan.
1001
+ let droppedRows = 0;
974
1002
  // Skip the CSV header (line 0) and process data rows
975
1003
  for (let i = 1; i < lines.length; i++) {
976
1004
  const line = lines[i];
@@ -978,15 +1006,19 @@ function parseLizard(stdout) {
978
1006
  continue;
979
1007
  // Parse CSV line, handling quoted fields with embedded commas
980
1008
  const parts = parseCsvLine(line);
981
- if (parts.length < 8)
1009
+ if (parts.length < 8) {
1010
+ droppedRows += 1;
982
1011
  continue;
1012
+ }
983
1013
  const nloc = parseInt(parts[0], 10);
984
1014
  const ccn = parseInt(parts[1], 10);
985
1015
  const param = parseInt(parts[3], 10);
986
1016
  const file = parts[6] || "";
987
1017
  const func = parts[7] || "unknown";
988
- if (!file || isNaN(nloc) || isNaN(ccn) || isNaN(param))
1018
+ if (!file || isNaN(nloc) || isNaN(ccn) || isNaN(param)) {
1019
+ droppedRows += 1;
989
1020
  continue;
1021
+ }
990
1022
  // Emit leads for complexity overages: CCN > 10, NLOC > 200, PARAM > 5
991
1023
  const issues = [];
992
1024
  if (ccn > 10)
@@ -996,7 +1028,7 @@ function parseLizard(stdout) {
996
1028
  if (param > 5)
997
1029
  issues.push({ rule: "lizard-params", threshold: 5, actual: param });
998
1030
  for (const issue of issues) {
999
- items.push({
1031
+ parsed.push({
1000
1032
  id: `${issue.rule}:${file}:${func}`,
1001
1033
  category: "maintainability",
1002
1034
  // Threshold bands (leads only, never verdicts): ≥2× the threshold is a
@@ -1008,7 +1040,7 @@ function parseLizard(stdout) {
1008
1040
  });
1009
1041
  }
1010
1042
  }
1011
- return items;
1043
+ return { items: parsed, ...(droppedRows > 0 ? { dropped_rows: droppedRows } : {}) };
1012
1044
  }
1013
1045
  const lizardCandidate = {
1014
1046
  id: "lizard",
@@ -1 +1 @@
1
- {"version":3,"file":"candidates.js","sourceRoot":"","sources":["../../../src/shared/analyzers/candidates.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"candidates.js","sourceRoot":"","sources":["../../../src/shared/analyzers/candidates.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,29 @@
1
- import type { ExternalAnalyzerGraphEdge, ExternalAnalyzerResults } from "./types.js";
1
+ import type { ExternalAnalyzerGraphEdge, ExternalAnalyzerParsedItem, ExternalAnalyzerResults } from "./types.js";
2
+ /**
3
+ * Repo-relative form of an analyzer-reported path, case PRESERVED.
4
+ *
5
+ * Seven of the twelve candidates hand their tool the ABSOLUTE repository root as a
6
+ * positional target, so those tools echo absolute paths back. Persisting one makes
7
+ * the lead machine-specific, un-joinable against every repo-relative consumer, and
8
+ * unreadable by the provenance reader (`join(root, "/abs/path")` names nothing).
9
+ * Containment is decided with the shared {@link normalizeRepoPath} (case- and
10
+ * separator-folded, so win32 drive-letter and case drift still match); the returned
11
+ * value is sliced out of the ORIGINAL string so on-disk case survives.
12
+ *
13
+ * A path outside the repository root is left as-is: it is not repo-relative, and
14
+ * silently rewriting it would invent an identity the tool never reported.
15
+ */
16
+ export declare function toRepoRelativeAnalyzerPath(repoRoot: string | undefined, rawPath: string): string;
17
+ /** A degradation observed while normalizing, reported to the caller rather than swallowed. */
18
+ export interface NormalizeExternalDiagnostics {
19
+ /** Items dropped for a missing `path` or `summary`. */
20
+ dropped_items: number;
21
+ /**
22
+ * Items that HAD a path + line_start but whose source could not be read, so their
23
+ * provenance was dropped. Distinct from an item that simply has no anchor.
24
+ */
25
+ source_read_failures: number;
26
+ }
2
27
  export interface NormalizeExternalOptions {
3
28
  /**
4
29
  * Source reader for content-anchored lead provenance (item C): given a
@@ -8,18 +33,21 @@ export interface NormalizeExternalOptions {
8
33
  * failing, items simply carry no provenance (optional everywhere).
9
34
  */
10
35
  readSource?: (path: string) => string | undefined;
36
+ /**
37
+ * Absolute repository root. When supplied, every item path is normalized to its
38
+ * repo-relative form BEFORE it is persisted and before `readSource` is called, so
39
+ * an absolute-path emitter cannot leak a machine-specific path into the artifact
40
+ * or silently lose provenance.
41
+ */
42
+ repoRoot?: string;
43
+ /**
44
+ * Receives the normalization degradations. The caller (the acquisition engine)
45
+ * carries them onto the tool's status record, which is the only post-run evidence
46
+ * that items were lost.
47
+ */
48
+ onDiagnostics?: (diagnostics: NormalizeExternalDiagnostics) => void;
11
49
  }
12
- export declare function normalizeGenericExternalResults(tool: string, items: Array<{
13
- id?: string;
14
- category?: string;
15
- severity?: string;
16
- path?: string;
17
- line_start?: number;
18
- line_end?: number;
19
- summary?: string;
20
- rule?: string;
21
- raw?: unknown;
22
- }>, options?: NormalizeExternalOptions): ExternalAnalyzerResults;
50
+ export declare function normalizeGenericExternalResults(tool: string, items: ExternalAnalyzerParsedItem[], options?: NormalizeExternalOptions): ExternalAnalyzerResults;
23
51
  /**
24
52
  * Normalize a raw list of edge candidates (from an external dataflow analyzer:
25
53
  * ast-grep / broader-semgrep dataflow / CodeQL) into the language-neutral
@@ -1 +1 @@
1
- {"version":3,"file":"normalizeExternal.d.ts","sourceRoot":"","sources":["../../../src/shared/analyzers/normalizeExternal.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,yBAAyB,EACzB,uBAAuB,EACxB,MAAM,YAAY,CAAC;AAwBpB,MAAM,WAAW,wBAAwB;IACvC;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;CACnD;AAED,wBAAgB,+BAA+B,CAC7C,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,KAAK,CAAC;IACX,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,OAAO,CAAC;CACf,CAAC,EACF,OAAO,GAAE,wBAA6B,GACrC,uBAAuB,CAyDzB;AAQD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,6BAA6B,CAC3C,UAAU,EAAE,KAAK,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC,GACD,yBAAyB,EAAE,CA4B7B"}
1
+ {"version":3,"file":"normalizeExternal.d.ts","sourceRoot":"","sources":["../../../src/shared/analyzers/normalizeExternal.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,yBAAyB,EACzB,0BAA0B,EAC1B,uBAAuB,EACxB,MAAM,YAAY,CAAC;AAkCpB;;;;;;;;;;;;;GAaG;AACH,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,OAAO,EAAE,MAAM,GACd,MAAM,CAUR;AAED,8FAA8F;AAC9F,MAAM,WAAW,4BAA4B;IAC3C,uDAAuD;IACvD,aAAa,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,oBAAoB,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,wBAAwB;IACvC;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IAClD;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,aAAa,CAAC,EAAE,CAAC,WAAW,EAAE,4BAA4B,KAAK,IAAI,CAAC;CACrE;AAED,wBAAgB,+BAA+B,CAC7C,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,0BAA0B,EAAE,EACnC,OAAO,GAAE,wBAA6B,GACrC,uBAAuB,CA6EzB;AAQD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,6BAA6B,CAC3C,UAAU,EAAE,KAAK,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC,GACD,yBAAyB,EAAE,CA4B7B"}