audit-tools 0.51.7 → 0.51.10

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 (665) hide show
  1. package/dist/audit/clarification/blastRadius.d.ts +17 -16
  2. package/dist/audit/clarification/blastRadius.d.ts.map +1 -1
  3. package/dist/audit/clarification/blastRadius.js +48 -44
  4. package/dist/audit/clarification/blastRadius.js.map +1 -1
  5. package/dist/audit/clarification/dials.d.ts +4 -4
  6. package/dist/audit/clarification/dials.d.ts.map +1 -1
  7. package/dist/audit/clarification/dials.js +1 -0
  8. package/dist/audit/clarification/dials.js.map +1 -1
  9. package/dist/audit/clarification/partition.d.ts +12 -21
  10. package/dist/audit/clarification/partition.d.ts.map +1 -1
  11. package/dist/audit/clarification/partition.js +52 -59
  12. package/dist/audit/clarification/partition.js.map +1 -1
  13. package/dist/audit/clarification/riskGate.d.ts +2 -2
  14. package/dist/audit/clarification/riskGate.d.ts.map +1 -1
  15. package/dist/audit/clarification/riskGate.js +1 -0
  16. package/dist/audit/clarification/riskGate.js.map +1 -1
  17. package/dist/audit/clarification/voiQueue.d.ts +3 -3
  18. package/dist/audit/clarification/voiQueue.d.ts.map +1 -1
  19. package/dist/audit/clarification/voiQueue.js +1 -0
  20. package/dist/audit/clarification/voiQueue.js.map +1 -1
  21. package/dist/audit/cli/auditStep.d.ts +14 -2
  22. package/dist/audit/cli/auditStep.d.ts.map +1 -1
  23. package/dist/audit/cli/auditStep.js +13 -5
  24. package/dist/audit/cli/auditStep.js.map +1 -1
  25. package/dist/audit/cli/charterClarificationPrompt.d.ts +6 -9
  26. package/dist/audit/cli/charterClarificationPrompt.d.ts.map +1 -1
  27. package/dist/audit/cli/charterClarificationPrompt.js +35 -47
  28. package/dist/audit/cli/charterClarificationPrompt.js.map +1 -1
  29. package/dist/audit/cli/charterComparisonPrompt.d.ts +14 -0
  30. package/dist/audit/cli/charterComparisonPrompt.d.ts.map +1 -0
  31. package/dist/audit/cli/charterComparisonPrompt.js +111 -0
  32. package/dist/audit/cli/charterComparisonPrompt.js.map +1 -0
  33. package/dist/audit/cli/charterExtractionPrompt.d.ts +14 -17
  34. package/dist/audit/cli/charterExtractionPrompt.d.ts.map +1 -1
  35. package/dist/audit/cli/charterExtractionPrompt.js +81 -104
  36. package/dist/audit/cli/charterExtractionPrompt.js.map +1 -1
  37. package/dist/audit/cli/charterFidelityPrompt.d.ts +14 -0
  38. package/dist/audit/cli/charterFidelityPrompt.d.ts.map +1 -0
  39. package/dist/audit/cli/charterFidelityPrompt.js +58 -0
  40. package/dist/audit/cli/charterFidelityPrompt.js.map +1 -0
  41. package/dist/audit/cli/conceptualDispatch.d.ts +39 -6
  42. package/dist/audit/cli/conceptualDispatch.d.ts.map +1 -1
  43. package/dist/audit/cli/conceptualDispatch.js +59 -12
  44. package/dist/audit/cli/conceptualDispatch.js.map +1 -1
  45. package/dist/audit/cli/confirmIntentStep.d.ts.map +1 -1
  46. package/dist/audit/cli/confirmIntentStep.js +46 -2
  47. package/dist/audit/cli/confirmIntentStep.js.map +1 -1
  48. package/dist/audit/cli/dispatch/hostHandoff.d.ts +18 -6
  49. package/dist/audit/cli/dispatch/hostHandoff.d.ts.map +1 -1
  50. package/dist/audit/cli/dispatch/hostHandoff.js +525 -67
  51. package/dist/audit/cli/dispatch/hostHandoff.js.map +1 -1
  52. package/dist/audit/cli/fanoutLanes.d.ts +24 -0
  53. package/dist/audit/cli/fanoutLanes.d.ts.map +1 -1
  54. package/dist/audit/cli/fanoutLanes.js +9 -1
  55. package/dist/audit/cli/fanoutLanes.js.map +1 -1
  56. package/dist/audit/cli/foldTransaction.d.ts.map +1 -1
  57. package/dist/audit/cli/foldTransaction.js +14 -3
  58. package/dist/audit/cli/foldTransaction.js.map +1 -1
  59. package/dist/audit/cli/forceSynthesisCommand.d.ts.map +1 -1
  60. package/dist/audit/cli/forceSynthesisCommand.js +4 -1
  61. package/dist/audit/cli/forceSynthesisCommand.js.map +1 -1
  62. package/dist/audit/cli/intakeCommand.d.ts.map +1 -1
  63. package/dist/audit/cli/intakeCommand.js +1 -0
  64. package/dist/audit/cli/intakeCommand.js.map +1 -1
  65. package/dist/audit/cli/laneSubmissions.d.ts +18 -12
  66. package/dist/audit/cli/laneSubmissions.d.ts.map +1 -1
  67. package/dist/audit/cli/laneSubmissions.js +40 -4
  68. package/dist/audit/cli/laneSubmissions.js.map +1 -1
  69. package/dist/audit/cli/laneValidators.d.ts.map +1 -1
  70. package/dist/audit/cli/laneValidators.js +14 -14
  71. package/dist/audit/cli/laneValidators.js.map +1 -1
  72. package/dist/audit/cli/nextStepCommand.d.ts +7 -0
  73. package/dist/audit/cli/nextStepCommand.d.ts.map +1 -1
  74. package/dist/audit/cli/nextStepCommand.js +206 -31
  75. package/dist/audit/cli/nextStepCommand.js.map +1 -1
  76. package/dist/audit/cli/nextStepHelpers.d.ts +92 -28
  77. package/dist/audit/cli/nextStepHelpers.d.ts.map +1 -1
  78. package/dist/audit/cli/nextStepHelpers.js +363 -126
  79. package/dist/audit/cli/nextStepHelpers.js.map +1 -1
  80. package/dist/audit/cli/prompts.d.ts +10 -0
  81. package/dist/audit/cli/prompts.d.ts.map +1 -1
  82. package/dist/audit/cli/prompts.js +3 -1
  83. package/dist/audit/cli/prompts.js.map +1 -1
  84. package/dist/audit/cli/reviewRun.d.ts +12 -0
  85. package/dist/audit/cli/reviewRun.d.ts.map +1 -1
  86. package/dist/audit/cli/reviewRun.js +242 -29
  87. package/dist/audit/cli/reviewRun.js.map +1 -1
  88. package/dist/audit/cli/sampleRunCommand.d.ts +12 -4
  89. package/dist/audit/cli/sampleRunCommand.d.ts.map +1 -1
  90. package/dist/audit/cli/semanticReviewStep.d.ts +9 -0
  91. package/dist/audit/cli/semanticReviewStep.d.ts.map +1 -1
  92. package/dist/audit/cli/semanticReviewStep.js +71 -30
  93. package/dist/audit/cli/semanticReviewStep.js.map +1 -1
  94. package/dist/audit/cli/statusCommand.d.ts.map +1 -1
  95. package/dist/audit/cli/statusCommand.js +29 -66
  96. package/dist/audit/cli/statusCommand.js.map +1 -1
  97. package/dist/audit/cli/stepScaffold.d.ts +43 -2
  98. package/dist/audit/cli/stepScaffold.d.ts.map +1 -1
  99. package/dist/audit/cli/stepScaffold.js +24 -10
  100. package/dist/audit/cli/stepScaffold.js.map +1 -1
  101. package/dist/audit/cli/steps.d.ts +52 -29
  102. package/dist/audit/cli/steps.d.ts.map +1 -1
  103. package/dist/audit/cli/steps.js +44 -14
  104. package/dist/audit/cli/steps.js.map +1 -1
  105. package/dist/audit/cli/synthesizeCommand.d.ts.map +1 -1
  106. package/dist/audit/cli/synthesizeCommand.js +4 -1
  107. package/dist/audit/cli/synthesizeCommand.js.map +1 -1
  108. package/dist/audit/contracts/workerSchemas.d.ts +65 -16
  109. package/dist/audit/contracts/workerSchemas.d.ts.map +1 -1
  110. package/dist/audit/contracts/workerSchemas.js +89 -8
  111. package/dist/audit/contracts/workerSchemas.js.map +1 -1
  112. package/dist/audit/contracts/wrapperResponse.d.ts +14 -21
  113. package/dist/audit/contracts/wrapperResponse.d.ts.map +1 -1
  114. package/dist/audit/contracts/wrapperResponse.js +0 -1
  115. package/dist/audit/contracts/wrapperResponse.js.map +1 -1
  116. package/dist/audit/decompose/findings.d.ts.map +1 -1
  117. package/dist/audit/decompose/findings.js +10 -2
  118. package/dist/audit/decompose/findings.js.map +1 -1
  119. package/dist/audit/extractors/designAssessment.d.ts.map +1 -1
  120. package/dist/audit/extractors/designAssessment.js +13 -4
  121. package/dist/audit/extractors/designAssessment.js.map +1 -1
  122. package/dist/audit/extractors/disposition.d.ts.map +1 -1
  123. package/dist/audit/extractors/disposition.js +17 -5
  124. package/dist/audit/extractors/disposition.js.map +1 -1
  125. package/dist/audit/extractors/graph.d.ts +1 -1
  126. package/dist/audit/extractors/graph.js +1 -1
  127. package/dist/audit/extractors/graphRoutes.d.ts.map +1 -1
  128. package/dist/audit/extractors/graphRoutes.js +224 -17
  129. package/dist/audit/extractors/graphRoutes.js.map +1 -1
  130. package/dist/audit/extractors/leadLineage.d.ts +10 -0
  131. package/dist/audit/extractors/leadLineage.d.ts.map +1 -0
  132. package/dist/audit/extractors/leadLineage.js +44 -0
  133. package/dist/audit/extractors/leadLineage.js.map +1 -0
  134. package/dist/audit/io/artifacts.d.ts.map +1 -1
  135. package/dist/audit/io/artifacts.js +25 -8
  136. package/dist/audit/io/artifacts.js.map +1 -1
  137. package/dist/audit/io/runArtifacts.d.ts +76 -1
  138. package/dist/audit/io/runArtifacts.d.ts.map +1 -1
  139. package/dist/audit/io/runArtifacts.js +113 -20
  140. package/dist/audit/io/runArtifacts.js.map +1 -1
  141. package/dist/audit/io/toolingManifest.d.ts +15 -0
  142. package/dist/audit/io/toolingManifest.d.ts.map +1 -1
  143. package/dist/audit/io/toolingManifest.js +158 -11
  144. package/dist/audit/io/toolingManifest.js.map +1 -1
  145. package/dist/audit/orchestrator/advance.d.ts.map +1 -1
  146. package/dist/audit/orchestrator/advance.js +30 -4
  147. package/dist/audit/orchestrator/advance.js.map +1 -1
  148. package/dist/audit/orchestrator/advanceTypes.d.ts +28 -5
  149. package/dist/audit/orchestrator/advanceTypes.d.ts.map +1 -1
  150. package/dist/audit/orchestrator/artifactMetadata.d.ts.map +1 -1
  151. package/dist/audit/orchestrator/artifactMetadata.js +39 -1
  152. package/dist/audit/orchestrator/artifactMetadata.js.map +1 -1
  153. package/dist/audit/orchestrator/auditTaskUtils.d.ts.map +1 -1
  154. package/dist/audit/orchestrator/auditTaskUtils.js +4 -1
  155. package/dist/audit/orchestrator/auditTaskUtils.js.map +1 -1
  156. package/dist/audit/orchestrator/charterClarificationExecutor.d.ts +11 -17
  157. package/dist/audit/orchestrator/charterClarificationExecutor.d.ts.map +1 -1
  158. package/dist/audit/orchestrator/charterClarificationExecutor.js +61 -93
  159. package/dist/audit/orchestrator/charterClarificationExecutor.js.map +1 -1
  160. package/dist/audit/orchestrator/charterComparisonExecutor.d.ts +24 -0
  161. package/dist/audit/orchestrator/charterComparisonExecutor.d.ts.map +1 -0
  162. package/dist/audit/orchestrator/charterComparisonExecutor.js +110 -0
  163. package/dist/audit/orchestrator/charterComparisonExecutor.js.map +1 -0
  164. package/dist/audit/orchestrator/charterExtractionExecutor.d.ts +34 -20
  165. package/dist/audit/orchestrator/charterExtractionExecutor.d.ts.map +1 -1
  166. package/dist/audit/orchestrator/charterExtractionExecutor.js +80 -106
  167. package/dist/audit/orchestrator/charterExtractionExecutor.js.map +1 -1
  168. package/dist/audit/orchestrator/charterFidelityExecutor.d.ts +20 -0
  169. package/dist/audit/orchestrator/charterFidelityExecutor.d.ts.map +1 -0
  170. package/dist/audit/orchestrator/charterFidelityExecutor.js +76 -0
  171. package/dist/audit/orchestrator/charterFidelityExecutor.js.map +1 -0
  172. package/dist/audit/orchestrator/charterFidelityPacket.d.ts +7 -0
  173. package/dist/audit/orchestrator/charterFidelityPacket.d.ts.map +1 -0
  174. package/dist/audit/orchestrator/charterFidelityPacket.js +68 -0
  175. package/dist/audit/orchestrator/charterFidelityPacket.js.map +1 -0
  176. package/dist/audit/orchestrator/dependencyMap.d.ts.map +1 -1
  177. package/dist/audit/orchestrator/dependencyMap.js +9 -8
  178. package/dist/audit/orchestrator/dependencyMap.js.map +1 -1
  179. package/dist/audit/orchestrator/dependencySlices.d.ts.map +1 -1
  180. package/dist/audit/orchestrator/dependencySlices.js +7 -6
  181. package/dist/audit/orchestrator/dependencySlices.js.map +1 -1
  182. package/dist/audit/orchestrator/designReviewProjection.d.ts.map +1 -1
  183. package/dist/audit/orchestrator/designReviewProjection.js +7 -0
  184. package/dist/audit/orchestrator/designReviewProjection.js.map +1 -1
  185. package/dist/audit/orchestrator/designReviewPrompt.d.ts.map +1 -1
  186. package/dist/audit/orchestrator/designReviewPrompt.js +58 -19
  187. package/dist/audit/orchestrator/designReviewPrompt.js.map +1 -1
  188. package/dist/audit/orchestrator/executorRunners.d.ts.map +1 -1
  189. package/dist/audit/orchestrator/executorRunners.js +6 -2
  190. package/dist/audit/orchestrator/executorRunners.js.map +1 -1
  191. package/dist/audit/orchestrator/executors.d.ts.map +1 -1
  192. package/dist/audit/orchestrator/executors.js +22 -8
  193. package/dist/audit/orchestrator/executors.js.map +1 -1
  194. package/dist/audit/orchestrator/hostInputPause.js +1 -0
  195. package/dist/audit/orchestrator/hostInputPause.js.map +1 -1
  196. package/dist/audit/orchestrator/intentCheckpointExecutor.d.ts +40 -0
  197. package/dist/audit/orchestrator/intentCheckpointExecutor.d.ts.map +1 -1
  198. package/dist/audit/orchestrator/intentCheckpointExecutor.js +32 -2
  199. package/dist/audit/orchestrator/intentCheckpointExecutor.js.map +1 -1
  200. package/dist/audit/orchestrator/intentCheckpointGate.d.ts +5 -3
  201. package/dist/audit/orchestrator/intentCheckpointGate.d.ts.map +1 -1
  202. package/dist/audit/orchestrator/intentCheckpointGate.js +34 -5
  203. package/dist/audit/orchestrator/intentCheckpointGate.js.map +1 -1
  204. package/dist/audit/orchestrator/intentEquivalenceExecutor.d.ts +2 -2
  205. package/dist/audit/orchestrator/intentInterpreter.d.ts +1 -1
  206. package/dist/audit/orchestrator/intentInterpreter.js +1 -1
  207. package/dist/audit/orchestrator/nextStep.d.ts.map +1 -1
  208. package/dist/audit/orchestrator/nextStep.js +3 -1
  209. package/dist/audit/orchestrator/nextStep.js.map +1 -1
  210. package/dist/audit/orchestrator/obligationPolicy.d.ts +2 -1
  211. package/dist/audit/orchestrator/obligationPolicy.d.ts.map +1 -1
  212. package/dist/audit/orchestrator/obligationPolicy.js +19 -7
  213. package/dist/audit/orchestrator/obligationPolicy.js.map +1 -1
  214. package/dist/audit/orchestrator/partitionTaskGraph.d.ts.map +1 -1
  215. package/dist/audit/orchestrator/partitionTaskGraph.js +1 -0
  216. package/dist/audit/orchestrator/partitionTaskGraph.js.map +1 -1
  217. package/dist/audit/orchestrator/resultIngestion.d.ts.map +1 -1
  218. package/dist/audit/orchestrator/resultIngestion.js +3 -1
  219. package/dist/audit/orchestrator/resultIngestion.js.map +1 -1
  220. package/dist/audit/orchestrator/runtimeCommand.d.ts +72 -0
  221. package/dist/audit/orchestrator/runtimeCommand.d.ts.map +1 -1
  222. package/dist/audit/orchestrator/runtimeCommand.js +177 -20
  223. package/dist/audit/orchestrator/runtimeCommand.js.map +1 -1
  224. package/dist/audit/orchestrator/scopeIndexBaseline.d.ts +56 -0
  225. package/dist/audit/orchestrator/scopeIndexBaseline.d.ts.map +1 -0
  226. package/dist/audit/orchestrator/scopeIndexBaseline.js +114 -0
  227. package/dist/audit/orchestrator/scopeIndexBaseline.js.map +1 -0
  228. package/dist/audit/orchestrator/staleness.d.ts +70 -1
  229. package/dist/audit/orchestrator/staleness.d.ts.map +1 -1
  230. package/dist/audit/orchestrator/staleness.js +171 -21
  231. package/dist/audit/orchestrator/staleness.js.map +1 -1
  232. package/dist/audit/orchestrator/state.d.ts.map +1 -1
  233. package/dist/audit/orchestrator/state.js +49 -25
  234. package/dist/audit/orchestrator/state.js.map +1 -1
  235. package/dist/audit/orchestrator/structureExecutors.d.ts.map +1 -1
  236. package/dist/audit/orchestrator/structureExecutors.js +7 -5
  237. package/dist/audit/orchestrator/structureExecutors.js.map +1 -1
  238. package/dist/audit/orchestrator/syntaxResolutionExecutor.d.ts.map +1 -1
  239. package/dist/audit/orchestrator/syntaxResolutionExecutor.js +1 -0
  240. package/dist/audit/orchestrator/syntaxResolutionExecutor.js.map +1 -1
  241. package/dist/audit/orchestrator/systemicChallengeExecutor.d.ts +13 -2
  242. package/dist/audit/orchestrator/systemicChallengeExecutor.d.ts.map +1 -1
  243. package/dist/audit/orchestrator/systemicChallengeExecutor.js +166 -12
  244. package/dist/audit/orchestrator/systemicChallengeExecutor.js.map +1 -1
  245. package/dist/audit/reporting/mergeFindings.d.ts.map +1 -1
  246. package/dist/audit/reporting/mergeFindings.js +6 -5
  247. package/dist/audit/reporting/mergeFindings.js.map +1 -1
  248. package/dist/audit/reporting/synthesis.d.ts +117 -0
  249. package/dist/audit/reporting/synthesis.d.ts.map +1 -1
  250. package/dist/audit/reporting/synthesis.js +277 -10
  251. package/dist/audit/reporting/synthesis.js.map +1 -1
  252. package/dist/audit/supervisor/operatorHandoff.d.ts +0 -2
  253. package/dist/audit/supervisor/operatorHandoff.d.ts.map +1 -1
  254. package/dist/audit/supervisor/operatorHandoff.js +0 -3
  255. package/dist/audit/supervisor/operatorHandoff.js.map +1 -1
  256. package/dist/audit/systemic/coveredThemes.d.ts +28 -0
  257. package/dist/audit/systemic/coveredThemes.d.ts.map +1 -0
  258. package/dist/audit/systemic/coveredThemes.js +52 -0
  259. package/dist/audit/systemic/coveredThemes.js.map +1 -0
  260. package/dist/audit/systemic/reviewFileMap.d.ts +81 -0
  261. package/dist/audit/systemic/reviewFileMap.d.ts.map +1 -0
  262. package/dist/audit/systemic/reviewFileMap.js +169 -0
  263. package/dist/audit/systemic/reviewFileMap.js.map +1 -0
  264. package/dist/audit/systemic/secondOrderAdversaryPrompt.d.ts.map +1 -1
  265. package/dist/audit/systemic/secondOrderAdversaryPrompt.js +149 -26
  266. package/dist/audit/systemic/secondOrderAdversaryPrompt.js.map +1 -1
  267. package/dist/audit/systemic/systemicChallengeLoop.d.ts +44 -4
  268. package/dist/audit/systemic/systemicChallengeLoop.d.ts.map +1 -1
  269. package/dist/audit/systemic/systemicChallengeLoop.js +114 -10
  270. package/dist/audit/systemic/systemicChallengeLoop.js.map +1 -1
  271. package/dist/audit/types/auditState.d.ts +6 -6
  272. package/dist/audit/types/charterClarification.d.ts +9 -4
  273. package/dist/audit/types/charterClarification.d.ts.map +1 -1
  274. package/dist/audit/types/charterRegister.d.ts +48 -93
  275. package/dist/audit/types/charterRegister.d.ts.map +1 -1
  276. package/dist/audit/types/charterRegister.js +15 -26
  277. package/dist/audit/types/charterRegister.js.map +1 -1
  278. package/dist/audit/types/conceptualAdjudication.d.ts +88 -18
  279. package/dist/audit/types/conceptualAdjudication.d.ts.map +1 -1
  280. package/dist/audit/types/conceptualAdjudication.js +77 -16
  281. package/dist/audit/types/conceptualAdjudication.js.map +1 -1
  282. package/dist/audit/types/designAssessment.d.ts +8 -6
  283. package/dist/audit/types/designAssessment.d.ts.map +1 -1
  284. package/dist/audit/types/reviewPlanning.d.ts +2 -2
  285. package/dist/audit/types/systemicChallenge.d.ts +43 -7
  286. package/dist/audit/types/systemicChallenge.d.ts.map +1 -1
  287. package/dist/audit/types.d.ts +71 -10
  288. package/dist/audit/types.d.ts.map +1 -1
  289. package/dist/audit/types.js +23 -2
  290. package/dist/audit/types.js.map +1 -1
  291. package/dist/audit/validation/auditResults.d.ts +30 -0
  292. package/dist/audit/validation/auditResults.d.ts.map +1 -1
  293. package/dist/audit/validation/auditResults.js +50 -8
  294. package/dist/audit/validation/auditResults.js.map +1 -1
  295. package/dist/audit/validation/ingestIssueCodes.d.ts +1 -1
  296. package/dist/audit/validation/ingestIssueCodes.d.ts.map +1 -1
  297. package/dist/audit/validation/ingestIssueCodes.js +14 -0
  298. package/dist/audit/validation/ingestIssueCodes.js.map +1 -1
  299. package/dist/remediate/contractPipeline/artifactStore.d.ts +97 -2
  300. package/dist/remediate/contractPipeline/artifactStore.d.ts.map +1 -1
  301. package/dist/remediate/contractPipeline/artifactStore.js +163 -9
  302. package/dist/remediate/contractPipeline/artifactStore.js.map +1 -1
  303. package/dist/remediate/contractPipeline/changeClassification.d.ts.map +1 -1
  304. package/dist/remediate/contractPipeline/changeClassification.js +93 -3
  305. package/dist/remediate/contractPipeline/changeClassification.js.map +1 -1
  306. package/dist/remediate/contractPipeline/cyclicSeamResolution.d.ts.map +1 -1
  307. package/dist/remediate/contractPipeline/cyclicSeamResolution.js +31 -0
  308. package/dist/remediate/contractPipeline/cyclicSeamResolution.js.map +1 -1
  309. package/dist/remediate/contractPipeline/derive.d.ts +0 -14
  310. package/dist/remediate/contractPipeline/derive.d.ts.map +1 -1
  311. package/dist/remediate/contractPipeline/derive.js +52 -24
  312. package/dist/remediate/contractPipeline/derive.js.map +1 -1
  313. package/dist/remediate/contractPipeline/finalizedContractFields.d.ts +50 -0
  314. package/dist/remediate/contractPipeline/finalizedContractFields.d.ts.map +1 -0
  315. package/dist/remediate/contractPipeline/finalizedContractFields.js +77 -0
  316. package/dist/remediate/contractPipeline/finalizedContractFields.js.map +1 -0
  317. package/dist/remediate/contractPipeline/idRegistry.d.ts +85 -0
  318. package/dist/remediate/contractPipeline/idRegistry.d.ts.map +1 -1
  319. package/dist/remediate/contractPipeline/idRegistry.js +147 -0
  320. package/dist/remediate/contractPipeline/idRegistry.js.map +1 -1
  321. package/dist/remediate/contractPipeline/phaseCut.d.ts +13 -16
  322. package/dist/remediate/contractPipeline/phaseCut.d.ts.map +1 -1
  323. package/dist/remediate/contractPipeline/phaseCut.js +15 -30
  324. package/dist/remediate/contractPipeline/phaseCut.js.map +1 -1
  325. package/dist/remediate/contractPipeline/reviewSnapshot.d.ts +20 -1
  326. package/dist/remediate/contractPipeline/reviewSnapshot.d.ts.map +1 -1
  327. package/dist/remediate/contractPipeline/reviewSnapshot.js +23 -7
  328. package/dist/remediate/contractPipeline/reviewSnapshot.js.map +1 -1
  329. package/dist/remediate/contractPipeline/semanticProjection.d.ts +17 -0
  330. package/dist/remediate/contractPipeline/semanticProjection.d.ts.map +1 -1
  331. package/dist/remediate/contractPipeline/semanticProjection.js +6 -9
  332. package/dist/remediate/contractPipeline/semanticProjection.js.map +1 -1
  333. package/dist/remediate/contractPipeline/sketchSource.d.ts +183 -0
  334. package/dist/remediate/contractPipeline/sketchSource.d.ts.map +1 -0
  335. package/dist/remediate/contractPipeline/sketchSource.js +255 -0
  336. package/dist/remediate/contractPipeline/sketchSource.js.map +1 -0
  337. package/dist/remediate/findingFilter.d.ts.map +1 -1
  338. package/dist/remediate/findingFilter.js +1 -0
  339. package/dist/remediate/findingFilter.js.map +1 -1
  340. package/dist/remediate/index.d.ts +81 -0
  341. package/dist/remediate/index.d.ts.map +1 -1
  342. package/dist/remediate/index.js +162 -53
  343. package/dist/remediate/index.js.map +1 -1
  344. package/dist/remediate/intake.d.ts +43 -0
  345. package/dist/remediate/intake.d.ts.map +1 -1
  346. package/dist/remediate/intake.js +82 -13
  347. package/dist/remediate/intake.js.map +1 -1
  348. package/dist/remediate/phases/close.d.ts +33 -2
  349. package/dist/remediate/phases/close.d.ts.map +1 -1
  350. package/dist/remediate/phases/close.js +227 -13
  351. package/dist/remediate/phases/close.js.map +1 -1
  352. package/dist/remediate/phases/closeVerifyHeadEvidence.d.ts +154 -0
  353. package/dist/remediate/phases/closeVerifyHeadEvidence.d.ts.map +1 -0
  354. package/dist/remediate/phases/closeVerifyHeadEvidence.js +242 -0
  355. package/dist/remediate/phases/closeVerifyHeadEvidence.js.map +1 -0
  356. package/dist/remediate/state/runStatus.d.ts +35 -0
  357. package/dist/remediate/state/runStatus.d.ts.map +1 -0
  358. package/dist/remediate/state/runStatus.js +46 -0
  359. package/dist/remediate/state/runStatus.js.map +1 -0
  360. package/dist/remediate/state/store.d.ts +52 -2
  361. package/dist/remediate/state/store.d.ts.map +1 -1
  362. package/dist/remediate/state/store.js +124 -21
  363. package/dist/remediate/state/store.js.map +1 -1
  364. package/dist/remediate/state/types.d.ts +83 -13
  365. package/dist/remediate/state/types.d.ts.map +1 -1
  366. package/dist/remediate/steps/contractPipeline.d.ts +65 -1
  367. package/dist/remediate/steps/contractPipeline.d.ts.map +1 -1
  368. package/dist/remediate/steps/contractPipeline.js +302 -85
  369. package/dist/remediate/steps/contractPipeline.js.map +1 -1
  370. package/dist/remediate/steps/contractPipelinePrompts.d.ts.map +1 -1
  371. package/dist/remediate/steps/contractPipelinePrompts.js +58 -21
  372. package/dist/remediate/steps/contractPipelinePrompts.js.map +1 -1
  373. package/dist/remediate/steps/dispatch/hostHandoff.d.ts +87 -2
  374. package/dist/remediate/steps/dispatch/hostHandoff.d.ts.map +1 -1
  375. package/dist/remediate/steps/dispatch/hostHandoff.js +344 -44
  376. package/dist/remediate/steps/dispatch/hostHandoff.js.map +1 -1
  377. package/dist/remediate/steps/finalGate.d.ts +109 -5
  378. package/dist/remediate/steps/finalGate.d.ts.map +1 -1
  379. package/dist/remediate/steps/finalGate.js +135 -27
  380. package/dist/remediate/steps/finalGate.js.map +1 -1
  381. package/dist/remediate/steps/gateCommands.d.ts +167 -0
  382. package/dist/remediate/steps/gateCommands.d.ts.map +1 -1
  383. package/dist/remediate/steps/gateCommands.js +428 -1
  384. package/dist/remediate/steps/gateCommands.js.map +1 -1
  385. package/dist/remediate/steps/intakeResolver.d.ts +2 -13
  386. package/dist/remediate/steps/intakeResolver.d.ts.map +1 -1
  387. package/dist/remediate/steps/intakeResolver.js +22 -4
  388. package/dist/remediate/steps/intakeResolver.js.map +1 -1
  389. package/dist/remediate/steps/nextStep.d.ts +44 -40
  390. package/dist/remediate/steps/nextStep.d.ts.map +1 -1
  391. package/dist/remediate/steps/nextStep.js +501 -106
  392. package/dist/remediate/steps/nextStep.js.map +1 -1
  393. package/dist/remediate/steps/stepWriter.d.ts +1 -1
  394. package/dist/remediate/steps/stepWriter.d.ts.map +1 -1
  395. package/dist/remediate/steps/stepWriter.js +1 -0
  396. package/dist/remediate/steps/stepWriter.js.map +1 -1
  397. package/dist/remediate/steps/types.d.ts +32 -1
  398. package/dist/remediate/steps/types.d.ts.map +1 -1
  399. package/dist/remediate/steps/types.js +1 -0
  400. package/dist/remediate/steps/types.js.map +1 -1
  401. package/dist/remediate/types/options.d.ts +8 -0
  402. package/dist/remediate/types/options.d.ts.map +1 -1
  403. package/dist/remediate/utils/fileIntegrity.d.ts +8 -0
  404. package/dist/remediate/utils/fileIntegrity.d.ts.map +1 -1
  405. package/dist/remediate/utils/fileIntegrity.js +12 -1
  406. package/dist/remediate/utils/fileIntegrity.js.map +1 -1
  407. package/dist/remediate/validation/artifacts.d.ts +1 -1
  408. package/dist/remediate/validation/artifacts.d.ts.map +1 -1
  409. package/dist/remediate/validation/artifacts.js +19 -2
  410. package/dist/remediate/validation/artifacts.js.map +1 -1
  411. package/dist/remediate/validation/contractPipeline.d.ts.map +1 -1
  412. package/dist/remediate/validation/contractPipeline.js +26 -39
  413. package/dist/remediate/validation/contractPipeline.js.map +1 -1
  414. package/dist/remediate/validation/contractPipelineGates.d.ts +18 -1
  415. package/dist/remediate/validation/contractPipelineGates.d.ts.map +1 -1
  416. package/dist/remediate/validation/contractPipelineGates.js +33 -5
  417. package/dist/remediate/validation/contractPipelineGates.js.map +1 -1
  418. package/dist/shared/analyzers/acquisitionEngine.d.ts +83 -5
  419. package/dist/shared/analyzers/acquisitionEngine.d.ts.map +1 -1
  420. package/dist/shared/analyzers/acquisitionEngine.js +46 -14
  421. package/dist/shared/analyzers/acquisitionEngine.js.map +1 -1
  422. package/dist/shared/analyzers/binaryAcquisition.d.ts +35 -2
  423. package/dist/shared/analyzers/binaryAcquisition.d.ts.map +1 -1
  424. package/dist/shared/analyzers/binaryAcquisition.js +5 -5
  425. package/dist/shared/analyzers/binaryAcquisition.js.map +1 -1
  426. package/dist/shared/analyzers/candidates.d.ts.map +1 -1
  427. package/dist/shared/analyzers/candidates.js +1 -0
  428. package/dist/shared/analyzers/candidates.js.map +1 -1
  429. package/dist/shared/analyzers/clippy.d.ts +9 -1
  430. package/dist/shared/analyzers/clippy.d.ts.map +1 -1
  431. package/dist/shared/analyzers/clippy.js +10 -2
  432. package/dist/shared/analyzers/clippy.js.map +1 -1
  433. package/dist/shared/analyzers/normalizeExternal.d.ts.map +1 -1
  434. package/dist/shared/analyzers/normalizeExternal.js +1 -0
  435. package/dist/shared/analyzers/normalizeExternal.js.map +1 -1
  436. package/dist/shared/analyzers/rubocop.d.ts +7 -1
  437. package/dist/shared/analyzers/rubocop.d.ts.map +1 -1
  438. package/dist/shared/analyzers/rubocop.js +8 -2
  439. package/dist/shared/analyzers/rubocop.js.map +1 -1
  440. package/dist/shared/analyzers/types.d.ts +24 -24
  441. package/dist/shared/analyzers/types.d.ts.map +1 -1
  442. package/dist/shared/analyzers/types.js +15 -0
  443. package/dist/shared/analyzers/types.js.map +1 -1
  444. package/dist/shared/artifactFreshness.d.ts.map +1 -1
  445. package/dist/shared/artifactFreshness.js +42 -7
  446. package/dist/shared/artifactFreshness.js.map +1 -1
  447. package/dist/shared/chunkByBudget.d.ts.map +1 -1
  448. package/dist/shared/chunkByBudget.js.map +1 -1
  449. package/dist/shared/continuityScore.d.ts.map +1 -1
  450. package/dist/shared/continuityScore.js +12 -4
  451. package/dist/shared/continuityScore.js.map +1 -1
  452. package/dist/shared/decompose/charterClarification.d.ts +49 -45
  453. package/dist/shared/decompose/charterClarification.d.ts.map +1 -1
  454. package/dist/shared/decompose/charterClarification.js +50 -57
  455. package/dist/shared/decompose/charterClarification.js.map +1 -1
  456. package/dist/shared/decompose/charterExtraction.d.ts +616 -342
  457. package/dist/shared/decompose/charterExtraction.d.ts.map +1 -1
  458. package/dist/shared/decompose/charterExtraction.js +590 -488
  459. package/dist/shared/decompose/charterExtraction.js.map +1 -1
  460. package/dist/shared/decompose/contentCoherence.d.ts +36 -2
  461. package/dist/shared/decompose/contentCoherence.d.ts.map +1 -1
  462. package/dist/shared/decompose/contentCoherence.js +45 -5
  463. package/dist/shared/decompose/contentCoherence.js.map +1 -1
  464. package/dist/shared/decompose/modularity.d.ts +98 -1
  465. package/dist/shared/decompose/modularity.d.ts.map +1 -1
  466. package/dist/shared/decompose/modularity.js +89 -8
  467. package/dist/shared/decompose/modularity.js.map +1 -1
  468. package/dist/shared/decompose/systemicChallenge.d.ts +111 -0
  469. package/dist/shared/decompose/systemicChallenge.d.ts.map +1 -1
  470. package/dist/shared/decompose/systemicChallenge.js +28 -0
  471. package/dist/shared/decompose/systemicChallenge.js.map +1 -1
  472. package/dist/shared/engine/obligationEngine.d.ts +2 -2
  473. package/dist/shared/engine/obligationEngine.d.ts.map +1 -1
  474. package/dist/shared/engine/obligationEngine.js +8 -2
  475. package/dist/shared/engine/obligationEngine.js.map +1 -1
  476. package/dist/shared/findingSimilarity.d.ts +8 -0
  477. package/dist/shared/findingSimilarity.d.ts.map +1 -1
  478. package/dist/shared/findingSimilarity.js +10 -3
  479. package/dist/shared/findingSimilarity.js.map +1 -1
  480. package/dist/shared/findings/dedupe.d.ts +15 -0
  481. package/dist/shared/findings/dedupe.d.ts.map +1 -1
  482. package/dist/shared/findings/dedupe.js +137 -1
  483. package/dist/shared/findings/dedupe.js.map +1 -1
  484. package/dist/shared/friction/frictionRecord.d.ts.map +1 -1
  485. package/dist/shared/friction/frictionRecord.js +14 -1
  486. package/dist/shared/friction/frictionRecord.js.map +1 -1
  487. package/dist/shared/friction/triage.d.ts +4 -0
  488. package/dist/shared/friction/triage.d.ts.map +1 -1
  489. package/dist/shared/friction/triage.js +41 -29
  490. package/dist/shared/friction/triage.js.map +1 -1
  491. package/dist/shared/git.d.ts +14 -0
  492. package/dist/shared/git.d.ts.map +1 -1
  493. package/dist/shared/git.js +22 -0
  494. package/dist/shared/git.js.map +1 -1
  495. package/dist/shared/index.d.ts +42 -38
  496. package/dist/shared/index.d.ts.map +1 -1
  497. package/dist/shared/index.js +35 -23
  498. package/dist/shared/index.js.map +1 -1
  499. package/dist/shared/intent/clauseBoundaries.d.ts +75 -0
  500. package/dist/shared/intent/clauseBoundaries.d.ts.map +1 -0
  501. package/dist/shared/intent/clauseBoundaries.js +134 -0
  502. package/dist/shared/intent/clauseBoundaries.js.map +1 -0
  503. package/dist/shared/intent/clauseInterpreter.d.ts +11 -5
  504. package/dist/shared/intent/clauseInterpreter.d.ts.map +1 -1
  505. package/dist/shared/intent/clauseInterpreter.js +16 -41
  506. package/dist/shared/intent/clauseInterpreter.js.map +1 -1
  507. package/dist/shared/intent/freeFormIntentInterpreter.d.ts +11 -0
  508. package/dist/shared/intent/freeFormIntentInterpreter.d.ts.map +1 -1
  509. package/dist/shared/intent/freeFormIntentInterpreter.js +31 -17
  510. package/dist/shared/intent/freeFormIntentInterpreter.js.map +1 -1
  511. package/dist/shared/io/fileLock.d.ts.map +1 -1
  512. package/dist/shared/io/fileLock.js +18 -6
  513. package/dist/shared/io/fileLock.js.map +1 -1
  514. package/dist/shared/io/frictionCapture.d.ts +25 -5
  515. package/dist/shared/io/frictionCapture.d.ts.map +1 -1
  516. package/dist/shared/io/frictionCapture.js +30 -9
  517. package/dist/shared/io/frictionCapture.js.map +1 -1
  518. package/dist/shared/io/schemaVersion.d.ts +4 -3
  519. package/dist/shared/io/schemaVersion.d.ts.map +1 -1
  520. package/dist/shared/io/schemaVersion.js +27 -4
  521. package/dist/shared/io/schemaVersion.js.map +1 -1
  522. package/dist/shared/io/stepContractWriter.d.ts +38 -4
  523. package/dist/shared/io/stepContractWriter.d.ts.map +1 -1
  524. package/dist/shared/io/stepContractWriter.js +59 -1
  525. package/dist/shared/io/stepContractWriter.js.map +1 -1
  526. package/dist/shared/loopCorePaths.d.ts.map +1 -1
  527. package/dist/shared/loopCorePaths.js +8 -0
  528. package/dist/shared/loopCorePaths.js.map +1 -1
  529. package/dist/shared/opencodePermissions.d.ts +27 -3
  530. package/dist/shared/opencodePermissions.d.ts.map +1 -1
  531. package/dist/shared/opencodePermissions.js +77 -26
  532. package/dist/shared/opencodePermissions.js.map +1 -1
  533. package/dist/shared/prompts.d.ts +12 -1
  534. package/dist/shared/prompts.d.ts.map +1 -1
  535. package/dist/shared/prompts.js +11 -1
  536. package/dist/shared/prompts.js.map +1 -1
  537. package/dist/shared/reReview/projectionDiff.d.ts +13 -0
  538. package/dist/shared/reReview/projectionDiff.d.ts.map +1 -1
  539. package/dist/shared/reReview/projectionDiff.js +1 -1
  540. package/dist/shared/reReview/projectionDiff.js.map +1 -1
  541. package/dist/shared/reporting/findingDisplay.d.ts +7 -0
  542. package/dist/shared/reporting/findingDisplay.d.ts.map +1 -1
  543. package/dist/shared/reporting/findingDisplay.js +8 -1
  544. package/dist/shared/reporting/findingDisplay.js.map +1 -1
  545. package/dist/shared/steps/stepEmissionScaffold.d.ts +15 -3
  546. package/dist/shared/steps/stepEmissionScaffold.d.ts.map +1 -1
  547. package/dist/shared/steps/stepEmissionScaffold.js +8 -6
  548. package/dist/shared/steps/stepEmissionScaffold.js.map +1 -1
  549. package/dist/shared/submission/hostHandoffCore.d.ts +37 -12
  550. package/dist/shared/submission/hostHandoffCore.d.ts.map +1 -1
  551. package/dist/shared/submission/hostHandoffCore.js +81 -18
  552. package/dist/shared/submission/hostHandoffCore.js.map +1 -1
  553. package/dist/shared/submission/hostResultOutcomes.d.ts +70 -1
  554. package/dist/shared/submission/hostResultOutcomes.d.ts.map +1 -1
  555. package/dist/shared/submission/hostResultOutcomes.js +66 -1
  556. package/dist/shared/submission/hostResultOutcomes.js.map +1 -1
  557. package/dist/shared/submission/submissionLedger.d.ts +86 -1
  558. package/dist/shared/submission/submissionLedger.d.ts.map +1 -1
  559. package/dist/shared/submission/submissionLedger.js +108 -0
  560. package/dist/shared/submission/submissionLedger.js.map +1 -1
  561. package/dist/shared/submission/submissionScan.d.ts.map +1 -1
  562. package/dist/shared/submission/submissionScan.js +1 -0
  563. package/dist/shared/submission/submissionScan.js.map +1 -1
  564. package/dist/shared/tooling/analyzerDeps.d.ts +14 -0
  565. package/dist/shared/tooling/analyzerDeps.d.ts.map +1 -1
  566. package/dist/shared/tooling/analyzerDeps.js +23 -0
  567. package/dist/shared/tooling/analyzerDeps.js.map +1 -1
  568. package/dist/shared/tooling/commandShape.d.ts +35 -1
  569. package/dist/shared/tooling/commandShape.d.ts.map +1 -1
  570. package/dist/shared/tooling/commandShape.js +66 -4
  571. package/dist/shared/tooling/commandShape.js.map +1 -1
  572. package/dist/shared/tooling/exec.d.ts +62 -4
  573. package/dist/shared/tooling/exec.d.ts.map +1 -1
  574. package/dist/shared/tooling/exec.js +127 -8
  575. package/dist/shared/tooling/exec.js.map +1 -1
  576. package/dist/shared/types/charter.d.ts +674 -156
  577. package/dist/shared/types/charter.d.ts.map +1 -1
  578. package/dist/shared/types/charter.js +172 -118
  579. package/dist/shared/types/charter.js.map +1 -1
  580. package/dist/shared/types/closingActions.d.ts +25 -0
  581. package/dist/shared/types/closingActions.d.ts.map +1 -1
  582. package/dist/shared/types/closingActions.js +26 -0
  583. package/dist/shared/types/closingActions.js.map +1 -1
  584. package/dist/shared/types/contractPipeline/obligations.d.ts +63 -2
  585. package/dist/shared/types/contractPipeline/obligations.d.ts.map +1 -1
  586. package/dist/shared/types/contractPipeline/obligations.js +51 -0
  587. package/dist/shared/types/contractPipeline/obligations.js.map +1 -1
  588. package/dist/shared/types/contractPipeline.d.ts +1 -0
  589. package/dist/shared/types/contractPipeline.d.ts.map +1 -1
  590. package/dist/shared/types/contractPipeline.js +1 -0
  591. package/dist/shared/types/contractPipeline.js.map +1 -1
  592. package/dist/shared/types/contractPropertyShapes.d.ts +34 -0
  593. package/dist/shared/types/contractPropertyShapes.d.ts.map +1 -0
  594. package/dist/shared/types/contractPropertyShapes.js +255 -0
  595. package/dist/shared/types/contractPropertyShapes.js.map +1 -0
  596. package/dist/shared/types/finding.d.ts +376 -18
  597. package/dist/shared/types/finding.d.ts.map +1 -1
  598. package/dist/shared/types/finding.js +111 -0
  599. package/dist/shared/types/finding.js.map +1 -1
  600. package/dist/shared/types/intentCheckpoint.d.ts +214 -2
  601. package/dist/shared/types/intentCheckpoint.d.ts.map +1 -1
  602. package/dist/shared/types/intentCheckpoint.js +273 -0
  603. package/dist/shared/types/intentCheckpoint.js.map +1 -1
  604. package/dist/shared/types/intentInterpretation.d.ts +1 -1
  605. package/dist/shared/types/intentInterpretation.js +1 -1
  606. package/dist/shared/types/remediationOutcome.d.ts +294 -30
  607. package/dist/shared/types/remediationOutcome.d.ts.map +1 -1
  608. package/dist/shared/types/remediationOutcome.js +96 -7
  609. package/dist/shared/types/remediationOutcome.js.map +1 -1
  610. package/dist/shared/types/stepContract.d.ts +47 -0
  611. package/dist/shared/types/stepContract.d.ts.map +1 -1
  612. package/dist/shared/types/stepContract.js +113 -0
  613. package/dist/shared/types/stepContract.js.map +1 -1
  614. package/dist/shared/validation/charterGate.d.ts +13 -28
  615. package/dist/shared/validation/charterGate.d.ts.map +1 -1
  616. package/dist/shared/validation/charterGate.js +13 -35
  617. package/dist/shared/validation/charterGate.js.map +1 -1
  618. package/dist/shared/validation/contractConstructionSites.d.ts +116 -0
  619. package/dist/shared/validation/contractConstructionSites.d.ts.map +1 -0
  620. package/dist/shared/validation/contractConstructionSites.js +277 -0
  621. package/dist/shared/validation/contractConstructionSites.js.map +1 -0
  622. package/dist/shared/validation/designFindingGrounding.d.ts +33 -4
  623. package/dist/shared/validation/designFindingGrounding.d.ts.map +1 -1
  624. package/dist/shared/validation/designFindingGrounding.js +40 -6
  625. package/dist/shared/validation/designFindingGrounding.js.map +1 -1
  626. package/dist/shared/validation/findingGrounding.d.ts.map +1 -1
  627. package/dist/shared/validation/findingGrounding.js +11 -1
  628. package/dist/shared/validation/findingGrounding.js.map +1 -1
  629. package/dist/shared/validation/findingsReport.d.ts.map +1 -1
  630. package/dist/shared/validation/findingsReport.js +5 -0
  631. package/dist/shared/validation/findingsReport.js.map +1 -1
  632. package/docs/audit-pkg/contracts.md +8 -2
  633. package/opencode.json +29 -29
  634. package/package.json +16 -3
  635. package/schemas/audit-code-v1alpha1.schema.json +0 -4
  636. package/scripts/audit/postinstall.mjs +81 -96
  637. package/scripts/remediate/postinstall.mjs +43 -83
  638. package/scripts/shared/host-asset-plan.mjs +176 -0
  639. package/scripts/shared/install-host-assets.mjs +44 -1
  640. package/scripts/shared/primitives.mjs +89 -0
  641. package/skills/audit-code/SKILL.md +4 -4
  642. package/skills/audit-code/audit-code.prompt.md +14 -10
  643. package/skills/remediate-code/SKILL.md +9 -5
  644. package/skills/remediate-code/remediate-code.prompt.md +11 -4
  645. package/wrapper/audit-code-wrapper-build.mjs +6 -3
  646. package/dist/audit/cli/charterDeltaPrompt.d.ts +0 -18
  647. package/dist/audit/cli/charterDeltaPrompt.d.ts.map +0 -1
  648. package/dist/audit/cli/charterDeltaPrompt.js +0 -150
  649. package/dist/audit/cli/charterDeltaPrompt.js.map +0 -1
  650. package/dist/audit/orchestrator/charterDeltaExecutor.d.ts +0 -24
  651. package/dist/audit/orchestrator/charterDeltaExecutor.d.ts.map +0 -1
  652. package/dist/audit/orchestrator/charterDeltaExecutor.js +0 -128
  653. package/dist/audit/orchestrator/charterDeltaExecutor.js.map +0 -1
  654. package/dist/audit/supervisor/runLedger.d.ts +0 -3
  655. package/dist/audit/supervisor/runLedger.d.ts.map +0 -1
  656. package/dist/audit/supervisor/runLedger.js +0 -69
  657. package/dist/audit/supervisor/runLedger.js.map +0 -1
  658. package/dist/shared/types/executionRecord.d.ts +0 -58
  659. package/dist/shared/types/executionRecord.d.ts.map +0 -1
  660. package/dist/shared/types/executionRecord.js +0 -26
  661. package/dist/shared/types/executionRecord.js.map +0 -1
  662. package/dist/shared/types/runLedger.d.ts +0 -17
  663. package/dist/shared/types/runLedger.d.ts.map +0 -1
  664. package/dist/shared/types/runLedger.js +0 -7
  665. package/dist/shared/types/runLedger.js.map +0 -1
