audit-tools 0.52.5 → 0.54.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 (384) hide show
  1. package/dist/audit/cli/auditStep.d.ts +1 -1
  2. package/dist/audit/cli/conceptualDispatch.d.ts +2 -2
  3. package/dist/audit/cli/conceptualDispatch.d.ts.map +1 -1
  4. package/dist/audit/cli/conceptualDispatch.js +6 -5
  5. package/dist/audit/cli/conceptualDispatch.js.map +1 -1
  6. package/dist/audit/cli/confirmIntentStep.d.ts.map +1 -1
  7. package/dist/audit/cli/confirmIntentStep.js +3 -16
  8. package/dist/audit/cli/confirmIntentStep.js.map +1 -1
  9. package/dist/audit/cli/dispatch/hostHandoff.d.ts +2 -0
  10. package/dist/audit/cli/dispatch/hostHandoff.d.ts.map +1 -1
  11. package/dist/audit/cli/dispatch/hostHandoff.js +22 -1
  12. package/dist/audit/cli/dispatch/hostHandoff.js.map +1 -1
  13. package/dist/audit/cli/dispatch/packetFilter.d.ts +1 -1
  14. package/dist/audit/cli/dispatch/packetFilter.d.ts.map +1 -1
  15. package/dist/audit/cli/dispatch/packetFilter.js +1 -1
  16. package/dist/audit/cli/dispatch/packetFilter.js.map +1 -1
  17. package/dist/audit/cli/functionalPreflight.d.ts.map +1 -1
  18. package/dist/audit/cli/functionalPreflight.js +6 -3
  19. package/dist/audit/cli/functionalPreflight.js.map +1 -1
  20. package/dist/audit/cli/nextStepCommand.d.ts.map +1 -1
  21. package/dist/audit/cli/nextStepCommand.js +57 -34
  22. package/dist/audit/cli/nextStepCommand.js.map +1 -1
  23. package/dist/audit/cli/nextStepHelpers.d.ts +3 -3
  24. package/dist/audit/cli/nextStepHelpers.d.ts.map +1 -1
  25. package/dist/audit/cli/nextStepHelpers.js +52 -77
  26. package/dist/audit/cli/nextStepHelpers.js.map +1 -1
  27. package/dist/audit/cli/prompts.d.ts +1 -2
  28. package/dist/audit/cli/prompts.d.ts.map +1 -1
  29. package/dist/audit/cli/prompts.js +2 -12
  30. package/dist/audit/cli/prompts.js.map +1 -1
  31. package/dist/audit/cli/sampleRunCommand.d.ts +2 -2
  32. package/dist/audit/cli/semanticReviewStep.d.ts +11 -2
  33. package/dist/audit/cli/semanticReviewStep.d.ts.map +1 -1
  34. package/dist/audit/cli/semanticReviewStep.js +14 -10
  35. package/dist/audit/cli/semanticReviewStep.js.map +1 -1
  36. package/dist/audit/contracts/workerSchemas.d.ts +14 -14
  37. package/dist/audit/contracts/wrapperResponse.d.ts +6 -6
  38. package/dist/audit/extractors/graphRoutes.d.ts.map +1 -1
  39. package/dist/audit/extractors/graphRoutes.js +1 -3
  40. package/dist/audit/extractors/graphRoutes.js.map +1 -1
  41. package/dist/audit/io/artifacts.d.ts.map +1 -1
  42. package/dist/audit/io/artifacts.js +2 -3
  43. package/dist/audit/io/artifacts.js.map +1 -1
  44. package/dist/audit/orchestrator/advance.d.ts.map +1 -1
  45. package/dist/audit/orchestrator/advance.js +21 -1
  46. package/dist/audit/orchestrator/advance.js.map +1 -1
  47. package/dist/audit/orchestrator/architectureDiscovery.d.ts +25 -0
  48. package/dist/audit/orchestrator/architectureDiscovery.d.ts.map +1 -0
  49. package/dist/audit/orchestrator/architectureDiscovery.js +193 -0
  50. package/dist/audit/orchestrator/architectureDiscovery.js.map +1 -0
  51. package/dist/audit/orchestrator/dependencyMap.d.ts +20 -0
  52. package/dist/audit/orchestrator/dependencyMap.d.ts.map +1 -1
  53. package/dist/audit/orchestrator/dependencyMap.js +47 -0
  54. package/dist/audit/orchestrator/dependencyMap.js.map +1 -1
  55. package/dist/audit/orchestrator/dependencySlices.d.ts.map +1 -1
  56. package/dist/audit/orchestrator/dependencySlices.js +37 -3
  57. package/dist/audit/orchestrator/dependencySlices.js.map +1 -1
  58. package/dist/audit/orchestrator/designReviewProjection.d.ts +2 -6
  59. package/dist/audit/orchestrator/designReviewProjection.d.ts.map +1 -1
  60. package/dist/audit/orchestrator/designReviewProjection.js +2 -6
  61. package/dist/audit/orchestrator/designReviewProjection.js.map +1 -1
  62. package/dist/audit/orchestrator/designReviewPrompt.d.ts +2 -2
  63. package/dist/audit/orchestrator/designReviewPrompt.js +2 -2
  64. package/dist/audit/orchestrator/designReviewSnapshot.d.ts +2 -3
  65. package/dist/audit/orchestrator/designReviewSnapshot.d.ts.map +1 -1
  66. package/dist/audit/orchestrator/designReviewSnapshot.js +2 -3
  67. package/dist/audit/orchestrator/designReviewSnapshot.js.map +1 -1
  68. package/dist/audit/orchestrator/executorRunners.d.ts.map +1 -1
  69. package/dist/audit/orchestrator/executorRunners.js +1 -22
  70. package/dist/audit/orchestrator/executorRunners.js.map +1 -1
  71. package/dist/audit/orchestrator/executors.d.ts.map +1 -1
  72. package/dist/audit/orchestrator/executors.js +0 -12
  73. package/dist/audit/orchestrator/executors.js.map +1 -1
  74. package/dist/audit/orchestrator/ingestionExecutors.d.ts.map +1 -1
  75. package/dist/audit/orchestrator/ingestionExecutors.js +38 -37
  76. package/dist/audit/orchestrator/ingestionExecutors.js.map +1 -1
  77. package/dist/audit/orchestrator/nextStep.d.ts +2 -28
  78. package/dist/audit/orchestrator/nextStep.d.ts.map +1 -1
  79. package/dist/audit/orchestrator/nextStep.js +4 -37
  80. package/dist/audit/orchestrator/nextStep.js.map +1 -1
  81. package/dist/audit/orchestrator/obligationDerive.d.ts +2 -3
  82. package/dist/audit/orchestrator/obligationDerive.d.ts.map +1 -1
  83. package/dist/audit/orchestrator/obligationDerive.js +2 -3
  84. package/dist/audit/orchestrator/obligationDerive.js.map +1 -1
  85. package/dist/audit/orchestrator/pendingTasks.d.ts +2 -0
  86. package/dist/audit/orchestrator/pendingTasks.d.ts.map +1 -1
  87. package/dist/audit/orchestrator/pendingTasks.js +5 -1
  88. package/dist/audit/orchestrator/pendingTasks.js.map +1 -1
  89. package/dist/audit/orchestrator/planningExecutors.d.ts.map +1 -1
  90. package/dist/audit/orchestrator/planningExecutors.js +9 -0
  91. package/dist/audit/orchestrator/planningExecutors.js.map +1 -1
  92. package/dist/audit/orchestrator/requeueCommand.d.ts +1 -1
  93. package/dist/audit/orchestrator/resultBaseline.d.ts +5 -5
  94. package/dist/audit/orchestrator/resultBaseline.d.ts.map +1 -1
  95. package/dist/audit/orchestrator/resultBaseline.js +24 -47
  96. package/dist/audit/orchestrator/resultBaseline.js.map +1 -1
  97. package/dist/audit/orchestrator/selectiveDeepening/findingFollowup.d.ts.map +1 -1
  98. package/dist/audit/orchestrator/selectiveDeepening/findingFollowup.js +2 -0
  99. package/dist/audit/orchestrator/selectiveDeepening/findingFollowup.js.map +1 -1
  100. package/dist/audit/orchestrator/staleness.d.ts.map +1 -1
  101. package/dist/audit/orchestrator/staleness.js +14 -10
  102. package/dist/audit/orchestrator/staleness.js.map +1 -1
  103. package/dist/audit/orchestrator/state.js +1 -1
  104. package/dist/audit/orchestrator/state.js.map +1 -1
  105. package/dist/audit/orchestrator/synthesisExecutors.d.ts.map +1 -1
  106. package/dist/audit/orchestrator/synthesisExecutors.js +3 -0
  107. package/dist/audit/orchestrator/synthesisExecutors.js.map +1 -1
  108. package/dist/audit/types/auditState.d.ts +6 -6
  109. package/dist/audit/types/flowCoverage.d.ts +6 -6
  110. package/dist/audit/types.d.ts +24 -13
  111. package/dist/audit/types.d.ts.map +1 -1
  112. package/dist/audit/types.js +92 -11
  113. package/dist/audit/types.js.map +1 -1
  114. package/dist/remediate/contractPipeline/executionPlan.d.ts +1908 -0
  115. package/dist/remediate/contractPipeline/executionPlan.d.ts.map +1 -0
  116. package/dist/remediate/contractPipeline/executionPlan.js +467 -0
  117. package/dist/remediate/contractPipeline/executionPlan.js.map +1 -0
  118. package/dist/remediate/contractPipeline/runtimePlanAuthority.d.ts +12 -0
  119. package/dist/remediate/contractPipeline/runtimePlanAuthority.d.ts.map +1 -0
  120. package/dist/remediate/contractPipeline/runtimePlanAuthority.js +41 -0
  121. package/dist/remediate/contractPipeline/runtimePlanAuthority.js.map +1 -0
  122. package/dist/remediate/dedup/crossLensDedup.d.ts +3 -16
  123. package/dist/remediate/dedup/crossLensDedup.d.ts.map +1 -1
  124. package/dist/remediate/dedup/crossLensDedup.js +2 -32
  125. package/dist/remediate/dedup/crossLensDedup.js.map +1 -1
  126. package/dist/remediate/index.d.ts +2 -19
  127. package/dist/remediate/index.d.ts.map +1 -1
  128. package/dist/remediate/index.js +22 -138
  129. package/dist/remediate/index.js.map +1 -1
  130. package/dist/remediate/intake.d.ts +10 -10
  131. package/dist/remediate/intent/intentOrdering.d.ts +6 -8
  132. package/dist/remediate/intent/intentOrdering.d.ts.map +1 -1
  133. package/dist/remediate/intent/intentOrdering.js +24 -47
  134. package/dist/remediate/intent/intentOrdering.js.map +1 -1
  135. package/dist/remediate/phases/close.d.ts +25 -17
  136. package/dist/remediate/phases/close.d.ts.map +1 -1
  137. package/dist/remediate/phases/close.js +278 -218
  138. package/dist/remediate/phases/close.js.map +1 -1
  139. package/dist/remediate/phases/closeAcceptance.d.ts +42 -0
  140. package/dist/remediate/phases/closeAcceptance.d.ts.map +1 -0
  141. package/dist/remediate/phases/closeAcceptance.js +66 -0
  142. package/dist/remediate/phases/closeAcceptance.js.map +1 -0
  143. package/dist/remediate/phases/closeReviewProvenance.d.ts +1 -1
  144. package/dist/remediate/phases/closeReviewProvenance.d.ts.map +1 -1
  145. package/dist/remediate/phases/closeReviewProvenance.js +9 -8
  146. package/dist/remediate/phases/closeReviewProvenance.js.map +1 -1
  147. package/dist/remediate/phases/closeVerifyAnalyzerLeads.d.ts.map +1 -1
  148. package/dist/remediate/phases/closeVerifyAnalyzerLeads.js +11 -9
  149. package/dist/remediate/phases/closeVerifyAnalyzerLeads.js.map +1 -1
  150. package/dist/remediate/phases/closeVerifyHeadEvidence.d.ts +21 -86
  151. package/dist/remediate/phases/closeVerifyHeadEvidence.d.ts.map +1 -1
  152. package/dist/remediate/phases/closeVerifyHeadEvidence.js +30 -19
  153. package/dist/remediate/phases/closeVerifyHeadEvidence.js.map +1 -1
  154. package/dist/remediate/phases/plan.d.ts +3 -60
  155. package/dist/remediate/phases/plan.d.ts.map +1 -1
  156. package/dist/remediate/phases/plan.js +3 -227
  157. package/dist/remediate/phases/plan.js.map +1 -1
  158. package/dist/remediate/phases/triage.d.ts.map +1 -1
  159. package/dist/remediate/phases/triage.js +19 -30
  160. package/dist/remediate/phases/triage.js.map +1 -1
  161. package/dist/remediate/riskSignal.d.ts +9 -43
  162. package/dist/remediate/riskSignal.d.ts.map +1 -1
  163. package/dist/remediate/riskSignal.js +7 -28
  164. package/dist/remediate/riskSignal.js.map +1 -1
  165. package/dist/remediate/state/disposition.d.ts +2 -1
  166. package/dist/remediate/state/disposition.d.ts.map +1 -1
  167. package/dist/remediate/state/disposition.js +37 -1
  168. package/dist/remediate/state/disposition.js.map +1 -1
  169. package/dist/remediate/state/runIdentity.d.ts +2 -13
  170. package/dist/remediate/state/runIdentity.d.ts.map +1 -1
  171. package/dist/remediate/state/runIdentity.js +3 -13
  172. package/dist/remediate/state/runIdentity.js.map +1 -1
  173. package/dist/remediate/state/store.d.ts +12 -36
  174. package/dist/remediate/state/store.d.ts.map +1 -1
  175. package/dist/remediate/state/store.js +58 -150
  176. package/dist/remediate/state/store.js.map +1 -1
  177. package/dist/remediate/state/types.d.ts +406 -504
  178. package/dist/remediate/state/types.d.ts.map +1 -1
  179. package/dist/remediate/state/types.js +24 -104
  180. package/dist/remediate/state/types.js.map +1 -1
  181. package/dist/remediate/steps/contractPipeline.d.ts +7 -661
  182. package/dist/remediate/steps/contractPipeline.d.ts.map +1 -1
  183. package/dist/remediate/steps/contractPipeline.js +264 -3851
  184. package/dist/remediate/steps/contractPipeline.js.map +1 -1
  185. package/dist/remediate/steps/contractPipelinePrompts.d.ts +20 -142
  186. package/dist/remediate/steps/contractPipelinePrompts.d.ts.map +1 -1
  187. package/dist/remediate/steps/contractPipelinePrompts.js +48 -581
  188. package/dist/remediate/steps/contractPipelinePrompts.js.map +1 -1
  189. package/dist/remediate/steps/dispatch/contractConformanceReview.d.ts +4 -1
  190. package/dist/remediate/steps/dispatch/contractConformanceReview.d.ts.map +1 -1
  191. package/dist/remediate/steps/dispatch/contractConformanceReview.js +6 -3
  192. package/dist/remediate/steps/dispatch/contractConformanceReview.js.map +1 -1
  193. package/dist/remediate/steps/dispatch/hostContracts.d.ts +1 -1
  194. package/dist/remediate/steps/dispatch/hostContracts.d.ts.map +1 -1
  195. package/dist/remediate/steps/dispatch/hostHandoff.d.ts +4 -21
  196. package/dist/remediate/steps/dispatch/hostHandoff.d.ts.map +1 -1
  197. package/dist/remediate/steps/dispatch/hostHandoff.js +161 -383
  198. package/dist/remediate/steps/dispatch/hostHandoff.js.map +1 -1
  199. package/dist/remediate/steps/finalGate.d.ts +34 -0
  200. package/dist/remediate/steps/finalGate.d.ts.map +1 -1
  201. package/dist/remediate/steps/finalGate.js +44 -4
  202. package/dist/remediate/steps/finalGate.js.map +1 -1
  203. package/dist/remediate/steps/frictionCloseout.d.ts +1 -30
  204. package/dist/remediate/steps/frictionCloseout.d.ts.map +1 -1
  205. package/dist/remediate/steps/frictionCloseout.js +6 -99
  206. package/dist/remediate/steps/frictionCloseout.js.map +1 -1
  207. package/dist/remediate/steps/nextStep.d.ts +2 -15
  208. package/dist/remediate/steps/nextStep.d.ts.map +1 -1
  209. package/dist/remediate/steps/nextStep.js +254 -1042
  210. package/dist/remediate/steps/nextStep.js.map +1 -1
  211. package/dist/remediate/steps/prompts.js +16 -16
  212. package/dist/remediate/steps/prompts.js.map +1 -1
  213. package/dist/remediate/steps/stepUtils.d.ts +1 -1
  214. package/dist/remediate/steps/stepUtils.d.ts.map +1 -1
  215. package/dist/remediate/steps/types.d.ts +1 -1
  216. package/dist/remediate/steps/types.d.ts.map +1 -1
  217. package/dist/remediate/steps/types.js +1 -1
  218. package/dist/remediate/steps/types.js.map +1 -1
  219. package/dist/remediate/types/options.d.ts +9 -0
  220. package/dist/remediate/types/options.d.ts.map +1 -1
  221. package/dist/remediate/validation/artifacts.d.ts.map +1 -1
  222. package/dist/remediate/validation/artifacts.js +10 -56
  223. package/dist/remediate/validation/artifacts.js.map +1 -1
  224. package/dist/remediate/validation/remediationState.d.ts +2 -2
  225. package/dist/remediate/validation/remediationState.d.ts.map +1 -1
  226. package/dist/remediate/validation/remediationState.js +17 -77
  227. package/dist/remediate/validation/remediationState.js.map +1 -1
  228. package/dist/remediate/validation/verificationReport.d.ts +3 -0
  229. package/dist/remediate/validation/verificationReport.d.ts.map +1 -0
  230. package/dist/remediate/validation/verificationReport.js +28 -0
  231. package/dist/remediate/validation/verificationReport.js.map +1 -0
  232. package/dist/shared/analyzers/types.d.ts +10 -10
  233. package/dist/shared/engine/obligationEngine.d.ts +2 -2
  234. package/dist/shared/friction/triage.d.ts +7 -28
  235. package/dist/shared/friction/triage.d.ts.map +1 -1
  236. package/dist/shared/friction/triage.js +7 -28
  237. package/dist/shared/friction/triage.js.map +1 -1
  238. package/dist/shared/graph/orderedReachability.js +1 -1
  239. package/dist/shared/graph/orderedReachability.js.map +1 -1
  240. package/dist/shared/index.d.ts +5 -6
  241. package/dist/shared/index.d.ts.map +1 -1
  242. package/dist/shared/index.js +3 -4
  243. package/dist/shared/index.js.map +1 -1
  244. package/dist/shared/loopCorePaths.d.ts.map +1 -1
  245. package/dist/shared/loopCorePaths.js +37 -5
  246. package/dist/shared/loopCorePaths.js.map +1 -1
  247. package/dist/shared/prompts.d.ts +24 -10
  248. package/dist/shared/prompts.d.ts.map +1 -1
  249. package/dist/shared/prompts.js +27 -13
  250. package/dist/shared/prompts.js.map +1 -1
  251. package/dist/shared/reReview/projectionDiff.d.ts.map +1 -1
  252. package/dist/shared/reReview/projectionDiff.js +6 -14
  253. package/dist/shared/reReview/projectionDiff.js.map +1 -1
  254. package/dist/shared/types/executionPlan.d.ts +416 -0
  255. package/dist/shared/types/executionPlan.d.ts.map +1 -0
  256. package/dist/shared/types/executionPlan.js +132 -0
  257. package/dist/shared/types/executionPlan.js.map +1 -0
  258. package/dist/shared/types/remediationOutcome.d.ts +1378 -12
  259. package/dist/shared/types/remediationOutcome.d.ts.map +1 -1
  260. package/dist/shared/types/remediationOutcome.js +29 -1
  261. package/dist/shared/types/remediationOutcome.js.map +1 -1
  262. package/dist/shared/types/{contractPipeline/verification.d.ts → verificationReport.d.ts} +9 -37
  263. package/dist/shared/types/verificationReport.d.ts.map +1 -0
  264. package/dist/shared/types/verificationReport.js +4 -0
  265. package/dist/shared/types/verificationReport.js.map +1 -0
  266. package/dist/shared/validation/findingGrounding.d.ts +3 -5
  267. package/dist/shared/validation/findingGrounding.d.ts.map +1 -1
  268. package/dist/shared/validation/findingGrounding.js +4 -7
  269. package/dist/shared/validation/findingGrounding.js.map +1 -1
  270. package/package.json +2 -1
  271. package/scripts/shared/primitives.mjs +20 -0
  272. package/skills/audit-code/SKILL.md +5 -12
  273. package/skills/audit-code/audit-code.prompt.md +5 -8
  274. package/skills/audit-code/opencode-command-template.txt +2 -2
  275. package/skills/remediate-code/SKILL.md +5 -7
  276. package/skills/remediate-code/remediate-code.prompt.md +5 -5
  277. package/dispatch/lens-definitions.json +0 -46
  278. package/dist/remediate/contractPipeline/artifactNames.d.ts +0 -8
  279. package/dist/remediate/contractPipeline/artifactNames.d.ts.map +0 -1
  280. package/dist/remediate/contractPipeline/artifactNames.js +0 -28
  281. package/dist/remediate/contractPipeline/artifactNames.js.map +0 -1
  282. package/dist/remediate/contractPipeline/artifactStore.d.ts +0 -219
  283. package/dist/remediate/contractPipeline/artifactStore.d.ts.map +0 -1
  284. package/dist/remediate/contractPipeline/artifactStore.js +0 -436
  285. package/dist/remediate/contractPipeline/artifactStore.js.map +0 -1
  286. package/dist/remediate/contractPipeline/changeClassification.d.ts +0 -130
  287. package/dist/remediate/contractPipeline/changeClassification.d.ts.map +0 -1
  288. package/dist/remediate/contractPipeline/changeClassification.js +0 -446
  289. package/dist/remediate/contractPipeline/changeClassification.js.map +0 -1
  290. package/dist/remediate/contractPipeline/contractReviewBinding.d.ts +0 -28
  291. package/dist/remediate/contractPipeline/contractReviewBinding.d.ts.map +0 -1
  292. package/dist/remediate/contractPipeline/contractReviewBinding.js +0 -75
  293. package/dist/remediate/contractPipeline/contractReviewBinding.js.map +0 -1
  294. package/dist/remediate/contractPipeline/counterexampleFingerprint.d.ts +0 -27
  295. package/dist/remediate/contractPipeline/counterexampleFingerprint.d.ts.map +0 -1
  296. package/dist/remediate/contractPipeline/counterexampleFingerprint.js +0 -37
  297. package/dist/remediate/contractPipeline/counterexampleFingerprint.js.map +0 -1
  298. package/dist/remediate/contractPipeline/cyclicSeamResolution.d.ts +0 -131
  299. package/dist/remediate/contractPipeline/cyclicSeamResolution.d.ts.map +0 -1
  300. package/dist/remediate/contractPipeline/cyclicSeamResolution.js +0 -257
  301. package/dist/remediate/contractPipeline/cyclicSeamResolution.js.map +0 -1
  302. package/dist/remediate/contractPipeline/derive.d.ts +0 -173
  303. package/dist/remediate/contractPipeline/derive.d.ts.map +0 -1
  304. package/dist/remediate/contractPipeline/derive.js +0 -477
  305. package/dist/remediate/contractPipeline/derive.js.map +0 -1
  306. package/dist/remediate/contractPipeline/finalizedContractFields.d.ts +0 -50
  307. package/dist/remediate/contractPipeline/finalizedContractFields.d.ts.map +0 -1
  308. package/dist/remediate/contractPipeline/finalizedContractFields.js +0 -77
  309. package/dist/remediate/contractPipeline/finalizedContractFields.js.map +0 -1
  310. package/dist/remediate/contractPipeline/idRegistry.d.ts +0 -144
  311. package/dist/remediate/contractPipeline/idRegistry.d.ts.map +0 -1
  312. package/dist/remediate/contractPipeline/idRegistry.js +0 -214
  313. package/dist/remediate/contractPipeline/idRegistry.js.map +0 -1
  314. package/dist/remediate/contractPipeline/obligationKinds.d.ts +0 -27
  315. package/dist/remediate/contractPipeline/obligationKinds.d.ts.map +0 -1
  316. package/dist/remediate/contractPipeline/obligationKinds.js +0 -18
  317. package/dist/remediate/contractPipeline/obligationKinds.js.map +0 -1
  318. package/dist/remediate/contractPipeline/phaseCut.d.ts +0 -125
  319. package/dist/remediate/contractPipeline/phaseCut.d.ts.map +0 -1
  320. package/dist/remediate/contractPipeline/phaseCut.js +0 -339
  321. package/dist/remediate/contractPipeline/phaseCut.js.map +0 -1
  322. package/dist/remediate/contractPipeline/phaseCutArtifact.d.ts +0 -31
  323. package/dist/remediate/contractPipeline/phaseCutArtifact.d.ts.map +0 -1
  324. package/dist/remediate/contractPipeline/phaseCutArtifact.js +0 -48
  325. package/dist/remediate/contractPipeline/phaseCutArtifact.js.map +0 -1
  326. package/dist/remediate/contractPipeline/repairState.d.ts +0 -110
  327. package/dist/remediate/contractPipeline/repairState.d.ts.map +0 -1
  328. package/dist/remediate/contractPipeline/repairState.js +0 -185
  329. package/dist/remediate/contractPipeline/repairState.js.map +0 -1
  330. package/dist/remediate/contractPipeline/reviewSnapshot.d.ts +0 -79
  331. package/dist/remediate/contractPipeline/reviewSnapshot.d.ts.map +0 -1
  332. package/dist/remediate/contractPipeline/reviewSnapshot.js +0 -140
  333. package/dist/remediate/contractPipeline/reviewSnapshot.js.map +0 -1
  334. package/dist/remediate/contractPipeline/semanticProjection.d.ts +0 -64
  335. package/dist/remediate/contractPipeline/semanticProjection.d.ts.map +0 -1
  336. package/dist/remediate/contractPipeline/semanticProjection.js +0 -136
  337. package/dist/remediate/contractPipeline/semanticProjection.js.map +0 -1
  338. package/dist/remediate/contractPipeline/sketchSource.d.ts +0 -194
  339. package/dist/remediate/contractPipeline/sketchSource.d.ts.map +0 -1
  340. package/dist/remediate/contractPipeline/sketchSource.js +0 -262
  341. package/dist/remediate/contractPipeline/sketchSource.js.map +0 -1
  342. package/dist/remediate/contractPipeline/testPlanCarry.d.ts +0 -17
  343. package/dist/remediate/contractPipeline/testPlanCarry.d.ts.map +0 -1
  344. package/dist/remediate/contractPipeline/testPlanCarry.js +0 -72
  345. package/dist/remediate/contractPipeline/testPlanCarry.js.map +0 -1
  346. package/dist/remediate/steps/dispatch/marshal.d.ts +0 -7
  347. package/dist/remediate/steps/dispatch/marshal.d.ts.map +0 -1
  348. package/dist/remediate/steps/dispatch/marshal.js +0 -11
  349. package/dist/remediate/steps/dispatch/marshal.js.map +0 -1
  350. package/dist/remediate/validation/contractPipeline.d.ts +0 -35
  351. package/dist/remediate/validation/contractPipeline.d.ts.map +0 -1
  352. package/dist/remediate/validation/contractPipeline.js +0 -613
  353. package/dist/remediate/validation/contractPipeline.js.map +0 -1
  354. package/dist/remediate/validation/contractPipelineGates.d.ts +0 -272
  355. package/dist/remediate/validation/contractPipelineGates.d.ts.map +0 -1
  356. package/dist/remediate/validation/contractPipelineGates.js +0 -1397
  357. package/dist/remediate/validation/contractPipelineGates.js.map +0 -1
  358. package/dist/shared/types/contractPipeline/design.d.ts +0 -79
  359. package/dist/shared/types/contractPipeline/design.d.ts.map +0 -1
  360. package/dist/shared/types/contractPipeline/design.js +0 -16
  361. package/dist/shared/types/contractPipeline/design.js.map +0 -1
  362. package/dist/shared/types/contractPipeline/goal.d.ts +0 -41
  363. package/dist/shared/types/contractPipeline/goal.d.ts.map +0 -1
  364. package/dist/shared/types/contractPipeline/goal.js +0 -10
  365. package/dist/shared/types/contractPipeline/goal.js.map +0 -1
  366. package/dist/shared/types/contractPipeline/implementation.d.ts +0 -118
  367. package/dist/shared/types/contractPipeline/implementation.d.ts.map +0 -1
  368. package/dist/shared/types/contractPipeline/implementation.js +0 -13
  369. package/dist/shared/types/contractPipeline/implementation.js.map +0 -1
  370. package/dist/shared/types/contractPipeline/obligations.d.ts +0 -283
  371. package/dist/shared/types/contractPipeline/obligations.d.ts.map +0 -1
  372. package/dist/shared/types/contractPipeline/obligations.js +0 -84
  373. package/dist/shared/types/contractPipeline/obligations.js.map +0 -1
  374. package/dist/shared/types/contractPipeline/verification.d.ts.map +0 -1
  375. package/dist/shared/types/contractPipeline/verification.js +0 -10
  376. package/dist/shared/types/contractPipeline/verification.js.map +0 -1
  377. package/dist/shared/types/contractPipeline.d.ts +0 -48
  378. package/dist/shared/types/contractPipeline.d.ts.map +0 -1
  379. package/dist/shared/types/contractPipeline.js +0 -32
  380. package/dist/shared/types/contractPipeline.js.map +0 -1
  381. package/dist/shared/types/obligationLedger.d.ts +0 -39
  382. package/dist/shared/types/obligationLedger.d.ts.map +0 -1
  383. package/dist/shared/types/obligationLedger.js +0 -49
  384. package/dist/shared/types/obligationLedger.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"artifactStore.js","sourceRoot":"","sources":["../../../src/remediate/contractPipeline/artifactStore.ts"],"names":[],"mappings":"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"}
