audit-tools 0.42.0 → 0.43.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (261) hide show
  1. package/dispatch/merge-results.mjs +229 -140
  2. package/dispatch/validate-result.mjs +98 -40
  3. package/dist/audit/cli/conceptualDispatch.d.ts.map +1 -1
  4. package/dist/audit/cli/conceptualDispatch.js +35 -3
  5. package/dist/audit/cli/conceptualDispatch.js.map +1 -1
  6. package/dist/audit/cli/dispatch/hostHandoff.d.ts +9 -1
  7. package/dist/audit/cli/dispatch/hostHandoff.d.ts.map +1 -1
  8. package/dist/audit/cli/dispatch/hostHandoff.js +94 -38
  9. package/dist/audit/cli/dispatch/hostHandoff.js.map +1 -1
  10. package/dist/audit/cli/nextStepCommand.d.ts +64 -0
  11. package/dist/audit/cli/nextStepCommand.d.ts.map +1 -1
  12. package/dist/audit/cli/nextStepCommand.js +877 -783
  13. package/dist/audit/cli/nextStepCommand.js.map +1 -1
  14. package/dist/audit/cli/nextStepHelpers.d.ts +12 -0
  15. package/dist/audit/cli/nextStepHelpers.d.ts.map +1 -1
  16. package/dist/audit/cli/nextStepHelpers.js +34 -1
  17. package/dist/audit/cli/nextStepHelpers.js.map +1 -1
  18. package/dist/audit/cli/steps.d.ts +2 -2
  19. package/dist/audit/extractors/graph.d.ts +28 -2
  20. package/dist/audit/extractors/graph.d.ts.map +1 -1
  21. package/dist/audit/extractors/graph.js +122 -11
  22. package/dist/audit/extractors/graph.js.map +1 -1
  23. package/dist/audit/extractors/graphRoutes.d.ts +8 -0
  24. package/dist/audit/extractors/graphRoutes.d.ts.map +1 -1
  25. package/dist/audit/extractors/graphRoutes.js +71 -4
  26. package/dist/audit/extractors/graphRoutes.js.map +1 -1
  27. package/dist/audit/io/artifacts.d.ts +55 -0
  28. package/dist/audit/io/artifacts.d.ts.map +1 -1
  29. package/dist/audit/io/artifacts.js +189 -12
  30. package/dist/audit/io/artifacts.js.map +1 -1
  31. package/dist/audit/io/toolingManifest.d.ts +11 -0
  32. package/dist/audit/io/toolingManifest.d.ts.map +1 -1
  33. package/dist/audit/io/toolingManifest.js +13 -3
  34. package/dist/audit/io/toolingManifest.js.map +1 -1
  35. package/dist/audit/orchestrator/advance.d.ts +64 -0
  36. package/dist/audit/orchestrator/advance.d.ts.map +1 -1
  37. package/dist/audit/orchestrator/advance.js +191 -57
  38. package/dist/audit/orchestrator/advance.js.map +1 -1
  39. package/dist/audit/orchestrator/charterClarificationExecutor.d.ts.map +1 -1
  40. package/dist/audit/orchestrator/charterClarificationExecutor.js +55 -21
  41. package/dist/audit/orchestrator/charterClarificationExecutor.js.map +1 -1
  42. package/dist/audit/orchestrator/flowCoverage.d.ts.map +1 -1
  43. package/dist/audit/orchestrator/flowCoverage.js +7 -10
  44. package/dist/audit/orchestrator/flowCoverage.js.map +1 -1
  45. package/dist/audit/orchestrator/flowPlanning.d.ts +54 -1
  46. package/dist/audit/orchestrator/flowPlanning.d.ts.map +1 -1
  47. package/dist/audit/orchestrator/flowPlanning.js +77 -18
  48. package/dist/audit/orchestrator/flowPlanning.js.map +1 -1
  49. package/dist/audit/orchestrator/flowRequeue.d.ts.map +1 -1
  50. package/dist/audit/orchestrator/flowRequeue.js +6 -10
  51. package/dist/audit/orchestrator/flowRequeue.js.map +1 -1
  52. package/dist/audit/orchestrator/partitionTaskGraph.d.ts.map +1 -1
  53. package/dist/audit/orchestrator/partitionTaskGraph.js +2 -2
  54. package/dist/audit/orchestrator/partitionTaskGraph.js.map +1 -1
  55. package/dist/audit/orchestrator/requeueFold.d.ts.map +1 -1
  56. package/dist/audit/orchestrator/requeueFold.js +18 -5
  57. package/dist/audit/orchestrator/requeueFold.js.map +1 -1
  58. package/dist/audit/orchestrator/staleness.d.ts +24 -1
  59. package/dist/audit/orchestrator/staleness.d.ts.map +1 -1
  60. package/dist/audit/orchestrator/staleness.js +147 -16
  61. package/dist/audit/orchestrator/staleness.js.map +1 -1
  62. package/dist/audit/orchestrator/syntaxResolutionExecutor.d.ts +26 -0
  63. package/dist/audit/orchestrator/syntaxResolutionExecutor.d.ts.map +1 -1
  64. package/dist/audit/orchestrator/syntaxResolutionExecutor.js +97 -12
  65. package/dist/audit/orchestrator/syntaxResolutionExecutor.js.map +1 -1
  66. package/dist/audit/orchestrator/taskBuilder.d.ts.map +1 -1
  67. package/dist/audit/orchestrator/taskBuilder.js +111 -21
  68. package/dist/audit/orchestrator/taskBuilder.js.map +1 -1
  69. package/dist/audit/orchestrator/trivialAudit.d.ts +17 -1
  70. package/dist/audit/orchestrator/trivialAudit.d.ts.map +1 -1
  71. package/dist/audit/orchestrator/trivialAudit.js +31 -4
  72. package/dist/audit/orchestrator/trivialAudit.js.map +1 -1
  73. package/dist/audit/reporting/synthesis.d.ts.map +1 -1
  74. package/dist/audit/reporting/synthesis.js +2 -3
  75. package/dist/audit/reporting/synthesis.js.map +1 -1
  76. package/dist/audit/reporting/workBlocks.d.ts.map +1 -1
  77. package/dist/audit/reporting/workBlocks.js +4 -38
  78. package/dist/audit/reporting/workBlocks.js.map +1 -1
  79. package/dist/audit/types/analyzerCapability.d.ts +6 -6
  80. package/dist/audit/types/charterRegister.d.ts +30 -12
  81. package/dist/audit/types/charterRegister.d.ts.map +1 -1
  82. package/dist/audit/types/charterRegister.js +22 -9
  83. package/dist/audit/types/charterRegister.js.map +1 -1
  84. package/dist/audit/validation/anchorGrounding.d.ts.map +1 -1
  85. package/dist/audit/validation/anchorGrounding.js +17 -0
  86. package/dist/audit/validation/anchorGrounding.js.map +1 -1
  87. package/dist/audit/validation/auditResults.d.ts +17 -0
  88. package/dist/audit/validation/auditResults.d.ts.map +1 -1
  89. package/dist/audit/validation/auditResults.js +50 -17
  90. package/dist/audit/validation/auditResults.js.map +1 -1
  91. package/dist/remediate/contractPipeline/cyclicSeamResolution.d.ts +48 -0
  92. package/dist/remediate/contractPipeline/cyclicSeamResolution.d.ts.map +1 -1
  93. package/dist/remediate/contractPipeline/cyclicSeamResolution.js +128 -0
  94. package/dist/remediate/contractPipeline/cyclicSeamResolution.js.map +1 -1
  95. package/dist/remediate/contractPipeline/derive.d.ts +8 -5
  96. package/dist/remediate/contractPipeline/derive.d.ts.map +1 -1
  97. package/dist/remediate/contractPipeline/derive.js +8 -16
  98. package/dist/remediate/contractPipeline/derive.js.map +1 -1
  99. package/dist/remediate/index.d.ts.map +1 -1
  100. package/dist/remediate/index.js +43 -2
  101. package/dist/remediate/index.js.map +1 -1
  102. package/dist/remediate/intent/intentOrdering.d.ts +13 -5
  103. package/dist/remediate/intent/intentOrdering.d.ts.map +1 -1
  104. package/dist/remediate/intent/intentOrdering.js +56 -25
  105. package/dist/remediate/intent/intentOrdering.js.map +1 -1
  106. package/dist/remediate/phases/close.d.ts +57 -2
  107. package/dist/remediate/phases/close.d.ts.map +1 -1
  108. package/dist/remediate/phases/close.js +260 -36
  109. package/dist/remediate/phases/close.js.map +1 -1
  110. package/dist/remediate/state/disposition.d.ts +26 -4
  111. package/dist/remediate/state/disposition.d.ts.map +1 -1
  112. package/dist/remediate/state/itemStatus.d.ts +33 -6
  113. package/dist/remediate/state/itemStatus.d.ts.map +1 -1
  114. package/dist/remediate/state/itemStatus.js +154 -39
  115. package/dist/remediate/state/itemStatus.js.map +1 -1
  116. package/dist/remediate/state/types.d.ts +41 -2
  117. package/dist/remediate/state/types.d.ts.map +1 -1
  118. package/dist/remediate/state/types.js.map +1 -1
  119. package/dist/remediate/steps/contractPipeline.d.ts +287 -15
  120. package/dist/remediate/steps/contractPipeline.d.ts.map +1 -1
  121. package/dist/remediate/steps/contractPipeline.js +1664 -987
  122. package/dist/remediate/steps/contractPipeline.js.map +1 -1
  123. package/dist/remediate/steps/contractPipelinePrompts.js +1 -1
  124. package/dist/remediate/steps/contractPipelinePrompts.js.map +1 -1
  125. package/dist/remediate/steps/dispatch/hostHandoff.d.ts +137 -2
  126. package/dist/remediate/steps/dispatch/hostHandoff.d.ts.map +1 -1
  127. package/dist/remediate/steps/dispatch/hostHandoff.js +713 -59
  128. package/dist/remediate/steps/dispatch/hostHandoff.js.map +1 -1
  129. package/dist/remediate/steps/finalGate.d.ts +136 -37
  130. package/dist/remediate/steps/finalGate.d.ts.map +1 -1
  131. package/dist/remediate/steps/finalGate.js +120 -86
  132. package/dist/remediate/steps/finalGate.js.map +1 -1
  133. package/dist/remediate/steps/gateCommands.d.ts +8 -0
  134. package/dist/remediate/steps/gateCommands.d.ts.map +1 -1
  135. package/dist/remediate/steps/gateCommands.js +40 -11
  136. package/dist/remediate/steps/gateCommands.js.map +1 -1
  137. package/dist/remediate/steps/nextStep.d.ts +96 -5
  138. package/dist/remediate/steps/nextStep.d.ts.map +1 -1
  139. package/dist/remediate/steps/nextStep.js +668 -147
  140. package/dist/remediate/steps/nextStep.js.map +1 -1
  141. package/dist/remediate/steps/types.d.ts +4 -1
  142. package/dist/remediate/steps/types.d.ts.map +1 -1
  143. package/dist/remediate/steps/types.js +10 -0
  144. package/dist/remediate/steps/types.js.map +1 -1
  145. package/dist/remediate/validation/artifacts.d.ts +20 -0
  146. package/dist/remediate/validation/artifacts.d.ts.map +1 -1
  147. package/dist/remediate/validation/artifacts.js +239 -13
  148. package/dist/remediate/validation/artifacts.js.map +1 -1
  149. package/dist/remediate/validation/contractPipelineGates.d.ts +58 -0
  150. package/dist/remediate/validation/contractPipelineGates.d.ts.map +1 -1
  151. package/dist/remediate/validation/contractPipelineGates.js +167 -43
  152. package/dist/remediate/validation/contractPipelineGates.js.map +1 -1
  153. package/dist/shared/analyzers/acquisitionEngine.d.ts +72 -25
  154. package/dist/shared/analyzers/acquisitionEngine.d.ts.map +1 -1
  155. package/dist/shared/analyzers/acquisitionEngine.js +149 -15
  156. package/dist/shared/analyzers/acquisitionEngine.js.map +1 -1
  157. package/dist/shared/analyzers/binaryAcquisition.d.ts +27 -2
  158. package/dist/shared/analyzers/binaryAcquisition.d.ts.map +1 -1
  159. package/dist/shared/analyzers/binaryAcquisition.js +149 -43
  160. package/dist/shared/analyzers/binaryAcquisition.js.map +1 -1
  161. package/dist/shared/analyzers/candidates.d.ts +9 -8
  162. package/dist/shared/analyzers/candidates.d.ts.map +1 -1
  163. package/dist/shared/analyzers/candidates.js +96 -64
  164. package/dist/shared/analyzers/candidates.js.map +1 -1
  165. package/dist/shared/analyzers/normalizeExternal.d.ts +40 -12
  166. package/dist/shared/analyzers/normalizeExternal.d.ts.map +1 -1
  167. package/dist/shared/analyzers/normalizeExternal.js +74 -18
  168. package/dist/shared/analyzers/normalizeExternal.js.map +1 -1
  169. package/dist/shared/analyzers/rubocop.d.ts +14 -13
  170. package/dist/shared/analyzers/rubocop.d.ts.map +1 -1
  171. package/dist/shared/analyzers/rubocop.js +29 -6
  172. package/dist/shared/analyzers/rubocop.js.map +1 -1
  173. package/dist/shared/analyzers/types.d.ts +196 -13
  174. package/dist/shared/analyzers/types.d.ts.map +1 -1
  175. package/dist/shared/analyzers/types.js +122 -9
  176. package/dist/shared/analyzers/types.js.map +1 -1
  177. package/dist/shared/decompose/charterClarification.d.ts +12 -1
  178. package/dist/shared/decompose/charterClarification.d.ts.map +1 -1
  179. package/dist/shared/decompose/charterClarification.js +11 -4
  180. package/dist/shared/decompose/charterClarification.js.map +1 -1
  181. package/dist/shared/decompose/charterExtraction.d.ts +20 -10
  182. package/dist/shared/decompose/charterExtraction.d.ts.map +1 -1
  183. package/dist/shared/decompose/charterExtraction.js +52 -23
  184. package/dist/shared/decompose/charterExtraction.js.map +1 -1
  185. package/dist/shared/decompose/contentCoherence.d.ts +43 -2
  186. package/dist/shared/decompose/contentCoherence.d.ts.map +1 -1
  187. package/dist/shared/decompose/contentCoherence.js +109 -5
  188. package/dist/shared/decompose/contentCoherence.js.map +1 -1
  189. package/dist/shared/decompose/modularity.d.ts +17 -0
  190. package/dist/shared/decompose/modularity.d.ts.map +1 -1
  191. package/dist/shared/decompose/modularity.js +78 -3
  192. package/dist/shared/decompose/modularity.js.map +1 -1
  193. package/dist/shared/decompose/workBlockSeams.d.ts +45 -0
  194. package/dist/shared/decompose/workBlockSeams.d.ts.map +1 -0
  195. package/dist/shared/decompose/workBlockSeams.js +82 -0
  196. package/dist/shared/decompose/workBlockSeams.js.map +1 -0
  197. package/dist/shared/index.d.ts +4 -3
  198. package/dist/shared/index.d.ts.map +1 -1
  199. package/dist/shared/index.js +4 -2
  200. package/dist/shared/index.js.map +1 -1
  201. package/dist/shared/intent/freeFormIntentInterpreter.d.ts +12 -2
  202. package/dist/shared/intent/freeFormIntentInterpreter.d.ts.map +1 -1
  203. package/dist/shared/intent/freeFormIntentInterpreter.js +27 -22
  204. package/dist/shared/intent/freeFormIntentInterpreter.js.map +1 -1
  205. package/dist/shared/intent/pathScope.d.ts +12 -1
  206. package/dist/shared/intent/pathScope.d.ts.map +1 -1
  207. package/dist/shared/intent/pathScope.js +56 -19
  208. package/dist/shared/intent/pathScope.js.map +1 -1
  209. package/dist/shared/intent/sharedIntentData.d.ts +19 -1
  210. package/dist/shared/intent/sharedIntentData.d.ts.map +1 -1
  211. package/dist/shared/intent/sharedIntentData.js +33 -8
  212. package/dist/shared/intent/sharedIntentData.js.map +1 -1
  213. package/dist/shared/io/fileLock.d.ts +12 -0
  214. package/dist/shared/io/fileLock.d.ts.map +1 -1
  215. package/dist/shared/io/fileLock.js +48 -5
  216. package/dist/shared/io/fileLock.js.map +1 -1
  217. package/dist/shared/io/json.d.ts +13 -0
  218. package/dist/shared/io/json.d.ts.map +1 -1
  219. package/dist/shared/io/json.js +19 -1
  220. package/dist/shared/io/json.js.map +1 -1
  221. package/dist/shared/reporting/auditDeliverable.d.ts.map +1 -1
  222. package/dist/shared/reporting/auditDeliverable.js +8 -3
  223. package/dist/shared/reporting/auditDeliverable.js.map +1 -1
  224. package/dist/shared/steps/stepEmissionScaffold.d.ts +69 -0
  225. package/dist/shared/steps/stepEmissionScaffold.d.ts.map +1 -0
  226. package/dist/shared/steps/stepEmissionScaffold.js +83 -0
  227. package/dist/shared/steps/stepEmissionScaffold.js.map +1 -0
  228. package/dist/shared/submission/handRecovery.d.ts.map +1 -1
  229. package/dist/shared/submission/handRecovery.js +69 -4
  230. package/dist/shared/submission/handRecovery.js.map +1 -1
  231. package/dist/shared/submission/submissionIdentity.d.ts +10 -1
  232. package/dist/shared/submission/submissionIdentity.d.ts.map +1 -1
  233. package/dist/shared/submission/submissionIdentity.js +12 -3
  234. package/dist/shared/submission/submissionIdentity.js.map +1 -1
  235. package/dist/shared/submission/submissionLedger.d.ts +43 -2
  236. package/dist/shared/submission/submissionLedger.d.ts.map +1 -1
  237. package/dist/shared/submission/submissionLedger.js +50 -7
  238. package/dist/shared/submission/submissionLedger.js.map +1 -1
  239. package/dist/shared/tooling/allowlistedExec.d.ts +9 -0
  240. package/dist/shared/tooling/allowlistedExec.d.ts.map +1 -1
  241. package/dist/shared/tooling/allowlistedExec.js +19 -2
  242. package/dist/shared/tooling/allowlistedExec.js.map +1 -1
  243. package/dist/shared/types/charter.d.ts +24 -0
  244. package/dist/shared/types/charter.d.ts.map +1 -1
  245. package/dist/shared/types/charter.js +9 -0
  246. package/dist/shared/types/charter.js.map +1 -1
  247. package/dist/shared/types/finding.d.ts +105 -53
  248. package/dist/shared/types/finding.d.ts.map +1 -1
  249. package/dist/shared/types/finding.js +38 -11
  250. package/dist/shared/types/finding.js.map +1 -1
  251. package/dist/shared/types/remediationOutcome.d.ts +282 -9
  252. package/dist/shared/types/remediationOutcome.d.ts.map +1 -1
  253. package/dist/shared/types/remediationOutcome.js +174 -1
  254. package/dist/shared/types/remediationOutcome.js.map +1 -1
  255. package/dist/shared/validation/findingsReport.d.ts.map +1 -1
  256. package/dist/shared/validation/findingsReport.js +19 -1
  257. package/dist/shared/validation/findingsReport.js.map +1 -1
  258. package/package.json +2 -1
  259. package/remediate-code.mjs +15 -0
  260. package/wrapper/remediate-code-wrapper-install-hosts.mjs +45 -4
  261. package/wrapper/remediate-code-wrapper-install-renderers.mjs +12 -2