@@ -10,9 +10,11 @@ import { quoteForShellInterpreterCmd, stripAuditToolsControlEnv, } from "audit-t
10
10
  // exec.ts helpers so the safe-character set stays unified.
11
11
  // Wrapper-only control-variable stripping is owned by the shared execution
12
12
  // substrate so runtime validation never inherits driver lifecycle authority.
13
- // This strips the host-signaling env vars so a runtime-validation command sees a
14
- // clean environment — a suite that branches on CLAUDECODE would otherwise be graded
15
- // against the host's interactive-session state, marking healthy code "not_confirmed".
13
+ // What `stripAuditToolsControlEnv` removes is exactly ONE variable —
14
+ // `AUDIT_TOOLS_CALLER_CWD`, the wrapper's one-hop caller-cwd stamp, which a child
15
+ // must not read as its own location. It does NOT clear the host session's
16
+ // CLAUDECODE / CLAUDE_CODE_* variables: a runtime-validation command inherits
17
+ // them like any other child (this comment used to claim otherwise).
16
18
  /**
17
19
  * The bounded wait every runtime-validation command runs under.
18
20
  *
@@ -28,6 +30,170 @@ export const RUNTIME_COMMAND_TIMEOUT_MS = 10 * 60 * 1_000;
28
30
  * child may ignore; without the escalation the "bound" would be advisory.
29
31
  */