@@ -1,130 +0,0 @@
1
- /**
2
- * DC-5 — obligation change-vs-addition classification + paired/scoped negative
3
- * test-spec gate (single source).
4
- *
5
- * Two latent failure modes this module closes:
6
- *
7
- * CE-013 (render-only misclassification): the paired-obligation gate used to
8
- * force EVERY testable obligation to carry a positive+negative pair, with no
9
- * notion of whether the obligation changes prior behavior or adds new
10
- * behavior. A pure addition has no behavior to regress, so pairing it is
11
- * burden without signal — and, worse, the "classification" lived only in the
12
- * prompt prose (render-only), never as a recorded, checkable verdict. This
13
- * module classifies each obligation *deterministically first* (does it touch
14
- * a symbol/file that already exists?) and records the verdict on the ledger,
15
- * so an LLM may confirm/override but the result is never silent.
16
- *
17
- * CE-006 (unscoped repo-wide-grep negative): a behavior-CHANGE obligation's
18
- * negative half could be satisfied by an assertion that greps the whole repo
19
- * ("no file anywhere contains X") — which rots immediately and proves nothing
20
- * about the changed symbol. The negative must be SCOPED to the changed
21
- * symbol/file. The scope check is a structural PREDICATE over the assertion
22
- * (it must name an anchor AND must not be an unscoped global scan), not a
23
- * keyword match — keyword matching alone is exactly what let the unscoped
24
- * negative through.
25
- *
26
- * Single-source invariant (mirrors `derive.ts`): the deriver, the test-plan
27
- * derivation gate (`validatePairedObligations`), and the `mergeImplementResults`
28
- * verify gate ALL classify and pair through the helpers here. No parallel logic.
29
- */
30
- import { type ObligationChangeClassification } from "audit-tools/shared";
31
- /** Extract candidate symbol/file tokens from free text (lowercased, de-noised). */
32
- export declare function extractSymbolTokens(text: string): string[];
33
- /**
34
- * Build the baseline corpus of pre-existing symbol/file tokens from the finalized
35
- * module contracts. A symbol present here already exists, so an obligation that
36
- * references it is *changing* existing behavior rather than adding new behavior.
37
- *
38
- * The corpus is drawn from the declared interface surface (inputs / outputs /
39
- * side_effects / validation_boundary) plus each module name — the things the
40
- * contract says already exist at the seam.
41
- */
42
- export declare function buildBaselineSymbolCorpus(finalizedModuleContracts: unknown): Set<string>;
43
- /**
44
- * Classify one obligation change-vs-addition deterministically.
45
- *
46
- * Heuristic: the obligation *touches an existing symbol* when any symbol token in
47
- * its description is present in the baseline corpus of pre-existing symbols. Such
48
- * an obligation is a behavior CHANGE; otherwise it is a pure ADDITION.
49
- *
50
- * The matched tokens become `touched_symbols` — the scope anchors a paired
51
- * negative assertion must name. This is the deterministic FIRST pass; an LLM may
52
- * confirm or override it via `applyLlmConfirmation`, and the override is recorded.
53
- */
54
- export declare function classifyObligationChange(description: string, baselineSymbols: Set<string>): ObligationChangeClassification;
55
- /**
56
- * A negative assertion for a behavior-CHANGE obligation is SCOPED when it names
57
- * at least one of the change's anchors (the touched symbol/file) AND does not
58
- * perform an affirmative unscoped repo-wide scan. Naming an anchor is necessary
59
- * but not sufficient: an assertion that both names the symbol and says "grep the
60
- * whole repo" is still rejected, because the scan, not the symbol, is what it
61
- * actually checks. A merely DESCRIPTIVE mention of a global scan ("scoped to X,
62
- * not an unscoped repo-wide check") does NOT disqualify — the veto reads the
63
- * assertion's action, not the literal words, so a host need not euphemise (CE-006).
64
- *
65
- * Returns true when the assertion is acceptably scoped to the change.
66
- */
67
- export declare function negativeAssertionIsScoped(assertion: string, anchors: readonly string[]): boolean;
68
- /** Phrases that mark a negative/failure assertion (paired-obligation half). */
69
- export declare const NEGATIVE_ASSERTION_PATTERN: RegExp;
70
- /** Phrases that mark a positive/satisfied assertion (paired-obligation half). */
71
- export declare const POSITIVE_ASSERTION_PATTERN: RegExp;
72
- /** The polarity an assertion declares, accounting for an authoritative label. */
73
- export type AssertionPolarity = "positive" | "negative" | "both" | "none";
74
- /**
75
- * Classify one assertion's polarity. An explicit `POSITIVE:` / `NEGATIVE:` label
76
- * is authoritative and skips the keyword fallback (so "POSITIVE: must not exceed
77
- * N" counts only as positive). Unlabeled assertions fall through to the keyword
78
- * regexes, which may match both polarities — run against an identifier-masked copy
79
- * so a polarity word embedded in a cited id (e.g. `fail` in `OBL-AUTH-fail-session`)
80
- * doesn't misclassify the assertion.
81
- */
82
- export declare function assertionPolarity(assertion: string): AssertionPolarity;
83
- /**
84
- * The pairing verdict for a single CHANGE obligation against its covering test
85
- * specs' assertions. `ok` is true only when BOTH a positive assertion and a
86
- * SCOPED negative assertion are present. Each reason is a short, stable code the
87
- * callers turn into a ValidationIssue (test-plan gate) or a block reason (verify
88
- * gate) — single-sourced so both gates report the same failures.
89
- */
90
- export interface PairingVerdict {
91
- ok: boolean;
92
- hasPositive: boolean;
93
- hasNegative: boolean;
94
- /** A negative was present but none of them were scoped to the change. */
95
- negativeUnscoped: boolean;
96
- }
97
- /**
98
- * Evaluate the paired positive+scoped-negative requirement for a behavior-CHANGE
99
- * obligation. `anchors` are the change's scope anchors (touched symbols/file).
100
- *
101
- * - A positive half is any assertion with positive polarity.
102
- * - A negative half counts ONLY when it is scoped to the change (CE-006): an
103
- * unscoped repo-wide negative does not satisfy the negative requirement.
104
- * `negativeUnscoped` is reported when the sole negative(s) failed scoping, so
105
- * the diagnostic distinguishes "no negative at all" from "negative not scoped".
106
- */
107
- export declare function evaluatePairing(assertions: readonly string[], anchors: readonly string[]): PairingVerdict;
108
- /**
109
- * Read an obligation's `change_classification` from a raw, untrusted payload.
110
- * Returns the narrowed classification, or `undefined` only when the field is
111
- * genuinely ABSENT — a truly unclassified obligation (e.g. a structural one), which
112
- * the gates already treat as a CHANGE (fail-closed) at the consumer.
113
- *
114
- * A classification that is PRESENT but CORRUPT (not a record, or an unrecognized
115
- * `change_kind`) is read as a fail-closed CHANGE rather than `undefined` (INV-IR-4):
116
- * a dropped or garbled classification can never relax the paired-test requirement
117
- * and can never let incremental item-scoping (contract-incremental-reconvergence)
118
- * carry a changed item forward as if it were an unchanged addition.
119
- */
120
- export declare function readObligationChangeClassification(obligation: unknown): ObligationChangeClassification | undefined;
121
- /**
122
- * The scope anchors a paired negative must name for one obligation. Prefers the
123
- * classification's recorded `touched_symbols`; falls back to the obligation id
124
- * plus any symbol tokens in its description when the classification carries none
125
- * (e.g. an unclassified obligation treated as a fail-closed change). Always
126
- * non-empty when the id is a real id, so a fail-closed change still has a concrete
127
- * anchor to scope against rather than vacuously accepting any negative.
128
- */
129
- export declare function obligationScopeAnchors(obligationId: string, description: string, classification: ObligationChangeClassification | undefined): string[];
130
- //# sourceMappingURL=changeClassification.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"changeClassification.d.ts","sourceRoot":"","sources":["../../../src/remediate/contractPipeline/changeClassification.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,OAAO,EAAY,KAAK,8BAA8B,EAAE,MAAM,oBAAoB,CAAC;AAqBnF,mFAAmF;AACnF,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAoB1D;AAED;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CAAC,wBAAwB,EAAE,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,CAqBxF;AAKD;;;;;;;;;;GAUG;AACH,wBAAgB,wBAAwB,CACtC,WAAW,EAAE,MAAM,EACnB,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,GAC3B,8BAA8B,CAehC;AA0DD;;;;;;;;;;;GAWG;AACH,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,SAAS,MAAM,EAAE,GACzB,OAAO,CAIT;AAID,+EAA+E;AAC/E,eAAO,MAAM,0BAA0B,QACkI,CAAC;AAE1K,iFAAiF;AACjF,eAAO,MAAM,0BAA0B,QACoH,CAAC;AAE5J,iFAAiF;AACjF,MAAM,MAAM,iBAAiB,GAAG,UAAU,GAAG,UAAU,GAAG,MAAM,GAAG,MAAM,CAAC;AA4G1E;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,iBAAiB,CAYtE;AAID;;;;;;GAMG;AACH,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,OAAO,CAAC;IACZ,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;IACrB,yEAAyE;IACzE,gBAAgB,EAAE,OAAO,CAAC;CAC3B;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAC7B,UAAU,EAAE,SAAS,MAAM,EAAE,EAC7B,OAAO,EAAE,SAAS,MAAM,EAAE,GACzB,cAAc,CAmBhB;AAID;;;;;;;;;;;GAWG;AACH,wBAAgB,kCAAkC,CAChD,UAAU,EAAE,OAAO,GAClB,8BAA8B,GAAG,SAAS,CAkC5C;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CACpC,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,8BAA8B,GAAG,SAAS,GACzD,MAAM,EAAE,CAUV"}
@@ -1,446 +0,0 @@
1
- // sites-pinned: tests/remediate/change-classification-backtracking.test.ts, tests/remediate/dc5.test.ts, tests/audit/scanner-linear-boundaries.test.ts
2
- // <!-- comment-symbol-exempt: names deliberately-retired symbols; this block records that history -->
3
- /**
4
- * DC-5 — obligation change-vs-addition classification + paired/scoped negative
5
- * test-spec gate (single source).
6
- *
7
- * Two latent failure modes this module closes:
8
- *
9
- * CE-013 (render-only misclassification): the paired-obligation gate used to
10
- * force EVERY testable obligation to carry a positive+negative pair, with no
11
- * notion of whether the obligation changes prior behavior or adds new
12
- * behavior. A pure addition has no behavior to regress, so pairing it is
13
- * burden without signal — and, worse, the "classification" lived only in the
14
- * prompt prose (render-only), never as a recorded, checkable verdict. This
15
- * module classifies each obligation *deterministically first* (does it touch
16
- * a symbol/file that already exists?) and records the verdict on the ledger,
17
- * so an LLM may confirm/override but the result is never silent.
18
- *
19
- * CE-006 (unscoped repo-wide-grep negative): a behavior-CHANGE obligation's
20
- * negative half could be satisfied by an assertion that greps the whole repo
21
- * ("no file anywhere contains X") — which rots immediately and proves nothing
22
- * about the changed symbol. The negative must be SCOPED to the changed
23
- * symbol/file. The scope check is a structural PREDICATE over the assertion
24
- * (it must name an anchor AND must not be an unscoped global scan), not a
25
- * keyword match — keyword matching alone is exactly what let the unscoped
26
- * negative through.
27
- *
28
- * Single-source invariant (mirrors `derive.ts`): the deriver, the test-plan
29
- * derivation gate (`validatePairedObligations`), and the `mergeImplementResults`
30
- * verify gate ALL classify and pair through the helpers here. No parallel logic.
31
- */
32
- import { isRecord } from "audit-tools/shared";
33
- // ── Symbol extraction ─────────────────────────────────────────────────────────
34
- /**
35
- * Identifier-like tokens (camelCase / snake_case / dotted / path-ish) that name a
36
- * code symbol or file. Length >= 3 so single letters and noise are ignored.
37
- * Used both to pull candidate symbols out of an obligation description and to
38
- * build the baseline corpus of pre-existing symbols.
39
- */
40
- const SYMBOL_TOKEN_PATTERN = /[A-Za-z_$][A-Za-z0-9_$./-]{2,}/g;
41
- /** Common English words that look identifier-ish but never name a symbol. */
42
- const SYMBOL_STOPWORDS = new Set([
43
- "the", "and", "for", "with", "that", "this", "must", "not", "its", "via",
44
- "per", "into", "when", "then", "than", "from", "module", "function", "value",
45
- "input", "output", "inputs", "outputs", "should", "shall", "handle", "failure",
46
- "mode", "implement", "contract", "boundary", "validation", "every", "each",
47
- "obligation", "behavior", "behaviour", "existing", "new", "add", "change",
48
- ]);
49
- /** Extract candidate symbol/file tokens from free text (lowercased, de-noised). */
50
- export function extractSymbolTokens(text) {
51
- if (typeof text !== "string" || text.length === 0)
52
- return [];
53
- const out = new Set();
54
- for (const raw of text.match(SYMBOL_TOKEN_PATTERN) ?? []) {
55
- let start = 0;
56
- let end = raw.length;
57
- while (start < end && "./-".includes(raw[start]))
58
- start++;
59
- while (end > start && "./-".includes(raw[end - 1]))
60
- end--;
61
- const token = raw.slice(start, end).toLowerCase();
62
- if (token.length < 3)
63
- continue;
64
- if (SYMBOL_STOPWORDS.has(token))
65
- continue;
66
- // <!-- comment-symbol-exempt: names deliberately-retired symbols; this block records that history -->
67
- // A token must carry a "code-ish" shape — a case hump, an underscore, a dot,
68
- // a slash, or a digit — so a plain prose word ("rejects") is not mistaken for
69
- // a symbol while `writeRecord`, `flush_buffer`, `src/a.ts`, `O_1` are kept.
70
- if (/[A-Z]/.test(raw.slice(1)) || /[_./\-0-9]/.test(token)) {
71
- out.add(token);
72
- }
73
- }
74
- return [...out];
75
- }
76
- /**
77
- * Build the baseline corpus of pre-existing symbol/file tokens from the finalized
78
- * module contracts. A symbol present here already exists, so an obligation that
79
- * references it is *changing* existing behavior rather than adding new behavior.
80
- *
81
- * The corpus is drawn from the declared interface surface (inputs / outputs /
82
- * side_effects / validation_boundary) plus each module name — the things the
83
- * contract says already exist at the seam.
84
- */
85
- export function buildBaselineSymbolCorpus(finalizedModuleContracts) {
86
- const corpus = new Set();
87
- const record = isRecord(finalizedModuleContracts) ? finalizedModuleContracts : {};
88
- const modules = Array.isArray(record.module_contracts) ? record.module_contracts : [];
89
- for (const mod of modules) {
90
- if (!isRecord(mod))
91
- continue;
92
- if (typeof mod.name === "string") {
93
- for (const t of extractSymbolTokens(mod.name))
94
- corpus.add(t);
95
- }
96
- for (const field of ["inputs", "outputs", "side_effects"]) {
97
- if (!Array.isArray(mod[field]))
98
- continue;
99
- for (const entry of mod[field]) {
100
- if (typeof entry !== "string")
101
- continue;
102
- for (const t of extractSymbolTokens(entry))
103
- corpus.add(t);
104
- }
105
- }
106
- if (typeof mod.validation_boundary === "string") {
107
- for (const t of extractSymbolTokens(mod.validation_boundary))
108
- corpus.add(t);
109
- }
110
- }
111
- return corpus;
112
- }
113
- // ── Deterministic classification (FIRST pass) ──────────────────────────────────
114
- // <!-- comment-symbol-exempt: names deliberately-retired symbols; this block records that history -->
115
- /**
116
- * Classify one obligation change-vs-addition deterministically.
117
- *
118
- * Heuristic: the obligation *touches an existing symbol* when any symbol token in
119
- * its description is present in the baseline corpus of pre-existing symbols. Such
120
- * an obligation is a behavior CHANGE; otherwise it is a pure ADDITION.
121
- *
122
- * The matched tokens become `touched_symbols` — the scope anchors a paired
123
- * negative assertion must name. This is the deterministic FIRST pass; an LLM may
124
- * confirm or override it via `applyLlmConfirmation`, and the override is recorded.
125
- */
126
- export function classifyObligationChange(description, baselineSymbols) {
127
- const tokens = extractSymbolTokens(description);
128
- const touched = tokens.filter((t) => baselineSymbols.has(t));
129
- if (touched.length > 0) {
130
- return {
131
- change_kind: "change",
132
- touched_symbols: touched,
133
- determined_by: "touches_existing_symbol",
134
- };
135
- }
136
- return {
137
- change_kind: "addition",
138
- touched_symbols: [],
139
- determined_by: "no_existing_symbol",
140
- };
141
- }
142
- // ── Anti-rot scope predicate (CE-006) ──────────────────────────────────────────
143
- /**
144
- * Markers of an UNSCOPED, repo-wide negative assertion — a grep/scan over the
145
- * whole tree that names no specific symbol and rots the moment any unrelated file
146
- * matches. Presence of one of these (without an offsetting scope anchor) is what
147
- * the predicate rejects. This is a STRUCTURAL signal about the assertion's shape,
148
- * distinct from polarity keywords.
149
- */
150
- const UNSCOPED_GLOBAL_SCAN_PATTERN = /\b(?:repo[\s-]?wide|whole\s+repo|entire\s+(?:repo|codebase|tree)|across\s+the\s+(?:repo|codebase|tree)|any\s+file|no\s+file\s+(?:anywhere|in\s+the\s+repo)|anywhere\s+in\s+the\s+(?:repo|codebase|tree)|grep\s+(?:the\s+)?(?:repo|codebase|tree))\b/i;
151
- /**
152
- * Negation cues that, in the SAME clause immediately before a global-scan phrase,
153
- * mark it as DESCRIPTIVE contrast ("scoped to X, *not* an unscoped repo-wide
154
- * check") rather than the assertion's actual action. Flagging the literal words
155
- * "repo-wide" regardless of negation is exactly what forced hosts to euphemise a
156
- * legitimately-scoped negative — the CE-006 false-positive. Only an AFFIRMATIVE
157
- * scan (the scan is the check) disqualifies scoping.
158
- */
159
- const SCAN_NEGATION_CUE = /\b(?:not|never|no\s+longer|rather\s+than|instead\s+of|without|avoids?|avoiding|isn'?t|aren'?t|doesn'?t|don'?t|won'?t)\b/i;
160
- /**
161
- * True when the assertion uses a global-scan phrase AFFIRMATIVELY — the scan is
162
- * the check it performs, not a contrast clause describing what it deliberately
163
- * avoids. Each scan match is judged by its own clause (text back to the nearest
164
- * `. ; , — --` boundary): a negation cue in that clause makes the mention
165
- * descriptive and non-disqualifying; an unqualified scan disqualifies. This is a
166
- * structural read of the assertion's action, not a bare keyword veto on the words.
167
- */
168
- function usesAffirmativeGlobalScan(assertion) {
169
- // Scan clause boundaries and negation cues once. Repeated mentions in one
170
- // clause share its first negation offset rather than rescanning prefixes.
171
- const events = new RegExp(`${SCAN_NEGATION_CUE.source}|[.;,]|—|--`, "gi");
172
- const scans = new RegExp(UNSCOPED_GLOBAL_SCAN_PATTERN.source, "gi");
173
- let event = events.exec(assertion);
174
- let negated = false;
175
- for (const match of assertion.matchAll(scans)) {
176
- while (event && event.index < match.index) {
177
- negated = !/^(?:[.;,]|—|--)$/.test(event[0]);
178
- event = events.exec(assertion);
179
- }
180
- if (!negated)
181
- return true;
182
- }
183
- return false;
184
- }
185
- /** Match a scope anchor as a whole word/path fragment inside an assertion. */
186
- function assertionNamesAnchor(assertion, anchor) {
187
- if (anchor.length < 3)
188
- return false;
189
- const escaped = anchor.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
190
- // Word/path boundary: the anchor is not glued to surrounding identifier chars.
191
- return new RegExp(`(?<![A-Za-z0-9_$])${escaped}(?![A-Za-z0-9_$])`, "i").test(assertion);
192
- }
193
- /**
194
- * A negative assertion for a behavior-CHANGE obligation is SCOPED when it names
195
- * at least one of the change's anchors (the touched symbol/file) AND does not
196
- * perform an affirmative unscoped repo-wide scan. Naming an anchor is necessary
197
- * but not sufficient: an assertion that both names the symbol and says "grep the
198
- * whole repo" is still rejected, because the scan, not the symbol, is what it
199
- * actually checks. A merely DESCRIPTIVE mention of a global scan ("scoped to X,
200
- * not an unscoped repo-wide check") does NOT disqualify — the veto reads the
201
- * assertion's action, not the literal words, so a host need not euphemise (CE-006).
202
- *
203
- * Returns true when the assertion is acceptably scoped to the change.
204
- */
205
- export function negativeAssertionIsScoped(assertion, anchors) {
206
- if (typeof assertion !== "string" || assertion.length === 0)
207
- return false;
208
- if (usesAffirmativeGlobalScan(assertion))
209
- return false;
210
- return anchors.some((a) => assertionNamesAnchor(assertion, a));
211
- }
212
- // ── Polarity detection (shared with the legacy keyword gate) ───────────────────
213
- /** Phrases that mark a negative/failure assertion (paired-obligation half). */
214
- export const NEGATIVE_ASSERTION_PATTERN = /\b(rejects?|rejected|throws?|errors?|fails?|failure|invalid|disallows?|forbidden|refuses?|must not|does not|should not|cannot|never|negative|missing|absent|empty)\b/i;
215
- /** Phrases that mark a positive/satisfied assertion (paired-obligation half). */
216
- export const POSITIVE_ASSERTION_PATTERN = /\b(accept|accepted|allow|allowed|succeed|succeeds|returns?|produces?|valid|present|satisfies|satisfied|passes?|emits?|writes?|equal|equals|matches?)\b/i;
217
- /**
218
- * Multi-segment identifier tokens (obligation ids `OBL-AUTH-fail-session`, kebab/
219
- * snake symbols, dotted/sliced paths `src/x/plan.ts`, `a::b`). A keyword regex
220
- * `\b`-boundary still fires on a polarity word delimited by `-`/`_`/`.`/`/`/`:`
221
- * inside such a token (e.g. `fail` in `OBL-AUTH-fail-session`), flipping a positive
222
- * assertion that merely *cites* an id. These carry no prose polarity, so mask them
223
- * before keyword classification. A run must have at least one internal delimiter to
224
- * qualify — ordinary prose words (no internal `-_./:`) are left untouched, as are
225
- * multiword phrases like "does not" (space-separated, not a single token).
226
- *
227
- * SCANNED, NOT MATCHED — and the reason is a measured quadratic, not taste. The
228
- * obvious regex here is `[A-Za-z0-9]+(?:[-_/.:]+[A-Za-z0-9]+)+`, and on a long
229
- * UNBROKEN alphanumeric run it is Θ(n²): the engine starts at every position and
230
- * each start consumes the rest of the run before the (absent) delimiter fails the
231
- * whole match, so a 16,000-char run took 3.36 SECONDS (measured on the `word-run`
232
- * family: 44/186/741/3360ms across 2k/4k/8k/16k, a clean 4×-per-doubling). An
233
- * assertion arrives from a host-authored test plan with no length bound, so the
234
- * input class is reachable.
235
- *
236
- * Restructuring the regex does NOT fix it: the failure is the per-start-position
237
- * rescan, so a possessive/atomic leading run only replaces an O(n) giveback with
238
- * an O(n) take, and a lookahead made of the same character class still has to
239
- * scan the run to fail. A single forward pass over a two-character-class grammar
240
- * is the linear form, and the grammar is tiny and fully ours. Same replacement
241
- * semantics as the regex it replaces, pinned by
242
- * `tests/remediate/change-classification-backtracking.test.ts`.
243
- */
244
- function isAsciiAlphanumeric(code) {
245
- return ((code >= 48 && code <= 57) || // 0-9
246
- (code >= 65 && code <= 90) || // A-Z
247
- (code >= 97 && code <= 122) // a-z
248
- );
249
- }
250
- /** The token's internal delimiters: `-`, `_`, `/`, `.`, `:`. */
251
- function isIdentifierDelimiter(code) {
252
- return (code === 45 || // -
253
- code === 95 || // _
254
- code === 47 || // /
255
- code === 46 || // .
256
- code === 58 // :
257
- );
258
- }
259
- /**
260
- * Blank out identifier tokens so their embedded words don't leak polarity.
261
- *
262
- * One left-to-right pass, O(n) — and the pass must SKIP, not step, on failure.
263
- * The regex's token is `alnum+ (delimiter+ alnum+)+`: it starts and ends on an
264
- * alphanumeric and contains at least one delimiter that is FOLLOWED by an
265
- * alphanumeric. So a maximal run of `alnum|delimiter` that holds no such
266
- * delimiter-then-alphanumeric pair cannot contain a token starting anywhere
267
- * inside it, and the scan jumps past the whole run in one step. Emitting the
268
- * leading character and re-entering would rescan the rest of the run at every
269
- * position — the same quadratic the regex had, merely relocated.
270
- *
271
- * On a match the replacement ends at the LAST alphanumeric of the run, leaving
272
- * any trailing delimiters in place, which is exactly where the regex's greedy
273
- * match ended.
274
- */
275
- function stripIdentifierTokens(assertion) {
276
- const out = [];
277
- const length = assertion.length;
278
- let index = 0;
279
- while (index < length) {
280
- if (!isAsciiAlphanumeric(assertion.charCodeAt(index))) {
281
- out.push(assertion[index]);
282
- index += 1;
283
- continue;
284
- }
285
- // Extend over the maximal alphanumeric/delimiter run, tracking whether a
286
- // delimiter has been followed by an alphanumeric (the qualifying shape).
287
- let cursor = index;
288
- let lastAlphanumeric = index;
289
- let sawDelimiter = false;
290
- let qualifies = false;
291
- while (cursor < length) {
292
- const current = assertion.charCodeAt(cursor);
293
- if (isAsciiAlphanumeric(current)) {
294
- if (sawDelimiter)
295
- qualifies = true;
296
- lastAlphanumeric = cursor;
297
- cursor += 1;
298
- continue;
299
- }
300
- if (isIdentifierDelimiter(current)) {
301
- sawDelimiter = true;
302
- cursor += 1;
303
- continue;
304
- }
305
- break;
306
- }
307
- if (qualifies) {
308
- out.push(" ");
309
- index = lastAlphanumeric + 1;
310
- continue;
311
- }
312
- // No token can begin inside this run — copy it through verbatim and resume
313
- // after it.
314
- out.push(assertion.slice(index, cursor));
315
- index = cursor;
316
- }
317
- return out.join("");
318
- }
319
- /**
320
- * Classify one assertion's polarity. An explicit `POSITIVE:` / `NEGATIVE:` label
321
- * is authoritative and skips the keyword fallback (so "POSITIVE: must not exceed
322
- * N" counts only as positive). Unlabeled assertions fall through to the keyword
323
- * regexes, which may match both polarities — run against an identifier-masked copy
324
- * so a polarity word embedded in a cited id (e.g. `fail` in `OBL-AUTH-fail-session`)
325
- * doesn't misclassify the assertion.
326
- */
327
- export function assertionPolarity(assertion) {
328
- const label = /^\s*(POSITIVE|NEGATIVE)\s*:/i.exec(assertion);
329
- if (label) {
330
- return label[1].toUpperCase() === "POSITIVE" ? "positive" : "negative";
331
- }
332
- const prose = stripIdentifierTokens(assertion);
333
- const neg = NEGATIVE_ASSERTION_PATTERN.test(prose);
334
- const pos = POSITIVE_ASSERTION_PATTERN.test(prose);
335
- if (neg && pos)
336
- return "both";
337
- if (neg)
338
- return "negative";
339
- if (pos)
340
- return "positive";
341
- return "none";
342
- }
343
- /**
344
- * Evaluate the paired positive+scoped-negative requirement for a behavior-CHANGE
345
- * obligation. `anchors` are the change's scope anchors (touched symbols/file).
346
- *
347
- * - A positive half is any assertion with positive polarity.
348
- * - A negative half counts ONLY when it is scoped to the change (CE-006): an
349
- * unscoped repo-wide negative does not satisfy the negative requirement.
350
- * `negativeUnscoped` is reported when the sole negative(s) failed scoping, so
351
- * the diagnostic distinguishes "no negative at all" from "negative not scoped".
352
- */
353
- export function evaluatePairing(assertions, anchors) {
354
- let hasPositive = false;
355
- let hasScopedNegative = false;
356
- let hasAnyNegative = false;
357
- for (const assertion of assertions) {
358
- if (typeof assertion !== "string")
359
- continue;
360
- const polarity = assertionPolarity(assertion);
361
- if (polarity === "positive" || polarity === "both")
362
- hasPositive = true;
363
- if (polarity === "negative" || polarity === "both") {
364
- hasAnyNegative = true;
365
- if (negativeAssertionIsScoped(assertion, anchors))
366
- hasScopedNegative = true;
367
- }
368
- }
369
- return {
370
- ok: hasPositive && hasScopedNegative,
371
- hasPositive,
372
- hasNegative: hasScopedNegative,
373
- negativeUnscoped: hasAnyNegative && !hasScopedNegative,
374
- };
375
- }
376
- // ── Defensive read + anchor derivation (used by the gates) ─────────────────────
377
- /**
378
- * Read an obligation's `change_classification` from a raw, untrusted payload.
379
- * Returns the narrowed classification, or `undefined` only when the field is
380
- * genuinely ABSENT — a truly unclassified obligation (e.g. a structural one), which
381
- * the gates already treat as a CHANGE (fail-closed) at the consumer.
382
- *
383
- * A classification that is PRESENT but CORRUPT (not a record, or an unrecognized
384
- * `change_kind`) is read as a fail-closed CHANGE rather than `undefined` (INV-IR-4):
385
- * a dropped or garbled classification can never relax the paired-test requirement
386
- * and can never let incremental item-scoping (contract-incremental-reconvergence)
387
- * carry a changed item forward as if it were an unchanged addition.
388
- */
389
- export function readObligationChangeClassification(obligation) {
390
- if (!isRecord(obligation))
391
- return undefined;
392
- // Distinguish "absent" (no field → undefined, consumers stay fail-closed) from
393
- // "present but corrupt" (field exists → an explicit fail-closed CHANGE verdict).
394
- if (!("change_classification" in obligation))
395
- return undefined;
396
- const cls = obligation.change_classification;
397
- const failClosedChange = (touched_symbols) => ({
398
- change_kind: "change",
399
- touched_symbols,
400
- determined_by: "touches_existing_symbol",
401
- });
402
- if (!isRecord(cls))
403
- return failClosedChange([]);
404
- if (cls.change_kind !== "change" && cls.change_kind !== "addition") {
405
- const touched = Array.isArray(cls.touched_symbols)
406
- ? cls.touched_symbols.filter((t) => typeof t === "string")
407
- : [];
408
- return failClosedChange(touched);
409
- }
410
- const touched = Array.isArray(cls.touched_symbols)
411
- ? cls.touched_symbols.filter((t) => typeof t === "string")
412
- : [];
413
- const determinedBy = cls.determined_by === "touches_existing_symbol" ||
414
- cls.determined_by === "no_existing_symbol" ||
415
- cls.determined_by === "llm_confirmed" ||
416
- cls.determined_by === "llm_override"
417
- ? cls.determined_by
418
- : "touches_existing_symbol";
419
- return {
420
- change_kind: cls.change_kind,
421
- touched_symbols: touched,
422
- determined_by: determinedBy,
423
- ...(typeof cls.rationale === "string" ? { rationale: cls.rationale } : {}),
424
- };
425
- }
426
- /**
427
- * The scope anchors a paired negative must name for one obligation. Prefers the
428
- * classification's recorded `touched_symbols`; falls back to the obligation id
429
- * plus any symbol tokens in its description when the classification carries none
430
- * (e.g. an unclassified obligation treated as a fail-closed change). Always
431
- * non-empty when the id is a real id, so a fail-closed change still has a concrete
432
- * anchor to scope against rather than vacuously accepting any negative.
433
- */
434
- export function obligationScopeAnchors(obligationId, description, classification) {
435
- if (classification && classification.touched_symbols.length > 0) {
436
- return classification.touched_symbols;
437
- }
438
- const anchors = new Set();
439
- if (typeof obligationId === "string" && obligationId.length >= 3) {
440
- anchors.add(obligationId.toLowerCase());
441
- }
442
- for (const t of extractSymbolTokens(description))
443
- anchors.add(t);
444
- return [...anchors];
445
- }
446
- //# sourceMappingURL=changeClassification.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"changeClassification.js","sourceRoot":"","sources":["../../../src/remediate/contractPipeline/changeClassification.ts"],"names":[],"mappings":"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"}
@@ -1,28 +0,0 @@
1
- import { type ReviewRequirement, type ReviewSubmissionFailureCode, type ContractReviewDeclaration } from "../../shared/types/reviewIndependence.js";
2
- import { type ContractPipelineArtifactName } from "./artifactStore.js";
3
- export declare function contractReviewBindingPath(artifactsDir: string, name: ContractPipelineArtifactName): string;
4
- /** Tool-owned expectation, separate from the worker's declared review envelope. */
5
- export declare function bindContractReviewPrompt(params: {
6
- artifactsDir: string;
7
- artifact: ContractPipelineArtifactName;
8
- role: string;
9
- emissionId: string;
10
- requirement: ReviewRequirement;
11
- prompt: string;
12
- }): Promise<string>;
13
- export declare function validateContractReviewInput(params: {
14
- artifactsDir: string;
15
- artifact: ContractPipelineArtifactName;
16
- role: string;
17
- requirement: ReviewRequirement;
18
- raw: unknown;
19
- }): Promise<{
20
- ok: true;
21
- payload: unknown;
22
- provenance?: ContractReviewDeclaration;
23
- } | {
24
- ok: false;
25
- issue: string;
26
- code: ReviewSubmissionFailureCode | "dependency_stale";
27
- }>;
28
- //# sourceMappingURL=contractReviewBinding.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"contractReviewBinding.d.ts","sourceRoot":"","sources":["../../../src/remediate/contractPipeline/contractReviewBinding.ts"],"names":[],"mappings":"AAQA,OAAO,EAA0D,KAAK,iBAAiB,EAAE,KAAK,2BAA2B,EAAE,KAAK,yBAAyB,EAAE,MAAM,0CAA0C,CAAC;AAC5M,OAAO,EAA6D,KAAK,4BAA4B,EAAE,MAAM,oBAAoB,CAAC;AAalI,wBAAgB,yBAAyB,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,4BAA4B,GAAG,MAAM,CAE1G;AAOD,mFAAmF;AACnF,wBAAsB,wBAAwB,CAAC,MAAM,EAAE;IACrD,YAAY,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,4BAA4B,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAC3E,UAAU,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,iBAAiB,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;CACpE,GAAG,OAAO,CAAC,MAAM,CAAC,CAyBlB;AAED,wBAAsB,2BAA2B,CAAC,MAAM,EAAE;IACxD,YAAY,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,4BAA4B,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAC3E,WAAW,EAAE,iBAAiB,CAAC;IAAC,GAAG,EAAE,OAAO,CAAC;CAC9C,GAAG,OAAO,CAAC;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,UAAU,CAAC,EAAE,yBAAyB,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,2BAA2B,GAAG,kBAAkB,CAAA;CAAE,CAAC,CAgBzK"}