audit-tools 0.52.5 → 0.53.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 (347) hide show
  1. package/dist/audit/cli/auditStep.d.ts +1 -1
  2. package/dist/audit/cli/dispatch/hostHandoff.d.ts +2 -0
  3. package/dist/audit/cli/dispatch/hostHandoff.d.ts.map +1 -1
  4. package/dist/audit/cli/dispatch/hostHandoff.js +1 -1
  5. package/dist/audit/cli/dispatch/hostHandoff.js.map +1 -1
  6. package/dist/audit/cli/dispatch/packetFilter.d.ts +1 -1
  7. package/dist/audit/cli/dispatch/packetFilter.d.ts.map +1 -1
  8. package/dist/audit/cli/dispatch/packetFilter.js +1 -1
  9. package/dist/audit/cli/dispatch/packetFilter.js.map +1 -1
  10. package/dist/audit/cli/nextStepCommand.d.ts.map +1 -1
  11. package/dist/audit/cli/nextStepCommand.js +42 -20
  12. package/dist/audit/cli/nextStepCommand.js.map +1 -1
  13. package/dist/audit/cli/nextStepHelpers.d.ts +3 -3
  14. package/dist/audit/cli/nextStepHelpers.d.ts.map +1 -1
  15. package/dist/audit/cli/nextStepHelpers.js +50 -75
  16. package/dist/audit/cli/nextStepHelpers.js.map +1 -1
  17. package/dist/audit/cli/prompts.d.ts +1 -2
  18. package/dist/audit/cli/prompts.d.ts.map +1 -1
  19. package/dist/audit/cli/prompts.js +2 -12
  20. package/dist/audit/cli/prompts.js.map +1 -1
  21. package/dist/audit/cli/sampleRunCommand.d.ts +2 -2
  22. package/dist/audit/cli/semanticReviewStep.d.ts +11 -2
  23. package/dist/audit/cli/semanticReviewStep.d.ts.map +1 -1
  24. package/dist/audit/cli/semanticReviewStep.js +14 -10
  25. package/dist/audit/cli/semanticReviewStep.js.map +1 -1
  26. package/dist/audit/contracts/workerSchemas.d.ts +14 -14
  27. package/dist/audit/contracts/wrapperResponse.d.ts +6 -6
  28. package/dist/audit/extractors/graphRoutes.d.ts.map +1 -1
  29. package/dist/audit/extractors/graphRoutes.js +1 -3
  30. package/dist/audit/extractors/graphRoutes.js.map +1 -1
  31. package/dist/audit/io/artifacts.d.ts.map +1 -1
  32. package/dist/audit/io/artifacts.js +2 -3
  33. package/dist/audit/io/artifacts.js.map +1 -1
  34. package/dist/audit/orchestrator/architectureDiscovery.d.ts +11 -0
  35. package/dist/audit/orchestrator/architectureDiscovery.d.ts.map +1 -0
  36. package/dist/audit/orchestrator/architectureDiscovery.js +174 -0
  37. package/dist/audit/orchestrator/architectureDiscovery.js.map +1 -0
  38. package/dist/audit/orchestrator/designReviewProjection.d.ts +2 -6
  39. package/dist/audit/orchestrator/designReviewProjection.d.ts.map +1 -1
  40. package/dist/audit/orchestrator/designReviewProjection.js +2 -6
  41. package/dist/audit/orchestrator/designReviewProjection.js.map +1 -1
  42. package/dist/audit/orchestrator/designReviewSnapshot.d.ts +2 -3
  43. package/dist/audit/orchestrator/designReviewSnapshot.d.ts.map +1 -1
  44. package/dist/audit/orchestrator/designReviewSnapshot.js +2 -3
  45. package/dist/audit/orchestrator/designReviewSnapshot.js.map +1 -1
  46. package/dist/audit/orchestrator/executorRunners.d.ts.map +1 -1
  47. package/dist/audit/orchestrator/executorRunners.js +1 -22
  48. package/dist/audit/orchestrator/executorRunners.js.map +1 -1
  49. package/dist/audit/orchestrator/executors.d.ts.map +1 -1
  50. package/dist/audit/orchestrator/executors.js +1 -13
  51. package/dist/audit/orchestrator/executors.js.map +1 -1
  52. package/dist/audit/orchestrator/nextStep.d.ts +2 -28
  53. package/dist/audit/orchestrator/nextStep.d.ts.map +1 -1
  54. package/dist/audit/orchestrator/nextStep.js +5 -37
  55. package/dist/audit/orchestrator/nextStep.js.map +1 -1
  56. package/dist/audit/orchestrator/obligationDerive.d.ts +2 -3
  57. package/dist/audit/orchestrator/obligationDerive.d.ts.map +1 -1
  58. package/dist/audit/orchestrator/obligationDerive.js +2 -3
  59. package/dist/audit/orchestrator/obligationDerive.js.map +1 -1
  60. package/dist/audit/orchestrator/pendingTasks.d.ts +2 -0
  61. package/dist/audit/orchestrator/pendingTasks.d.ts.map +1 -1
  62. package/dist/audit/orchestrator/pendingTasks.js +5 -1
  63. package/dist/audit/orchestrator/pendingTasks.js.map +1 -1
  64. package/dist/audit/orchestrator/planningExecutors.d.ts.map +1 -1
  65. package/dist/audit/orchestrator/planningExecutors.js +9 -0
  66. package/dist/audit/orchestrator/planningExecutors.js.map +1 -1
  67. package/dist/audit/orchestrator/requeueCommand.d.ts +1 -1
  68. package/dist/audit/orchestrator/resultBaseline.d.ts +5 -5
  69. package/dist/audit/orchestrator/resultBaseline.d.ts.map +1 -1
  70. package/dist/audit/orchestrator/resultBaseline.js +24 -47
  71. package/dist/audit/orchestrator/resultBaseline.js.map +1 -1
  72. package/dist/audit/orchestrator/selectiveDeepening/findingFollowup.d.ts.map +1 -1
  73. package/dist/audit/orchestrator/selectiveDeepening/findingFollowup.js +2 -0
  74. package/dist/audit/orchestrator/selectiveDeepening/findingFollowup.js.map +1 -1
  75. package/dist/audit/orchestrator/state.d.ts.map +1 -1
  76. package/dist/audit/orchestrator/state.js +2 -0
  77. package/dist/audit/orchestrator/state.js.map +1 -1
  78. package/dist/audit/orchestrator/synthesisExecutors.d.ts.map +1 -1
  79. package/dist/audit/orchestrator/synthesisExecutors.js +3 -0
  80. package/dist/audit/orchestrator/synthesisExecutors.js.map +1 -1
  81. package/dist/audit/types/auditState.d.ts +6 -6
  82. package/dist/audit/types/flowCoverage.d.ts +6 -6
  83. package/dist/audit/types.d.ts +12 -12
  84. package/dist/remediate/contractPipeline/executionPlan.d.ts +1908 -0
  85. package/dist/remediate/contractPipeline/executionPlan.d.ts.map +1 -0
  86. package/dist/remediate/contractPipeline/executionPlan.js +467 -0
  87. package/dist/remediate/contractPipeline/executionPlan.js.map +1 -0
  88. package/dist/remediate/contractPipeline/runtimePlanAuthority.d.ts +12 -0
  89. package/dist/remediate/contractPipeline/runtimePlanAuthority.d.ts.map +1 -0
  90. package/dist/remediate/contractPipeline/runtimePlanAuthority.js +41 -0
  91. package/dist/remediate/contractPipeline/runtimePlanAuthority.js.map +1 -0
  92. package/dist/remediate/dedup/crossLensDedup.d.ts +3 -16
  93. package/dist/remediate/dedup/crossLensDedup.d.ts.map +1 -1
  94. package/dist/remediate/dedup/crossLensDedup.js +2 -32
  95. package/dist/remediate/dedup/crossLensDedup.js.map +1 -1
  96. package/dist/remediate/index.d.ts +2 -19
  97. package/dist/remediate/index.d.ts.map +1 -1
  98. package/dist/remediate/index.js +22 -138
  99. package/dist/remediate/index.js.map +1 -1
  100. package/dist/remediate/intake.d.ts +10 -10
  101. package/dist/remediate/intent/intentOrdering.d.ts +6 -8
  102. package/dist/remediate/intent/intentOrdering.d.ts.map +1 -1
  103. package/dist/remediate/intent/intentOrdering.js +24 -47
  104. package/dist/remediate/intent/intentOrdering.js.map +1 -1
  105. package/dist/remediate/phases/close.d.ts +25 -17
  106. package/dist/remediate/phases/close.d.ts.map +1 -1
  107. package/dist/remediate/phases/close.js +278 -218
  108. package/dist/remediate/phases/close.js.map +1 -1
  109. package/dist/remediate/phases/closeAcceptance.d.ts +42 -0
  110. package/dist/remediate/phases/closeAcceptance.d.ts.map +1 -0
  111. package/dist/remediate/phases/closeAcceptance.js +66 -0
  112. package/dist/remediate/phases/closeAcceptance.js.map +1 -0
  113. package/dist/remediate/phases/closeReviewProvenance.d.ts +1 -1
  114. package/dist/remediate/phases/closeReviewProvenance.d.ts.map +1 -1
  115. package/dist/remediate/phases/closeReviewProvenance.js +9 -8
  116. package/dist/remediate/phases/closeReviewProvenance.js.map +1 -1
  117. package/dist/remediate/phases/closeVerifyAnalyzerLeads.d.ts.map +1 -1
  118. package/dist/remediate/phases/closeVerifyAnalyzerLeads.js +11 -9
  119. package/dist/remediate/phases/closeVerifyAnalyzerLeads.js.map +1 -1
  120. package/dist/remediate/phases/closeVerifyHeadEvidence.d.ts +21 -86
  121. package/dist/remediate/phases/closeVerifyHeadEvidence.d.ts.map +1 -1
  122. package/dist/remediate/phases/closeVerifyHeadEvidence.js +30 -19
  123. package/dist/remediate/phases/closeVerifyHeadEvidence.js.map +1 -1
  124. package/dist/remediate/phases/plan.d.ts +3 -60
  125. package/dist/remediate/phases/plan.d.ts.map +1 -1
  126. package/dist/remediate/phases/plan.js +3 -227
  127. package/dist/remediate/phases/plan.js.map +1 -1
  128. package/dist/remediate/phases/triage.d.ts.map +1 -1
  129. package/dist/remediate/phases/triage.js +19 -30
  130. package/dist/remediate/phases/triage.js.map +1 -1
  131. package/dist/remediate/riskSignal.d.ts +9 -43
  132. package/dist/remediate/riskSignal.d.ts.map +1 -1
  133. package/dist/remediate/riskSignal.js +7 -28
  134. package/dist/remediate/riskSignal.js.map +1 -1
  135. package/dist/remediate/state/disposition.d.ts +2 -1
  136. package/dist/remediate/state/disposition.d.ts.map +1 -1
  137. package/dist/remediate/state/disposition.js +37 -1
  138. package/dist/remediate/state/disposition.js.map +1 -1
  139. package/dist/remediate/state/runIdentity.d.ts +2 -13
  140. package/dist/remediate/state/runIdentity.d.ts.map +1 -1
  141. package/dist/remediate/state/runIdentity.js +3 -13
  142. package/dist/remediate/state/runIdentity.js.map +1 -1
  143. package/dist/remediate/state/store.d.ts +12 -36
  144. package/dist/remediate/state/store.d.ts.map +1 -1
  145. package/dist/remediate/state/store.js +58 -150
  146. package/dist/remediate/state/store.js.map +1 -1
  147. package/dist/remediate/state/types.d.ts +406 -504
  148. package/dist/remediate/state/types.d.ts.map +1 -1
  149. package/dist/remediate/state/types.js +24 -104
  150. package/dist/remediate/state/types.js.map +1 -1
  151. package/dist/remediate/steps/contractPipeline.d.ts +7 -661
  152. package/dist/remediate/steps/contractPipeline.d.ts.map +1 -1
  153. package/dist/remediate/steps/contractPipeline.js +259 -3854
  154. package/dist/remediate/steps/contractPipeline.js.map +1 -1
  155. package/dist/remediate/steps/contractPipelinePrompts.d.ts +20 -142
  156. package/dist/remediate/steps/contractPipelinePrompts.d.ts.map +1 -1
  157. package/dist/remediate/steps/contractPipelinePrompts.js +48 -581
  158. package/dist/remediate/steps/contractPipelinePrompts.js.map +1 -1
  159. package/dist/remediate/steps/dispatch/contractConformanceReview.d.ts +4 -1
  160. package/dist/remediate/steps/dispatch/contractConformanceReview.d.ts.map +1 -1
  161. package/dist/remediate/steps/dispatch/contractConformanceReview.js +6 -3
  162. package/dist/remediate/steps/dispatch/contractConformanceReview.js.map +1 -1
  163. package/dist/remediate/steps/dispatch/hostContracts.d.ts +1 -1
  164. package/dist/remediate/steps/dispatch/hostContracts.d.ts.map +1 -1
  165. package/dist/remediate/steps/dispatch/hostHandoff.d.ts +4 -21
  166. package/dist/remediate/steps/dispatch/hostHandoff.d.ts.map +1 -1
  167. package/dist/remediate/steps/dispatch/hostHandoff.js +161 -383
  168. package/dist/remediate/steps/dispatch/hostHandoff.js.map +1 -1
  169. package/dist/remediate/steps/finalGate.d.ts +34 -0
  170. package/dist/remediate/steps/finalGate.d.ts.map +1 -1
  171. package/dist/remediate/steps/finalGate.js +44 -4
  172. package/dist/remediate/steps/finalGate.js.map +1 -1
  173. package/dist/remediate/steps/frictionCloseout.d.ts +1 -30
  174. package/dist/remediate/steps/frictionCloseout.d.ts.map +1 -1
  175. package/dist/remediate/steps/frictionCloseout.js +6 -99
  176. package/dist/remediate/steps/frictionCloseout.js.map +1 -1
  177. package/dist/remediate/steps/nextStep.d.ts +2 -15
  178. package/dist/remediate/steps/nextStep.d.ts.map +1 -1
  179. package/dist/remediate/steps/nextStep.js +255 -1028
  180. package/dist/remediate/steps/nextStep.js.map +1 -1
  181. package/dist/remediate/steps/prompts.js +12 -12
  182. package/dist/remediate/steps/prompts.js.map +1 -1
  183. package/dist/remediate/steps/stepUtils.d.ts +1 -1
  184. package/dist/remediate/steps/stepUtils.d.ts.map +1 -1
  185. package/dist/remediate/steps/types.d.ts +1 -1
  186. package/dist/remediate/steps/types.d.ts.map +1 -1
  187. package/dist/remediate/steps/types.js +1 -1
  188. package/dist/remediate/steps/types.js.map +1 -1
  189. package/dist/remediate/types/options.d.ts +9 -0
  190. package/dist/remediate/types/options.d.ts.map +1 -1
  191. package/dist/remediate/validation/artifacts.d.ts.map +1 -1
  192. package/dist/remediate/validation/artifacts.js +10 -56
  193. package/dist/remediate/validation/artifacts.js.map +1 -1
  194. package/dist/remediate/validation/remediationState.d.ts +2 -2
  195. package/dist/remediate/validation/remediationState.d.ts.map +1 -1
  196. package/dist/remediate/validation/remediationState.js +17 -77
  197. package/dist/remediate/validation/remediationState.js.map +1 -1
  198. package/dist/remediate/validation/verificationReport.d.ts +3 -0
  199. package/dist/remediate/validation/verificationReport.d.ts.map +1 -0
  200. package/dist/remediate/validation/verificationReport.js +28 -0
  201. package/dist/remediate/validation/verificationReport.js.map +1 -0
  202. package/dist/shared/analyzers/types.d.ts +10 -10
  203. package/dist/shared/engine/obligationEngine.d.ts +2 -2
  204. package/dist/shared/friction/triage.d.ts +7 -28
  205. package/dist/shared/friction/triage.d.ts.map +1 -1
  206. package/dist/shared/friction/triage.js +7 -28
  207. package/dist/shared/friction/triage.js.map +1 -1
  208. package/dist/shared/graph/orderedReachability.js +1 -1
  209. package/dist/shared/graph/orderedReachability.js.map +1 -1
  210. package/dist/shared/index.d.ts +5 -6
  211. package/dist/shared/index.d.ts.map +1 -1
  212. package/dist/shared/index.js +3 -4
  213. package/dist/shared/index.js.map +1 -1
  214. package/dist/shared/loopCorePaths.d.ts.map +1 -1
  215. package/dist/shared/loopCorePaths.js +6 -0
  216. package/dist/shared/loopCorePaths.js.map +1 -1
  217. package/dist/shared/prompts.d.ts +1 -2
  218. package/dist/shared/prompts.d.ts.map +1 -1
  219. package/dist/shared/prompts.js +1 -2
  220. package/dist/shared/prompts.js.map +1 -1
  221. package/dist/shared/reReview/projectionDiff.d.ts.map +1 -1
  222. package/dist/shared/reReview/projectionDiff.js +6 -14
  223. package/dist/shared/reReview/projectionDiff.js.map +1 -1
  224. package/dist/shared/types/executionPlan.d.ts +416 -0
  225. package/dist/shared/types/executionPlan.d.ts.map +1 -0
  226. package/dist/shared/types/executionPlan.js +132 -0
  227. package/dist/shared/types/executionPlan.js.map +1 -0
  228. package/dist/shared/types/remediationOutcome.d.ts +1378 -12
  229. package/dist/shared/types/remediationOutcome.d.ts.map +1 -1
  230. package/dist/shared/types/remediationOutcome.js +29 -1
  231. package/dist/shared/types/remediationOutcome.js.map +1 -1
  232. package/dist/shared/types/{contractPipeline/verification.d.ts → verificationReport.d.ts} +9 -37
  233. package/dist/shared/types/verificationReport.d.ts.map +1 -0
  234. package/dist/shared/types/verificationReport.js +4 -0
  235. package/dist/shared/types/verificationReport.js.map +1 -0
  236. package/dist/shared/validation/findingGrounding.d.ts +3 -5
  237. package/dist/shared/validation/findingGrounding.d.ts.map +1 -1
  238. package/dist/shared/validation/findingGrounding.js +4 -7
  239. package/dist/shared/validation/findingGrounding.js.map +1 -1
  240. package/package.json +1 -1
  241. package/dist/remediate/contractPipeline/artifactNames.d.ts +0 -8
  242. package/dist/remediate/contractPipeline/artifactNames.d.ts.map +0 -1
  243. package/dist/remediate/contractPipeline/artifactNames.js +0 -28
  244. package/dist/remediate/contractPipeline/artifactNames.js.map +0 -1
  245. package/dist/remediate/contractPipeline/artifactStore.d.ts +0 -219
  246. package/dist/remediate/contractPipeline/artifactStore.d.ts.map +0 -1
  247. package/dist/remediate/contractPipeline/artifactStore.js +0 -436
  248. package/dist/remediate/contractPipeline/artifactStore.js.map +0 -1
  249. package/dist/remediate/contractPipeline/changeClassification.d.ts +0 -130
  250. package/dist/remediate/contractPipeline/changeClassification.d.ts.map +0 -1
  251. package/dist/remediate/contractPipeline/changeClassification.js +0 -446
  252. package/dist/remediate/contractPipeline/changeClassification.js.map +0 -1
  253. package/dist/remediate/contractPipeline/contractReviewBinding.d.ts +0 -28
  254. package/dist/remediate/contractPipeline/contractReviewBinding.d.ts.map +0 -1
  255. package/dist/remediate/contractPipeline/contractReviewBinding.js +0 -75
  256. package/dist/remediate/contractPipeline/contractReviewBinding.js.map +0 -1
  257. package/dist/remediate/contractPipeline/counterexampleFingerprint.d.ts +0 -27
  258. package/dist/remediate/contractPipeline/counterexampleFingerprint.d.ts.map +0 -1
  259. package/dist/remediate/contractPipeline/counterexampleFingerprint.js +0 -37
  260. package/dist/remediate/contractPipeline/counterexampleFingerprint.js.map +0 -1
  261. package/dist/remediate/contractPipeline/cyclicSeamResolution.d.ts +0 -131
  262. package/dist/remediate/contractPipeline/cyclicSeamResolution.d.ts.map +0 -1
  263. package/dist/remediate/contractPipeline/cyclicSeamResolution.js +0 -257
  264. package/dist/remediate/contractPipeline/cyclicSeamResolution.js.map +0 -1
  265. package/dist/remediate/contractPipeline/derive.d.ts +0 -173
  266. package/dist/remediate/contractPipeline/derive.d.ts.map +0 -1
  267. package/dist/remediate/contractPipeline/derive.js +0 -477
  268. package/dist/remediate/contractPipeline/derive.js.map +0 -1
  269. package/dist/remediate/contractPipeline/finalizedContractFields.d.ts +0 -50
  270. package/dist/remediate/contractPipeline/finalizedContractFields.d.ts.map +0 -1
  271. package/dist/remediate/contractPipeline/finalizedContractFields.js +0 -77
  272. package/dist/remediate/contractPipeline/finalizedContractFields.js.map +0 -1
  273. package/dist/remediate/contractPipeline/idRegistry.d.ts +0 -144
  274. package/dist/remediate/contractPipeline/idRegistry.d.ts.map +0 -1
  275. package/dist/remediate/contractPipeline/idRegistry.js +0 -214
  276. package/dist/remediate/contractPipeline/idRegistry.js.map +0 -1
  277. package/dist/remediate/contractPipeline/obligationKinds.d.ts +0 -27
  278. package/dist/remediate/contractPipeline/obligationKinds.d.ts.map +0 -1
  279. package/dist/remediate/contractPipeline/obligationKinds.js +0 -18
  280. package/dist/remediate/contractPipeline/obligationKinds.js.map +0 -1
  281. package/dist/remediate/contractPipeline/phaseCut.d.ts +0 -125
  282. package/dist/remediate/contractPipeline/phaseCut.d.ts.map +0 -1
  283. package/dist/remediate/contractPipeline/phaseCut.js +0 -339
  284. package/dist/remediate/contractPipeline/phaseCut.js.map +0 -1
  285. package/dist/remediate/contractPipeline/phaseCutArtifact.d.ts +0 -31
  286. package/dist/remediate/contractPipeline/phaseCutArtifact.d.ts.map +0 -1
  287. package/dist/remediate/contractPipeline/phaseCutArtifact.js +0 -48
  288. package/dist/remediate/contractPipeline/phaseCutArtifact.js.map +0 -1
  289. package/dist/remediate/contractPipeline/repairState.d.ts +0 -110
  290. package/dist/remediate/contractPipeline/repairState.d.ts.map +0 -1
  291. package/dist/remediate/contractPipeline/repairState.js +0 -185
  292. package/dist/remediate/contractPipeline/repairState.js.map +0 -1
  293. package/dist/remediate/contractPipeline/reviewSnapshot.d.ts +0 -79
  294. package/dist/remediate/contractPipeline/reviewSnapshot.d.ts.map +0 -1
  295. package/dist/remediate/contractPipeline/reviewSnapshot.js +0 -140
  296. package/dist/remediate/contractPipeline/reviewSnapshot.js.map +0 -1
  297. package/dist/remediate/contractPipeline/semanticProjection.d.ts +0 -64
  298. package/dist/remediate/contractPipeline/semanticProjection.d.ts.map +0 -1
  299. package/dist/remediate/contractPipeline/semanticProjection.js +0 -136
  300. package/dist/remediate/contractPipeline/semanticProjection.js.map +0 -1
  301. package/dist/remediate/contractPipeline/sketchSource.d.ts +0 -194
  302. package/dist/remediate/contractPipeline/sketchSource.d.ts.map +0 -1
  303. package/dist/remediate/contractPipeline/sketchSource.js +0 -262
  304. package/dist/remediate/contractPipeline/sketchSource.js.map +0 -1
  305. package/dist/remediate/contractPipeline/testPlanCarry.d.ts +0 -17
  306. package/dist/remediate/contractPipeline/testPlanCarry.d.ts.map +0 -1
  307. package/dist/remediate/contractPipeline/testPlanCarry.js +0 -72
  308. package/dist/remediate/contractPipeline/testPlanCarry.js.map +0 -1
  309. package/dist/remediate/steps/dispatch/marshal.d.ts +0 -7
  310. package/dist/remediate/steps/dispatch/marshal.d.ts.map +0 -1
  311. package/dist/remediate/steps/dispatch/marshal.js +0 -11
  312. package/dist/remediate/steps/dispatch/marshal.js.map +0 -1
  313. package/dist/remediate/validation/contractPipeline.d.ts +0 -35
  314. package/dist/remediate/validation/contractPipeline.d.ts.map +0 -1
  315. package/dist/remediate/validation/contractPipeline.js +0 -613
  316. package/dist/remediate/validation/contractPipeline.js.map +0 -1
  317. package/dist/remediate/validation/contractPipelineGates.d.ts +0 -272
  318. package/dist/remediate/validation/contractPipelineGates.d.ts.map +0 -1
  319. package/dist/remediate/validation/contractPipelineGates.js +0 -1397
  320. package/dist/remediate/validation/contractPipelineGates.js.map +0 -1
  321. package/dist/shared/types/contractPipeline/design.d.ts +0 -79
  322. package/dist/shared/types/contractPipeline/design.d.ts.map +0 -1
  323. package/dist/shared/types/contractPipeline/design.js +0 -16
  324. package/dist/shared/types/contractPipeline/design.js.map +0 -1
  325. package/dist/shared/types/contractPipeline/goal.d.ts +0 -41
  326. package/dist/shared/types/contractPipeline/goal.d.ts.map +0 -1
  327. package/dist/shared/types/contractPipeline/goal.js +0 -10
  328. package/dist/shared/types/contractPipeline/goal.js.map +0 -1
  329. package/dist/shared/types/contractPipeline/implementation.d.ts +0 -118
  330. package/dist/shared/types/contractPipeline/implementation.d.ts.map +0 -1
  331. package/dist/shared/types/contractPipeline/implementation.js +0 -13
  332. package/dist/shared/types/contractPipeline/implementation.js.map +0 -1
  333. package/dist/shared/types/contractPipeline/obligations.d.ts +0 -283
  334. package/dist/shared/types/contractPipeline/obligations.d.ts.map +0 -1
  335. package/dist/shared/types/contractPipeline/obligations.js +0 -84
  336. package/dist/shared/types/contractPipeline/obligations.js.map +0 -1
  337. package/dist/shared/types/contractPipeline/verification.d.ts.map +0 -1
  338. package/dist/shared/types/contractPipeline/verification.js +0 -10
  339. package/dist/shared/types/contractPipeline/verification.js.map +0 -1
  340. package/dist/shared/types/contractPipeline.d.ts +0 -48
  341. package/dist/shared/types/contractPipeline.d.ts.map +0 -1
  342. package/dist/shared/types/contractPipeline.js +0 -32
  343. package/dist/shared/types/contractPipeline.js.map +0 -1
  344. package/dist/shared/types/obligationLedger.d.ts +0 -39
  345. package/dist/shared/types/obligationLedger.d.ts.map +0 -1
  346. package/dist/shared/types/obligationLedger.js +0 -49
  347. package/dist/shared/types/obligationLedger.js.map +0 -1
