audit-tools 0.45.0 → 0.48.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 (288) hide show
  1. package/README.md +51 -18
  2. package/dispatch/merge-results.mjs +3 -3
  3. package/dispatch/validate-result.mjs +3 -3
  4. package/dist/audit/cli/charterExtractionPrompt.d.ts.map +1 -1
  5. package/dist/audit/cli/charterExtractionPrompt.js +11 -1
  6. package/dist/audit/cli/charterExtractionPrompt.js.map +1 -1
  7. package/dist/audit/cli/cleanupCommand.d.ts +25 -0
  8. package/dist/audit/cli/cleanupCommand.d.ts.map +1 -1
  9. package/dist/audit/cli/cleanupCommand.js +76 -1
  10. package/dist/audit/cli/cleanupCommand.js.map +1 -1
  11. package/dist/audit/cli/dispatch/hostHandoff.d.ts.map +1 -1
  12. package/dist/audit/cli/dispatch/hostHandoff.js +52 -76
  13. package/dist/audit/cli/dispatch/hostHandoff.js.map +1 -1
  14. package/dist/audit/cli/dispatch/packetFilter.d.ts +1 -1
  15. package/dist/audit/cli/fanoutLanes.d.ts.map +1 -1
  16. package/dist/audit/cli/fanoutLanes.js +6 -1
  17. package/dist/audit/cli/fanoutLanes.js.map +1 -1
  18. package/dist/audit/cli/laneSubmissions.d.ts +13 -0
  19. package/dist/audit/cli/laneSubmissions.d.ts.map +1 -1
  20. package/dist/audit/cli/laneSubmissions.js +38 -27
  21. package/dist/audit/cli/laneSubmissions.js.map +1 -1
  22. package/dist/audit/cli/nextStepCommand.d.ts +12 -0
  23. package/dist/audit/cli/nextStepCommand.d.ts.map +1 -1
  24. package/dist/audit/cli/nextStepCommand.js +23 -12
  25. package/dist/audit/cli/nextStepCommand.js.map +1 -1
  26. package/dist/audit/cli/nextStepHelpers.d.ts +3 -2
  27. package/dist/audit/cli/nextStepHelpers.d.ts.map +1 -1
  28. package/dist/audit/cli/nextStepHelpers.js +65 -37
  29. package/dist/audit/cli/nextStepHelpers.js.map +1 -1
  30. package/dist/audit/cli/reviewRun.d.ts +1 -1
  31. package/dist/audit/cli/reviewRun.d.ts.map +1 -1
  32. package/dist/audit/cli/reviewRun.js +2 -9
  33. package/dist/audit/cli/reviewRun.js.map +1 -1
  34. package/dist/audit/cli/sampleRunCommand.d.ts +215 -0
  35. package/dist/audit/cli/sampleRunCommand.d.ts.map +1 -1
  36. package/dist/audit/cli/sampleRunCommand.js +60 -3
  37. package/dist/audit/cli/sampleRunCommand.js.map +1 -1
  38. package/dist/audit/cli/semanticReviewStep.d.ts.map +1 -1
  39. package/dist/audit/cli/semanticReviewStep.js +9 -1
  40. package/dist/audit/cli/semanticReviewStep.js.map +1 -1
  41. package/dist/audit/cli/steps.d.ts +6 -6
  42. package/dist/audit/contracts/workerSchemas.d.ts +36 -26
  43. package/dist/audit/contracts/workerSchemas.d.ts.map +1 -1
  44. package/dist/audit/contracts/workerSchemas.js +11 -1
  45. package/dist/audit/contracts/workerSchemas.js.map +1 -1
  46. package/dist/audit/contracts/wrapperResponse.d.ts +52 -28
  47. package/dist/audit/contracts/wrapperResponse.d.ts.map +1 -1
  48. package/dist/audit/contracts/wrapperResponse.js +8 -5
  49. package/dist/audit/contracts/wrapperResponse.js.map +1 -1
  50. package/dist/audit/decompose/sources.d.ts.map +1 -1
  51. package/dist/audit/decompose/sources.js +21 -5
  52. package/dist/audit/decompose/sources.js.map +1 -1
  53. package/dist/audit/extractors/analyzers/registry.d.ts +8 -5
  54. package/dist/audit/extractors/analyzers/registry.d.ts.map +1 -1
  55. package/dist/audit/extractors/analyzers/registry.js +28 -7
  56. package/dist/audit/extractors/analyzers/registry.js.map +1 -1
  57. package/dist/audit/extractors/designAssessment.js +1 -1
  58. package/dist/audit/extractors/gitHistory.d.ts +1 -1
  59. package/dist/audit/extractors/gitHistory.js +1 -1
  60. package/dist/audit/extractors/graph.d.ts +1 -1
  61. package/dist/audit/extractors/graph.js +1 -1
  62. package/dist/audit/extractors/risk.d.ts +1 -1
  63. package/dist/audit/extractors/risk.js +1 -1
  64. package/dist/audit/io/artifacts.d.ts.map +1 -1
  65. package/dist/audit/io/artifacts.js +5 -5
  66. package/dist/audit/io/artifacts.js.map +1 -1
  67. package/dist/audit/orchestrator/acquisitionExecutor.d.ts +12 -7
  68. package/dist/audit/orchestrator/acquisitionExecutor.d.ts.map +1 -1
  69. package/dist/audit/orchestrator/acquisitionExecutor.js +1 -1
  70. package/dist/audit/orchestrator/acquisitionExecutor.js.map +1 -1
  71. package/dist/audit/orchestrator/advance.d.ts +14 -10
  72. package/dist/audit/orchestrator/advance.d.ts.map +1 -1
  73. package/dist/audit/orchestrator/advance.js +49 -24
  74. package/dist/audit/orchestrator/advance.js.map +1 -1
  75. package/dist/audit/orchestrator/advanceTypes.d.ts +14 -0
  76. package/dist/audit/orchestrator/advanceTypes.d.ts.map +1 -1
  77. package/dist/audit/orchestrator/autoFixExecutor.d.ts +20 -1
  78. package/dist/audit/orchestrator/autoFixExecutor.d.ts.map +1 -1
  79. package/dist/audit/orchestrator/autoFixExecutor.js +77 -15
  80. package/dist/audit/orchestrator/autoFixExecutor.js.map +1 -1
  81. package/dist/audit/orchestrator/dependencyMap.js +1 -1
  82. package/dist/audit/orchestrator/dependencyMap.js.map +1 -1
  83. package/dist/audit/orchestrator/designReviewPrompt.d.ts.map +1 -1
  84. package/dist/audit/orchestrator/designReviewPrompt.js +7 -0
  85. package/dist/audit/orchestrator/designReviewPrompt.js.map +1 -1
  86. package/dist/audit/orchestrator/executorRunners.d.ts.map +1 -1
  87. package/dist/audit/orchestrator/executorRunners.js +18 -4
  88. package/dist/audit/orchestrator/executorRunners.js.map +1 -1
  89. package/dist/audit/orchestrator/executors.d.ts +54 -0
  90. package/dist/audit/orchestrator/executors.d.ts.map +1 -1
  91. package/dist/audit/orchestrator/executors.js +352 -0
  92. package/dist/audit/orchestrator/executors.js.map +1 -1
  93. package/dist/audit/orchestrator/hostInputPause.d.ts +28 -13
  94. package/dist/audit/orchestrator/hostInputPause.d.ts.map +1 -1
  95. package/dist/audit/orchestrator/hostInputPause.js +17 -11
  96. package/dist/audit/orchestrator/hostInputPause.js.map +1 -1
  97. package/dist/audit/orchestrator/intentInterpreter.d.ts +15 -18
  98. package/dist/audit/orchestrator/intentInterpreter.d.ts.map +1 -1
  99. package/dist/audit/orchestrator/intentInterpreter.js +12 -26
  100. package/dist/audit/orchestrator/intentInterpreter.js.map +1 -1
  101. package/dist/audit/orchestrator/localCommands.d.ts +24 -1
  102. package/dist/audit/orchestrator/localCommands.d.ts.map +1 -1
  103. package/dist/audit/orchestrator/localCommands.js +44 -9
  104. package/dist/audit/orchestrator/localCommands.js.map +1 -1
  105. package/dist/audit/orchestrator/nextStep.d.ts +13 -0
  106. package/dist/audit/orchestrator/nextStep.d.ts.map +1 -1
  107. package/dist/audit/orchestrator/nextStep.js +13 -0
  108. package/dist/audit/orchestrator/nextStep.js.map +1 -1
  109. package/dist/audit/orchestrator/requeueCommand.d.ts +1 -1
  110. package/dist/audit/orchestrator/runtimeCommand.d.ts +32 -1
  111. package/dist/audit/orchestrator/runtimeCommand.d.ts.map +1 -1
  112. package/dist/audit/orchestrator/runtimeCommand.js +90 -3
  113. package/dist/audit/orchestrator/runtimeCommand.js.map +1 -1
  114. package/dist/audit/orchestrator/structureExecutors.js +1 -1
  115. package/dist/audit/orchestrator/structureExecutors.js.map +1 -1
  116. package/dist/audit/orchestrator/syntaxResolutionExecutor.d.ts +11 -1
  117. package/dist/audit/orchestrator/syntaxResolutionExecutor.d.ts.map +1 -1
  118. package/dist/audit/orchestrator/syntaxResolutionExecutor.js +25 -9
  119. package/dist/audit/orchestrator/syntaxResolutionExecutor.js.map +1 -1
  120. package/dist/audit/supervisor/operatorHandoff.d.ts +0 -1
  121. package/dist/audit/supervisor/operatorHandoff.d.ts.map +1 -1
  122. package/dist/audit/supervisor/operatorHandoff.js +2 -1
  123. package/dist/audit/supervisor/operatorHandoff.js.map +1 -1
  124. package/dist/audit/types.d.ts +18 -18
  125. package/dist/remediate/contractPipeline/derive.d.ts.map +1 -1
  126. package/dist/remediate/contractPipeline/derive.js +1 -0
  127. package/dist/remediate/contractPipeline/derive.js.map +1 -1
  128. package/dist/remediate/contractPipeline/semanticProjection.d.ts +5 -4
  129. package/dist/remediate/contractPipeline/semanticProjection.d.ts.map +1 -1
  130. package/dist/remediate/contractPipeline/semanticProjection.js +34 -19
  131. package/dist/remediate/contractPipeline/semanticProjection.js.map +1 -1
  132. package/dist/remediate/index.d.ts.map +1 -1
  133. package/dist/remediate/index.js +3 -2
  134. package/dist/remediate/index.js.map +1 -1
  135. package/dist/remediate/intake.js +1 -1
  136. package/dist/remediate/intake.js.map +1 -1
  137. package/dist/remediate/phases/close.d.ts +45 -2
  138. package/dist/remediate/phases/close.d.ts.map +1 -1
  139. package/dist/remediate/phases/close.js +111 -43
  140. package/dist/remediate/phases/close.js.map +1 -1
  141. package/dist/remediate/phases/closeVerifyAnalyzerLeads.js +2 -2
  142. package/dist/remediate/phases/closeVerifyAnalyzerLeads.js.map +1 -1
  143. package/dist/remediate/phases/triage.d.ts.map +1 -1
  144. package/dist/remediate/phases/triage.js +61 -19
  145. package/dist/remediate/phases/triage.js.map +1 -1
  146. package/dist/remediate/review/autonomousGate.d.ts +3 -7
  147. package/dist/remediate/review/autonomousGate.d.ts.map +1 -1
  148. package/dist/remediate/review/autonomousGate.js +10 -24
  149. package/dist/remediate/review/autonomousGate.js.map +1 -1
  150. package/dist/remediate/riskSignal.d.ts +8 -20
  151. package/dist/remediate/riskSignal.d.ts.map +1 -1
  152. package/dist/remediate/riskSignal.js +21 -76
  153. package/dist/remediate/riskSignal.js.map +1 -1
  154. package/dist/remediate/state/accessMemory.d.ts +2 -3
  155. package/dist/remediate/state/accessMemory.d.ts.map +1 -1
  156. package/dist/remediate/state/accessMemory.js +3 -6
  157. package/dist/remediate/state/accessMemory.js.map +1 -1
  158. package/dist/remediate/state/store.d.ts +6 -7
  159. package/dist/remediate/state/store.d.ts.map +1 -1
  160. package/dist/remediate/state/store.js.map +1 -1
  161. package/dist/remediate/state/types.d.ts +2 -84
  162. package/dist/remediate/state/types.d.ts.map +1 -1
  163. package/dist/remediate/state/types.js +1 -39
  164. package/dist/remediate/state/types.js.map +1 -1
  165. package/dist/remediate/steps/contractPipeline.d.ts +13 -19
  166. package/dist/remediate/steps/contractPipeline.d.ts.map +1 -1
  167. package/dist/remediate/steps/contractPipeline.js +157 -66
  168. package/dist/remediate/steps/contractPipeline.js.map +1 -1
  169. package/dist/remediate/steps/dispatch/hostHandoff.d.ts +1 -1
  170. package/dist/remediate/steps/dispatch/hostHandoff.d.ts.map +1 -1
  171. package/dist/remediate/steps/dispatch/hostHandoff.js +297 -141
  172. package/dist/remediate/steps/dispatch/hostHandoff.js.map +1 -1
  173. package/dist/remediate/steps/nextStep.d.ts +16 -7
  174. package/dist/remediate/steps/nextStep.d.ts.map +1 -1
  175. package/dist/remediate/steps/nextStep.js +207 -216
  176. package/dist/remediate/steps/nextStep.js.map +1 -1
  177. package/dist/remediate/steps/stepUtils.d.ts +10 -2
  178. package/dist/remediate/steps/stepUtils.d.ts.map +1 -1
  179. package/dist/remediate/steps/stepUtils.js +13 -3
  180. package/dist/remediate/steps/stepUtils.js.map +1 -1
  181. package/dist/remediate/steps/types.d.ts +1 -1
  182. package/dist/remediate/steps/types.d.ts.map +1 -1
  183. package/dist/remediate/steps/types.js.map +1 -1
  184. package/dist/remediate/types/options.d.ts +1 -1
  185. package/dist/remediate/validation/artifacts.d.ts.map +1 -1
  186. package/dist/remediate/validation/artifacts.js +1 -16
  187. package/dist/remediate/validation/artifacts.js.map +1 -1
  188. package/dist/remediate/validation/remediationState.d.ts +0 -1
  189. package/dist/remediate/validation/remediationState.d.ts.map +1 -1
  190. package/dist/remediate/validation/remediationState.js +0 -51
  191. package/dist/remediate/validation/remediationState.js.map +1 -1
  192. package/dist/shared/analyzerPolicy.d.ts +18 -6
  193. package/dist/shared/analyzerPolicy.d.ts.map +1 -1
  194. package/dist/shared/analyzerPolicy.js +15 -3
  195. package/dist/shared/analyzerPolicy.js.map +1 -1
  196. package/dist/shared/analyzers/acquisitionEngine.d.ts +71 -32
  197. package/dist/shared/analyzers/acquisitionEngine.d.ts.map +1 -1
  198. package/dist/shared/analyzers/acquisitionEngine.js +86 -28
  199. package/dist/shared/analyzers/acquisitionEngine.js.map +1 -1
  200. package/dist/shared/analyzers/binaryAcquisition.d.ts +8 -2
  201. package/dist/shared/analyzers/binaryAcquisition.d.ts.map +1 -1
  202. package/dist/shared/analyzers/binaryAcquisition.js +4 -4
  203. package/dist/shared/analyzers/binaryAcquisition.js.map +1 -1
  204. package/dist/shared/constitutionalDocPaths.d.ts.map +1 -1
  205. package/dist/shared/constitutionalDocPaths.js +7 -0
  206. package/dist/shared/constitutionalDocPaths.js.map +1 -1
  207. package/dist/shared/engine/obligationEngine.d.ts +44 -3
  208. package/dist/shared/engine/obligationEngine.d.ts.map +1 -1
  209. package/dist/shared/engine/obligationEngine.js +53 -7
  210. package/dist/shared/engine/obligationEngine.js.map +1 -1
  211. package/dist/shared/findings/dedupe.d.ts.map +1 -1
  212. package/dist/shared/findings/dedupe.js +8 -0
  213. package/dist/shared/findings/dedupe.js.map +1 -1
  214. package/dist/shared/friction/frictionRecord.d.ts +42 -2
  215. package/dist/shared/friction/frictionRecord.d.ts.map +1 -1
  216. package/dist/shared/friction/frictionRecord.js +111 -3
  217. package/dist/shared/friction/frictionRecord.js.map +1 -1
  218. package/dist/shared/friction/triage.d.ts +15 -0
  219. package/dist/shared/friction/triage.d.ts.map +1 -1
  220. package/dist/shared/friction/triage.js +33 -2
  221. package/dist/shared/friction/triage.js.map +1 -1
  222. package/dist/shared/index.d.ts +15 -9
  223. package/dist/shared/index.d.ts.map +1 -1
  224. package/dist/shared/index.js +15 -7
  225. package/dist/shared/index.js.map +1 -1
  226. package/dist/shared/intent/constraintClauses.d.ts +31 -0
  227. package/dist/shared/intent/constraintClauses.d.ts.map +1 -0
  228. package/dist/shared/intent/constraintClauses.js +37 -0
  229. package/dist/shared/intent/constraintClauses.js.map +1 -0
  230. package/dist/shared/io/fileLock.d.ts.map +1 -1
  231. package/dist/shared/io/fileLock.js +22 -3
  232. package/dist/shared/io/fileLock.js.map +1 -1
  233. package/dist/shared/io/frictionCapture.d.ts +73 -19
  234. package/dist/shared/io/frictionCapture.d.ts.map +1 -1
  235. package/dist/shared/io/frictionCapture.js +21 -30
  236. package/dist/shared/io/frictionCapture.js.map +1 -1
  237. package/dist/shared/io/lockedJsonStore.d.ts +24 -3
  238. package/dist/shared/io/lockedJsonStore.d.ts.map +1 -1
  239. package/dist/shared/io/lockedJsonStore.js +35 -7
  240. package/dist/shared/io/lockedJsonStore.js.map +1 -1
  241. package/dist/shared/io/stepContractWriter.d.ts +3 -3
  242. package/dist/shared/io/stepContractWriter.d.ts.map +1 -1
  243. package/dist/shared/io/stepContractWriter.js +97 -13
  244. package/dist/shared/io/stepContractWriter.js.map +1 -1
  245. package/dist/shared/submission/expectedSubmissions.d.ts +18 -0
  246. package/dist/shared/submission/expectedSubmissions.d.ts.map +1 -1
  247. package/dist/shared/submission/expectedSubmissions.js +17 -0
  248. package/dist/shared/submission/expectedSubmissions.js.map +1 -1
  249. package/dist/shared/submission/handRecovery.d.ts.map +1 -1
  250. package/dist/shared/submission/handRecovery.js +9 -11
  251. package/dist/shared/submission/handRecovery.js.map +1 -1
  252. package/dist/shared/submission/hostHandoffCore.d.ts +155 -0
  253. package/dist/shared/submission/hostHandoffCore.d.ts.map +1 -0
  254. package/dist/shared/submission/hostHandoffCore.js +210 -0
  255. package/dist/shared/submission/hostHandoffCore.js.map +1 -0
  256. package/dist/shared/submission/submissionLedger.d.ts +5 -1
  257. package/dist/shared/submission/submissionLedger.d.ts.map +1 -1
  258. package/dist/shared/submission/submissionLedger.js +33 -3
  259. package/dist/shared/submission/submissionLedger.js.map +1 -1
  260. package/dist/shared/tooling/commandShape.d.ts +29 -0
  261. package/dist/shared/tooling/commandShape.d.ts.map +1 -1
  262. package/dist/shared/tooling/commandShape.js +82 -10
  263. package/dist/shared/tooling/commandShape.js.map +1 -1
  264. package/dist/shared/tooling/exec.d.ts +32 -0
  265. package/dist/shared/tooling/exec.d.ts.map +1 -1
  266. package/dist/shared/tooling/exec.js +189 -0
  267. package/dist/shared/tooling/exec.js.map +1 -1
  268. package/docs/audit-pkg/contracts.md +2 -1
  269. package/docs/audit-pkg/operator-guide.md +12 -6
  270. package/docs/audit-pkg/product.md +22 -6
  271. package/package.json +13 -6
  272. package/schemas/audit-code-v1alpha1.schema.json +297 -0
  273. package/schemas/audit_result.schema.json +4 -0
  274. package/schemas/audit_results.schema.json +4 -0
  275. package/scripts/audit/postinstall.mjs +4 -2
  276. package/scripts/postinstall.mjs +1 -1
  277. package/scripts/remediate/postinstall.mjs +3 -1
  278. package/scripts/shared/install-host-assets.mjs +15 -8
  279. package/skills/audit-code/SKILL.md +4 -2
  280. package/skills/audit-code/audit-code.prompt.md +5 -2
  281. package/skills/audit-code/opencode-command-template.txt +1 -1
  282. package/wrapper/audit-code-wrapper-build.mjs +3 -3
  283. package/wrapper/audit-code-wrapper-install-hosts.mjs +3 -3
  284. package/wrapper/audit-code-wrapper-lib.mjs +82 -16
  285. package/wrapper/installer-verb-help.mjs +14 -4
  286. package/wrapper/remediate-code-wrapper-install-hosts.mjs +3 -3
  287. package/docs/audit-pkg/development.md +0 -113
  288. package/docs/audit-pkg/release.md +0 -140
