audit-tools 0.42.1 → 0.44.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 (237) 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/laneSubmissions.d.ts +2 -2
  11. package/dist/audit/cli/laneSubmissions.js +2 -2
  12. package/dist/audit/cli/nextStepCommand.d.ts +64 -0
  13. package/dist/audit/cli/nextStepCommand.d.ts.map +1 -1
  14. package/dist/audit/cli/nextStepCommand.js +877 -783
  15. package/dist/audit/cli/nextStepCommand.js.map +1 -1
  16. package/dist/audit/cli/nextStepHelpers.d.ts +12 -36
  17. package/dist/audit/cli/nextStepHelpers.d.ts.map +1 -1
  18. package/dist/audit/cli/nextStepHelpers.js +34 -77
  19. package/dist/audit/cli/nextStepHelpers.js.map +1 -1
  20. package/dist/audit/cli/steps.d.ts +2 -2
  21. package/dist/audit/extractors/graph.d.ts +28 -2
  22. package/dist/audit/extractors/graph.d.ts.map +1 -1
  23. package/dist/audit/extractors/graph.js +122 -11
  24. package/dist/audit/extractors/graph.js.map +1 -1
  25. package/dist/audit/extractors/graphRoutes.d.ts +8 -0
  26. package/dist/audit/extractors/graphRoutes.d.ts.map +1 -1
  27. package/dist/audit/extractors/graphRoutes.js +71 -4
  28. package/dist/audit/extractors/graphRoutes.js.map +1 -1
  29. package/dist/audit/io/artifacts.d.ts +55 -0
  30. package/dist/audit/io/artifacts.d.ts.map +1 -1
  31. package/dist/audit/io/artifacts.js +189 -12
  32. package/dist/audit/io/artifacts.js.map +1 -1
  33. package/dist/audit/io/toolingManifest.d.ts +11 -0
  34. package/dist/audit/io/toolingManifest.d.ts.map +1 -1
  35. package/dist/audit/io/toolingManifest.js +13 -3
  36. package/dist/audit/io/toolingManifest.js.map +1 -1
  37. package/dist/audit/orchestrator/advance.d.ts +64 -0
  38. package/dist/audit/orchestrator/advance.d.ts.map +1 -1
  39. package/dist/audit/orchestrator/advance.js +191 -57
  40. package/dist/audit/orchestrator/advance.js.map +1 -1
  41. package/dist/audit/orchestrator/charterClarificationExecutor.d.ts.map +1 -1
  42. package/dist/audit/orchestrator/charterClarificationExecutor.js +55 -21
  43. package/dist/audit/orchestrator/charterClarificationExecutor.js.map +1 -1
  44. package/dist/audit/orchestrator/flowCoverage.d.ts.map +1 -1
  45. package/dist/audit/orchestrator/flowCoverage.js +7 -10
  46. package/dist/audit/orchestrator/flowCoverage.js.map +1 -1
  47. package/dist/audit/orchestrator/flowPlanning.d.ts +54 -1
  48. package/dist/audit/orchestrator/flowPlanning.d.ts.map +1 -1
  49. package/dist/audit/orchestrator/flowPlanning.js +77 -18
  50. package/dist/audit/orchestrator/flowPlanning.js.map +1 -1
  51. package/dist/audit/orchestrator/flowRequeue.d.ts.map +1 -1
  52. package/dist/audit/orchestrator/flowRequeue.js +6 -10
  53. package/dist/audit/orchestrator/flowRequeue.js.map +1 -1
  54. package/dist/audit/orchestrator/requeueFold.d.ts.map +1 -1
  55. package/dist/audit/orchestrator/requeueFold.js +18 -5
  56. package/dist/audit/orchestrator/requeueFold.js.map +1 -1
  57. package/dist/audit/orchestrator/staleness.d.ts +24 -1
  58. package/dist/audit/orchestrator/staleness.d.ts.map +1 -1
  59. package/dist/audit/orchestrator/staleness.js +147 -16
  60. package/dist/audit/orchestrator/staleness.js.map +1 -1
  61. package/dist/audit/orchestrator/syntaxResolutionExecutor.d.ts +26 -0
  62. package/dist/audit/orchestrator/syntaxResolutionExecutor.d.ts.map +1 -1
  63. package/dist/audit/orchestrator/syntaxResolutionExecutor.js +97 -12
  64. package/dist/audit/orchestrator/syntaxResolutionExecutor.js.map +1 -1
  65. package/dist/audit/orchestrator/taskBuilder.d.ts.map +1 -1
  66. package/dist/audit/orchestrator/taskBuilder.js +111 -21
  67. package/dist/audit/orchestrator/taskBuilder.js.map +1 -1
  68. package/dist/audit/orchestrator/trivialAudit.d.ts +17 -1
  69. package/dist/audit/orchestrator/trivialAudit.d.ts.map +1 -1
  70. package/dist/audit/orchestrator/trivialAudit.js +31 -4
  71. package/dist/audit/orchestrator/trivialAudit.js.map +1 -1
  72. package/dist/audit/types/analyzerCapability.d.ts +6 -6
  73. package/dist/audit/types/charterRegister.d.ts +30 -12
  74. package/dist/audit/types/charterRegister.d.ts.map +1 -1
  75. package/dist/audit/types/charterRegister.js +22 -9
  76. package/dist/audit/types/charterRegister.js.map +1 -1
  77. package/dist/audit/validation/anchorGrounding.d.ts.map +1 -1
  78. package/dist/audit/validation/anchorGrounding.js +17 -0
  79. package/dist/audit/validation/anchorGrounding.js.map +1 -1
  80. package/dist/audit/validation/auditResults.d.ts +17 -0
  81. package/dist/audit/validation/auditResults.d.ts.map +1 -1
  82. package/dist/audit/validation/auditResults.js +50 -17
  83. package/dist/audit/validation/auditResults.js.map +1 -1
  84. package/dist/remediate/contractPipeline/cyclicSeamResolution.d.ts +48 -0
  85. package/dist/remediate/contractPipeline/cyclicSeamResolution.d.ts.map +1 -1
  86. package/dist/remediate/contractPipeline/cyclicSeamResolution.js +128 -0
  87. package/dist/remediate/contractPipeline/cyclicSeamResolution.js.map +1 -1
  88. package/dist/remediate/contractPipeline/derive.d.ts +8 -5
  89. package/dist/remediate/contractPipeline/derive.d.ts.map +1 -1
  90. package/dist/remediate/contractPipeline/derive.js +8 -16
  91. package/dist/remediate/contractPipeline/derive.js.map +1 -1
  92. package/dist/remediate/index.d.ts.map +1 -1
  93. package/dist/remediate/index.js +43 -2
  94. package/dist/remediate/index.js.map +1 -1
  95. package/dist/remediate/intent/intentOrdering.d.ts +13 -5
  96. package/dist/remediate/intent/intentOrdering.d.ts.map +1 -1
  97. package/dist/remediate/intent/intentOrdering.js +56 -25
  98. package/dist/remediate/intent/intentOrdering.js.map +1 -1
  99. package/dist/remediate/phases/close.d.ts +57 -2
  100. package/dist/remediate/phases/close.d.ts.map +1 -1
  101. package/dist/remediate/phases/close.js +260 -36
  102. package/dist/remediate/phases/close.js.map +1 -1
  103. package/dist/remediate/phases/triage.d.ts.map +1 -1
  104. package/dist/remediate/phases/triage.js +14 -2
  105. package/dist/remediate/phases/triage.js.map +1 -1
  106. package/dist/remediate/state/disposition.d.ts +26 -4
  107. package/dist/remediate/state/disposition.d.ts.map +1 -1
  108. package/dist/remediate/state/itemStatus.d.ts +33 -6
  109. package/dist/remediate/state/itemStatus.d.ts.map +1 -1
  110. package/dist/remediate/state/itemStatus.js +154 -39
  111. package/dist/remediate/state/itemStatus.js.map +1 -1
  112. package/dist/remediate/state/types.d.ts +41 -2
  113. package/dist/remediate/state/types.d.ts.map +1 -1
  114. package/dist/remediate/state/types.js.map +1 -1
  115. package/dist/remediate/steps/contractPipeline.d.ts +296 -15
  116. package/dist/remediate/steps/contractPipeline.d.ts.map +1 -1
  117. package/dist/remediate/steps/contractPipeline.js +1783 -1001
  118. package/dist/remediate/steps/contractPipeline.js.map +1 -1
  119. package/dist/remediate/steps/dispatch/hostHandoff.d.ts +137 -2
  120. package/dist/remediate/steps/dispatch/hostHandoff.d.ts.map +1 -1
  121. package/dist/remediate/steps/dispatch/hostHandoff.js +657 -59
  122. package/dist/remediate/steps/dispatch/hostHandoff.js.map +1 -1
  123. package/dist/remediate/steps/finalGate.d.ts +136 -37
  124. package/dist/remediate/steps/finalGate.d.ts.map +1 -1
  125. package/dist/remediate/steps/finalGate.js +120 -86
  126. package/dist/remediate/steps/finalGate.js.map +1 -1
  127. package/dist/remediate/steps/gateCommands.d.ts +8 -0
  128. package/dist/remediate/steps/gateCommands.d.ts.map +1 -1
  129. package/dist/remediate/steps/gateCommands.js +40 -11
  130. package/dist/remediate/steps/gateCommands.js.map +1 -1
  131. package/dist/remediate/steps/nextStep.d.ts +96 -5
  132. package/dist/remediate/steps/nextStep.d.ts.map +1 -1
  133. package/dist/remediate/steps/nextStep.js +668 -147
  134. package/dist/remediate/steps/nextStep.js.map +1 -1
  135. package/dist/remediate/steps/types.d.ts +4 -3
  136. package/dist/remediate/steps/types.d.ts.map +1 -1
  137. package/dist/remediate/steps/types.js +10 -2
  138. package/dist/remediate/steps/types.js.map +1 -1
  139. package/dist/remediate/validation/artifacts.d.ts +20 -2
  140. package/dist/remediate/validation/artifacts.d.ts.map +1 -1
  141. package/dist/remediate/validation/artifacts.js +224 -130
  142. package/dist/remediate/validation/artifacts.js.map +1 -1
  143. package/dist/remediate/validation/contractPipelineGates.d.ts +58 -0
  144. package/dist/remediate/validation/contractPipelineGates.d.ts.map +1 -1
  145. package/dist/remediate/validation/contractPipelineGates.js +143 -27
  146. package/dist/remediate/validation/contractPipelineGates.js.map +1 -1
  147. package/dist/shared/analyzers/acquisitionEngine.d.ts +72 -25
  148. package/dist/shared/analyzers/acquisitionEngine.d.ts.map +1 -1
  149. package/dist/shared/analyzers/acquisitionEngine.js +149 -15
  150. package/dist/shared/analyzers/acquisitionEngine.js.map +1 -1
  151. package/dist/shared/analyzers/binaryAcquisition.d.ts +27 -2
  152. package/dist/shared/analyzers/binaryAcquisition.d.ts.map +1 -1
  153. package/dist/shared/analyzers/binaryAcquisition.js +149 -43
  154. package/dist/shared/analyzers/binaryAcquisition.js.map +1 -1
  155. package/dist/shared/analyzers/candidates.d.ts +9 -8
  156. package/dist/shared/analyzers/candidates.d.ts.map +1 -1
  157. package/dist/shared/analyzers/candidates.js +96 -64
  158. package/dist/shared/analyzers/candidates.js.map +1 -1
  159. package/dist/shared/analyzers/normalizeExternal.d.ts +40 -12
  160. package/dist/shared/analyzers/normalizeExternal.d.ts.map +1 -1
  161. package/dist/shared/analyzers/normalizeExternal.js +74 -18
  162. package/dist/shared/analyzers/normalizeExternal.js.map +1 -1
  163. package/dist/shared/analyzers/rubocop.d.ts +14 -13
  164. package/dist/shared/analyzers/rubocop.d.ts.map +1 -1
  165. package/dist/shared/analyzers/rubocop.js +29 -6
  166. package/dist/shared/analyzers/rubocop.js.map +1 -1
  167. package/dist/shared/analyzers/types.d.ts +196 -13
  168. package/dist/shared/analyzers/types.d.ts.map +1 -1
  169. package/dist/shared/analyzers/types.js +122 -9
  170. package/dist/shared/analyzers/types.js.map +1 -1
  171. package/dist/shared/decompose/charterClarification.d.ts +12 -1
  172. package/dist/shared/decompose/charterClarification.d.ts.map +1 -1
  173. package/dist/shared/decompose/charterClarification.js +11 -4
  174. package/dist/shared/decompose/charterClarification.js.map +1 -1
  175. package/dist/shared/decompose/charterExtraction.d.ts +20 -10
  176. package/dist/shared/decompose/charterExtraction.d.ts.map +1 -1
  177. package/dist/shared/decompose/charterExtraction.js +52 -23
  178. package/dist/shared/decompose/charterExtraction.js.map +1 -1
  179. package/dist/shared/index.d.ts +1 -0
  180. package/dist/shared/index.d.ts.map +1 -1
  181. package/dist/shared/index.js +5 -0
  182. package/dist/shared/index.js.map +1 -1
  183. package/dist/shared/intent/freeFormIntentInterpreter.d.ts +12 -2
  184. package/dist/shared/intent/freeFormIntentInterpreter.d.ts.map +1 -1
  185. package/dist/shared/intent/freeFormIntentInterpreter.js +27 -22
  186. package/dist/shared/intent/freeFormIntentInterpreter.js.map +1 -1
  187. package/dist/shared/intent/pathScope.d.ts +12 -1
  188. package/dist/shared/intent/pathScope.d.ts.map +1 -1
  189. package/dist/shared/intent/pathScope.js +56 -19
  190. package/dist/shared/intent/pathScope.js.map +1 -1
  191. package/dist/shared/intent/sharedIntentData.d.ts +19 -1
  192. package/dist/shared/intent/sharedIntentData.d.ts.map +1 -1
  193. package/dist/shared/intent/sharedIntentData.js +33 -8
  194. package/dist/shared/intent/sharedIntentData.js.map +1 -1
  195. package/dist/shared/io/fileLock.d.ts +12 -0
  196. package/dist/shared/io/fileLock.d.ts.map +1 -1
  197. package/dist/shared/io/fileLock.js +48 -5
  198. package/dist/shared/io/fileLock.js.map +1 -1
  199. package/dist/shared/io/json.d.ts +13 -0
  200. package/dist/shared/io/json.d.ts.map +1 -1
  201. package/dist/shared/io/json.js +19 -1
  202. package/dist/shared/io/json.js.map +1 -1
  203. package/dist/shared/steps/stepEmissionScaffold.d.ts +69 -0
  204. package/dist/shared/steps/stepEmissionScaffold.d.ts.map +1 -0
  205. package/dist/shared/steps/stepEmissionScaffold.js +83 -0
  206. package/dist/shared/steps/stepEmissionScaffold.js.map +1 -0
  207. package/dist/shared/submission/handRecovery.d.ts.map +1 -1
  208. package/dist/shared/submission/handRecovery.js +69 -4
  209. package/dist/shared/submission/handRecovery.js.map +1 -1
  210. package/dist/shared/submission/submissionIdentity.d.ts +10 -1
  211. package/dist/shared/submission/submissionIdentity.d.ts.map +1 -1
  212. package/dist/shared/submission/submissionIdentity.js +12 -3
  213. package/dist/shared/submission/submissionIdentity.js.map +1 -1
  214. package/dist/shared/submission/submissionLedger.d.ts +43 -2
  215. package/dist/shared/submission/submissionLedger.d.ts.map +1 -1
  216. package/dist/shared/submission/submissionLedger.js +50 -7
  217. package/dist/shared/submission/submissionLedger.js.map +1 -1
  218. package/dist/shared/tooling/allowlistedExec.d.ts +9 -0
  219. package/dist/shared/tooling/allowlistedExec.d.ts.map +1 -1
  220. package/dist/shared/tooling/allowlistedExec.js +19 -2
  221. package/dist/shared/tooling/allowlistedExec.js.map +1 -1
  222. package/dist/shared/tooling/commandShape.d.ts +21 -0
  223. package/dist/shared/tooling/commandShape.d.ts.map +1 -0
  224. package/dist/shared/tooling/commandShape.js +120 -0
  225. package/dist/shared/tooling/commandShape.js.map +1 -0
  226. package/dist/shared/types/charter.d.ts +24 -0
  227. package/dist/shared/types/charter.d.ts.map +1 -1
  228. package/dist/shared/types/charter.js +9 -0
  229. package/dist/shared/types/charter.js.map +1 -1
  230. package/dist/shared/types/remediationOutcome.d.ts +282 -9
  231. package/dist/shared/types/remediationOutcome.d.ts.map +1 -1
  232. package/dist/shared/types/remediationOutcome.js +174 -1
  233. package/dist/shared/types/remediationOutcome.js.map +1 -1
  234. package/package.json +2 -1
  235. package/remediate-code.mjs +15 -0
  236. package/wrapper/remediate-code-wrapper-install-hosts.mjs +45 -4
  237. package/wrapper/remediate-code-wrapper-install-renderers.mjs +12 -2