30
32
  const KILL_ESCALATION_GRACE_MS = 2_000;
33
+ /**
34
+ * How many trailing lines a command's evidence can ever show. The number is
35
+ * stated once because the BUFFER is sized from it: the accumulator keeps only
36
+ * what a reader can see, so the two cannot disagree about how much is kept.
37
+ */
38
+ export const EVIDENCE_TAIL_LINES = 10;
39
+ /**
40
+ * Character ceiling on the retained tail. The line budget alone does not bound
41
+ * a command whose output is one enormous line (a `--json` dump, a minified
42
+ * bundle, a progress bar with no newline): only the character cap does.
43
+ */
44
+ export const EVIDENCE_TAIL_MAX_CHARS = 64 * 1024;
45
+ /**
46
+ * Character ceiling on a SINGLE retained line, so the tail budget cannot be
47
+ * spent by one line and leave the evidence empty of anything readable.
48
+ */
49
+ export const EVIDENCE_TAIL_MAX_LINE_CHARS = 8 * 1024;
50
+ /**
51
+ * A bounded tail of a child's output: the last {@link EVIDENCE_TAIL_LINES}
52
+ * lines, plus the counts needed to describe what was dropped.
53
+ *
54
+ * This exists because the runner used to accumulate `stdout += String(chunk)`
55
+ * for the WHOLE stream and slice the last ten lines only at the end — so the
56
+ * memory a validation command could cost was whatever the command chose to
57
+ * print, and a sufficiently chatty one aborted the whole `advanceAudit` drain
58
+ * with a string-length `RangeError` from inside the runner. A drain that dies
59
+ * of its own evidence buffer is the bound-in-name-only failure this module
60
+ * already refuses for time, so the same rule is applied to bytes: keep the
61
+ * evidence contract's window, count the rest.
62
+ *
63
+ * The counts are what make the bound honest rather than lossy — the marker
64
+ * still reports the TRUE total line count of the full stream, so a reader
65
+ * cannot mistake ten retained lines for ten produced ones.
66
+ */
67
+ export class BoundedOutputTail {
68
+ /**
69
+ * Segments between newlines. The LAST element is the in-progress line, so the
70
+ * array never needs a separate partial-line buffer. Invariant: after every
71
+ * push, `segments.length <= EVIDENCE_TAIL_LINES + 1` and every segment is at
72
+ * most {@link EVIDENCE_TAIL_MAX_LINE_CHARS} characters.
73
+ */
74
+ segments = [""];
75
+ /** Lines dropped off the front — newlines this tail no longer represents. */
76
+ droppedLines = 0;
77
+ /** Characters clipped from the head of a retained line (giant-line case). */
78
+ clippedChars = 0;
79
+ push(chunk) {
80
+ if (chunk.length === 0)
81
+ return;
82
+ const parts = chunk.split("\n");
83
+ const last = this.segments.length - 1;
84
+ this.segments[last] += parts[0];
85
+ for (let index = 1; index < parts.length; index += 1) {
86
+ this.segments.push(parts[index]);
87
+ }
88
+ this.trim();
89
+ }
90
+ /**
91
+ * Enforce both ceilings, in the order that keeps each one decidable: the line
92
+ * window first (cutting at a newline, never mid-line, so a retained line is a
93
+ * LINE rather than a fragment), then the per-line cap, then the total.
94
+ *
95
+ * The per-line cap applies to EVERY retained segment, the live one included.
96
+ * Clipping only the head was not a bound on the tail at all: a chunk that
97
+ * extends the in-progress line is appended to the LAST segment, so a command
98
+ * printing one newline-free blast had it buffered whole — and it was not even
99
+ * droppable, because the front-drop below never removes the live segment —
100
+ * until the next push happened to arrive and re-run this.
101
+ */
102
+ trim() {
103
+ const excess = this.segments.length - (EVIDENCE_TAIL_LINES + 1);
104
+ if (excess > 0) {
105
+ this.segments.splice(0, excess);
106
+ // Each dropped segment was terminated by a newline this tail no longer
107
+ // holds, so exactly that many lines left the front.
108
+ this.droppedLines += excess;
109
+ }
110
+ this.segments = this.segments.map((segment) => {
111
+ if (segment.length <= EVIDENCE_TAIL_MAX_LINE_CHARS)
112
+ return segment;
113
+ const cut = segment.length - EVIDENCE_TAIL_MAX_LINE_CHARS;
114
+ this.clippedChars += cut;
115
+ return segment.slice(cut);
116
+ });
117
+ // A tail of many max-length lines still has to fit the character budget:
118
+ // drop whole leading lines until it does. What is measured is the length
119
+ // `read()` will actually join — segments PLUS the separators between them —
120
+ // because the ceiling is on the retained text, and a bound that excluded
121
+ // the separators would be a bound on something nobody reads.
122
+ let total = this.retainedLength();
123
+ while (total > EVIDENCE_TAIL_MAX_CHARS && this.segments.length > 1) {
124
+ const dropped = this.segments.shift();
125
+ total -= dropped.length + 1;
126
+ this.droppedLines += 1;
127
+ }
128
+ }
129
+ /** The character length of what {@link read} will return. */
130
+ retainedLength() {
131
+ let total = 0;
132
+ for (const segment of this.segments) {
133
+ total += segment.length;
134
+ }
135
+ return total + Math.max(0, this.segments.length - 1);
136
+ }
137
+ /**
138
+ * The retained text and the true totals of the stream it came from. A trailing
139
+ * empty segment is the artifact of output ending in a newline, not a line.
140
+ */
141
+ read() {
142
+ const segments = [...this.segments];
143
+ if (segments.length > 1 && segments[segments.length - 1] === "") {
144
+ segments.pop();
145
+ }
146
+ if (segments.length === 1 && segments[0] === "") {
147
+ return { text: "", totalLines: 0, clippedChars: this.clippedChars };
148
+ }
149
+ return {
150
+ text: segments.join("\n"),
151
+ totalLines: this.droppedLines + segments.length,
152
+ clippedChars: this.clippedChars,
153
+ };
154
+ }
155
+ }
156
+ /**
157
+ * The evidence array for a finished (or failed) command, from the two bounded
158
+ * tails. Kept as one function because both the `error` and the `close` handler
159
+ * build it, and two copies drifting is how a failure path starts reporting a
160
+ * different window than the success path.
161
+ *
162
+ * The TOTAL is the sum of the two tails' own counts, never a count taken over
163
+ * the composed text. Composing first and counting the result means counting a
164
+ * STRING, and every string operation that touches it is a chance to change what
165
+ * the number means: the previous version called `.trim()` on the composition,
166
+ * which deletes a whitespace-only line at either boundary — so a stream whose
167
+ * first line was blank reported one line fewer than it printed, in the very
168
+ * marker whose only job is to state the true count. Each tail already knows how
169
+ * many lines IT held ({@link BoundedOutputTail.read}), and the two streams meet
170
+ * at exactly one boundary, so their sum is the composed count with nothing to
171
+ * trim and nothing to get wrong.
172
+ */
173
+ function commandEvidence(stdout, stderr) {
174
+ const out = stdout.read();
175
+ const err = stderr.read();
176
+ // The separator belongs BETWEEN two non-empty tails and nowhere else: an
177
+ // absent stream contributes no line, and a leading or trailing empty string
178
+ // in the composition would otherwise be a line the command never printed.
179
+ const lines = [out.text, err.text]
180
+ .filter((text) => text.length > 0)
181
+ .flatMap((text) => text.split(/\r?\n/));
182
+ const totalLines = out.totalLines + err.totalLines;
183
+ const shown = lines.slice(-EVIDENCE_TAIL_LINES);
184
+ if (totalLines <= shown.length && out.clippedChars === 0 && err.clippedChars === 0) {
185
+ return lines;
186
+ }
187
+ const clipped = out.clippedChars + err.clippedChars;
188
+ return [
189
+ `[... truncated: showing last ${shown.length} of ${totalLines} lines` +
190
+ (clipped > 0
191
+ ? `, ${clipped} character(s) clipped from the retained text`
192
+ : "") +
193
+ " ...]",
194
+ ...shown,
195
+ ];
196
+ }
31
197
  /**
32
198
  * Terminate a timed-out child, INCLUDING anything it spawned.
33
199
  *
@@ -77,13 +243,15 @@ export async function runCommand(command, cwd, timeoutMs = RUNTIME_COMMAND_TIMEO
77
243
  stdio: ["ignore", "pipe", "pipe"],
78
244
  windowsHide: true,
79
245
  });
80
- let stdout = "";
81
- let stderr = "";
246
+ // Bounded from the first byte: the accumulator keeps only the evidence
247
+ // window, so no command can make this runner's memory its own choice.
248
+ const stdout = new BoundedOutputTail();
249
+ const stderr = new BoundedOutputTail();
82
250
  child.stdout.on("data", (chunk) => {
83
- stdout += String(chunk);
251
+ stdout.push(String(chunk));
84
252
  });
85
253
  child.stderr.on("data", (chunk) => {
86
- stderr += String(chunk);
254
+ stderr.push(String(chunk));
87
255
  });
88
256
  let exitCode = null;
89
257
  let exitSignal = null;
@@ -119,16 +287,10 @@ export async function runCommand(command, cwd, timeoutMs = RUNTIME_COMMAND_TIMEO
119
287
  };
120
288
  child.on("error", (error) => {
121
289
  clearTimers();
122
- const output = `${stdout}\n${stderr}`.trim();
123
- const lines = output.length > 0 ? output.split(/\r?\n/) : [];
124
- const truncated = lines.length > 10;
125
- const evidence = truncated
126
- ? [`[... truncated: showing last 10 of ${lines.length} lines ...]`, ...lines.slice(-10)]
127
- : lines;
128
290
  resolve({
129
291
  status: "inconclusive",
130
292
  summary: `Failed to execute ${displayCommand}: ${error.message}`,
131
- evidence,
293
+ evidence: commandEvidence(stdout, stderr),
132
294
  });
133
295
  });
134
296
  child.on("exit", (code, signal) => {
@@ -137,12 +299,7 @@ export async function runCommand(command, cwd, timeoutMs = RUNTIME_COMMAND_TIMEO
137
299
  });
138
300
  child.on("close", () => {
139
301
  clearTimers();
140
- const output = `${stdout}\n${stderr}`.trim();
141
- const lines = output.length > 0 ? output.split(/\r?\n/) : [];
142
- const truncated = lines.length > 10;
143
- const evidence = truncated
144
- ? [`[... truncated: showing last 10 of ${lines.length} lines ...]`, ...lines.slice(-10)]
145
- : lines;
302
+ const evidence = commandEvidence(stdout, stderr);
146
303
  const succeeded = exitCode === 0 && !timedOut;
147
304
  let summary;
148
305
  if (timedOut) {
@@ -1 +1 @@
1
- {"version":3,"file":"runtimeCommand.js","sourceRoot":"","sources":["../../../src/audit/orchestrator/runtimeCommand.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtimeCommand.js","sourceRoot":"","sources":["../../../src/audit/orchestrator/runtimeCommand.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EACL,2BAA2B,EAC3B,yBAAyB,GAC1B,MAAM,oBAAoB,CAAC;AAE5B,6EAA6E;AAC7E,0EAA0E;AAC1E,+EAA+E;AAC/E,6EAA6E;AAC7E,iBAAiB;AACjB,EAAE;AACF,8EAA8E;AAC9E,2DAA2D;AAE3D,2EAA2E;AAC3E,6EAA6E;AAC7E,qEAAqE;AACrE,kFAAkF;AAClF,0EAA0E;AAC1E,8EAA8E;AAC9E,oEAAoE;AAEpE;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC;AAE1D;;;GAGG;AACH,MAAM,wBAAwB,GAAG,KAAK,CAAC;AAEvC;;;;GAIG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,EAAE,CAAC;AAEtC;;;;GAIG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,EAAE,GAAG,IAAI,CAAC;AAEjD;;;GAGG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,GAAG,IAAI,CAAC;AAErD;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,OAAO,iBAAiB;IAC5B;;;;;OAKG;IACK,QAAQ,GAAa,CAAC,EAAE,CAAC,CAAC;IAClC,6EAA6E;IACrE,YAAY,GAAG,CAAC,CAAC;IACzB,6EAA6E;IACrE,YAAY,GAAG,CAAC,CAAC;IAEzB,IAAI,CAAC,KAAa;QAChB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAC/B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAChC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;QACtC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;QAChC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;YACrD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAE,CAAC,CAAC;QACpC,CAAC;QACD,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;IAED;;;;;;;;;;;OAWG;IACK,IAAI;QACV,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,mBAAmB,GAAG,CAAC,CAAC,CAAC;QAChE,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;YACf,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;YAChC,uEAAuE;YACvE,oDAAoD;YACpD,IAAI,CAAC,YAAY,IAAI,MAAM,CAAC;QAC9B,CAAC;QACD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;YAC5C,IAAI,OAAO,CAAC,MAAM,IAAI,4BAA4B;gBAAE,OAAO,OAAO,CAAC;YACnE,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,GAAG,4BAA4B,CAAC;YAC1D,IAAI,CAAC,YAAY,IAAI,GAAG,CAAC;YACzB,OAAO,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;QACH,yEAAyE;QACzE,yEAAyE;QACzE,4EAA4E;QAC5E,yEAAyE;QACzE,6DAA6D;QAC7D,IAAI,KAAK,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAClC,OAAO,KAAK,GAAG,uBAAuB,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnE,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAG,CAAC;YACvC,KAAK,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;YAC5B,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IAED,6DAA6D;IACrD,cAAc;QACpB,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACpC,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC;QAC1B,CAAC;QACD,OAAO,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACvD,CAAC;IAED;;;OAGG;IACH,IAAI;QACF,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;QACpC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;YAChE,QAAQ,CAAC,GAAG,EAAE,CAAC;QACjB,CAAC;QACD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;YAChD,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC;QACtE,CAAC;QACD,OAAO;YACL,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;YACzB,UAAU,EAAE,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,MAAM;YAC/C,YAAY,EAAE,IAAI,CAAC,YAAY;SAChC,CAAC;IACJ,CAAC;CACF;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,SAAS,eAAe,CACtB,MAAyB,EACzB,MAAyB;IAEzB,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;IAC1B,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;IAC1B,yEAAyE;IACzE,4EAA4E;IAC5E,0EAA0E;IAC1E,MAAM,KAAK,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC;SAC/B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;SACjC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IAC1C,MAAM,UAAU,GAAG,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC;IACnD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,mBAAmB,CAAC,CAAC;IAChD,IAAI,UAAU,IAAI,KAAK,CAAC,MAAM,IAAI,GAAG,CAAC,YAAY,KAAK,CAAC,IAAI,GAAG,CAAC,YAAY,KAAK,CAAC,EAAE,CAAC;QACnF,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,OAAO,GAAG,GAAG,CAAC,YAAY,GAAG,GAAG,CAAC,YAAY,CAAC;IACpD,OAAO;QACL,gCAAgC,KAAK,CAAC,MAAM,OAAO,UAAU,QAAQ;YACnE,CAAC,OAAO,GAAG,CAAC;gBACV,CAAC,CAAC,KAAK,OAAO,8CAA8C;gBAC5D,CAAC,CAAC,EAAE,CAAC;YACP,OAAO;QACT,GAAG,KAAK;KACT,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,sBAAsB,CACpC,KAAmE,EACnE,WAA4B,OAAO,CAAC,QAAQ;IAE5C,IAAI,QAAQ,KAAK,OAAO,IAAI,KAAK,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;QACpD,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE;YACxE,KAAK,EAAE,QAAQ;YACf,WAAW,EAAE,IAAI;SAClB,CAAC,CAAC;QACH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YACtB,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AACxB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,OAAiB,EACjB,GAAW,EACX,YAAoB,0BAA0B;IAM9C,4EAA4E;IAC5E,8DAA8D;IAC9D,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QACxC,OAAO;YACL,MAAM,EAAE,cAAc;YACtB,OAAO,EAAE,6DAA6D;YACtE,QAAQ,EAAE,EAAE;SACb,CAAC;IACJ,CAAC;IACD,MAAM,YAAY,GAAG,oCAAoC,CAAC,OAAO,CAAC,CAAC;IACnE,MAAM,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACzC,OAAO,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QACnC,MAAM,KAAK,GAAG,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,YAAY,CAAC,IAAI,EAAE;YAC3D,GAAG;YACH,GAAG,EAAE,yBAAyB,EAAE;YAChC,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;YACjC,WAAW,EAAE,IAAI;SAClB,CAAC,CAAC;QACH,uEAAuE;QACvE,sEAAsE;QACtE,MAAM,MAAM,GAAG,IAAI,iBAAiB,EAAE,CAAC;QACvC,MAAM,MAAM,GAAG,IAAI,iBAAiB,EAAE,CAAC;QACvC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;YAChC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;YAChC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;QACH,IAAI,QAAQ,GAAkB,IAAI,CAAC;QACnC,IAAI,UAAU,GAA0B,IAAI,CAAC;QAC7C,6EAA6E;QAC7E,iEAAiE;QACjE,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,IAAI,UAAU,GAA0B,IAAI,CAAC;QAC7C,MAAM,QAAQ,GACZ,SAAS,GAAG,CAAC;YACX,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE;gBACd,QAAQ,GAAG,IAAI,CAAC;gBAChB,sBAAsB,CAAC,KAAK,CAAC,CAAC;gBAC9B,oEAAoE;gBACpE,iEAAiE;gBACjE,oEAAoE;gBACpE,wCAAwC;gBACxC,UAAU,GAAG,UAAU,CAAC,GAAG,EAAE;oBAC3B,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACxB,CAAC,EAAE,wBAAwB,CAAC,CAAC;gBAC7B,UAAU,CAAC,KAAK,EAAE,EAAE,CAAC;YACvB,CAAC,EAAE,SAAS,CAAC;YACf,CAAC,CAAC,IAAI,CAAC;QACX;;;;;WAKG;QACH,MAAM,WAAW,GAAG,GAAS,EAAE;YAC7B,IAAI,QAAQ;gBAAE,YAAY,CAAC,QAAQ,CAAC,CAAC;YACrC,IAAI,UAAU;gBAAE,YAAY,CAAC,UAAU,CAAC,CAAC;QAC3C,CAAC,CAAC;QACF,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YAC1B,WAAW,EAAE,CAAC;YACd,OAAO,CAAC;gBACN,MAAM,EAAE,cAAc;gBACtB,OAAO,EAAE,qBAAqB,cAAc,KAAK,KAAK,CAAC,OAAO,EAAE;gBAChE,QAAQ,EAAE,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC;aAC1C,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE;YAChC,QAAQ,GAAG,IAAI,CAAC;YAChB,UAAU,GAAG,MAAM,CAAC;QACtB,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YACrB,WAAW,EAAE,CAAC;YACd,MAAM,QAAQ,GAAG,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YACjD,MAAM,SAAS,GAAG,QAAQ,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC;YAC9C,IAAI,OAAe,CAAC;YACpB,IAAI,QAAQ,EAAE,CAAC;gBACb,yEAAyE;gBACzE,wEAAwE;gBACxE,oEAAoE;gBACpE,wEAAwE;gBACxE,oEAAoE;gBACpE,OAAO;oBACL,iDAAiD,MAAM,CAAC,SAAS,CAAC,qBAAqB;wBACvF,GAAG,cAAc,EAAE,CAAC;YACxB,CAAC;iBAAM,IAAI,SAAS,EAAE,CAAC;gBACrB,OAAO,GAAG,4CAA4C,cAAc,EAAE,CAAC;YACzE,CAAC;iBAAM,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;gBAC7B,OAAO,GAAG,uDAAuD,QAAQ,KAAK,cAAc,EAAE,CAAC;YACjG,CAAC;iBAAM,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;gBAC/B,OAAO,GAAG,sDAAsD,UAAU,KAAK,cAAc,EAAE,CAAC;YAClG,CAAC;iBAAM,CAAC;gBACN,OAAO,GAAG,6DAA6D,cAAc,EAAE,CAAC;YAC1F,CAAC;YACD,OAAO,CAAC;gBACN,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,eAAe;gBACjD,OAAO;gBACP,QAAQ;aACT,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,oCAAoC,CAClD,OAAiB,EACjB,WAA4B,OAAO,CAAC,QAAQ,EAC5C,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,SAAS;IAE/C,MAAM,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,GAAG,OAAO,CAAC;IACtC,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;IACnC,CAAC;IACD,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QACzB,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,IAAI,CAAC,SAAS,CAAC;YACb,IAAI,EAAE,wBAAwB;YAC9B,IAAI,EAAE,MAAM;YACZ,UAAU;YACV,QAAQ;YACR,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SAC7B,CAAC,GAAG,IAAI,CACV,CAAC;QACF,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;IACvC,CAAC;IACD,8EAA8E;IAC9E,kFAAkF;IAClF,mFAAmF;IACnF,iFAAiF;IACjF,yBAAyB;IACzB,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,IAAI,UAAU,CAAC;IAC/D,MAAM,cAAc,GAAG,QAAQ,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAC3E,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;QAC5D,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,IAAI,CAAC,SAAS,CAAC;YACb,IAAI,EAAE,wBAAwB;YAC9B,IAAI,EAAE,SAAS;YACf,UAAU;YACV,aAAa,EAAE,YAAY;YAC3B,QAAQ;YACR,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SAC7B,CAAC,GAAG,IAAI,CACV,CAAC;QACF,OAAO;YACL,OAAO,EAAE,YAAY;YACrB,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SAC7E,CAAC;IACJ,CAAC;IACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,IAAI,CAAC,SAAS,CAAC;QACb,IAAI,EAAE,wBAAwB;QAC9B,IAAI,EAAE,MAAM;QACZ,UAAU;QACV,QAAQ;QACR,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KAC7B,CAAC,GAAG,IAAI,CACV,CAAC;IACF,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;AACvC,CAAC"}
@@ -0,0 +1,56 @@
1
+ import type { RepoManifest } from "../types.js";
2
+ /**
3
+ * Probe the live git index for the audited candidate set and return a stable
4
+ * content key over the tracked intersection, or `null` when git cannot be read
5
+ * (no root, not a work tree, git absent, non-zero exit, spawn failure). Never
6
+ * throws — this runs inside the advance fold, where a bad manifest must degrade
7
+ * and not take down the run.
8
+ *
9
+ * Sorted and separator-normalized before hashing, so the key is derived from
10
+ * the tracked SET and never from `ls-files` output order.
11
+ */
12
+ export declare function probeScopeIndexKey(root: string, candidatePaths: readonly string[]): Promise<string | null>;
13
+ /**
14
+ * A fold's probe cache: the last probe's inputs and its answer.
15
+ *
16
+ * `runSingleAdvanceStep` probes on EVERY dispatch, and a fold dispatches up to
17
+ * `MAX_DRAIN_STEPS` times — a `git` spawn per obligation execution over a value
18
+ * that cannot move underneath it. The fold creates ONE of these and every git
19
+ * probe it makes shares it (`runSingleAdvanceStep` directly, and the
20
+ * submission-polling gates through `runAuditStepUnlocked`), so a `next-step`
21
+ * call spawns `git` once instead of once per obligation.
22
+ *
23
+ * The cache is HELD, not looked up, and the key is the point: it names the
24
+ * probe's WHOLE input — the repo root and the candidate path set — so a probe
25
+ * whose inputs differ cannot replay a stale entry. A step that re-derives the
26
+ * manifest (the auto-fix phase writes into the audited tree, moving `files[]`)
27
+ * mints a different key and re-probes, which is why the re-read the reviewer
28
+ * asked to keep survives: only an identical question is answered from cache.
29
+ * Nothing inside a fold moves the INDEX itself — no deterministic executor
30
+ * stages or unstages, the two directions the rule reads, and the fold is
31
+ * in-process, so no host is running `git add` underneath it.
32
+ *
33
+ * A caller that passes no memo (every bare `advanceAudit`, and the CLI claim
34
+ * path) simply re-probes every time: the cache is an optimization a fold opts
35
+ * into, never a correctness dependency.
36
+ */
37
+ export interface ScopeIndexMemo {
38
+ /** The last probe's input key — absent until the first probe. */
39
+ key?: string;
40
+ /** That probe's answer. `null` is a real answer (git unreadable), so the
41
+ * presence of `key` — never the truthiness of `value` — is the cache test. */
42
+ value?: string | null;
43
+ }
44
+ /**
45
+ * {@link probeScopeIndexKey}, memoized against `memo` when one is supplied.
46
+ * Behaves identically to the bare probe; a caller with no memo re-probes.
47
+ */
48
+ export declare function probeScopeIndexKeyCached(memo: ScopeIndexMemo | undefined, root: string, candidatePaths: readonly string[]): Promise<string | null>;
49
+ /**
50
+ * Return a copy of the manifest carrying the probed index key. `null` (git
51
+ * unreadable) leaves the manifest untouched rather than stamping a sentinel —
52
+ * a sentinel would be a claim about the index that the probe could not make,
53
+ * and it would hash differently from the unprobed manifest for no reason.
54
+ */
55
+ export declare function withScopeIndexKey(repoManifest: RepoManifest | undefined, key: string | null): RepoManifest | undefined;
56
+ //# sourceMappingURL=scopeIndexBaseline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scopeIndexBaseline.d.ts","sourceRoot":"","sources":["../../../src/audit/orchestrator/scopeIndexBaseline.ts"],"names":[],"mappings":"AAsDA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAGhD;;;;;;;;;GASG;AACH,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,MAAM,EACZ,cAAc,EAAE,SAAS,MAAM,EAAE,GAChC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA0BxB;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,WAAW,cAAc;IAC7B,iEAAiE;IACjE,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;mFAC+E;IAC/E,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED;;;GAGG;AACH,wBAAsB,wBAAwB,CAC5C,IAAI,EAAE,cAAc,GAAG,SAAS,EAChC,IAAI,EAAE,MAAM,EACZ,cAAc,EAAE,SAAS,MAAM,EAAE,GAChC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CASxB;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,YAAY,EAAE,YAAY,GAAG,SAAS,EACtC,GAAG,EAAE,MAAM,GAAG,IAAI,GACjB,YAAY,GAAG,SAAS,CAG1B"}
@@ -0,0 +1,114 @@
1
+ /**
2
+ * The live git-index probe behind `repo_manifest.json`'s `scope_index_key`.
3
+ *
4
+ * WHY THIS EXISTS. `buildFileDisposition`'s untracked scope rule reads the git
5
+ * INDEX: the tracked set (`git ls-files`) decides which candidates are in scope.
6
+ * But `file_disposition.json`'s only declared upstream was `repo_manifest.json`,
7
+ * and a manifest is a pure WORKTREE read — its per-file hashes do not move when
8
+ * a file is merely staged (`git add`) or unstaged (`git rm --cached`) with its
9
+ * content untouched. So an index-only change re-staled nothing, the persisted
10
+ * disposition kept the old classification, and a file committed mid-run never
11
+ * entered scope on the next audit until some unrelated content edit churned the
12
+ * manifest.
13
+ *
14
+ * THE FIX IS DAG-NATIVE, not a freshness check: the index state becomes part of
15
+ * `repo_manifest.json`'s CONTENT. `repo_manifest.json` is already
16
+ * `file_disposition.json`'s declared upstream, so an index move now propagates
17
+ * through the existing edge with no new artifact, no new edge, and no change to
18
+ * the constitutional `spec/audit/dependency-map.md`.
19
+ *
20
+ * HOW A LIVE PROBE REACHES THE METADATA. A plain artifact's recorded content
21
+ * hash only moves when something RE-DERIVES it, and nothing re-derives it until
22
+ * it is stale — the chicken-and-egg this probe breaks by riding the mechanism
23
+ * `tooling_manifest.json` already uses: `advanceAudit` re-probes it from live
24
+ * state on every fold and lists it in the always-updated set, so
25
+ * `computeArtifactMetadata` restamps it from live content. Unchanged content
26
+ * keeps its revision (no churn); a moved index bumps it, and
27
+ * `file_disposition.json` goes stale exactly once.
28
+ *
29
+ * READ-SET DIRECTION. The probe is restricted to the manifest's own candidate
30
+ * paths — exactly the set the untracked rule classifies. An `ls-files` entry
31
+ * outside that set (an unrelated file staged elsewhere) cannot change the
32
+ * disposition, and hashing it would churn the whole downstream DAG for nothing.
33
+ * Absent root / absent git / a failed spawn yields `null`, which the caller
34
+ * leaves unset: the manifest then carries no index claim at all, and the
35
+ * pre-existing content-only behaviour is preserved verbatim.
36
+ *
37
+ * RECURSION IS PART OF THE ATOMIC PAIR, not a tuning knob. The rule this probe
38
+ * tracks (`buildFileDisposition`'s untracked classification) reads the index
39
+ * with `--recurse-submodules`, and so does the citation-grounding corpus
40
+ * (`enumerateTrackedFilePaths`) — the flag is ONE decision shared by all three,
41
+ * because "tracked" must mean one thing everywhere or a finding grounds against
42
+ * a file the disposition excluded. A probe without the flag returns a stable,
43
+ * plausible key that simply cannot see a move INSIDE a submodule: the gitlink
44
+ * line is unchanged, the parent's own entries are unchanged, so
45
+ * `scope_index_key` holds still while the recursive tracked set moves — and the
46
+ * stale `file_disposition.json` this probe exists to catch is carried forward
47
+ * silently, for exactly the repos that have first-party submodules.
48
+ */
49
+ import { hashContent, runTrackedAsync, TRACKED_CHILD_DEADLINE_MS, normalizeRepoPath, } from "audit-tools/shared";
50
+ import { toPosixPath } from "audit-tools/shared";
51
+ /**
52
+ * Probe the live git index for the audited candidate set and return a stable
53
+ * content key over the tracked intersection, or `null` when git cannot be read
54
+ * (no root, not a work tree, git absent, non-zero exit, spawn failure). Never
55
+ * throws — this runs inside the advance fold, where a bad manifest must degrade
56
+ * and not take down the run.
57
+ *
58
+ * Sorted and separator-normalized before hashing, so the key is derived from
59
+ * the tracked SET and never from `ls-files` output order.
60
+ */
61
+ export async function probeScopeIndexKey(root, candidatePaths) {
62
+ if (candidatePaths.length === 0)
63
+ return null;
64
+ let result;
65
+ try {
66
+ result = await runTrackedAsync(["git", "ls-files", "-z", "--recurse-submodules"], {
67
+ cwd: root,
68
+ encoding: "utf8",
69
+ maxBuffer: 256 * 1024 * 1024,
70
+ timeout: TRACKED_CHILD_DEADLINE_MS,
71
+ });
72
+ }
73
+ catch {
74
+ return null;
75
+ }
76
+ if (result.error || result.status !== 0)
77
+ return null;
78
+ const tracked = new Set((result.stdout ?? "")
79
+ .split("\0")
80
+ .filter((path) => path.length > 0)
81
+ .map(normalizeRepoPath));
82
+ const trackedCandidates = candidatePaths
83
+ .map((path) => normalizeRepoPath(toPosixPath(path)))
84
+ .filter((path) => tracked.has(path))
85
+ .sort();
86
+ return hashContent(trackedCandidates.join("\n"));
87
+ }
88
+ /**
89
+ * {@link probeScopeIndexKey}, memoized against `memo` when one is supplied.
90
+ * Behaves identically to the bare probe; a caller with no memo re-probes.
91
+ */
92
+ export async function probeScopeIndexKeyCached(memo, root, candidatePaths) {
93
+ const key = `${root}\0${candidatePaths.join("\n")}`;
94
+ if (memo && memo.key === key)
95
+ return memo.value ?? null;
96
+ const value = await probeScopeIndexKey(root, candidatePaths);
97
+ if (memo) {
98
+ memo.key = key;
99
+ memo.value = value;
100
+ }
101
+ return value;
102
+ }
103
+ /**
104
+ * Return a copy of the manifest carrying the probed index key. `null` (git
105
+ * unreadable) leaves the manifest untouched rather than stamping a sentinel —
106
+ * a sentinel would be a claim about the index that the probe could not make,
107
+ * and it would hash differently from the unprobed manifest for no reason.
108
+ */
109
+ export function withScopeIndexKey(repoManifest, key) {
110
+ if (!repoManifest || key === null)
111
+ return repoManifest;
112
+ return { ...repoManifest, scope_index_key: key };
113
+ }
114
+ //# sourceMappingURL=scopeIndexBaseline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scopeIndexBaseline.js","sourceRoot":"","sources":["../../../src/audit/orchestrator/scopeIndexBaseline.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,OAAO,EACL,WAAW,EACX,eAAe,EACf,yBAAyB,EACzB,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,IAAY,EACZ,cAAiC;IAEjC,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC7C,IAAI,MAAM,CAAC;IACX,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,eAAe,CAAC,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,sBAAsB,CAAC,EAAE;YAChF,GAAG,EAAE,IAAI;YACT,QAAQ,EAAE,MAAM;YAChB,SAAS,EAAE,GAAG,GAAG,IAAI,GAAG,IAAI;YAC5B,OAAO,EAAE,yBAAyB;SACnC,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAErD,MAAM,OAAO,GAAG,IAAI,GAAG,CACrB,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;SAClB,KAAK,CAAC,IAAI,CAAC;SACX,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;SACjC,GAAG,CAAC,iBAAiB,CAAC,CAC1B,CAAC;IACF,MAAM,iBAAiB,GAAG,cAAc;SACrC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,iBAAiB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;SACnD,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;SACnC,IAAI,EAAE,CAAC;IACV,OAAO,WAAW,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACnD,CAAC;AAkCD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,IAAgC,EAChC,IAAY,EACZ,cAAiC;IAEjC,MAAM,GAAG,GAAG,GAAG,IAAI,KAAK,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IACpD,IAAI,IAAI,IAAI,IAAI,CAAC,GAAG,KAAK,GAAG;QAAE,OAAO,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC;IACxD,MAAM,KAAK,GAAG,MAAM,kBAAkB,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IAC7D,IAAI,IAAI,EAAE,CAAC;QACT,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAC/B,YAAsC,EACtC,GAAkB;IAElB,IAAI,CAAC,YAAY,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,YAAY,CAAC;IACvD,OAAO,EAAE,GAAG,YAAY,EAAE,eAAe,EAAE,GAAG,EAAE,CAAC;AACnD,CAAC"}
@@ -16,12 +16,49 @@ import type { ArtifactBundle } from "../io/artifacts.js";
16
16
  * stale set (`deriveAuditState`, the drain boundary) keeps its `Set<string>`