@@ -1,13 +1,18 @@
1
1
  import { existsSync } from "node:fs";
2
2
  import { readdir } from "node:fs/promises";
3
- import { join } from "node:path";
4
- import { readJsonFile } from "audit-tools/shared";
3
+ import { basename, dirname, isAbsolute, join, relative, resolve } from "node:path";
4
+ import { absoluteSubmissionPath, readJsonFile, readSubmissionLedger, } from "audit-tools/shared";
5
5
  import { verificationReportPath } from "../../shared/io/auditToolsPaths.js";
6
6
  import { StateStore } from "../state/store.js";
7
+ import { isInProgressStatus } from "../state/itemStatus.js";
7
8
  import { validateClarificationRequest, validateItemSpec, validateRemediationPlan, validateTriageResolution, } from "./remediationState.js";
8
9
  import { formatValidationIssues, isRecord, pushValidationIssue, } from "audit-tools/shared";
9
- import { REMEDIATION_CLOSING_RESULT_CONTRACT_VERSION, REMEDIATION_DISPATCH_PLAN_CONTRACT_VERSION, REMEDIATION_STEP_CONTRACT_VERSION, REMEDIATION_WORKER_RESULT_CONTRACT_VERSION, } from "../steps/types.js";
10
- import { CONTRACT_PIPELINE_VALIDATORS, validateVerificationReport, evaluateContractPipelineCrossGates, } from "./contractPipeline.js";
10
+ import { REMEDIATION_CLOSING_RESULT_CONTRACT_VERSION, REMEDIATION_DISPATCH_PLAN_CONTRACT_VERSION, REMEDIATION_HOST_DECISION_CONTRACT_VERSION, REMEDIATION_HOST_RESULT_CONTRACT_VERSION, REMEDIATION_STEP_CONTRACT_VERSION, REMEDIATION_WORKER_RESULT_CONTRACT_VERSION, } from "../steps/types.js";
11
+ import { CONTRACT_PIPELINE_VALIDATORS, validateVerificationReport, } from "./contractPipeline.js";
12
+ // The OUTCOMES variant, imported from the gate module directly (the same import
13
+ // the next-step gates use): it reports which gates actually ran, so an empty
14
+ // issues array from a gate whose input was absent is not read as proof-of-clean.
15
+ import { evaluateContractPipelineCrossGateOutcomes } from "./contractPipelineGates.js";
11
16
  import { CP_ARTIFACT_NAMES, contractPipelineDir, } from "../contractPipeline/artifactStore.js";