@@ -30,7 +30,7 @@ import { evaluatePairing, obligationScopeAnchors, readObligationChangeClassifica
30
30
  */
31
31
  export function validateDesignSpecGates(designSpec, obligationLedger) {
32
32
  const issues = [];
33
- if (!isRecord(designSpec))
33
+ if (!canEvaluateDesignSpec(designSpec))
34
34
  return issues;
35
35
  // Gate 1: every module entry must have non-empty inputs and outputs.
36
36
  // Checks both DesignSpec.modules (optional annotation array) and
@@ -78,8 +78,13 @@ export function validateDesignSpecGates(designSpec, obligationLedger) {
78
78
  const oblId = typeof obl.id === "string" ? obl.id : "";
79
79
  const oblDesc = typeof obl.description === "string" ? obl.description : "";
80
80
  // Exact id match or word-boundary containment in description to avoid
81
- // substring false-positives (e.g. "INV-1" ⊂ "INV-10").
82
- return oblId === invId || new RegExp(`(?<![\\w-])${invId}(?![\\w-])`).test(oblDesc);
81
+ // substring false-positives (e.g. "INV-1" ⊂ "INV-10"). COR-cca3801c:
82
+ // invId is worker-authored and must be escaped before interpolation —
83
+ // unescaped, a metacharacter id (e.g. "INV-(1") threw and aborted the
84
+ // whole evaluateContractPipelineCrossGates array literal, losing all
85
+ // eight gate results, not just this one. Mirrors the sibling fix
86
+ // already applied to fid in validateDigestCoverage below.
87
+ return oblId === invId || new RegExp(`(?<![\\w-])${escapeRegExp(invId)}(?![\\w-])`).test(oblDesc);
83
88
  });
84
89
  if (!covered) {
85
90
  pushValidationIssue(issues, `invariants[${invId}]`, `Invariant "${invId}" has no verification obligation in the obligation ledger — add an obligation with kind "invariant" that references "${invId}".`);
@@ -216,7 +221,7 @@ export function validateGoalIdConsistency(artifacts) {
216
221
  */
217
222
  export function validateImplementationDAGIntegrity(dagPayload, obligationLedgerPayload, counterexamplePayload, judgeReportPayload) {
218
223
  const issues = [];
219
- if (!isRecord(dagPayload) || !Array.isArray(dagPayload.nodes))
224
+ if (!canEvaluateImplementationDagIntegrity(dagPayload))
220
225
  return issues;
221
226
  // Build reference sets from sibling artifacts.
222
227
  const obligationIds = new Set();
@@ -342,7 +347,33 @@ export function validateImplementationDAGIntegrity(dagPayload, obligationLedgerP
342
347
  // OBL-CO-12 validateReconciliationDerivation — INV-CO-12 fail-closed
343
348
  // derivation gate: every reconciled seam mismatch is derived into
344
349
  // the finalized module contracts.
345
- const TESTABLE_OBLIGATION_KINDS = new Set(["invariant", "behavioral"]);
350
+ /**
351
+ * Testable obligation kinds — THE single source of truth for whether an
352
+ * obligation needs a test-plan spec (derive.ts's buildTestValidatorPlanScaffold)
353
+ * and whether the coverage gate below requires that spec to be filled
354
+ * (validatePairedObligations). MNT-e10b9d9b: previously duplicated by hand as
355
+ * TESTABLE_KINDS in derive.ts and TESTABLE_OBLIGATION_KINDS here, and the two
356
+ * copies had already diverged — derive.ts failed OPEN on an unrecognized kind
357
+ * (conservatively testable) while this file failed CLOSED (silently skipped,
358
+ * i.e. treated as non-testable, so a scaffold-offered spec was never actually
359
+ * required). Single-sourced here; derive.ts imports isTestablePhaseObligation
360
+ * from this module instead of re-declaring it.
361
+ */
362
+ export const TESTABLE_OBLIGATION_KINDS = new Set(["invariant", "behavioral"]);
363
+ /**
364
+ * testable (invariant/behavioral) → true; the structural contract-conformance
365
+ * kind → false; an unrecognized/unexpected kind → true (fail-OPEN into the
366
+ * paired-test gate rather than silently skipping coverage — matches
367
+ * derive.ts's original scaffold semantics, which this predicate now also
368
+ * governs on the coverage-gate side, closing the divergence).
369
+ */
370
+ export function isTestablePhaseObligation(kind) {
371
+ if (TESTABLE_OBLIGATION_KINDS.has(kind))
372
+ return true;
373
+ if (kind === "structural")
374
+ return false;
375
+ return true;
376
+ }
346
377
  /**
347
378
  * OBL-CO-01 / DC-5 — paired-obligation gate (fail-closed, change-scoped).
348
379
  *
@@ -374,9 +405,8 @@ const TESTABLE_OBLIGATION_KINDS = new Set(["invariant", "behavioral"]);
374
405
  */
375
406
  export function validatePairedObligations(obligationLedgerPayload, testValidatorPlanPayload) {
376
407
  const issues = [];
377
- if (!isRecord(obligationLedgerPayload) || !Array.isArray(obligationLedgerPayload.obligations)) {
408
+ if (!canEvaluatePairedObligations(obligationLedgerPayload))
378
409
  return issues;
379
- }
380
410
  const coverage = new Map();
381
411
  const ensure = (id) => {
382
412
  let entry = coverage.get(id);
@@ -411,7 +441,7 @@ export function validatePairedObligations(obligationLedgerPayload, testValidator
411
441
  for (const obl of obligationLedgerPayload.obligations) {
412
442
  if (!isRecord(obl) || typeof obl.id !== "string")
413
443
  continue;
414
- if (typeof obl.kind !== "string" || !TESTABLE_OBLIGATION_KINDS.has(obl.kind))
444
+ if (typeof obl.kind !== "string" || !isTestablePhaseObligation(obl.kind))
415
445
  continue;
416
446
  const id = obl.id;
417
447
  const entry = coverage.get(id);
@@ -550,14 +580,11 @@ export function validateEvidenceThreaded(assessmentReportPayload, judgeReportPay
550
580
  export function validateDigestCoverage(sourceType, findingEnumerationPayload, obligationLedgerPayload) {
551
581
  const issues = [];
552
582
  // Non-enumerable sources have no closed finding set: pass vacuously.
553
- if (sourceType !== "structured_audit" && sourceType !== "mixed")
583
+ if (!canEvaluateDigestCoverage(sourceType, findingEnumerationPayload))
554
584
  return issues;
555
- if (!isRecord(findingEnumerationPayload))
556
- return issues;
557
- if (findingEnumerationPayload.is_enumerable === false)
558
- return issues;
559
- const findingIds = Array.isArray(findingEnumerationPayload.findings)
560
- ? findingEnumerationPayload.findings
585
+ const findingEnumeration = findingEnumerationPayload;
586
+ const findingIds = Array.isArray(findingEnumeration.findings)
587
+ ? findingEnumeration.findings
561
588
  .map((f) => (isRecord(f) && typeof f.id === "string" ? f.id : undefined))
562
589
  .filter((id) => id !== undefined)
563
590
  : [];
@@ -707,11 +734,10 @@ function escapeRegExp(value) {
707
734
  */
708
735
  export function validateReconciliationDerivation(seamReconciliationReportPayload, finalizedModuleContractsPayload) {
709
736
  const issues = [];
710
- if (!isRecord(seamReconciliationReportPayload) ||
711
- !Array.isArray(seamReconciliationReportPayload.mismatches)) {
737
+ if (!canEvaluateReconciliationDerivation(seamReconciliationReportPayload))
712
738
  return issues;
713
- }
714
- const mismatches = seamReconciliationReportPayload.mismatches;
739
+ const mismatches = seamReconciliationReportPayload
740
+ .mismatches;
715
741
  if (mismatches.length === 0)
716
742
  return issues;
717
743
  // Build a single normalized corpus of all finalized-contract interface text.
@@ -1087,10 +1113,8 @@ function isReExportShim(absPath) {
1087
1113
  */
1088
1114
  export function validateDecompositionFileScope(moduleDecompositionPayload, repoRoot) {
1089
1115
  const issues = [];
1090
- if (!isRecord(moduleDecompositionPayload) ||
1091
- !Array.isArray(moduleDecompositionPayload.modules)) {
1116
+ if (!canEvaluateDecompositionFileScope(moduleDecompositionPayload))
1092
1117
  return issues;
1093
- }
1094
1118
  const modules = moduleDecompositionPayload.modules;
1095
1119
  // Does any module actually declare a file_scope? If not, nothing to ground —
1096
1120
  // do not spawn git or fail-closed on an unrelated empty tree.
@@ -1200,11 +1224,7 @@ function moduleContractNames(payload) {
1200
1224
  */
1201
1225
  export function validateFinalizedModuleSetPreserved(draftedModuleContracts, finalizedModuleContracts) {
1202
1226
  const issues = [];
1203
- if (!isRecord(draftedModuleContracts) || !Array.isArray(draftedModuleContracts.module_contracts)) {
1204
- return issues;
1205
- }
1206
- if (!isRecord(finalizedModuleContracts) ||
1207
- !Array.isArray(finalizedModuleContracts.module_contracts)) {
1227
+ if (!canEvaluateFinalizedModuleSet(draftedModuleContracts, finalizedModuleContracts)) {
1208
1228
  return issues;
1209
1229
  }
1210
1230
  const drafted = new Set(moduleContractNames(draftedModuleContracts));
@@ -1233,6 +1253,65 @@ export function validateFinalizedModuleSetPreserved(draftedModuleContracts, fina
1233
1253
  }
1234
1254
  return issues;
1235
1255
  }
1256
+ // ── Gate-outcome classification (OBS-cca3801c / OBS-cca3801c-2) ────────────────
1257
+ //
1258
+ // A skipped cross-gate and a passing one both return an empty ValidationIssue[]
1259
+ // — nothing before this section told them apart. Each predicate below is the
1260
+ // SAME boolean condition the corresponding gate's own early-return already
1261
+ // calls (see the edits above): never a second, hand-mirrored copy of the
1262
+ // condition, which is exactly the class of drift MNT-e10b9d9b names for
1263
+ // TESTABLE_KINDS vs TESTABLE_OBLIGATION_KINDS. A gate and its own
1264
+ // evaluated/skipped classification therefore cannot diverge — there is one
1265
+ // boolean expression per gate, called from both places.
1266
+ function canEvaluatePairedObligations(x) {
1267
+ return isRecord(x) && Array.isArray(x.obligations);
1268
+ }
1269
+ function canEvaluateEvidenceThreaded(assessmentReportPayload, judgeReportPayload, dagPayload) {
1270
+ return (isRecord(assessmentReportPayload) ||
1271
+ isRecord(judgeReportPayload) ||
1272
+ isRecord(dagPayload));
1273
+ }
1274
+ function canEvaluateDigestCoverage(sourceType, findingEnumerationPayload) {
1275
+ return ((sourceType === "structured_audit" || sourceType === "mixed") &&
1276
+ isRecord(findingEnumerationPayload) &&
1277
+ findingEnumerationPayload.is_enumerable !== false);
1278
+ }
1279
+ function digestCoverageSkipReason(sourceType, findingEnumerationPayload) {
1280
+ if (sourceType !== "structured_audit" && sourceType !== "mixed") {
1281
+ return "source not enumerable — source_type is not structured_audit or mixed";
1282
+ }
1283
+ if (!isRecord(findingEnumerationPayload)) {
1284
+ return "finding-enumeration payload is absent or malformed";
1285
+ }
1286
+ return "source not enumerable — is_enumerable is false";
1287
+ }
1288
+ function canEvaluateReconciliationDerivation(x) {
1289
+ return isRecord(x) && Array.isArray(x.mismatches);
1290
+ }
1291
+ function canEvaluateDesignSpec(x) {
1292
+ return isRecord(x);
1293
+ }
1294
+ function canEvaluateImplementationDagIntegrity(x) {
1295
+ return isRecord(x) && Array.isArray(x.nodes);
1296
+ }
1297
+ function canEvaluateDecompositionFileScope(x) {
1298
+ return isRecord(x) && Array.isArray(x.modules);
1299
+ }
1300
+ function canEvaluateFinalizedModuleSet(draftedModuleContracts, finalizedModuleContracts) {
1301
+ if (!isRecord(draftedModuleContracts) ||
1302
+ !Array.isArray(draftedModuleContracts.module_contracts)) {
1303
+ return false;
1304
+ }
1305
+ if (!isRecord(finalizedModuleContracts) ||
1306
+ !Array.isArray(finalizedModuleContracts.module_contracts)) {
1307
+ return false;
1308
+ }
1309
+ return moduleContractNames(draftedModuleContracts).length > 0;
1310
+ }
1311
+ /** Build one GateOutcome — the single place `reason` is attached only when `evaluated` is false. */
1312
+ function gateOutcome(gate, evaluated, issues, reason) {
1313
+ return evaluated ? { gate, evaluated, issues } : { gate, evaluated, issues, reason };
1314
+ }
1236
1315
  /**
1237
1316
  * Evaluate the SAME 8 cross-artifact gates the plural `validate-artifacts`
1238
1317
  * sweep runs, returning one `ValidationIssue[]` PER gate in a FIXED canonical
@@ -1299,6 +1378,43 @@ export function evaluateContractPipelineCrossGates(inputs) {
1299
1378
  validateFinalizedModuleSetPreserved(draftedContracts, finalizedContracts),
1300
1379
  ];
1301
1380
  }
1381
+ /**
1382
+ * Evaluate the SAME 8 cross-artifact gates {@link evaluateContractPipelineCrossGates}
1383
+ * calls, in the SAME canonical order, additionally classifying each as
1384
+ * evaluated or skipped-with-reason (OBS-cca3801c / OBS-cca3801c-2, see
1385
+ * {@link GateOutcome}). Additive: evaluateContractPipelineCrossGates keeps its
1386
+ * existing `ValidationIssue[][]` shape unchanged for its existing callers
1387
+ * (validation/artifacts.ts, index.ts) — this is a parallel, richer view for a
1388
+ * caller that must refuse an empty `issues` array as proof-of-clean without
1389
+ * checking `evaluated` first.
1390
+ */
1391
+ export function evaluateContractPipelineCrossGateOutcomes(inputs) {
1392
+ const { payloads, findingEnumeration, root } = inputs;
1393
+ const goalSpec = payloads.get("goal_spec");
1394
+ const sourceType = isRecord(goalSpec) && typeof goalSpec.source_type === "string"
1395
+ ? goalSpec.source_type
1396
+ : undefined;
1397
+ const obligationLedger = payloads.get("obligation_ledger");
1398
+ const testValidatorPlan = payloads.get("test_validator_plan");
1399
+ const finalizedContracts = payloads.get("finalized_module_contracts");
1400
+ const draftedContracts = payloads.get("module_contracts");
1401
+ const seamReport = payloads.get("seam_reconciliation_report");
1402
+ const assessment = payloads.get("contract_assessment_report");
1403
+ const judge = payloads.get("judge_report");
1404
+ const counterexample = payloads.get("counterexample");
1405
+ const dag = payloads.get("implementation_dag");
1406
+ const moduleDecomposition = payloads.get("module_decomposition");
1407
+ return [
1408
+ gateOutcome("paired_obligations", canEvaluatePairedObligations(obligationLedger), validatePairedObligations(obligationLedger, testValidatorPlan), "obligation_ledger payload is absent or malformed (not a record with an obligations array)"),
1409
+ gateOutcome("evidence_threaded", canEvaluateEvidenceThreaded(assessment, judge, dag), validateEvidenceThreaded(assessment, judge, dag), "all three input payloads (contract_assessment_report, judge_report, implementation_dag) are absent or malformed"),
1410
+ gateOutcome("digest_coverage", canEvaluateDigestCoverage(sourceType, findingEnumeration), validateDigestCoverage(sourceType, findingEnumeration, obligationLedger), digestCoverageSkipReason(sourceType, findingEnumeration)),
1411
+ gateOutcome("reconciliation_derivation", canEvaluateReconciliationDerivation(seamReport), validateReconciliationDerivation(seamReport, finalizedContracts), "seam_reconciliation_report payload is absent or malformed (not a record with a mismatches array)"),
1412
+ gateOutcome("design_spec", canEvaluateDesignSpec(finalizedContracts), validateDesignSpecGates(finalizedContracts, obligationLedger), "design payload (finalized_module_contracts) is absent or malformed"),
1413
+ gateOutcome("implementation_dag_integrity", canEvaluateImplementationDagIntegrity(dag), validateImplementationDAGIntegrity(dag, obligationLedger, counterexample, judge), "implementation_dag payload is absent or malformed (not a record with a nodes array)"),
1414
+ gateOutcome("decomposition_file_scope", canEvaluateDecompositionFileScope(moduleDecomposition), validateDecompositionFileScope(moduleDecomposition, root), "module_decomposition payload is absent or malformed (not a record with a modules array)"),
1415
+ gateOutcome("finalized_module_set_preserved", canEvaluateFinalizedModuleSet(draftedContracts, finalizedContracts), validateFinalizedModuleSetPreserved(draftedContracts, finalizedContracts), "drafted or finalized module_contracts payload is absent, malformed, or names no modules"),
1416
+ ];
1417
+ }
1302
1418
  // ── (removed) Downstream-only repair propagation — S2, dropped ─────────────────
1303
1419
  // The dead `repairDownstreamPhases` / `CONTRACT_PHASE_SEQUENCE` / `ARTIFACT_NAME_TO_PHASE`
1304
1420
  // were deleted (contract-authoring determinism design, S2). A linear phase-slice
@@ -1 +1 @@
1
- {"version":3,"file":"contractPipelineGates.js","sourceRoot":"","sources":["../../../src/remediate/validation/contractPipelineGates.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contractPipelineGates.js","sourceRoot":"","sources":["../../../src/remediate/validation/contractPipelineGates.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { type RunTrackedResult } from "../tooling/exec.js";
2
2
  import type { AnalyzerSetting } from "../analyzerPolicy.js";
3
- import type { ExternalAnalyzerResults, ExternalAnalyzerToolStatus } from "./types.js";
3
+ import { type ExternalAnalyzerParseOutcome, type ExternalAnalyzerResults, type ExternalAnalyzerToolStatus } from "./types.js";
4
4
  import { type BinarySpec, type BinaryResolveOptions } from "./binaryAcquisition.js";
5
5
  /**
6
6
  * F5 — external analyzer acquisition engine.
@@ -83,21 +83,12 @@ export interface ExternalAnalyzerCandidate {
83
83
  buildArgv(runnerPrefix: string[], root: string): string[];
84
84
  /**
85
85
  * Parse the tool's stdout into the generic item shape consumed by
86
- * `normalizeGenericExternalResults`. Degrades to `[]` on any parse failure.
86
+ * `normalizeGenericExternalResults`. NEVER throws — but a degradation must be
87
+ * REPORTED, not swallowed: return the {@link ExternalAnalyzerParseReport} form
88
+ * carrying `parse_failed` / `dropped_rows` so the engine can classify the run,
89
+ * because a bare `[]` is byte-identical to a genuinely clean scan.
87
90
  */
88
- parse(stdout: string): Array<{
89
- id?: string;
90
- category?: string;
91
- severity?: string;
92
- path?: string;
93
- line_start?: number;
94
- line_end?: number;
95
- summary?: string;
96
- rule?: string;
97
- raw?: unknown;
98
- from?: unknown;
99
- to?: unknown;
100
- }>;
91
+ parse(stdout: string): ExternalAnalyzerParseOutcome;
101
92
  /**
102
93
  * For tools that ONLY report to a file (e.g. gitleaks) rather than stdout: the
103
94
  * report path the tool was told to write (must match `buildArgv`). When set, the
@@ -130,17 +121,49 @@ export declare function detectGithubActionsEcosystem(root: string): boolean;
130
121
  export interface AcquisitionRunner {
131
122
  (argv: string[], cwd: string): RunTrackedResult;
132
123
  }
124
+ /** A recorded, durable operator decision for one analyzer. */
125
+ export type AnalyzerConsentDecision = "granted" | "declined";
126
+ /** The recorded decisions, keyed by candidate id, as loaded from the durable policy. */
127
+ export type AnalyzerConsentDecisions = Record<string, AnalyzerConsentDecision>;
128
+ /**
129
+ * A consent token SCOPED to the analyzers the operator was actually offered. This is
130
+ * the form a caller should issue: the grant names its tools, so a grant obtained by
131
+ * offering one analyzer cannot silently admit an analyzer the operator never saw.
132
+ */
133
+ export interface AnalyzerConsentTokenGrant {
134
+ /** Opaque per-run value; never persisted (pinned by the strict AnalyzerPolicy schema). */
135
+ readonly value: string;
136
+ /** The candidate ids this grant authorizes, and only those. */
137
+ readonly tools: readonly string[];
138
+ }
139
+ /**
140
+ * What a caller may present as consent for this run.
141
+ *
142
+ * ⚠ The bare-string form is UNSCOPED — it authorizes every undecided candidate in the
143
+ * run. It remains accepted only because retiring it is a caller-side change owned by
144
+ * the acquisition entry point's own node; new callers should issue an
145
+ * {@link AnalyzerConsentTokenGrant}, which the chokepoint enforces per candidate.
146
+ */
147
+ export type AnalyzerConsentTokenInput = string | AnalyzerConsentTokenGrant;
133
148
  export interface AcquisitionEngineOptions {
134
149
  /**
135
150
  * Per-run consent token. REQUIRED to spawn any non-DEFAULT candidate (and any
136
- * candidate whose setting is ephemeral/permanent). Absent ⇒ only the DEFAULT
137
- * set runs; everything else is reported `skipped` with a consent note.
151
+ * candidate whose setting is ephemeral/permanent) that has no recorded "granted"
152
+ * decision. Absent ⇒ only the DEFAULT set runs; everything else is reported
153
+ * `skipped` with a consent note. A token NEVER overrides a recorded "declined".
138
154
  */
139
- consentToken?: string;
155
+ consentToken?: AnalyzerConsentTokenInput;
140
156
  /** Per-analyzer settings (auto|ephemeral|permanent|skip|repo). */
141
157
  analyzers?: Record<string, AnalyzerSetting>;
142
- /** Recorded analyzer consent decisions ("granted" or "declined"). */
143
- analyzerConsent?: Record<string, "granted" | "declined">;
158
+ /**
159
+ * CALLER OBLIGATION (declared here, not left to prose): the durable analyzer
160
+ * policy is loaded and BOTH `analyzers` and `analyzerConsent` are passed on EVERY
161
+ * acquisition call; an unreadable policy blocks the step rather than degrading to
162
+ * an empty one; and a consent token is never synthesized on the operator's behalf.
163
+ * Omitting this map leaves a recorded decline UNREPRESENTABLE at the chokepoint —
164
+ * the decision cannot be enforced because it never arrives.
165
+ */
166
+ analyzerConsent?: AnalyzerConsentDecisions;
144
167
  /** Injectable command runner; defaults to the shared runTracked. */
145
168
  run?: AcquisitionRunner;
146
169
  /** Injectable logger; defaults to a no-op (degrade quietly to status records). */
@@ -152,14 +175,38 @@ export interface AcquisitionEngineOptions {
152
175
  */
153
176
  resolvedBinaries?: Record<string, string>;
154
177
  }
178
+ /**
179
+ * The denial vocabulary. An operator refusal and a tool nobody has decided on are
180
+ * DIFFERENT causes and must be distinguishable in the persisted status record — a
181
+ * single conflated string cannot tell an operator that their own decline was the
182
+ * reason. Every CONSENT-channel reason names "consent"; `setting_skip` deliberately
183
+ * does not, because it comes from the settings channel (`analyzers.<id> = "skip"`)
184
+ * and is not a consent decision at all.
185
+ */
186
+ export declare const ANALYZER_DENIAL_REASONS: {
187
+ /** `analyzers.<id> = "skip"` — the settings channel, not the consent record. */
188
+ readonly setting_skip: "setting=skip";
189
+ /** A recorded, durable operator refusal. Terminal: no token overrides it. */
190
+ readonly consent_declined: "consent declined by the operator for this analyzer (recorded decision)";
191
+ /** No decision recorded and no token presented — nobody has said yes OR no. */
192
+ readonly consent_not_decided: "consent not recorded for this analyzer (not yet decided; no consent token for this run)";
193
+ /** A token was presented, but it was issued for a different analyzer. */
194
+ readonly consent_token_scope: "consent token was not issued for this analyzer (scoped consent covers other tools only)";
195
+ };
155
196
  /**
156
197
  * Single subprocess-SPAWN admission chokepoint. Returns the reason a spawn is
157
- * NOT admitted, or `undefined` when admitted. The DEFAULT set is admitted
158
- * without a token; EVERY other candidate — including `permanent`/`ephemeral`
159
- * pre-installed tools — requires EITHER a recorded "granted" decision OR a
160
- * per-run consent token (CE-005, revised with Item B).
198
+ * NOT admitted, or `undefined` when admitted.
199
+ *
200
+ * ORDER IS THE CONTRACT. A recorded `"declined"` is consulted FIRST — before the
201
+ * settings channel, before the DEFAULT-set short-circuit, and before any consent
202
+ * token — so an operator refusal is a veto for EVERY candidate, including a
203
+ * default-set member, and no token can override it. It also outranks
204
+ * `setting=skip`: both refuse, but only one of them is the operator's own decision,
205
+ * and the REASON is what tells them so. Only then: `skip`, then the DEFAULT set
206
+ * runs unprompted, a recorded `"granted"` admits, and finally a consent token
207
+ * admits the candidate it was issued for.
161
208
  */
162
- export declare function admitSpawn(candidate: ExternalAnalyzerCandidate, setting: AnalyzerSetting, consentToken: string | undefined, recordedDecision?: "granted" | "declined"): string | undefined;
209
+ export declare function admitSpawn(candidate: ExternalAnalyzerCandidate, setting: AnalyzerSetting, consentToken: AnalyzerConsentTokenInput | undefined, recordedDecision?: AnalyzerConsentDecision): string | undefined;
163
210
  /**
164
211
  * The run-safety gate, written once: capability-probe the runner, then (if the
165
212
  * probe passes) the caller may spawn the pinned, read-only argv. Returns the
@@ -1 +1 @@
1
- {"version":3,"file":"acquisitionEngine.d.ts","sourceRoot":"","sources":["../../../src/shared/analyzers/acquisitionEngine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acquisitionEngine.d.ts","sourceRoot":"","sources":["../../../src/shared/analyzers/acquisitionEngine.ts"],"names":[],"mappings":"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"}