17
17
  * type and behaviour unchanged, so the deferred channel can never be dropped by
18
18
  * a caller "forgetting" a second return value.
19
+ *
20
+ * THE CARRY IS A FIELD OF THE VALUE, so it lives exactly as long as the value.
21
+ * A consumer that rebuilds, forwards or re-types the set into a fresh object
22
+ * holds a value without it, whatever that consumer's `instanceof` says.
23
+ *
24
+ * The residual is real and is NOT papered over. `Set.prototype.union` builds a
25
+ * PLAIN `Set` — measured, not assumed. It consults neither the receiver's
26
+ * constructor nor `Set[Symbol.species]` (the property exists and is
27
+ * configurable, and is ignored), and the subclass constructor is never invoked,
28
+ * so NOTHING inside this class can reach the copy. `structuredClone` likewise
29
+ * rebuilds a plain `Set` and has no hook at all. Both results are still
30
+ * iterable, still `instanceof`-false, and so still type-acceptable to every
31
+ * consumer — the silently-DISCARDED deferral this class was introduced to make
32
+ * impossible, one derivation away.
33
+ *
34
+ * So the contract is stated LOUDLY at the read instead: {@link deferredArtifactsOf}
35
+ * returns the carried set for a {@link StaleArtifactSet} and `undefined` for
36
+ * everything else — which is distinguishable from "this one deferred nothing"
37
+ * (an EMPTY set on a `StaleArtifactSet`). A caller that unions or clones a stale
38
+ * set therefore gets `undefined` — an explicit "I lost the deferrals", not an
39
+ * empty set that reads as "nothing was deferred". The ONLY carry that survives a
40
+ * derivation is the constructor's: a `StaleArtifactSet` built FROM another one
41
+ * describes the same computation, so it inherits the source's carry (see the
42
+ * constructor). Nothing else does — neither derivation is a staleness result.
19
43
  */