12
17
  import { intakePaths } from "../intake.js";
13
18
  /**
@@ -243,6 +248,207 @@ async function validateDispatchArtifacts(artifactsDir, issues) {
243
248
  }
244
249
  }
245
250
  }
251
+ /**
252
+ * The ONE filename rule a host submission lands under: the sha256 of the
253
+ * submission id. This is the join the discovery scan needs.
254
+ *
255
+ * It exists BESIDE the `dispatch-plan.json` / `*.result.json` filters in
256
+ * `validateDispatchArtifacts` above, which are still wired and still run on
257
+ * every call — they are not a previous version of this scan. No production
258
+ * module writes either of those filenames, so that family matches zero files on
259
+ * every live run and can only ever report nothing; deleting it is tracked as
260
+ * backlog work and deliberately not done here.
261
+ */
262
+ const HOST_SUBMISSION_FILENAME = /^[0-9a-f]{64}\.json$/u;
263
+ /** OS-agnostic identity for two absolute paths derived in the same process. */
264
+ function pathKey(path) {
265
+ return resolve(path).replaceAll("\\", "/");
266
+ }
267
+ /**
268
+ * The run id owning a file beneath `runs/` — its first path segment, which is
269
+ * the run directory the boundary mints. Undefined for anything not actually
270
+ * under `runs/`, so a caller filtering on it excludes rather than guesses.
271
+ */
272
+ function runDirectoryOf(runsDir, file) {
273
+ const rel = relative(resolve(runsDir), resolve(file));
274
+ if (rel.length === 0 || isAbsolute(rel) || rel.startsWith("..")) {
275
+ return undefined;
276
+ }
277
+ return rel.split(/[\\/]/u)[0];
278
+ }
279
+ function validateHostSubmission(value, path) {
280
+ const issues = [];
281
+ if (!isRecord(value)) {
282
+ pushValidationIssue(issues, path, `${path} host submission must be an object.`);
283
+ return issues;
284
+ }
285
+ const version = value.contract_version;
286
+ const isDecision = version === REMEDIATION_HOST_DECISION_CONTRACT_VERSION;
287
+ if (version !== REMEDIATION_HOST_RESULT_CONTRACT_VERSION && !isDecision) {
288
+ pushValidationIssue(issues, `${path}.contract_version`, `${path} host submission has unsupported contract_version.`);
289
+ return issues;
290
+ }
291
+ for (const key of ["result_id", "run_id", "work_item_id", "prompt_sha256"]) {
292
+ if (typeof value[key] !== "string" || value[key].length === 0) {
293
+ pushValidationIssue(issues, `${path}.${key}`, `${path}.${key} must be a non-empty string.`);
294
+ }
295
+ }
296
+ if (isDecision) {
297
+ if (!isRecord(value.outcome) || typeof value.outcome.status !== "string") {
298
+ pushValidationIssue(issues, `${path}.outcome`, `${path}.outcome must be an object carrying a status string.`);
299
+ }
300
+ return issues;
301
+ }
302
+ validateStringArray(value.changed_files, `${path}.changed_files`, issues);
303
+ if (Array.isArray(value.changed_files) && value.changed_files.length === 0) {
304
+ pushValidationIssue(issues, `${path}.changed_files`, `${path}.changed_files must be non-empty for a landed result.`);
305
+ }
306
+ for (const key of ["commit_evidence", "worktree_evidence", "acceptance", "merge"]) {
307
+ if (!isRecord(value[key])) {
308
+ pushValidationIssue(issues, `${path}.${key}`, `${path}.${key} must be an object.`);
309
+ }
310
+ }
311
+ if (!Array.isArray(value.test_evidence)) {
312
+ pushValidationIssue(issues, `${path}.test_evidence`, `${path}.test_evidence must be an array.`);
313
+ }
314
+ return issues;
315
+ }
316
+ /**
317
+ * Work-item (block) ids this run has ALREADY recorded a submission for, read
318
+ * from the records the acceptance path persists — never from the live workload,
319
+ * which is rewritten frontier-by-frontier and therefore remembers nothing.
320
+ *
321
+ * Two sources, both artifactsDir-scoped:
322
+ * - state.json item records, via `!isInProgressStatus`.
323
+ * - the submission ledger, whose events name the submission they accepted.
324
+ *
325
+ * `!isInProgressStatus` DELIBERATELY OVER-APPROXIMATES. It is not "a submission
326
+ * was ingested for this block" — `ignored`, `deemed_inappropriate` and
327
+ * `abandoned` are all reachable with no submission at all (the planning review
328
+ * gate's batched decline; the force-close backstop). The over-approximation is
329
+ * the point, in both directions: it errs toward never flagging accepted-or-
330
+ * adjacent work, and it is also what keeps a `blocked` or `needs_clarification`
331
+ * item's DECISION document — a real host submission that resolved nothing — from
332
+ * being reported as stale. The cost of admitting a block that never submitted is
333
+ * one path that matches no file on disk; the cost of missing one is a false
334
+ * "stale" against real work, so the bias is chosen, not accidental.
335
+ *
336
+ * A malformed or absent ledger contributes nothing rather than failing the scan:
337
+ * this set only ever WIDENS what counts as referenced, so an empty answer is the
338
+ * strict one.
339
+ */
340
+ async function recordedSubmissionIds(artifactsDir, state) {
341
+ const recorded = new Set();
342
+ for (const item of Object.values(state?.items ?? {})) {
343
+ if (item.block_id && !isInProgressStatus(item.status)) {
344
+ recorded.add(item.block_id);
345
+ }
346
+ }
347
+ try {
348
+ for (const event of await readSubmissionLedger(artifactsDir)) {
349
+ if (event.submission_id)
350
+ recorded.add(event.submission_id);
351
+ }
352
+ }
353
+ catch {
354
+ // See above: an unreadable ledger narrows the set, never breaks the scan.
355
+ }
356
+ return recorded;
357
+ }
358
+ /**
359
+ * Scan the dispatch/result surface: the host workloads the boundary writes and
360
+ * the submissions it reads back, joined on the filenames the tool actually
361
+ * mints. Returns what it examined, so a caller can tell a clean run from an
362
+ * unscanned one.
363
+ *
364
+ * The join is the live frontier UNION THE RUN'S RECORDED HISTORY. `prepare`
365
+ * REWRITES host-workload.json with the current dependency frontier alone, and an
366
+ * accepted block leaves that frontier — so a join against the live workload by
367
+ * itself reported every accepted submission of the run as stale, which is the
368
+ * whole result surface of any run that got past its first level. Recorded
369
+ * submissions are re-minted through the SAME shared identity rule the boundary
370
+ * writes with, so this is the producer's join, not a second copy of it.
371
+ *
372
+ * Scoped to ONE run. `runs/` accumulates: nothing deletes a finished run's
373
+ * directory, and the records a stale check joins against — state.json, the
374
+ * ledger — describe the CURRENT run only. Scanning every run directory therefore
375
+ * reported the previous run's accepted submissions as stale from run 2 onward,
376
+ * permanently. A run directory that is not this run's is skipped whole: its
377
+ * result surface was validated while it WAS the current run, and this call has
378
+ * nothing left to say about it.
379
+ */
380
+ async function validateHostSubmissions(artifactsDir, root, issues,
381
+ /**
382
+ * Work-item ids the persisted records say this run already has a submission
383
+ * for — see {@link recordedSubmissionIds}. Empty when there is no state and no
384
+ * ledger, which leaves the join exactly as strict as the live workload alone.
385
+ */
386
+ recordedIds,
387
+ /**
388
+ * The run whose directory is in scope — the plan id, which IS the host run id
389
+ * (`stateRunId`). Undefined when there is no persisted plan to name a current
390
+ * run, and then every run directory is scanned, exactly as before.
391
+ */
392
+ currentRunId) {
393
+ const runsDir = join(artifactsDir, "runs");
394
+ const files = (await collectFiles(runsDir)).filter((file) => currentRunId === undefined ||
395
+ runDirectoryOf(runsDir, file) === currentRunId);
396
+ const submissions = files.filter((file) => HOST_SUBMISSION_FILENAME.test(basename(file)));
397
+ const bound = new Set();
398
+ const submissionDirs = new Set();
399
+ for (const file of files.filter((candidate) => basename(candidate) === "host-workload.json")) {
400
+ const workload = await readJsonForValidation(file, issues);
401
+ if (workload === undefined)
402
+ continue;
403
+ if (!isRecord(workload) || !Array.isArray(workload.work_items)) {
404
+ issues.push(`${file} is not a host workload with a work_items array.`);
405
+ continue;
406
+ }
407
+ for (const item of workload.work_items) {
408
+ if (isRecord(item) && typeof item.result_path === "string") {
409
+ const absolute = join(root, item.result_path);
410
+ bound.add(pathKey(absolute));
411
+ // Derived from the workload's own bound paths rather than by rebuilding
412
+ // the run directory here: the boundary owns where submissions land, and
413
+ // a second copy of that layout would drift.
414
+ submissionDirs.add(dirname(absolute));
415
+ }
416
+ }
417
+ }
418
+ for (const submissionDir of submissionDirs) {
419
+ for (const workItemId of recordedIds) {
420
+ try {
421
+ bound.add(pathKey(absoluteSubmissionPath({ root, submissionDir }, workItemId)));
422
+ }
423
+ catch {
424
+ // An id the shared rule refuses to mint a path for cannot have produced
425
+ // a submission, so it contributes nothing to the join.
426
+ }
427
+ }
428
+ }
429
+ // AN EMPTY SCAN IS NOT A PASS. If a live workload's bound submissions exist on
430
+ // disk and the discovery filter matched none of them, the join is broken —
431
+ // which is exactly the state that returned `ok` with issue_count 0 for a run
432
+ // whose whole result surface went unchecked. Report it rather than pass.
433
+ const boundOnDisk = [...bound.keys()].filter((path) => existsSync(path));
434
+ if (boundOnDisk.length > 0 && submissions.length === 0) {
435
+ issues.push(`No host submissions were discovered under ${join(artifactsDir, "runs")}, yet ` +
436
+ `${String(boundOnDisk.length)} bound submission file(s) exist on disk — the validator's ` +
437
+ "filename join no longer matches what the host handoff mints.");
438
+ }
439
+ let validated = 0;
440
+ for (const submission of submissions) {
441
+ const payload = await readJsonForValidation(submission, issues);
442
+ if (payload === undefined)
443
+ continue;
444
+ validated += 1;
445
+ pushErrorIssues(issues, validateHostSubmission(payload, submission));
446
+ if (bound.size > 0 && !bound.has(pathKey(submission))) {
447
+ issues.push(`Stale host submission is not referenced by any host workload: ${submission}.`);
448
+ }
449
+ }
450
+ return { discovered: submissions.length, validated };
451
+ }
246
452
  export async function validateArtifacts(artifactsDir, root = ".") {
247
453
  const issues = [];
248
454
  const store = new StateStore(artifactsDir);
@@ -299,6 +505,7 @@ export async function validateArtifacts(artifactsDir, root = ".") {
299
505
  pushErrorIssues(issues, validateCurrentStep(currentStep, "current-step.json"));
300
506
  }
301
507
  await validateDispatchArtifacts(artifactsDir, issues);
508
+ const submissionScan = await validateHostSubmissions(artifactsDir, root, issues, await recordedSubmissionIds(artifactsDir, state), state?.plan?.plan_id);
302
509
  const closingResultPath = join(artifactsDir, "remediation-closing-result.json");
303
510
  const closingResult = await readJsonForValidation(closingResultPath, issues);
304
511
  if (closingResult) {
@@ -323,21 +530,34 @@ export async function validateArtifacts(artifactsDir, root = ".") {
323
530
  cpPayloads.set(name, payload);
324
531
  pushErrorIssues(issues, CONTRACT_PIPELINE_VALIDATORS[name](payload, name), `${cpPath}:`);
325
532
  }
326
- // Cross-artifact + decomposition gates. Single-sourced in
327
- // evaluateContractPipelineCrossGates (MNT validate-artifact self-check
328
- // parity): each gate is individually tolerant of an absent input (returns []
329
- // when its primary payload is missing/malformed), so an incomplete pipeline
330
- // never fabricates errors — only present artifacts are gated. This is the
331
- // SAME runner the singular `validate-artifact --name X` self-check uses, so
332
- // the two can never diverge.
533
+ // Cross-artifact + decomposition gates. Each gate is individually tolerant of
534
+ // an absent input (returns [] when its primary payload is missing/malformed),
535
+ // so an incomplete pipeline never fabricates errors only present artifacts
536
+ // are gated.
537
+ //
538
+ // NOT the same function as the singular self-check: this plural sweep calls
539
+ // `evaluateContractPipelineCrossGateOutcomes` (which reports which gates ran)
540
+ // while `index.ts`'s `validate-artifact --name X` calls
541
+ // `evaluateContractPipelineCrossGates` (issues only). They are two entry
542
+ // points over one gate list, so they CAN diverge — what holds them together is
543
+ // the drift test that runs both over the same payloads
544
+ // (tests/remediate/validate-artifact-cross-gates.test.ts, "is additive"), not a
545
+ // shared call. Collapsing the pair into one evaluator is tracked as backlog
546
+ // work.
547
+ let gatesEvaluated = 0;
548
+ let gatesSkipped = 0;
333
549
  if (cpPayloads.size > 0) {
334
550
  const findingEnumeration = await readJsonForValidation(intakePaths(artifactsDir).findingEnumeration, issues);
335
- for (const gateIssues of evaluateContractPipelineCrossGates({
551
+ for (const outcome of evaluateContractPipelineCrossGateOutcomes({
336
552
  payloads: cpPayloads,
337
553
  findingEnumeration,
338
554
  root,
339
555
  })) {
340
- pushErrorIssues(issues, gateIssues);
556
+ if (outcome.evaluated)
557
+ gatesEvaluated += 1;
558
+ else
559
+ gatesSkipped += 1;
560
+ pushErrorIssues(issues, outcome.issues);
341
561
  }
342
562
  }
343
563
  // Verification report at the root artifacts dir (from FINDING-027).
@@ -350,6 +570,12 @@ export async function validateArtifacts(artifactsDir, root = ".") {
350
570
  status: issues.length > 0 ? "error" : "ok",
351
571
  issue_count: issues.length,
352
572
  issues,
573
+ scan: {
574
+ submissions_discovered: submissionScan.discovered,
575
+ submissions_validated: submissionScan.validated,
576
+ gates_evaluated: gatesEvaluated,
577
+ gates_skipped: gatesSkipped,
578
+ },
353
579
  };
354
580
  }
355
581
  //# sourceMappingURL=artifacts.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../../../src/remediate/validation/artifacts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../../../src/remediate/validation/artifacts.ts"],"names":[],"mappings":"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"}
@@ -39,6 +39,27 @@ export declare function validateGoalIdConsistency(artifacts: Record<string, unkn
39
39
  * is responsible for ensuring the artifacts exist before calling this gate).
40
40
  */
41
41
  export declare function validateImplementationDAGIntegrity(dagPayload: unknown, obligationLedgerPayload: unknown, counterexamplePayload: unknown, judgeReportPayload: unknown): ValidationIssue[];
42
+ /**
43
+ * Testable obligation kinds — THE single source of truth for whether an
44
+ * obligation needs a test-plan spec (derive.ts's buildTestValidatorPlanScaffold)
45
+ * and whether the coverage gate below requires that spec to be filled
46
+ * (validatePairedObligations). MNT-e10b9d9b: previously duplicated by hand as
47
+ * TESTABLE_KINDS in derive.ts and TESTABLE_OBLIGATION_KINDS here, and the two
48
+ * copies had already diverged — derive.ts failed OPEN on an unrecognized kind
49
+ * (conservatively testable) while this file failed CLOSED (silently skipped,
50
+ * i.e. treated as non-testable, so a scaffold-offered spec was never actually
51
+ * required). Single-sourced here; derive.ts imports isTestablePhaseObligation
52
+ * from this module instead of re-declaring it.
53
+ */
54
+ export declare const TESTABLE_OBLIGATION_KINDS: Set<string>;
55
+ /**
56
+ * testable (invariant/behavioral) → true; the structural contract-conformance
57
+ * kind → false; an unrecognized/unexpected kind → true (fail-OPEN into the
58
+ * paired-test gate rather than silently skipping coverage — matches
59
+ * derive.ts's original scaffold semantics, which this predicate now also
60
+ * governs on the coverage-gate side, closing the divergence).
61
+ */
62
+ export declare function isTestablePhaseObligation(kind: string): boolean;
42
63
  /**
43
64
  * OBL-CO-01 / DC-5 — paired-obligation gate (fail-closed, change-scoped).
44
65
  *
@@ -221,6 +242,32 @@ export declare function validateDecompositionFileScope(moduleDecompositionPayloa
221
242
  * a partial single-artifact self-check, must never fabricate an issue).
222
243
  */
223
244
  export declare function validateFinalizedModuleSetPreserved(draftedModuleContracts: unknown, finalizedModuleContracts: unknown): ValidationIssue[];
245
+ /**
246
+ * Whether one of the eight cross-artifact gates genuinely ran (`evaluated`),
247
+ * or was skipped because its primary input was absent, malformed, or (digest
248
+ * coverage only) its source was not enumerable — OBS-cca3801c / OBS-cca3801c-2.
249
+ * An empty `issues` array alone cannot distinguish "ran clean" from "never
250
+ * ran"; `evaluated` can. `reason` is present only when `evaluated` is false.
251
+ *
252
+ * INV-CPGV-OUTCOME-RECORD-OWNER: this module owns this record. The finalized
253
+ * module contract's fuller design places the shared type in audit-tools/shared
254
+ * so both adopters (contract-pipeline-orchestration,
255
+ * remediate-nextstep-and-final-gate) import one shape — that relocation needs
256
+ * an edit outside this work item's write scope (src/remediate/validation/ +
257
+ * src/remediate/contractPipeline/ only), so it is deliberately deferred to
258
+ * whichever work item can touch src/shared. The type is defined here,
259
+ * additively, alongside the gates it classifies, so the OBS-cca3801c /
260
+ * OBS-cca3801c-2 signalling obligation is discharged now rather than blocked
261
+ * on that follow-up; see CP-BLOCK-CP-NODE-14's result deviations.
262
+ */
263
+ export interface GateOutcome {
264
+ /** Stable identity, in evaluateContractPipelineCrossGates's fixed canonical order. */
265
+ gate: "paired_obligations" | "evidence_threaded" | "digest_coverage" | "reconciliation_derivation" | "design_spec" | "implementation_dag_integrity" | "decomposition_file_scope" | "finalized_module_set_preserved";
266
+ evaluated: boolean;
267
+ issues: ValidationIssue[];
268
+ /** Present only when `evaluated` is false. */
269
+ reason?: string;
270
+ }
224
271
  /** Input to {@link evaluateContractPipelineCrossGates}. */
225
272
  export interface ContractPipelineCrossGateInputs {
226
273
  /** Every contract-pipeline artifact payload currently known, by name. An
@@ -275,4 +322,15 @@ export interface ContractPipelineCrossGateInputs {
275
322
  * lacking its input contributes an empty array, not a fabricated issue.
276
323
  */
277
324
  export declare function evaluateContractPipelineCrossGates(inputs: ContractPipelineCrossGateInputs): ValidationIssue[][];
325
+ /**
326
+ * Evaluate the SAME 8 cross-artifact gates {@link evaluateContractPipelineCrossGates}
327
+ * calls, in the SAME canonical order, additionally classifying each as
328
+ * evaluated or skipped-with-reason (OBS-cca3801c / OBS-cca3801c-2, see
329
+ * {@link GateOutcome}). Additive: evaluateContractPipelineCrossGates keeps its
330
+ * existing `ValidationIssue[][]` shape unchanged for its existing callers
331
+ * (validation/artifacts.ts, index.ts) — this is a parallel, richer view for a
332
+ * caller that must refuse an empty `issues` array as proof-of-clean without
333
+ * checking `evaluated` first.
334
+ */
335
+ export declare function evaluateContractPipelineCrossGateOutcomes(inputs: ContractPipelineCrossGateInputs): GateOutcome[];
278
336
  //# sourceMappingURL=contractPipelineGates.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"contractPipelineGates.d.ts","sourceRoot":"","sources":["../../../src/remediate/validation/contractPipelineGates.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contractPipelineGates.d.ts","sourceRoot":"","sources":["../../../src/remediate/validation/contractPipelineGates.ts"],"names":[],"mappings":"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"}