@@ -4,10 +4,14 @@
4
4
  * Bridges the audit-tools/shared clause interpreter to the pinned
5
5
  * FreeFormIntentInterpretation seam contract (N-X06).
6
6
  *
7
- * INV-S04: the verbatim free_form_intent string MUST NOT appear in any output
8
- * field. All fields are derived signals only.
7
+ * INV-S04: the WHOLE verbatim free_form_intent string is never emitted, and
8
+ * worker/dispatch prompt material never carries it in any form. Individual
9
+ * clause substrings DO ride derived fields (clause text, checkpoint
10
+ * questions, the remediate sidecar, run-log notes) — that is inside the
11
+ * charge's plan/prompt/workload scope, and the guarded boundary is the
12
+ * worker-facing prompt surface, not every derived field.
9
13
  */
10
- import type { FreeFormIntentInterpretation, IntentCheckpoint } from "audit-tools/shared";
14
+ import type { ConstraintClauseRecord, FreeFormIntentInterpretation, IntentCheckpoint } from "audit-tools/shared";
11
15
  /**
12
16
  * Interpret a free-form intent string into the versioned seam contract shape.
13
17
  *
@@ -17,21 +21,14 @@ import type { FreeFormIntentInterpretation, IntentCheckpoint } from "audit-tools
17
21
  * @param freeFormIntent - Raw free_form_intent from IntentCheckpoint (may be empty).
18
22
  */