20
44
  export declare class StaleArtifactSet extends Set<string> {
21
45
  /** Downstreams held behind a slice projection this call — always disjoint from the stale set. */
22
46
  readonly deferred: ReadonlySet<string>;
23
47
  constructor(stale?: Iterable<string>, deferred?: Iterable<string>);
24
48
  }
49
+ /**
50
+ * The deferred downstreams a stale set carries, `undefined` when the argument
51
+ * is not a staleness result at all. A `StaleArtifactSet` that deferred nothing
52
+ * reports an empty set — never `undefined`, so "deferred nothing" and "was
53
+ * never a staleness result" stay distinguishable.
54
+ *
55
+ * The `instanceof` test here is EXACT, not a widening: only a
56
+ * `StaleArtifactSet` has a carry, and its constructor is the only thing that
57
+ * puts the deferrals back on a DERIVED value. A plain `Set` — from `union`,
58
+ * `structuredClone`, or `new Set(...)` — is simply not a staleness result, so
59
+ * answering `undefined` for it is the honest answer, not a lost lookup.
60
+ */
61
+ export declare function deferredArtifactsOf(stale: ReadonlySet<string> | Iterable<string>): ReadonlySet<string> | undefined;
25
62
  /** Options controlling the staleness pass's observability side effect. */