@@ -1,89 +1,23 @@
1
1
  import type { Evidence } from "../../shared/types/remediationOutcome.js";
2
- import type { Finding, PerFindingDisposition, RemediationItemState } from "../state/types.js";
2
+ import type { PerFindingDisposition, RemediationItemState, RemediationPlan, SourceVerification, FindingDisposition } from "../state/types.js";
3
3
  /**
4
- * CDC-25/CDC-26 (INV-ISC-EVIDENCE-EMITTED) — the PRODUCER for the two
5
- * evidence-bearing terminal dispositions. `verified_already_fixed` and
6
- * `refuted` are reachable from a real run ONLY through
7
- * `RemediationItemState.disposition_override`, and the writer
8
- * (`buildRemediationOutcomesReport` in `close.ts`) refuses that override unless
9
- * the item also carries a complete `evidence` triple and the module stamp that
10
- * recorded it. Nothing wrote those three fields, so both dispositions were
11
- * dead letters: the only route from a determination to run state was a human
12
- * transcribing a markdown document no code reads.
4
+ * Source-specific read-at-HEAD verification. A source is eligible when every
5
+ * linked execution unit claims verified no-change, or the accepted plan
6
+ * explicitly proposes already-fixed/refuted. One shared unit never shares a
7
+ * verdict across its original findings.
13
8
  *
14
- * This leg is that producer, and it is a REAL determination rather than a
15
- * record of one: it re-reads the finding's own CITED location at TWO refs and
16
- * decides from what it read. The triple it records names the file and the line
17
- * it actually read (that is the whole content of INV-ISC-EVIDENCE-EMITTED — the
18
- * recorded triple must name what was read), so a triple naming a location this
19
- * leg never opened cannot be produced here.
9
+ * Two reads are required: B is the audit's recorded commit, never remediation's
10
+ * start or an internal graph baseline. Present at B and absent at HEAD supports
11
+ * verified_already_fixed; absent at B supports refuted; present at both withholds
12
+ * judgment. Missing B, dirty-at-audit files, missing/ambiguous quotes and unreadable
13
+ * sources withhold rather than guessing. The existing exact matching/provenance
14
+ * mechanisms below enforce those distinctions.
20
15
  *
21
- * ── WHY TWO READS, NEVER ONE ────────────────────────────────────────────────
22
- * Let B be the commit the AUDIT read when it produced the finding, and HEAD the
23
- * commit the fix has landed on by the time this leg runs (close.ts executes the
24
- * closing action BEFORE its verify legs, so HEAD contains the remediation
25
- * result — the same point `verifyAnalyzerLeads` and the combined-test leg
26
- * read). A read at HEAD ALONE cannot support either verdict:
27
- *
28
- * span at B | span at HEAD | result
29
- * ----------|--------------|------------------------------------------
30
- * present | absent | `verified_already_fixed` — the code the audit
31
- * | | read is gone; the fix landed.
32
- * absent | (any) | `refuted` — the audit read a location that
33
- * | | never showed the span it quoted.
34
- * present | present | WITHHELD — the cited code still stands, so
35
- * | | this leg makes no determination at all.
36
- * B unknown/unreadable | WITHHELD, with the reason.
37
- *
38
- * The single-read form this leg used to carry was WRONG in both directions, and
39
- * the two errors were mirror images. It called "span still present at HEAD"
40
- * `refuted` on the stated ground that "the cited location never showed the
41
- * defect" — an inference no read at HEAD can make. A span still standing proves
42
- * only that the code the finding quoted is still there; if the defect was real
43
- * when the audit read it, it is still real. Symmetrically it called "span absent
44
- * at HEAD" `verified_already_fixed`, when an absent span has TWO causes: the
45
- * code changed after the audit read it (the fix landed), or the span was never
46
- * in the file (a misquote — the `refuted` case). B is what tells them apart, so
47
- * without B neither verdict is reachable and every candidate is withheld.
48
- *
49
- * ── WHERE B COMES FROM ──────────────────────────────────────────────────────
50
- * B must be a commit the AUDIT itself recorded. A remediation-side commit is
51
- * NOT B: code can change between the audit and the remediation run, so a span
52
- * absent at the remediation's own start could be a fix made in between rather
53
- * than a misquote — the very confusion this leg exists to avoid. The obvious
54
- * candidate, the host-handoff `baseline_commit`, is exactly that remediation-
55
- * side value and is therefore refused here BY NAME. So is
56
- * `artifact_metadata.git_history_baseline.head`: it is HEAD at the audit's last
57
- * git-history re-mine, an internal staleness cache, not what synthesis read.
58
- *
59
- * B is `state.plan.audit_read` — the findings contract's `audit_read`
60
- * (`AuditReadSchema`), which audit synthesis records and the TOOL stamps onto
61
- * the plan at plan application from the validated source report (never from the
62
- * host-writable extracted plan). It is state, not an override: there is no seam
63
- * through which a caller can hand this leg a different commit.
64
- *
65
- * `audit_read` is more than a commit because the audit reads the WORKING TREE.
66
- * For a path in `audit_read.dirty_paths` the blob at B is NOT what the audit
67
- * read, so a span "absent at B" there could simply have been uncommitted —
68
- * reading it would manufacture a `refuted`. Such a candidate is WITHHELD.
69
- *
70
- * `null`/absent means no commit is known (a report from a non-git tree, a plan
71
- * with no audit-side source, a state persisted before the field existed): every
72
- * candidate is withheld. A B that does not resolve to a real commit in this repo
73
- * is refused as unknown rather than read.
74
- *
75
- * PROVENANCE IS STRUCTURAL. Only `resolved_no_change` items are considered: the
76
- * host has already asserted "I changed nothing because nothing needed
77
- * changing", so this leg CONFIRMS or leaves that assertion standing — it can
78
- * never manufacture a disposition for an item nobody resolved. The outcome is
79
- * then still subject to the writer's own backstop, which refuses a triple whose
80
- * mechanism contradicts the disposition (`mechanismContradictsOutcome`) or that
81
- * arrives incomplete; a mechanism/disposition pair is reachable here only
82
- * because the branch above chose both together.
83
- *
84
- * It is a close-gate VERIFY leg, never a `CLOSING_ACTIONS` entry: it runs
85
- * beside `verifyAnalyzerLeads`, dispatches no host work, and a run with no
86
- * qualifying item is a no-op.
16
+ * Every eligible source is rechecked; old determinations are cleared before the
17
+ * read. New evidence records bind the source content and reviewed plan revision
18
+ * and name the actual HEAD. Reporting independently refuses incomplete,
19
+ * contradictory, or stale source evidence. Captured analyzer verdicts remain
20
+ * independent of the source's read-at-HEAD determination.
87
21
  */