19
23
  export declare function interpretFreeFormIntentForAudit(freeFormIntent: string): FreeFormIntentInterpretation;
20
- /** A blocking checkpoint question that the host has not yet answered. */
21
- export interface UnresolvedConstraintClause {
22
- /**
23
- * Stable clause identity — the resolution key (CE-004). A `constraint_clauses`
24
- * entry resolves this clause when its `clause_id` matches, NOT when its
25
- * rendered `checkpoint_question` matches (two distinct clauses can render to
26
- * the same question). The host recorder threads this back so the
27
- * answer is keyed on identity.
28
- */
29
- clause_id: string;
30
- /** The original unencodable clause text. */
31
- text: string;
32
- /** The blocking question that must be answered before planning proceeds. */
33
- checkpoint_question: string;
34
- }
24
+ /**
25
+ * A blocking checkpoint question that the host has not yet answered.
26
+ * Alias of the shared {@link ConstraintClauseRecord}: the identity-keyed
27
+ * resolution semantics (CE-004) live in audit-tools/shared
28
+ * (`intent/constraintClauses.ts`) so remediate's sidecar consumer and this
29
+ * gate cannot drift.
30
+ */
31
+ export type UnresolvedConstraintClause = ConstraintClauseRecord;
35
32
  /**
36
33
  * Compute the blocking checkpoint questions raised by an intent checkpoint's
37
34
  * `free_form_intent` that the host has NOT yet resolved.
@@ -1 +1 @@
1
- {"version":3,"file":"intentInterpreter.d.ts","sourceRoot":"","sources":["../../../src/audit/orchestrator/intentInterpreter.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,OAAO,KAAK,EACV,4BAA4B,EAE5B,gBAAgB,EACjB,MAAM,oBAAoB,CAAC;AAsB5B;;;;;;;GAOG;AACH,wBAAgB,+BAA+B,CAC7C,cAAc,EAAE,MAAM,GACrB,4BAA4B,CAyB9B;AAMD,yEAAyE;AACzE,MAAM,WAAW,0BAA0B;IACzC;;;;;;OAMG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB,4CAA4C;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,4EAA4E;IAC5E,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,2BAA2B,CACzC,UAAU,EAAE,gBAAgB,GAAG,SAAS,GACvC,0BAA0B,EAAE,CAoC9B"}
1
+ {"version":3,"file":"intentInterpreter.d.ts","sourceRoot":"","sources":["../../../src/audit/orchestrator/intentInterpreter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAOH,OAAO,KAAK,EACV,sBAAsB,EACtB,4BAA4B,EAE5B,gBAAgB,EACjB,MAAM,oBAAoB,CAAC;AAsB5B;;;;;;;GAOG;AACH,wBAAgB,+BAA+B,CAC7C,cAAc,EAAE,MAAM,GACrB,4BAA4B,CAyB9B;AAMD;;;;;;GAMG;AACH,MAAM,MAAM,0BAA0B,GAAG,sBAAsB,CAAC;AAEhE;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,2BAA2B,CACzC,UAAU,EAAE,gBAAgB,GAAG,SAAS,GACvC,0BAA0B,EAAE,CAoB9B"}
@@ -4,10 +4,14 @@
4
4
  * Bridges the audit-tools/shared clause interpreter to the pinned
5
5
  * FreeFormIntentInterpretation seam contract (N-X06).
6
6
  *
7
- * INV-S04: the verbatim free_form_intent string MUST NOT appear in any output
8
- * field. All fields are derived signals only.
7
+ * INV-S04: the WHOLE verbatim free_form_intent string is never emitted, and
8
+ * worker/dispatch prompt material never carries it in any form. Individual
9
+ * clause substrings DO ride derived fields (clause text, checkpoint
10
+ * questions, the remediate sidecar, run-log notes) — that is inside the
11
+ * charge's plan/prompt/workload scope, and the guarded boundary is the
12
+ * worker-facing prompt surface, not every derived field.
9
13
  */