26
63
  export interface StalenessOptions {
27
64
  /**
@@ -39,7 +76,39 @@ export interface StalenessOptions {
39
76
  * emits, while the intra-call repeats (the observed 28×/~15× spam) collapse.
40
77
  */
41
78
  export declare function resetStalenessDedup(): void;
42
- export declare function emitStalenessRecord(stale: Set<string>, reason?: string): void;
79
+ /**
80
+ * The recovery a stale set describes, when it describes one — or `undefined`
81
+ * for the ordinary case of staling work that had not been done yet.
82
+ *
83
+ * WHY THIS EXISTS AT ALL (the 2026-07-16 self-audit dogfood entry): fixing this
84
+ * tool WHILE it audits a tree changes the audited tree, the dependency DAG
85
+ * correctly marks the planning chain stale, and the run restarts from
86
+ * `charter_extraction`. The cascade is RIGHT — the planning was derived from a
87
+ * tree that no longer exists — and it is deliberately NOT narrowed here. The
88
+ * defect was that a large, expensive, correct action happened SILENTLY, so an
89
+ * operator could not tell it from a wedge and would eventually be trained to
90
+ * defeat it. The DAG stays truth; the explanation is added.
91
+ *
92
+ * "Expensive" is what makes this a recovery rather than routine planning: a
93
+ * stale artifact that ALREADY HAS A BODY is prior work being redone. One that
94
+ * was never written is simply the next thing to do, and announcing it would
95
+ * make the signal fire constantly — which is the same as not having it. So the
96
+ * trigger is: this set reaches at least one artifact that already exists.
97
+ *
98
+ * The CAUSES are the upstreams that moved. A stale artifact with tracked
99
+ * dependencies attributes to whichever of them is itself absent-or-stale (the
100
+ * head of the cascade); a stale artifact with none is its own cause — for the
101
+ * dogfood case that is `repo_manifest.json`, the artifact that actually
102
+ * noticed the tool's source change.
103
+ */
104
+ export interface StalenessRecovery {
105
+ /** The upstream artifact(s) whose change triggered this cascade, sorted. */
106
+ caused_by: string[];
107
+ /** How many artifacts are being re-derived, including the causes. */
108
+ rederiving: number;
109
+ }
110
+ export declare function describeStalenessRecovery(stale: ReadonlySet<string>, bundle: ArtifactBundle): StalenessRecovery | undefined;
111
+ export declare function emitStalenessRecord(stale: Set<string>, reason?: string, bundle?: ArtifactBundle): void;
43
112
  /**
44
113
  * True exactly when `computeStaleArtifacts` would take the metadata-schema
45
114
  * migration degrade path (an old-shape manifest that must not be trusted to
@@ -1 +1 @@
1
- {"version":3,"file":"staleness.d.ts","sourceRoot":"","sources":["../../../src/audit/orchestrator/staleness.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AA6BzD;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,gBAAiB,SAAQ,GAAG,CAAC,MAAM,CAAC;IAC/C,iGAAiG;IACjG,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;gBAE3B,KAAK,GAAE,QAAQ,CAAC,MAAM,CAAM,EAAE,QAAQ,GAAE,QAAQ,CAAC,MAAM,CAAM;CAM1E;AAgED,0EAA0E;AAC1E,MAAM,WAAW,gBAAgB;IAC/B;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAgBD;;;;GAIG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAE1C;AAED,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,EAClB,MAAM,CAAC,EAAE,MAAM,GACd,IAAI,CAoBN;AAED;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAG5E;AAED,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,cAAc,EACtB,OAAO,GAAE,gBAAqB,GAC7B,gBAAgB,CAwMlB"}
1
+ {"version":3,"file":"staleness.d.ts","sourceRoot":"","sources":["../../../src/audit/orchestrator/staleness.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AA6BzD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,qBAAa,gBAAiB,SAAQ,GAAG,CAAC,MAAM,CAAC;IAC/C,iGAAiG;IACjG,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;gBAE3B,KAAK,GAAE,QAAQ,CAAC,MAAM,CAAM,EAAE,QAAQ,GAAE,QAAQ,CAAC,MAAM,CAAM;CAe1E;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,GAC5C,WAAW,CAAC,MAAM,CAAC,GAAG,SAAS,CAEjC;AA4FD,0EAA0E;AAC1E,MAAM,WAAW,gBAAgB;IAC/B;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAgBD;;;;GAIG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAE1C;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,WAAW,iBAAiB;IAChC,4EAA4E;IAC5E,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,qEAAqE;IACrE,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,EAC1B,MAAM,EAAE,cAAc,GACrB,iBAAiB,GAAG,SAAS,CA2C/B;AAED,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,EAClB,MAAM,CAAC,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,cAAc,GACtB,IAAI,CA0CN;AAED;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAG5E;AAED,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,cAAc,EACtB,OAAO,GAAE,gBAAqB,GAC7B,gBAAgB,CA+MlB"}