88
22
  export interface HeadEvidenceOverrides {
89
23
  /**
@@ -117,7 +51,7 @@ export interface HeadEvidenceOutcome {
117
51
  head: string | null;
118
52
  /** The audit-read commit `B`, when one was supplied AND resolved; null otherwise. */
119
53
  base: string | null;
120
- /** Per finding_id, the triple + disposition this leg RECORDED onto the item. */
54
+ /** Per finding_id, the triple + disposition this leg recorded in source_verifications. */
121
55
  recorded: Record<string, HeadEvidenceRecord>;
122
56
  /** Candidate items the leg declined to determine, with the reason. */
123
57
  withheld: HeadEvidenceRecord[];
@@ -126,10 +60,11 @@ export interface HeadEvidenceOutcome {
126
60
  export declare const HEAD_EVIDENCE_MODULE = "closeVerifyHeadEvidence";
127
61
  export declare function verifyHeadEvidenceAgainstFindings(params: {
128
62
  state: {
129
- plan?: {
130
- findings?: Finding[];
63
+ plan?: Pick<RemediationPlan, "findings" | "units" | "source_dispositions" | "review_revision_sha256"> & {
131
64
  audit_read?: unknown;
132
- } | undefined;
65
+ };
66
+ source_verifications?: Record<string, SourceVerification>;
67
+ finding_dispositions?: Record<string, FindingDisposition>;
133
68
  items?: Record<string, RemediationItemState> | undefined;
134
69
  };
135
70
  root: string;
@@ -1 +1 @@
1
- {"version":3,"file":"closeVerifyHeadEvidence.d.ts","sourceRoot":"","sources":["../../../src/remediate/phases/closeVerifyHeadEvidence.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0CAA0C,CAAC;AACzE,OAAO,KAAK,EAAE,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAE9F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoFG;AAEH,MAAM,WAAW,qBAAqB;IACpC;;;;OAIG;IACH,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;CACtF;AAED;;;;;GAKG;AACH,MAAM,MAAM,kBAAkB,GAC1B;IACE,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,IAAI,CAAC;IACjB,WAAW,EAAE,qBAAqB,CAAC;IACnC,QAAQ,EAAE,QAAQ,CAAC;CACpB,GACD;IACE,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,KAAK,CAAC;IAClB,8EAA8E;IAC9E,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEN,MAAM,WAAW,mBAAmB;IAClC,2DAA2D;IAC3D,GAAG,EAAE,OAAO,CAAC;IACb,0FAA0F;IAC1F,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,qFAAqF;IACrF,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,gFAAgF;IAChF,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAC7C,sEAAsE;IACtE,QAAQ,EAAE,kBAAkB,EAAE,CAAC;CAChC;AAUD,uFAAuF;AACvF,eAAO,MAAM,oBAAoB,4BAA4B,CAAC;AAuM9D,wBAAsB,iCAAiC,CAAC,MAAM,EAAE;IAC9D,KAAK,EAAE;QACL,IAAI,CAAC,EAAE;YAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;YAAC,UAAU,CAAC,EAAE,OAAO,CAAA;SAAE,GAAG,SAAS,CAAC;QAClE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,GAAG,SAAS,CAAC;KAC1D,CAAC;IACF,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,qBAAqB,CAAC;CACnC,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAqG/B"}
1
+ {"version":3,"file":"closeVerifyHeadEvidence.d.ts","sourceRoot":"","sources":["../../../src/remediate/phases/closeVerifyHeadEvidence.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0CAA0C,CAAC;AACzE,OAAO,KAAK,EAAW,qBAAqB,EAAE,oBAAoB,EAAE,eAAe,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAEvJ;;;;;;;;;;;;;;;;;;GAkBG;AAEH,MAAM,WAAW,qBAAqB;IACpC;;;;OAIG;IACH,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;CACtF;AAED;;;;;GAKG;AACH,MAAM,MAAM,kBAAkB,GAC1B;IACE,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,IAAI,CAAC;IACjB,WAAW,EAAE,qBAAqB,CAAC;IACnC,QAAQ,EAAE,QAAQ,CAAC;CACpB,GACD;IACE,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,KAAK,CAAC;IAClB,8EAA8E;IAC9E,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEN,MAAM,WAAW,mBAAmB;IAClC,2DAA2D;IAC3D,GAAG,EAAE,OAAO,CAAC;IACb,0FAA0F;IAC1F,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,qFAAqF;IACrF,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,0FAA0F;IAC1F,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAC7C,sEAAsE;IACtE,QAAQ,EAAE,kBAAkB,EAAE,CAAC;CAChC;AAUD,uFAAuF;AACvF,eAAO,MAAM,oBAAoB,4BAA4B,CAAC;AAuM9D,wBAAsB,iCAAiC,CAAC,MAAM,EAAE;IAC9D,KAAK,EAAE;QACL,IAAI,CAAC,EAAE,IAAI,CAAC,eAAe,EAAE,UAAU,GAAG,OAAO,GAAG,qBAAqB,GAAG,wBAAwB,CAAC,GAAG;YAAE,UAAU,CAAC,EAAE,OAAO,CAAA;SAAE,CAAC;QACjI,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;QAC1D,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;QAC1D,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,GAAG,SAAS,CAAC;KAC1D,CAAC;IACF,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,qBAAqB,CAAC;CACnC,GAAG,OAAO,CAAC,mBAAmB,CAAC,CA6G/B"}
@@ -1,3 +1,4 @@
1
+ import { contentSha256 } from "../../shared/submission/hostHandoffCore.js";
1
2
  // sites-pinned: tests/remediate/close-verify-head-evidence.test.ts
2
3
  import { auditReadOf, enumerateTrackedFilePaths, fileContentAtRef, gitRefExists, headCommit, isBareBasename, normalizeForMatch, normalizeRepoPath, quoteMatches, resolveBasenameToTrackedPath, stripEmittedLinePrefix, toPosixPath, } from "audit-tools/shared";
3
4
  const NO_OP = {
@@ -178,21 +179,26 @@ async function determine(params) {
178
179
  }
179
180
  export async function verifyHeadEvidenceAgainstFindings(params) {
180
181
  const { state, root, overrides } = params;
181
- const findingsById = new Map((state.plan?.findings ?? []).map((finding) => [finding.id, finding]));
182
- // Provenance first: only a `resolved_no_change` item is a candidate, because
183
- // only there has the host asserted a no-change resolution for this leg to
184
- // confirm. An item that already carries an override is left alone — a
185
- // determination someone else recorded is not this leg's to overwrite.
186
- const candidates = [];
187
- for (const item of Object.values(state.items ?? {})) {
188
- if (item.status !== "resolved_no_change")
189
- continue;
190
- if (item.disposition_override !== undefined)
191
- continue;
192
- const finding = findingsById.get(item.finding_id);
193
- if (!finding)
194
- continue;
195
- candidates.push({ item, finding });
182
+ // Verification is source-scoped: one unit can serve several sources and
183
+ // one source can require several units. Never copy one source's verdict to
184
+ // its siblings merely because they share an implementation assignment.
185
+ const candidates = (state.plan?.findings ?? []).filter(finding => {
186
+ if (state.finding_dispositions?.[finding.id])
187
+ return false;
188
+ const disposition = state.plan?.source_dispositions.find(entry => entry.finding_id === finding.id);
189
+ if (disposition?.status === "already_fixed" || disposition?.status === "refuted")
190
+ return true;
191
+ const units = (state.plan?.units ?? []).filter(unit => unit.source_finding_ids.includes(finding.id));
192
+ return units.length > 0 && units.every(unit => state.items?.[unit.id]?.status === "resolved_no_change");
193
+ }).map(finding => ({ finding }));
194
+ for (const { finding } of candidates) {
195
+ const old = state.source_verifications?.[finding.id];
196
+ if (old) {
197
+ // A previous read is not authority for this HEAD. Retain the independent
198
+ // analyzer leg, but remove any stale source determination before rereading.
199
+ state.source_verifications[finding.id] = old.mechanical_verification
200
+ ? { mechanical_verification: old.mechanical_verification } : {};
201
+ }
196
202
  }
197
203
  if (candidates.length === 0)
198
204
  return NO_OP;
@@ -235,7 +241,7 @@ export async function verifyHeadEvidenceAgainstFindings(params) {
235
241
  ((readRoot, ref, file) => fileContentAtRef(readRoot, ref, file));
236
242
  const recorded = {};
237
243
  const withheld = [];
238
- for (const { item, finding } of candidates) {
244
+ for (const { finding } of candidates) {
239
245
  const verdict = await determine({
240
246
  root,
241
247
  head,
@@ -253,9 +259,14 @@ export async function verifyHeadEvidenceAgainstFindings(params) {
253
259
  });
254
260
  continue;
255
261
  }
256
- item.disposition_override = verdict.disposition;
257
- item.evidence = verdict.evidence;
258
- item.recorded_by_module = HEAD_EVIDENCE_MODULE;
262
+ state.source_verifications ??= {};
263
+ state.source_verifications[finding.id] = {
264
+ ...state.source_verifications[finding.id],
265
+ disposition_override: verdict.disposition, evidence: verdict.evidence,
266
+ recorded_by_module: HEAD_EVIDENCE_MODULE,
267
+ review_revision_sha256: state.plan.review_revision_sha256,
268
+ source_sha256: contentSha256(finding), head_commit: head,
269
+ };
259
270
  recorded[finding.id] = {
260
271
  finding_id: finding.id,
261
272
  determined: true,
@@ -1 +1 @@
1
- {"version":3,"file":"closeVerifyHeadEvidence.js","sourceRoot":"","sources":["../../../src/remediate/phases/closeVerifyHeadEvidence.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"closeVerifyHeadEvidence.js","sourceRoot":"","sources":["../../../src/remediate/phases/closeVerifyHeadEvidence.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,4CAA4C,CAAC;AAC3E,mEAAmE;AACnE,OAAO,EACL,WAAW,EACX,yBAAyB,EACzB,gBAAgB,EAChB,YAAY,EACZ,UAAU,EACV,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,YAAY,EACZ,4BAA4B,EAC5B,sBAAsB,EACtB,WAAW,GACZ,MAAM,oBAAoB,CAAC;AAkE5B,MAAM,KAAK,GAAwB;IACjC,GAAG,EAAE,KAAK;IACV,IAAI,EAAE,IAAI;IACV,IAAI,EAAE,IAAI;IACV,QAAQ,EAAE,EAAE;IACZ,QAAQ,EAAE,EAAE;CACb,CAAC;AAEF,uFAAuF;AACvF,MAAM,CAAC,MAAM,oBAAoB,GAAG,yBAAyB,CAAC;AAE9D;;;;;;;GAOG;AACH,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAE3B,6FAA6F;AAC7F,SAAS,SAAS,CAAC,OAAgB;IACjC,KAAK,MAAM,QAAQ,IAAI,OAAO,CAAC,cAAc,IAAI,EAAE,EAAE,CAAC;QACpD,MAAM,MAAM,GAAG,QAAQ,CAAC,WAAW,CAAC;QACpC,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3D,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;QACzC,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,uFAAuF;AACvF,SAAS,cAAc,CAAC,OAAgB;IACtC,KAAK,MAAM,QAAQ,IAAI,OAAO,CAAC,cAAc,IAAI,EAAE,EAAE,CAAC;QACpD,IAAI,QAAQ,CAAC,UAAU,KAAK,SAAS;YAAE,SAAS;QAChD,MAAM,GAAG,GAAG,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,UAAU,CAAC;QACrD,OAAO,GAAG,KAAK,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,UAAU,IAAI,GAAG,EAAE,CAAC;IAClG,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;;;;GAKG;AACH,SAAS,gBAAgB,CACvB,KAAa,EACb,MAA2B;IAE3B,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC3C,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;QAAE,OAAO,WAAW,CAAC,OAAO,CAAC,CAAC;IAC1D,OAAO,4BAA4B,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;AACvD,CAAC;AAUD;;;;;;;;;;;;;;;;;GAiBG;AACH,SAAS,YAAY,CAAC,OAAe,EAAE,MAAc;IACnD,IAAI,iBAAiB,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3C,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,yDAAyD,EAAE,CAAC;IACjG,CAAC;IACD,IAAI,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IAC9D,IAAI,YAAY,CAAC,OAAO,EAAE,sBAAsB,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC;QAC5E,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;IAC/B,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;AAC5B,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,SAAS,CACtB,MASC;IAID,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;IAC7E,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;IAClC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,uEAAuE;QACvE,oEAAoE;QACpE,2EAA2E;QAC3E,4DAA4D;QAC5D,OAAO,EAAE,QAAQ,EAAE,wEAAwE,EAAE,CAAC;IAChG,CAAC;IACD,MAAM,IAAI,GAAG,gBAAgB,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACnD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,EAAE,QAAQ,EAAE,eAAe,MAAM,CAAC,IAAI,sCAAsC,EAAE,CAAC;IACxF,CAAC;IACD,gFAAgF;IAChF,4EAA4E;IAC5E,8EAA8E;IAC9E,gFAAgF;IAChF,IAAI,WAAW,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;QAC7C,wEAAwE;QACxE,uEAAuE;QACvE,qCAAqC;QACrC,OAAO;YACL,QAAQ,EACN,6CAA6C,IAAI,8CAA8C;gBAC/F,wCAAwC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,6BAA6B;SACzF,CAAC;IACJ,CAAC;IACD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACpC,MAAM,WAAW,GAAG,MAAM,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACtD,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC9B,OAAO,EAAE,QAAQ,EAAE,IAAI,IAAI,qDAAqD,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;IACxG,CAAC;IACD,MAAM,YAAY,GAAG,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAC9D,IAAI,YAAY,CAAC,IAAI,KAAK,UAAU;QAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,CAAC,MAAM,EAAE,CAAC;IAC/E,IAAI,YAAY,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QACtC,OAAO;YACL,QAAQ,EACN,0IAA0I;SAC7I,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IACrC,IAAI,YAAY,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QACpC,MAAM,WAAW,GAAG,MAAM,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACtD,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,OAAO,EAAE,QAAQ,EAAE,IAAI,IAAI,kCAAkC,EAAE,CAAC;QAClE,CAAC;QACD,MAAM,YAAY,GAAG,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QAC9D,IAAI,YAAY,CAAC,IAAI,KAAK,UAAU;YAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,CAAC,MAAM,EAAE,CAAC;QAC/E,IAAI,YAAY,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YACtC,OAAO;gBACL,QAAQ,EACN,wHAAwH;aAC3H,CAAC;QACJ,CAAC;QACD,IAAI,YAAY,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACpC,wEAAwE;YACxE,sEAAsE;YACtE,0EAA0E;YAC1E,mEAAmE;YACnE,OAAO;gBACL,QAAQ,EACN,2DAA2D,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,SAAS,IAAI;oBACzG,sFAAsF;aACzF,CAAC;QACJ,CAAC;QACD,OAAO;YACL,WAAW,EAAE,wBAAwB;YACrC,QAAQ,EAAE;gBACR,IAAI;gBACJ,IAAI;gBACJ,SAAS,EAAE,2BAA2B;gBACtC,gBAAgB,EACd,SAAS,IAAI,8BAA8B,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,SAAS,IAAI;oBACzF,6IAA6I;aAChJ;SACF,CAAC;IACJ,CAAC;IACD,8EAA8E;IAC9E,4EAA4E;IAC5E,6EAA6E;IAC7E,sEAAsE;IACtE,OAAO;QACL,WAAW,EAAE,SAAS;QACtB,QAAQ,EAAE;YACR,IAAI;YACJ,IAAI;YACJ,SAAS,EAAE,yBAAyB;YACpC,gBAAgB,EACd,SAAS,IAAI,8BAA8B,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,sCAAsC;gBAClG,wFAAwF;SAC3F;KACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iCAAiC,CAAC,MASvD;IACC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;IAC1C,wEAAwE;IACxE,2EAA2E;IAC3E,uEAAuE;IACvE,MAAM,UAAU,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE;QAC/D,IAAI,KAAK,CAAC,oBAAoB,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;YAAE,OAAO,KAAK,CAAC;QAC3D,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,EAAE,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,KAAK,OAAO,CAAC,EAAE,CAAC,CAAC;QACnG,IAAI,WAAW,EAAE,MAAM,KAAK,eAAe,IAAI,WAAW,EAAE,MAAM,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC;QAC9F,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;QACrG,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,MAAM,KAAK,oBAAoB,CAAC,CAAC;IAC1G,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;IACjC,KAAK,MAAM,EAAE,OAAO,EAAE,IAAI,UAAU,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,KAAK,CAAC,oBAAoB,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACrD,IAAI,GAAG,EAAE,CAAC;YACR,yEAAyE;YACzE,4EAA4E;YAC5E,KAAK,CAAC,oBAAqB,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,uBAAuB;gBACnE,CAAC,CAAC,EAAE,uBAAuB,EAAE,GAAG,CAAC,uBAAuB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACpE,CAAC;IACH,CAAC;IACD,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAE1C,MAAM,WAAW,GAAG,CAAC,IAAmB,EAAE,MAAc,EAAuB,EAAE,CAAC,CAAC;QACjF,GAAG,EAAE,IAAI;QACT,IAAI;QACJ,IAAI,EAAE,IAAI;QACV,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;YACzC,UAAU,EAAE,OAAO,CAAC,EAAE;YACtB,UAAU,EAAE,KAAc;YAC1B,MAAM;SACP,CAAC,CAAC;KACJ,CAAC,CAAC;IAEH,8EAA8E;IAC9E,6EAA6E;IAC7E,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;IACpC,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAClB,OAAO,WAAW,CAAC,IAAI,EAAE,kEAAkE,CAAC,CAAC;IAC/F,CAAC;IAED,6EAA6E;IAC7E,8EAA8E;IAC9E,8EAA8E;IAC9E,+DAA+D;IAC/D,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1C,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;QACvB,OAAO,WAAW,CAChB,IAAI,EACJ,mHAAmH,CACpH,CAAC;IACJ,CAAC;IACD,2EAA2E;IAC3E,uEAAuE;IACvE,2EAA2E;IAC3E,cAAc;IACd,MAAM,IAAI,GAAG,SAAS,CAAC,MAAM,CAAC;IAC9B,IAAI,CAAC,CAAC,MAAM,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC;QACtC,OAAO,WAAW,CAChB,IAAI,EACJ,mCAAmC,IAAI,mDAAmD,CAC3F,CAAC;IACJ,CAAC;IACD,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAE1F,MAAM,MAAM,GAAG,MAAM,yBAAyB,CAAC,IAAI,CAAC,CAAC;IACrD,MAAM,SAAS,GACb,SAAS,EAAE,SAAS;QACpB,CAAC,CAAC,QAAgB,EAAE,GAAW,EAAE,IAAY,EAAE,EAAE,CAC/C,gBAAgB,CAAC,QAAQ,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;IAE3C,MAAM,QAAQ,GAAuC,EAAE,CAAC;IACxD,MAAM,QAAQ,GAAyB,EAAE,CAAC;IAC1C,KAAK,MAAM,EAAE,OAAO,EAAE,IAAI,UAAU,EAAE,CAAC;QACrC,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC;YAC9B,IAAI;YACJ,IAAI;YACJ,IAAI;YACJ,WAAW;YACX,MAAM;YACN,OAAO;YACP,SAAS;SACV,CAAC,CAAC;QACH,IAAI,UAAU,IAAI,OAAO,EAAE,CAAC;YAC1B,QAAQ,CAAC,IAAI,CAAC;gBACZ,UAAU,EAAE,OAAO,CAAC,EAAE;gBACtB,UAAU,EAAE,KAAK;gBACjB,MAAM,EAAE,OAAO,CAAC,QAAQ;aACzB,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QACD,KAAK,CAAC,oBAAoB,KAAK,EAAE,CAAC;QAClC,KAAK,CAAC,oBAAoB,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG;YACvC,GAAG,KAAK,CAAC,oBAAoB,CAAC,OAAO,CAAC,EAAE,CAAC;YACzC,oBAAoB,EAAE,OAAO,CAAC,WAAW,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ;YACrE,kBAAkB,EAAE,oBAAoB;YACxC,sBAAsB,EAAE,KAAK,CAAC,IAAK,CAAC,sBAAsB;YAC1D,aAAa,EAAE,aAAa,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,IAAI;SACzD,CAAC;QACF,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG;YACrB,UAAU,EAAE,OAAO,CAAC,EAAE;YACtB,UAAU,EAAE,IAAI;YAChB,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC3B,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;AACvD,CAAC"}
@@ -1,28 +1,6 @@
1
- import { RemediationPlan, Finding, RemediationBlock, RemediationItemState, CoverageLedger } from "../state/types.js";
2
- import type { AuditFindingsReport } from "audit-tools/shared";
3
- /**
4
- * Whether a parsed JSON value claims the audit-findings contract — the ROUTING
5
- * predicate for structured vs markdown/freeform input.
6
- *
7
- * INV-remediate-state-07: contract_version presence and expected value are
8
- * enforced here — an absent or mismatched contract_version never routes
9
- * structured. Deliberately NOT the full strict validator: a report that claims
10
- * the contract but is internally invalid must enter the structured path and be
11
- * refused there with its real issues, not silently fall through to the
12
- * markdown parser.
13
- */
1
+ import type { Finding, ExecutionUnit, CoverageLedger } from "../state/types.js";
2
+ import { type AuditFindingsReport } from "audit-tools/shared";
14
3
  export declare function isAuditFindingsReport(value: unknown): value is AuditFindingsReport;
15
- export { ESTIMATED_PROMPT_OVERHEAD_TOKENS as ESTIMATED_BLOCK_BASE_TOKENS, ESTIMATED_ITEM_OVERHEAD_TOKENS as ESTIMATED_FINDING_OVERHEAD_TOKENS, } from "audit-tools/shared";
16
- export declare function estimateGroupTokens(findingIds: string[], findings: Finding[], fileByteCounts: Map<string, number>, root?: string): number;
17
- /**
18
- * Account for every finding the plan received: each is marked `planned` (kept and
19
- * mapped to a block), `folded_into` (merged into a survivor by cross-lens dedup),
20
- * `dropped_no_evidence` (excluded for carrying no evidence), `dropped_by_checkpoint`,
21
- * or `dropped_phantom_paths` (every cited path was phantom, post-repair). The
22
- * dispositions are mutually exclusive and cover the whole source set, so nothing
23
- * is lost silently. Kept extracted findings additionally carry their grounding
24
- * annotations (stripped phantom paths, evidence-grounded flag).
25
- */
26
4
  export declare function buildCoverageLedger(params: {
27
5
  planId: string;
28
6
  sourceFindings: Finding[];
@@ -44,41 +22,6 @@ export declare function buildCoverageLedger(params: {
44
22
  reason: string;
45
23
  }>;
46
24
  mergeMap: Map<string, string>;
47
- items: Record<string, RemediationItemState>;
25
+ units: ExecutionUnit[];
48
26
  }): CoverageLedger;
49
- /**
50
- * Reconcile blocks whose findings touch a shared file.
51
- *
52
- * A3 decomposition seam: two blocks that share a canonical physical file but come
53
- * from INDEPENDENT findings (distinct finding ids, no dependency edge ordering
54
- * them) are NO LONGER unioned into one serial block. They are kept SEPARATE and
55
- * each is flagged `cofile_parallel_safe=true` — a mechanical decision that the
56
- * findings are independent, NOT a proof of edit-region disjointness; correctness
57
- * is enforced later at merge by git (a real overlap surfaces as a conflict). Only
58
- * a genuine ordering dependency (an existing dependency edge between the two
59
- * blocks) keeps them serialized — and ordered blocks were never unioned anyway,
60
- * they simply run in dependency order. A single finding whose fix spans multiple
61
- * regions of one file is one block already and is never split.
62
- *
63
- * File identity uses `canonicalizeFilePath` (the one M1-BOUNDARY scheme) so
64
- * `src/A.ts`, `./src/A.ts`, `src\A.ts` and case variants collide on one key.
65
- * Pure; preserves the auditor's structure otherwise.
66
- */
67
- export declare function mergeBlocksSharingFiles(blocks: RemediationBlock[], findings: Finding[], root?: string): RemediationBlock[];
68
- /**
69
- * Applies the backend-independent post-dedup steps that every plan must go through
70
- * before being handed off to the implement phase:
71
- *
72
- * 1. mergeBlocksSharingFiles — preserves content-coherent membership while
73
- * annotating independent co-file work
74
- * 2. addAdvisoryTokenEstimates — reports deterministic local size metadata
75
- * 3. snapshotAffectedFileHashes — records trusted baseline hashes
76
- *
77
- * Sole caller is handlePendingExtractedPlan (LLM-extracted plans join site);
78
- * kept as its own function so the post-dedup logic has one home.
79
- */
80
- export declare function applyPlanPipeline(plan: RemediationPlan, options: {
81
- root: string;
82
- artifactsDir?: string;
83
- }): Promise<RemediationPlan>;
84
27
  //# sourceMappingURL=plan.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"plan.d.ts","sourceRoot":"","sources":["../../../src/remediate/phases/plan.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,OAAO,EACP,gBAAgB,EAChB,oBAAoB,EACpB,cAAc,EAEf,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAU9D;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,mBAAmB,CAE9B;AAKD,OAAO,EACL,gCAAgC,IAAI,2BAA2B,EAC/D,8BAA8B,IAAI,iCAAiC,GACpE,MAAM,oBAAoB,CAAC;AAwD5B,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,MAAM,EAAE,EACpB,QAAQ,EAAE,OAAO,EAAE,EACnB,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAMnC,IAAI,CAAC,EAAE,MAAM,GACZ,MAAM,CAeR;AAkCD;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE;IAC1C,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,OAAO,EAAE,CAAC;IAC1B,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,iFAAiF;IACjF,mBAAmB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC5C,oEAAoE;IACpE,mBAAmB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC5C;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,KAAK,CAAC;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACjE,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;CAC7C,GAAG,cAAc,CA0FjB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,gBAAgB,EAAE,EAC1B,QAAQ,EAAE,OAAO,EAAE,EACnB,IAAI,SAAM,GACT,gBAAgB,EAAE,CA2DpB;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,eAAe,EACrB,OAAO,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,GAC/C,OAAO,CAAC,eAAe,CAAC,CAc1B"}
1
+ {"version":3,"file":"plan.d.ts","sourceRoot":"","sources":["../../../src/remediate/phases/plan.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,cAAc,EAAuB,MAAM,mBAAmB,CAAC;AACrG,OAAO,EAAiD,KAAK,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAE7G,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,mBAAmB,CAElF;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE;IAC1C,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,OAAO,EAAE,CAAC;IAC1B,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,iFAAiF;IACjF,mBAAmB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC5C,oEAAoE;IACpE,mBAAmB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC5C;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,KAAK,CAAC;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACjE,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,KAAK,EAAE,aAAa,EAAE,CAAC;CACxB,GAAG,cAAc,CA0FjB"}
@@ -1,132 +1,7 @@
1
- import { isAbsolute, join } from "node:path";
2
- import { canonicalizeFilePath, claimsAuditFindingsContract, compareCodeUnits } from "audit-tools/shared";
3
- import { readdirSync, statSync } from "node:fs";
4
- import { snapshotAffectedFileHashes } from "../utils/fileIntegrity.js";
5
- import { estimateTokensFromBytes, ESTIMATED_PROMPT_OVERHEAD_TOKENS, ESTIMATED_ITEM_OVERHEAD_TOKENS, } from "audit-tools/shared";
6
- /**
7
- * Whether a parsed JSON value claims the audit-findings contract — the ROUTING
8
- * predicate for structured vs markdown/freeform input.
9
- *
10
- * INV-remediate-state-07: contract_version presence and expected value are
11
- * enforced here — an absent or mismatched contract_version never routes
12
- * structured. Deliberately NOT the full strict validator: a report that claims
13
- * the contract but is internally invalid must enter the structured path and be
14
- * refused there with its real issues, not silently fall through to the
15
- * markdown parser.
16
- */
1
+ import { claimsAuditFindingsContract, compareCodeUnits } from "audit-tools/shared";
17
2
  export function isAuditFindingsReport(value) {
18
3
  return claimsAuditFindingsContract(value);
19
4
  }
20
- // Block-sizing constants: now single-sourced from audit-tools/shared.
21
- // Re-exported under their legacy names so any callers outside this package
22
- // (and dispatch.ts) can migrate to the shared constants at their own pace.
23
- export { ESTIMATED_PROMPT_OVERHEAD_TOKENS as ESTIMATED_BLOCK_BASE_TOKENS, ESTIMATED_ITEM_OVERHEAD_TOKENS as ESTIMATED_FINDING_OVERHEAD_TOKENS, } from "audit-tools/shared";
24
- const PLAN_WALK_SKIP_DIRS = new Set([
25
- "node_modules", ".git", "dist", "build", "coverage", "out", ".audit-tools",
26
- ]);
27
- function walkDirBytes(dir, maxFiles = 200) {
28
- let total = 0;
29
- let count = 0;
30
- const stack = [dir];
31
- while (stack.length > 0 && count < maxFiles) {
32
- const cur = stack.pop();
33
- try {
34
- for (const entry of readdirSync(cur, { withFileTypes: true })) {
35
- if (PLAN_WALK_SKIP_DIRS.has(entry.name))
36
- continue;
37
- const full = join(cur, entry.name);
38
- if (entry.isDirectory()) {
39
- stack.push(full);
40
- }
41
- else if (entry.isFile()) {
42
- count++;
43
- try {
44
- total += statSync(full).size;
45
- }
46
- catch {
47
- // ignore unreadable files
48
- }
49
- if (count >= maxFiles)
50
- break;
51
- }
52
- }
53
- }
54
- catch {
55
- continue;
56
- }
57
- }
58
- return total;
59
- }
60
- function isDirectoryPath(filePath, root) {
61
- const fullPath = isAbsolute(filePath) ? filePath : join(root, filePath);
62
- try {
63
- return statSync(fullPath).isDirectory();
64
- }
65
- catch {
66
- return false;
67
- }
68
- }
69
- // Phase 2: size by bytes from a stat (no full-file reads) rather than counting
70
- // lines, and convert to tokens via the shared estimator.
71
- function fileSizeBytes(filePath, root) {
72
- const fullPath = isAbsolute(filePath) ? filePath : join(root, filePath);
73
- try {
74
- const st = statSync(fullPath);
75
- return st.isDirectory() ? walkDirBytes(fullPath) : st.size;
76
- }
77
- catch {
78
- return 0;
79
- }
80
- }
81
- export function estimateGroupTokens(findingIds, findings, fileByteCounts,
82
- // CE-008: when `root` is supplied, file keys are resolved to the M1-BOUNDARY
83
- // canonical physical-file identity so a file cited under two spellings is
84
- // de-duplicated to ONE entry and resolves to the byte-count map keyed the same
85
- // way. When omitted, raw spellings are used as keys (callers that pre-key the
86
- // byte-count map by raw path keep working unchanged).
87
- root) {
88
- const fileKey = (p) => root === undefined ? p : canonicalizeFilePath(p, { root });
89
- const uniqueFiles = new Set();
90
- const findingMap = new Map(findings.map((f) => [f.id, f]));
91
- for (const id of findingIds) {
92
- for (const af of findingMap.get(id)?.affected_files ?? [])
93
- uniqueFiles.add(fileKey(af.path));
94
- }
95
- const totalBytes = [...uniqueFiles].reduce((sum, p) => sum + (fileByteCounts.get(p) ?? 0), 0);
96
- return (ESTIMATED_PROMPT_OVERHEAD_TOKENS +
97
- estimateTokensFromBytes(totalBytes) +
98
- findingIds.length * ESTIMATED_ITEM_OVERHEAD_TOKENS);
99
- }
100
- function addAdvisoryTokenEstimates(blocks, findings, root) {
101
- const findingMap = new Map(findings.map((finding) => [finding.id, finding]));
102
- const files = new Map();
103
- for (const block of blocks) {
104
- for (const findingId of block.items) {
105
- for (const affectedFile of findingMap.get(findingId)?.affected_files ?? []) {
106
- const key = canonicalizeFilePath(affectedFile.path, { root });
107
- if (!files.has(key))
108
- files.set(key, affectedFile.path);
109
- }
110
- }
111
- }
112
- const byteCounts = new Map();
113
- for (const [key, path] of files) {
114
- byteCounts.set(key, fileSizeBytes(path, root));
115
- }
116
- return blocks.map((block) => ({
117
- ...block,
118
- token_estimate: estimateGroupTokens(block.items, findings, byteCounts, root),
119
- }));
120
- }
121
- /**
122
- * Account for every finding the plan received: each is marked `planned` (kept and
123
- * mapped to a block), `folded_into` (merged into a survivor by cross-lens dedup),
124
- * `dropped_no_evidence` (excluded for carrying no evidence), `dropped_by_checkpoint`,
125
- * or `dropped_phantom_paths` (every cited path was phantom, post-repair). The
126
- * dispositions are mutually exclusive and cover the whole source set, so nothing
127
- * is lost silently. Kept extracted findings additionally carry their grounding
128
- * annotations (stripped phantom paths, evidence-grounded flag).
129
- */
130
5
  export function buildCoverageLedger(params) {
131
6
  const dropped = new Set(params.droppedNoEvidence);
132
7
  const byCheckpoint = new Set(params.droppedByCheckpoint);
@@ -194,10 +69,10 @@ export function buildCoverageLedger(params) {
194
69
  finding_id: f.id,
195
70
  title: f.title,
196
71
  disposition: "planned",
197
- block_id: params.items[f.id]?.block_id,
72
+ unit_ids: params.units.filter(unit => unit.source_finding_ids.includes(f.id)).map(unit => unit.id),
198
73
  ...groundingAnnotations(f),
199
74
  };
200
- });
75
+ }).map(entry => ({ ...entry, finding: params.sourceFindings.find(finding => finding.id === entry.finding_id) }));
201
76
  const count = (d) => entries.filter((e) => e.disposition === d).length;
202
77
  return {
203
78
  contract_version: "remediate-code-coverage/v1alpha1",
@@ -212,103 +87,4 @@ export function buildCoverageLedger(params) {
212
87
  entries,
213
88
  };
214
89
  }
215
- /**
216
- * Reconcile blocks whose findings touch a shared file.
217
- *
218
- * A3 decomposition seam: two blocks that share a canonical physical file but come
219
- * from INDEPENDENT findings (distinct finding ids, no dependency edge ordering
220
- * them) are NO LONGER unioned into one serial block. They are kept SEPARATE and
221
- * each is flagged `cofile_parallel_safe=true` — a mechanical decision that the
222
- * findings are independent, NOT a proof of edit-region disjointness; correctness
223
- * is enforced later at merge by git (a real overlap surfaces as a conflict). Only
224
- * a genuine ordering dependency (an existing dependency edge between the two
225
- * blocks) keeps them serialized — and ordered blocks were never unioned anyway,
226
- * they simply run in dependency order. A single finding whose fix spans multiple
227
- * regions of one file is one block already and is never split.
228
- *
229
- * File identity uses `canonicalizeFilePath` (the one M1-BOUNDARY scheme) so
230
- * `src/A.ts`, `./src/A.ts`, `src\A.ts` and case variants collide on one key.
231
- * Pure; preserves the auditor's structure otherwise.
232
- */
233
- export function mergeBlocksSharingFiles(blocks, findings, root = ".") {
234
- if (blocks.length < 2)
235
- return blocks;
236
- const findingMap = new Map(findings.map((f) => [f.id, f]));
237
- const byId = new Map(blocks.map((b) => [b.block_id, b]));
238
- // CE-008: a block's file set is keyed by the M1-BOUNDARY canonical physical-file
239
- // identity, so two blocks that cite the same file under different spellings
240
- // (rel/abs, `./`-prefixed, mixed separators, case on a case-insensitive FS) are
241
- // detected as sharing it.
242
- const fileSet = (b) => {
243
- const files = new Set();
244
- for (const id of b.items) {
245
- for (const af of findingMap.get(id)?.affected_files ?? []) {
246
- if (!isDirectoryPath(af.path, root)) {
247
- files.add(canonicalizeFilePath(af.path, { root }));
248
- }
249
- }
250
- }
251
- return files;
252
- };
253
- const reaches = (from, to) => {
254
- const seen = new Set();
255
- const stack = [...(byId.get(from)?.dependencies ?? [])];
256
- while (stack.length > 0) {
257
- const cur = stack.pop();
258
- if (cur === to)
259
- return true;
260
- if (seen.has(cur))
261
- continue;
262
- seen.add(cur);
263
- stack.push(...(byId.get(cur)?.dependencies ?? []));
264
- }
265
- return false;
266
- };
267
- const ordered = (a, b) => reaches(a, b) || reaches(b, a);
268
- // Detect which blocks share a canonical file with another block WITHOUT a
269
- // dependency edge ordering them: these are the independent co-file blocks that
270
- // stay separate and get flagged parallel-safe. Ordered co-file pairs already
271
- // serialize via their dependency edge and need no flag.
272
- const fileSets = blocks.map(fileSet);
273
- const cofileIndependent = new Array(blocks.length).fill(false);
274
- for (let i = 0; i < blocks.length; i++) {
275
- for (let j = i + 1; j < blocks.length; j++) {
276
- const shareFile = [...fileSets[i]].some((p) => fileSets[j].has(p));
277
- if (!shareFile)
278
- continue;
279
- if (ordered(blocks[i].block_id, blocks[j].block_id))
280
- continue;
281
- cofileIndependent[i] = true;
282
- cofileIndependent[j] = true;
283
- }
284
- }
285
- if (!cofileIndependent.some(Boolean))
286
- return blocks; // nothing to flag
287
- // Keep every block SEPARATE (no union). Flag the independent co-file blocks as
288
- // parallel-safe; leave others untouched.
289
- return blocks.map((b, i) => cofileIndependent[i] ? { ...b, cofile_parallel_safe: true } : b);
290
- }
291
- /**
292
- * Applies the backend-independent post-dedup steps that every plan must go through
293
- * before being handed off to the implement phase:
294
- *
295
- * 1. mergeBlocksSharingFiles — preserves content-coherent membership while
296
- * annotating independent co-file work
297
- * 2. addAdvisoryTokenEstimates — reports deterministic local size metadata
298
- * 3. snapshotAffectedFileHashes — records trusted baseline hashes
299
- *
300
- * Sole caller is handlePendingExtractedPlan (LLM-extracted plans join site);
301
- * kept as its own function so the post-dedup logic has one home.
302
- */
303
- export async function applyPlanPipeline(plan, options) {
304
- let { findings, blocks } = plan;
305
- // Merge blocks whose findings touch a shared file.
306
- blocks = mergeBlocksSharingFiles(blocks, findings, options.root);
307
- // Membership is a content-coherence contract. Planning reports size to the
308
- // host but never reshapes work around a backend's context window.
309
- blocks = addAdvisoryTokenEstimates(blocks, findings, options.root);
310
- // Record baseline file hashes for the integrity check that runs before dispatch.
311
- snapshotAffectedFileHashes(options.root, findings);
312
- return { ...plan, findings, blocks };
313
- }
314
90
  //# sourceMappingURL=plan.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"plan.js","sourceRoot":"","sources":["../../../src/remediate/phases/plan.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plan.js","sourceRoot":"","sources":["../../../src/remediate/phases/plan.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"triage.d.ts","sourceRoot":"","sources":["../../../src/remediate/phases/triage.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAmP1D,wBAAsB,cAAc,CAClC,KAAK,EAAE,gBAAgB,EACvB,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,gBAAgB,CAAC,CAmN3B"}
1
+ {"version":3,"file":"triage.d.ts","sourceRoot":"","sources":["../../../src/remediate/phases/triage.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAsO1D,wBAAsB,cAAc,CAClC,KAAK,EAAE,gBAAgB,EACvB,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,gBAAgB,CAAC,CAmN3B"}