10
- import { interpretIntent, FREE_FORM_INTENT_INTERPRETATION_VERSION, } from "audit-tools/shared";
14
+ import { interpretIntent, unresolvedFromClauses, FREE_FORM_INTENT_INTERPRETATION_VERSION, } from "audit-tools/shared";
11
15
  // ---------------------------------------------------------------------------
12
16
  // Internal helpers
13
17
  // ---------------------------------------------------------------------------
@@ -85,36 +89,18 @@ export function unresolvedConstraintClauses(checkpoint) {
85
89
  const result = interpretIntent(freeForm);
86
90
  if (!result.has_unencodable)
87
91
  return [];
88
- // A clause is answered when an entry with a non-empty host_answer matches it
89
- // by clause identity (preferred) or, for legacy entries lacking a clause_id,
90
- // by the rendered checkpoint_question.
91
- const answeredIds = new Set();
92
- const answeredQuestions = new Set();
93
- for (const c of checkpoint?.constraint_clauses ?? []) {
94
- if (typeof c.host_answer !== "string" || c.host_answer.trim().length === 0) {
95
- continue;
96
- }
97
- if (typeof c.clause_id === "string" && c.clause_id.length > 0) {
98
- answeredIds.add(c.clause_id);
99
- }
100
- else {
101
- answeredQuestions.add(c.checkpoint_question);
102
- }
103
- }
104
- const unresolved = [];
92
+ const records = [];
105
93
  for (const clause of result.clauses) {
106
94
  if (clause.encodable || !clause.checkpoint_question)
107
95
  continue;
108
- if (answeredIds.has(clause.clause_id))
109
- continue;
110
- if (answeredQuestions.has(clause.checkpoint_question))
111
- continue;
112
- unresolved.push({
96
+ records.push({
113
97
  clause_id: clause.clause_id,
114
98
  text: clause.text,
115
99
  checkpoint_question: clause.checkpoint_question,
116
100
  });
117
101
  }
118
- return unresolved;
102
+ // Identity-keyed resolution (CE-004) is the shared core — one matcher for
103
+ // this gate and remediate's sidecar consumer.
104
+ return unresolvedFromClauses(records, checkpoint);
119
105
  }
120
106
  //# sourceMappingURL=intentInterpreter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"intentInterpreter.js","sourceRoot":"","sources":["../../../src/audit/orchestrator/intentInterpreter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"intentInterpreter.js","sourceRoot":"","sources":["../../../src/audit/orchestrator/intentInterpreter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,uCAAuC,GACxC,MAAM,oBAAoB,CAAC;AAS5B,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E,MAAM,cAAc,GAAG,yCAAyC,CAAC;AAEjE,gFAAgF;AAChF,SAAS,WAAW,CAAC,MAAc;IACjC,MAAM,CAAC,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACtC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAAE,OAAO,SAAS,CAAC;IAClC,oFAAoF;IACpF,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;IACzC,OAAO,KAAyB,CAAC;AACnC,CAAC;AAED,8EAA8E;AAC9E,aAAa;AACb,8EAA8E;AAE9E;;;;;;;GAOG;AACH,MAAM,UAAU,+BAA+B,CAC7C,cAAsB;IAEtB,MAAM,MAAM,GAAG,eAAe,CAAC,cAAc,CAAC,CAAC;IAE/C,MAAM,eAAe,GAAoB,EAAE,CAAC;IAE5C,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACpC,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,CAAC,MAAM,CAAC,UAAU;YAAE,SAAS;QACtD,MAAM,KAAK,GAAkB;YAC3B,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,IAAI,EAAE,MAAM,CAAC,UAAU,CAAC,IAAI;YAC5B,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,MAAM;SACjC,CAAC;QACF,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;YACjC,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACvC,IAAI,IAAI;gBAAE,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;QAC9B,CAAC;QACD,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IAED,OAAO;QACL,cAAc,EAAE,uCAAuC;QACvD,eAAe;QACf,oBAAoB,EAAE,MAAM,CAAC,oBAAoB;QACjD,eAAe,EAAE,MAAM,CAAC,eAAe;KACxC,CAAC;AACJ,CAAC;AAeD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,2BAA2B,CACzC,UAAwC;IAExC,MAAM,QAAQ,GAAG,UAAU,EAAE,gBAAgB,IAAI,EAAE,CAAC;IACpD,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,CAAC;IAEhC,+EAA+E;IAC/E,MAAM,MAAM,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;IACzC,IAAI,CAAC,MAAM,CAAC,eAAe;QAAE,OAAO,EAAE,CAAC;IAEvC,MAAM,OAAO,GAA6B,EAAE,CAAC;IAC7C,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACpC,IAAI,MAAM,CAAC,SAAS,IAAI,CAAC,MAAM,CAAC,mBAAmB;YAAE,SAAS;QAC9D,OAAO,CAAC,IAAI,CAAC;YACX,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,mBAAmB,EAAE,MAAM,CAAC,mBAAmB;SAChD,CAAC,CAAC;IACL,CAAC;IACD,0EAA0E;IAC1E,8CAA8C;IAC9C,OAAO,qBAAqB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;AACpD,CAAC"}
@@ -1,16 +1,39 @@
1
+ import { type AnalyzerConsentDecisions } from "audit-tools/shared";
1
2
  export interface LocalCommandCandidate {
2
3
  command: string;
3
4
  args: string[];
4
5
  display?: string;
6
+ /**
7
+ * Explicit registry key for admission, for an arm whose argv cannot yield
8
+ * its real tool (`python -m black`, `uvx black`, `pipx run black`). Absent
9
+ * ⇒ the key derives from the full argv ({@link localToolIdFor}).
10
+ */
11
+ toolId?: string;
5
12
  }
6
13
  export interface LocalCommandResult {
7
14
  candidate: LocalCommandCandidate;
8
15
  exitCode: number | null;
9
16
  stdout: string;
10
17
  stderr: string;
18
+ /** The refusal reason when a recorded operator decline vetoed the candidate. */
19
+ declinedReason?: string;
11
20
  error?: Error;
12
21
  }
13
22
  export declare function __resolveFromPathForTests(command: string): string | null;
14
- export declare function runFirstAvailableCommand(root: string, candidates: LocalCommandCandidate[]): LocalCommandResult | null;
23
+ /**
24
+ * Run the first resolvable, ADMITTED candidate. Admission is the shared
25
+ * decline-first veto ({@link admitLocalSpawn}): a recorded operator `declined`
26
+ * for this tool id refuses the spawn OUTRIGHT — the remaining candidates are
27
+ * still walked (a decline names ONE tool, not every formatter), so `prettier`
28
+ * being declined does not silently route formatting to `black`. The returned
29
+ * record carries `declinedReason` when a candidate was refused for that reason.
30
+ *
31
+ * Spawns go through the SHARED exec boundary (`runTracked`): argv-only, the
32
+ * control-env scrub applied, windowsHide forced — never a direct
33
+ * `node:child_process` call with the unscrubbed parent environment.
34
+ */
35
+ export declare function runFirstAvailableCommand(root: string, candidates: LocalCommandCandidate[], options?: {
36
+ analyzerConsent?: AnalyzerConsentDecisions;
37
+ }): LocalCommandResult | null;
15
38
  export declare function resolveNodeTool(root: string, relativePath: string, args: string[], display: string): LocalCommandCandidate[];
16
39
  //# sourceMappingURL=localCommands.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"localCommands.d.ts","sourceRoot":"","sources":["../../../src/audit/orchestrator/localCommands.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,qBAAqB,CAAC;IACjC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,KAAK,CAAC;CACf;AAaD,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAExE;AA4ED,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,qBAAqB,EAAE,GAClC,kBAAkB,GAAG,IAAI,CAgC3B;AAED,wBAAgB,eAAe,CAC7B,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,EAAE,MAAM,GACd,qBAAqB,EAAE,CAWzB"}
1
+ {"version":3,"file":"localCommands.d.ts","sourceRoot":"","sources":["../../../src/audit/orchestrator/localCommands.ts"],"names":[],"mappings":"AAEA,OAAO,EAIL,KAAK,wBAAwB,EAC9B,MAAM,oBAAoB,CAAC;AAE5B,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,qBAAqB,CAAC;IACjC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,gFAAgF;IAChF,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,KAAK,CAAC;CACf;AAaD,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAExE;AA4ED;;;;;;;;;;;GAWG;AACH,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,qBAAqB,EAAE,EACnC,OAAO,GAAE;IAAE,eAAe,CAAC,EAAE,wBAAwB,CAAA;CAAO,GAC3D,kBAAkB,GAAG,IAAI,CA6D3B;AAED,wBAAgB,eAAe,CAC7B,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,EAAE,MAAM,GACd,qBAAqB,EAAE,CAWzB"}
@@ -1,7 +1,6 @@
1
1
  import { existsSync } from "node:fs";
2
- import { spawnSync } from "node:child_process";
3
2
  import { delimiter, extname, isAbsolute, join } from "node:path";
4
- import { resolveExecArgv } from "audit-tools/shared";
3
+ import { admitLocalSpawn, resolveExecArgv, runTracked, } from "audit-tools/shared";
5
4
  function toSpawnTuple(candidate) {
6
5
  // Shared resolver applies the single Windows `.cmd`/`.bat` wrapping impl.
7
6
  // The candidate command is already PATH-resolved (absolute path or
@@ -69,18 +68,42 @@ function resolveCandidate(root, candidate) {
69
68
  }
70
69
  return null;
71
70
  }
72
- export function runFirstAvailableCommand(root, candidates) {
71
+ /**
72
+ * Run the first resolvable, ADMITTED candidate. Admission is the shared
73
+ * decline-first veto ({@link admitLocalSpawn}): a recorded operator `declined`
74
+ * for this tool id refuses the spawn OUTRIGHT — the remaining candidates are
75
+ * still walked (a decline names ONE tool, not every formatter), so `prettier`
76
+ * being declined does not silently route formatting to `black`. The returned
77
+ * record carries `declinedReason` when a candidate was refused for that reason.
78
+ *
79
+ * Spawns go through the SHARED exec boundary (`runTracked`): argv-only, the
80
+ * control-env scrub applied, windowsHide forced — never a direct
81
+ * `node:child_process` call with the unscrubbed parent environment.
82
+ */
83
+ export function runFirstAvailableCommand(root, candidates, options = {}) {
84
+ let lastDecline;
73
85
  for (const candidate of candidates) {
86
+ // Decline-first admission, BEFORE resolution and before anything spawns. A
87
+ // recorded refusal is a veto for THIS tool wherever its executable resolves
88
+ // from — including the repo-local `node <script>` arm (the script is the
89
+ // key, never `node`). It runs ahead of resolution because whether the binary
90
+ // happens to be INSTALLED says nothing about whether the operator refused
91
+ // it: resolving first meant an absent tool reported `not_resolved` and the
92
+ // recorded decline was never consulted, so one policy read two ways on two
93
+ // machines.
94
+ const denied = admitLocalSpawn([candidate.command, ...candidate.args], options.analyzerConsent, candidate.toolId);
95
+ if (denied) {
96
+ lastDecline = denied;
97
+ continue;
98
+ }
74
99
  const resolved = resolveCandidate(root, candidate);
75
100
  if (!resolved) {
76
101
  continue;
77
102
  }
78
103
  const spawnTarget = toSpawnTuple(resolved);
79
- const result = spawnSync(spawnTarget.command, spawnTarget.args, {
104
+ const result = runTracked([spawnTarget.command, ...spawnTarget.args], {
80
105
  cwd: root,
81
- env: process.env,
82
106
  encoding: "utf8",
83
- windowsHide: true,
84
107
  stdio: "pipe",
85
108
  });
86
109
  return {
@@ -89,14 +112,26 @@ export function runFirstAvailableCommand(root, candidates) {
89
112
  display: candidate.display ?? [candidate.command, ...candidate.args].join(" "),
90
113
  },
91
114
  exitCode: result.status,
92
- stdout: result.stdout ?? "",
93
- stderr: result.stderr ?? "",
115
+ stdout: result.stdout,
116
+ stderr: result.stderr,
94
117
  error: result.error
95
118
  ? new Error(result.error.message, { cause: result.error })
96
119
  : undefined,
97
120
  };
98
121
  }
99
- return null;
122
+ return lastDecline
123
+ ? {
124
+ candidate: {
125
+ command: "",
126
+ args: [],
127
+ display: "(all candidates declined or unresolved)",
128
+ },
129
+ exitCode: null,
130
+ stdout: "",
131
+ stderr: "",
132
+ declinedReason: lastDecline,
133
+ }
134
+ : null;
100
135
  }
101
136
  export function resolveNodeTool(root, relativePath, args, display) {
102
137
  const localToolPath = join(root, relativePath);
@@ -1 +1 @@
1
- {"version":3,"file":"localCommands.js","sourceRoot":"","sources":["../../../src/audit/orchestrator/localCommands.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"localCommands.js","sourceRoot":"","sources":["../../../src/audit/orchestrator/localCommands.ts"],"names":[],"mappings":"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"}
@@ -26,6 +26,19 @@ export interface DecideNextStepOptions {
26
26
  emitStaleness?: boolean;
27
27
  }
28
28
  export declare function decideNextStep(bundle: ArtifactBundle, options?: DecideNextStepOptions): NextStepDecision;
29
+ /**
30
+ * The audit friction record's own key. Audit keeps ONE friction record per artifacts
31
+ * dir — its step envelopes carry no per-run id — so the key is a fixed literal rather
32
+ * than a minted run id. Single-sourced here beside the close-out that reads it, so the
33
+ * capture seams, the close-out, the run-linkage writers, and the operator handoff's
34
+ * `friction_record` path cannot spell it differently. Two source sites still write the
35
+ * derived record path out as a literal, each because a mechanical reader requires one
36
+ * there: `friction_capture_executor`'s `artifacts_written` (executorRunners.ts), read
37
+ * structurally by the write-site extractor, and the same executor's
38
+ * `produces[].artifact` in EXECUTOR_REGISTRY (executors.ts), whose producer generator
39
+ * refuses any non-string-literal initializer. DECL-10 pins BOTH against this constant.
40
+ */
41
+ export declare const AUDIT_FRICTION_RUN_ID = "run";
29
42
  /**
30
43
  * Terminal friction-TRIAGE close-out for audit. Folded into the `present_report`
31
44
  * terminal step (not a separate executor) so it fires at exactly the right moment.
@@ -1 +1 @@
1
- {"version":3,"file":"nextStep.d.ts","sourceRoot":"","sources":["../../../src/audit/orchestrator/nextStep.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAI1E,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,UAAU,CAAC;IAClB,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;GAIG;AACH,eAAO,MAAM,8BAA8B,6BAA6B,CAAC;AAEzE,eAAO,MAAM,QAAQ,EAAE,MAAM,EAuC5B,CAAC;AAkCF,wBAAgB,cAAc,CAC5B,WAAW,EAAE,eAAe,EAAE,GAC7B,eAAe,GAAG,SAAS,CAE7B;AAED,oCAAoC;AACpC,MAAM,WAAW,qBAAqB;IACpC;;;;;OAKG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,wBAAgB,cAAc,CAC5B,MAAM,EAAE,cAAc,EACtB,OAAO,GAAE,qBAA0B,GAClC,gBAAgB,CAqClB;AAED;;;;;;GAMG;AACH,wBAAsB,2BAA2B,CAC/C,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,sBAAsB,CAAC,CAEjC"}
1
+ {"version":3,"file":"nextStep.d.ts","sourceRoot":"","sources":["../../../src/audit/orchestrator/nextStep.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAI1E,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,UAAU,CAAC;IAClB,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;GAIG;AACH,eAAO,MAAM,8BAA8B,6BAA6B,CAAC;AAEzE,eAAO,MAAM,QAAQ,EAAE,MAAM,EAuC5B,CAAC;AAkCF,wBAAgB,cAAc,CAC5B,WAAW,EAAE,eAAe,EAAE,GAC7B,eAAe,GAAG,SAAS,CAE7B;AAED,oCAAoC;AACpC,MAAM,WAAW,qBAAqB;IACpC;;;;;OAKG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,wBAAgB,cAAc,CAC5B,MAAM,EAAE,cAAc,EACtB,OAAO,GAAE,qBAA0B,GAClC,gBAAgB,CAqClB;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,qBAAqB,QAAQ,CAAC;AAE3C;;;;;;GAMG;AACH,wBAAsB,2BAA2B,CAC/C,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,sBAAsB,CAAC,CAEjC"}
@@ -110,6 +110,19 @@ export function decideNextStep(bundle, options = {}) {
110
110
  : `No executor found for obligation ${next.id}; EXECUTOR_REGISTRY has no entry for this obligation ID. This is a configuration gap — the obligation was selected but cannot be dispatched.`,
111
111
  };
112
112
  }
113
+ /**
114
+ * The audit friction record's own key. Audit keeps ONE friction record per artifacts
115
+ * dir — its step envelopes carry no per-run id — so the key is a fixed literal rather
116
+ * than a minted run id. Single-sourced here beside the close-out that reads it, so the
117
+ * capture seams, the close-out, the run-linkage writers, and the operator handoff's
118
+ * `friction_record` path cannot spell it differently. Two source sites still write the
119
+ * derived record path out as a literal, each because a mechanical reader requires one
120
+ * there: `friction_capture_executor`'s `artifacts_written` (executorRunners.ts), read
121
+ * structurally by the write-site extractor, and the same executor's
122
+ * `produces[].artifact` in EXECUTOR_REGISTRY (executors.ts), whose producer generator
123
+ * refuses any non-string-literal initializer. DECL-10 pins BOTH against this constant.
124
+ */
125
+ export const AUDIT_FRICTION_RUN_ID = "run";
113
126
  /**
114
127
  * Terminal friction-TRIAGE close-out for audit. Folded into the `present_report`
115
128
  * terminal step (not a separate executor) so it fires at exactly the right moment.
@@ -1 +1 @@
1
- {"version":3,"file":"nextStep.js","sourceRoot":"","sources":["../../../src/audit/orchestrator/nextStep.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nextStep.js","sourceRoot":"","sources":["../../../src/audit/orchestrator/nextStep.ts"],"names":[],"mappings":"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"}
@@ -24,8 +24,8 @@ export declare function buildRequeuePayload(matrix: CoverageMatrix, criticalFlow
24
24
  inputs?: Record<string, string> | undefined;
25
25
  line_ranges?: {
26
26
  path: string;
27
- start: number;
28
27
  end: number;
28
+ start: number;
29
29
  }[] | undefined;
30
30
  priority?: "high" | "low" | "medium" | undefined;
31
31
  risk_estimate?: number | undefined;
@@ -1,4 +1,35 @@
1
- export declare function runCommand(command: string[], cwd: string): Promise<{
1
+ /**
2
+ * The bounded wait every runtime-validation command runs under.
3
+ *
4
+ * Stated ONCE and exported so no call site writes its own number: a bound
5
+ * hard-coded per caller is how two callers end up disagreeing about how long
6
+ * "too long" is, and the drain's progress guarantee then depends on which one
7
+ * you happened to read. Generous, because a validation command is host-authored
8
+ * and may legitimately be a whole suite — what matters is that it is FINITE.
9
+ */
10
+ export declare const RUNTIME_COMMAND_TIMEOUT_MS: number;
11
+ /**
12
+ * Terminate a timed-out child, INCLUDING anything it spawned.
13
+ *
14
+ * On win32 this runner wraps package-manager shims in `cmd.exe /d /s /c` (see
15
+ * `resolveRuntimeValidationSpawnCommand`), so the process we hold a handle to is
16
+ * the shell, not the tool: `child.kill()` reaps the wrapper and leaves the npm →
17
+ * node grandchildren running, which is the orphan case the bound exists to
18
+ * prevent. `taskkill /T` walks the tree instead. Everywhere else the executable
19
+ * is spawned DIRECTLY — no wrapper, so no tree of our making — and the signal
20
+ * pair is the whole story. A command that itself forks a daemon on POSIX is
21
+ * beyond what this can promise without a process group, and is left stated
22
+ * rather than silently assumed.
23
+ *
24
+ * `platform` is a parameter so both branches are reachable from a test on either
25
+ * OS; the taskkill spawn failing (absent, denied) falls back to SIGKILL rather
26
+ * than leaving the child alive.
27
+ */
28
+ export declare function killRuntimeCommandTree(child: {
29
+ pid?: number;
30
+ kill: (signal?: NodeJS.Signals) => boolean;
31
+ }, platform?: NodeJS.Platform): void;
32
+ export declare function runCommand(command: string[], cwd: string, timeoutMs?: number): Promise<{
2
33
  status: "confirmed" | "not_confirmed" | "inconclusive";
3
34
  summary: string;
4
35
  evidence: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"runtimeCommand.d.ts","sourceRoot":"","sources":["../../../src/audit/orchestrator/runtimeCommand.ts"],"names":[],"mappings":"AAqBA,wBAAsB,UAAU,CAC9B,OAAO,EAAE,MAAM,EAAE,EACjB,GAAG,EAAE,MAAM,GACV,OAAO,CAAC;IACT,MAAM,EAAE,WAAW,GAAG,eAAe,GAAG,cAAc,CAAC;IACvD,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB,CAAC,CAuED;AAED,wBAAgB,oCAAoC,CAClD,OAAO,EAAE,MAAM,EAAE,EACjB,QAAQ,GAAE,MAAM,CAAC,QAA2B,EAC5C,YAAY,SAAmC,GAC9C;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,CAkDrC"}
1
+ {"version":3,"file":"runtimeCommand.d.ts","sourceRoot":"","sources":["../../../src/audit/orchestrator/runtimeCommand.ts"],"names":[],"mappings":"AAqBA;;;;;;;;GAQG;AACH,eAAO,MAAM,0BAA0B,QAAkB,CAAC;AAQ1D;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,OAAO,KAAK,OAAO,CAAA;CAAE,EACnE,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAC3C,IAAI,CAYN;AAED,wBAAsB,UAAU,CAC9B,OAAO,EAAE,MAAM,EAAE,EACjB,GAAG,EAAE,MAAM,EACX,SAAS,GAAE,MAAmC,GAC7C,OAAO,CAAC;IACT,MAAM,EAAE,WAAW,GAAG,eAAe,GAAG,cAAc,CAAC;IACvD,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB,CAAC,CA+GD;AAED,wBAAgB,oCAAoC,CAClD,OAAO,EAAE,MAAM,EAAE,EACjB,QAAQ,GAAE,MAAM,CAAC,QAA2B,EAC5C,YAAY,SAAmC,GAC9C;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,CAkDrC"}
@@ -13,7 +13,52 @@ import { quoteForShellInterpreterCmd, stripAuditToolsControlEnv, } from "audit-t
13
13
  // This strips the host-signaling env vars so a runtime-validation command sees a
14
14
  // clean environment — a suite that branches on CLAUDECODE would otherwise be graded
15
15
  // against the host's interactive-session state, marking healthy code "not_confirmed".
16
- export async function runCommand(command, cwd) {
16
+ /**
17
+ * The bounded wait every runtime-validation command runs under.
18
+ *
19
+ * Stated ONCE and exported so no call site writes its own number: a bound
20
+ * hard-coded per caller is how two callers end up disagreeing about how long
21
+ * "too long" is, and the drain's progress guarantee then depends on which one
22
+ * you happened to read. Generous, because a validation command is host-authored
23
+ * and may legitimately be a whole suite — what matters is that it is FINITE.
24
+ */
25
+ export const RUNTIME_COMMAND_TIMEOUT_MS = 10 * 60 * 1_000;
26
+ /**
27
+ * Grace between the polite stop and the unignorable one. SIGTERM is a request a
28
+ * child may ignore; without the escalation the "bound" would be advisory.
29
+ */
30
+ const KILL_ESCALATION_GRACE_MS = 2_000;
31
+ /**
32
+ * Terminate a timed-out child, INCLUDING anything it spawned.
33
+ *
34
+ * On win32 this runner wraps package-manager shims in `cmd.exe /d /s /c` (see
35
+ * `resolveRuntimeValidationSpawnCommand`), so the process we hold a handle to is
36
+ * the shell, not the tool: `child.kill()` reaps the wrapper and leaves the npm →
37
+ * node grandchildren running, which is the orphan case the bound exists to
38
+ * prevent. `taskkill /T` walks the tree instead. Everywhere else the executable
39
+ * is spawned DIRECTLY — no wrapper, so no tree of our making — and the signal
40
+ * pair is the whole story. A command that itself forks a daemon on POSIX is
41
+ * beyond what this can promise without a process group, and is left stated
42
+ * rather than silently assumed.
43
+ *
44
+ * `platform` is a parameter so both branches are reachable from a test on either
45
+ * OS; the taskkill spawn failing (absent, denied) falls back to SIGKILL rather
46
+ * than leaving the child alive.
47
+ */
48
+ export function killRuntimeCommandTree(child, platform = process.platform) {
49
+ if (platform === "win32" && child.pid !== undefined) {
50
+ const reaper = spawn("taskkill", ["/pid", String(child.pid), "/T", "/F"], {
51
+ stdio: "ignore",
52
+ windowsHide: true,
53
+ });
54
+ reaper.on("error", () => {
55
+ child.kill("SIGKILL");
56
+ });
57
+ return;
58
+ }
59
+ child.kill("SIGTERM");
60
+ }
61
+ export async function runCommand(command, cwd, timeoutMs = RUNTIME_COMMAND_TIMEOUT_MS) {
17
62
  // COR-4a8d9779: fast-fail before spawn so an empty command array produces a
18
63
  // descriptive error instead of an ENOENT from spawn("", ...).
19
64
  if (command.length === 0 || !command[0]) {
@@ -42,7 +87,38 @@ export async function runCommand(command, cwd) {
42
87
  });
43
88
  let exitCode = null;
44
89
  let exitSignal = null;
90
+ // Set when THIS runner's bound fired, so `close` can report a timeout rather
91
+ // than reporting the kill it caused as an ordinary signal death.
92
+ let timedOut = false;
93
+ let escalation = null;
94
+ const deadline = timeoutMs > 0
95
+ ? setTimeout(() => {
96
+ timedOut = true;
97
+ killRuntimeCommandTree(child);
98
+ // SIGTERM is a request; a child that installs a handler and ignores
99
+ // it would never emit `close`, and the bound would be a bound in
100
+ // name only. `unref` so a child that does exit promptly never holds
101
+ // the event loop open waiting for this.
102
+ escalation = setTimeout(() => {
103
+ child.kill("SIGKILL");
104
+ }, KILL_ESCALATION_GRACE_MS);
105
+ escalation.unref?.();
106
+ }, timeoutMs)
107
+ : null;
108
+ /**
109
+ * Clear BOTH timers on every resolution path. A deadline left armed after an
110
+ * early exit is a leaked handle that can hold the process open past the work
111
+ * it was watching — the reason this is one function rather than a line
112
+ * repeated in each branch.
113
+ */
114
+ const clearTimers = () => {
115
+ if (deadline)
116
+ clearTimeout(deadline);
117
+ if (escalation)
118
+ clearTimeout(escalation);
119
+ };
45
120
  child.on("error", (error) => {
121
+ clearTimers();
46
122
  const output = `${stdout}\n${stderr}`.trim();
47
123
  const lines = output.length > 0 ? output.split(/\r?\n/) : [];
48
124
  const truncated = lines.length > 10;
@@ -60,15 +136,26 @@ export async function runCommand(command, cwd) {
60
136
  exitSignal = signal;
61
137
  });
62
138
  child.on("close", () => {
139
+ clearTimers();
63
140
  const output = `${stdout}\n${stderr}`.trim();
64
141
  const lines = output.length > 0 ? output.split(/\r?\n/) : [];
65
142
  const truncated = lines.length > 10;
66
143
  const evidence = truncated
67
144
  ? [`[... truncated: showing last 10 of ${lines.length} lines ...]`, ...lines.slice(-10)]
68
145
  : lines;
69
- const succeeded = exitCode === 0;
146
+ const succeeded = exitCode === 0 && !timedOut;
70
147
  let summary;
71
- if (succeeded) {
148
+ if (timedOut) {
149
+ // NAMED as a timeout, ahead of the exit-code branches: the child died of
150
+ // the kill this runner sent, so its code/signal describe our own bound,
151
+ // not the command's verdict. Reporting "terminated by SIGKILL" here
152
+ // would attribute the runner's action to the code under validation, and
153
+ // a caller triaging the failure could not tell a hang from a crash.
154
+ summary =
155
+ `Deterministic runtime command timed out after ${String(timeoutMs)}ms and was killed: ` +
156
+ `${displayCommand}`;
157
+ }
158
+ else if (succeeded) {
72
159
  summary = `Deterministic runtime command succeeded: ${displayCommand}`;
73
160
  }
74
161
  else if (exitCode !== null) {
@@ -1 +1 @@
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,iFAAiF;AACjF,oFAAoF;AACpF,sFAAsF;AAEtF,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,OAAiB,EACjB,GAAW;IAMX,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,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;YAChC,MAAM,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;YAChC,MAAM,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;QACH,IAAI,QAAQ,GAAkB,IAAI,CAAC;QACnC,IAAI,UAAU,GAA0B,IAAI,CAAC;QAC7C,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YAC1B,MAAM,MAAM,GAAG,GAAG,MAAM,KAAK,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC;YAC7C,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7D,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC;YACpC,MAAM,QAAQ,GAAG,SAAS;gBACxB,CAAC,CAAC,CAAC,sCAAsC,KAAK,CAAC,MAAM,aAAa,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;gBACxF,CAAC,CAAC,KAAK,CAAC;YACV,OAAO,CAAC;gBACN,MAAM,EAAE,cAAc;gBACtB,OAAO,EAAE,qBAAqB,cAAc,KAAK,KAAK,CAAC,OAAO,EAAE;gBAChE,QAAQ;aACT,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,MAAM,MAAM,GAAG,GAAG,MAAM,KAAK,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC;YAC7C,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7D,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC;YACpC,MAAM,QAAQ,GAAG,SAAS;gBACxB,CAAC,CAAC,CAAC,sCAAsC,KAAK,CAAC,MAAM,aAAa,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;gBACxF,CAAC,CAAC,KAAK,CAAC;YACV,MAAM,SAAS,GAAG,QAAQ,KAAK,CAAC,CAAC;YACjC,IAAI,OAAe,CAAC;YACpB,IAAI,SAAS,EAAE,CAAC;gBACd,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"}
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,iFAAiF;AACjF,oFAAoF;AACpF,sFAAsF;AAEtF;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC;AAE1D;;;GAGG;AACH,MAAM,wBAAwB,GAAG,KAAK,CAAC;AAEvC;;;;;;;;;;;;;;;;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,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;YAChC,MAAM,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;YAChC,MAAM,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;QAC1B,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,MAAM,MAAM,GAAG,GAAG,MAAM,KAAK,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC;YAC7C,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7D,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC;YACpC,MAAM,QAAQ,GAAG,SAAS;gBACxB,CAAC,CAAC,CAAC,sCAAsC,KAAK,CAAC,MAAM,aAAa,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;gBACxF,CAAC,CAAC,KAAK,CAAC;YACV,OAAO,CAAC;gBACN,MAAM,EAAE,cAAc;gBACtB,OAAO,EAAE,qBAAqB,cAAc,KAAK,KAAK,CAAC,OAAO,EAAE;gBAChE,QAAQ;aACT,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,MAAM,GAAG,GAAG,MAAM,KAAK,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC;YAC7C,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7D,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC;YACpC,MAAM,QAAQ,GAAG,SAAS;gBACxB,CAAC,CAAC,CAAC,sCAAsC,KAAK,CAAC,MAAM,aAAa,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;gBACxF,CAAC,CAAC,KAAK,CAAC;YACV,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"}
@@ -54,7 +54,7 @@ export async function runStructureExecutor(bundle, root) {
54
54
  // co_change bucket as defense-in-depth).
55
55
  const graphSignals = deriveGraphSignals(graphBundle);
56
56
  const baseRiskRegister = buildRiskRegister(unitManifest, criticalFlows, externalAnalyzerResults, graphSignals);
57
- // F6 — git-history mining. A deterministic, language-neutral extraction source
57
+ // Git-history mining. A deterministic, language-neutral extraction source
58
58
  // (degrades to empty without a root / git): co-change coupling the dependency
59
59
  // graph misses, churn + authorship-breadth risk signals, and the churn ×
60
60
  // complexity compound (the real risk concentration). Merged through the shared
@@ -1 +1 @@
1
- {"version":3,"file":"structureExecutors.js","sourceRoot":"","sources":["../../../src/audit/orchestrator/structureExecutors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"structureExecutors.js","sourceRoot":"","sources":["../../../src/audit/orchestrator/structureExecutors.ts"],"names":[],"mappings":"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"}