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,5 +1,5 @@
1
1
  import { isUnmeasuredLineCount } from "../cli/lineIndex.js";
2
- import { describeValue, formatValidationIssues, isRecord, VALID_LENSES, VALID_SEVERITIES, VALID_CONFIDENCES, } from "audit-tools/shared";
2
+ import { describeValue, formatValidationIssues, isRecord, normalizeGraphPath, VALID_LENSES, VALID_SEVERITIES, VALID_CONFIDENCES, } from "audit-tools/shared";
3
3
  // CE-009 semantic-validity gate — significant line-count divergence.
4
4
  //
5
5
  // A `total_lines` that merely differs from disk by a line or two is an S7
@@ -29,8 +29,26 @@ export function isSignificantLineCountDivergence(got, expected) {
29
29
  return true;
30
30
  return diff / expected > LINE_COUNT_DIVERGENCE_RATIO;
31
31
  }
32
+ /**
33
+ * THE ONE KEY SPACE for every path this module joins on:
34
+ * coverage entries, affected-finding locations, followup-task file paths, the
35
+ * line index, and the packet boundary. Delegates to the shared
36
+ * {@link normalizeGraphPath} — the same normalizer `taskBuilder` applies once at
37
+ * the coverage/flow-planning boundary — rather than re-deriving the rules here,
38
+ * because two hand-rolled normalizers ARE two key spaces the moment one of them
39
+ * learns something the other has not (this one previously stripped only a
40
+ * LEADING `./`, so an interior `src/./x.ts` was a different key from `src/x.ts`).
41
+ *
42
+ * Case is preserved: a repo path is the identity of a real file on disk, and
43
+ * lowercasing it would make two genuinely different files collide on
44
+ * case-sensitive filesystems.
45
+ *
46
+ * An empty (or whitespace-only) path stays empty rather than becoming posix's
47
+ * `"."`, so callers can keep testing `length > 0` for "no usable path".
48
+ */
32
49
  export function normalizeCoveragePath(path) {
33
- return path.replace(/\\/g, "/").replace(/^\.\//, "");
50
+ const trimmed = path.trim();
51
+ return trimmed.length === 0 ? "" : normalizeGraphPath(trimmed);
34
52
  }
35
53
  const REQUIRED_FINDING_FIELDS = [
36
54
  "id",
@@ -330,7 +348,11 @@ function validateVerificationFollowupTask(task, label, taskId, resultIndex, expe
330
348
  });
331
349
  continue;
332
350
  }
333
- if (!allowedPaths.has(path)) {
351
+ // Join on the one normalized key space (`allowedPaths` is built from the
352
+ // normalized coverage entries and the normalized boundary); the RAW string
353
+ // the worker wrote is quoted back in the message so the diagnostic still
354
+ // names what it actually saw.
355
+ if (!allowedPaths.has(normalizeCoveragePath(path))) {
334
356
  pushIssue(issues, {
335
357
  result_index: resultIndex,
336
358
  task_id: taskId,
@@ -444,7 +466,7 @@ function validateResultIdentityFields(ctx, issues) {
444
466
  }
445
467
  }
446
468
  function validateFileCoverageEntry(entry, j, ctx, seenCoveragePaths, declaredAssignedCoveragePaths, normalizedFileCoverage, issues) {
447
- const { task, taskId, resultIndex, taskNormMap, normLineIndex, normBoundary } = ctx;
469
+ const { task, taskId, resultIndex, taskAssignedPaths, normLineIndex, normBoundary } = ctx;
448
470
  if (!isRecord(entry)) {
449
471
  pushIssue(issues, {
450
472
  result_index: resultIndex,
@@ -455,19 +477,23 @@ function validateFileCoverageEntry(entry, j, ctx, seenCoveragePaths, declaredAss
455
477
  return;
456
478
  }
457
479
  const entryNorm = isNonEmptyString(entry.path) ? normalizeCoveragePath(entry.path) : "";
458
- const canonicalPath = taskNormMap.get(entryNorm);
480
+ const inAssigned = entryNorm.length > 0 && taskAssignedPaths.has(entryNorm);
459
481
  // Widen the hard-reject gate from the per-task assigned set to the packet/unit
460
482
  // boundary (union of sibling task file_paths). A coverage path the assigned
461
483
  // task didn't list, but a sibling in the packet did, is accepted rather than
462
- // hard-rejected. Fail-closed: an empty boundary leaves only assigned paths in
463
- // scope. `inBoundary` is the normalized boundary path used downstream so the
464
- // span-coverage check can reference in-boundary coverage entries.
484
+ // hard-rejected. Fail-closed: an empty boundary contributes nothing, leaving
485
+ // only assigned paths in scope.
465
486
  const inBoundary = entryNorm.length > 0 && normBoundary.has(entryNorm);
466
- const acceptedPath = canonicalPath ?? (inBoundary ? entryNorm : undefined);
487
+ // ACCEPTANCE IS A BOOLEAN, NOT A PATH. It used to be the accepted path itself,
488
+ // which is how a raw form leaked in: the assigned branch yielded the task's
489
+ // raw string and the boundary branch yielded the normalized one, and whichever
490
+ // won became the stored coverage key. Everything stored downstream is
491
+ // `entryNorm` now, so acceptance can never change which key space a path lands in.
492
+ const accepted = inAssigned || inBoundary;
467
493
  if (!isNonEmptyString(entry.path)) {
468
494
  pushIssue(issues, { result_index: resultIndex, task_id: taskId, field: `file_coverage[${j}].path`, message: "file_coverage entry has an empty path." });
469
495
  }
470
- else if (task && !acceptedPath) {
496
+ else if (task && !accepted) {
471
497
  pushIssue(issues, {
472
498
  result_index: resultIndex,
473
499
  task_id: taskId,
@@ -481,8 +507,8 @@ function validateFileCoverageEntry(entry, j, ctx, seenCoveragePaths, declaredAss
481
507
  else {
482
508
  seenCoveragePaths.add(entryNorm);
483
509
  }
484
- if (entryNorm.length > 0 && (!task || acceptedPath)) {
485
- declaredAssignedCoveragePaths.add(acceptedPath ?? entryNorm);
510
+ if (entryNorm.length > 0 && (!task || accepted)) {
511
+ declaredAssignedCoveragePaths.add(entryNorm);
486
512
  }
487
513
  if (!Number.isInteger(entry.total_lines)) {
488
514
  pushIssue(issues, { result_index: resultIndex, task_id: taskId, field: `file_coverage[${j}].total_lines`, message: `file_coverage[${j}].total_lines must be an integer, got ${describeValue(entry.total_lines)}.` });
@@ -521,8 +547,8 @@ function validateFileCoverageEntry(entry, j, ctx, seenCoveragePaths, declaredAss
521
547
  severity: significant ? "error" : "warning",
522
548
  });
523
549
  }
524
- if (entryNorm.length > 0 && Number.isInteger(entry.total_lines) && Number(entry.total_lines) >= 0 && (!task || acceptedPath)) {
525
- normalizedFileCoverage.push({ path: acceptedPath ?? entryNorm, total_lines: Number(entry.total_lines) });
550
+ if (entryNorm.length > 0 && Number.isInteger(entry.total_lines) && Number(entry.total_lines) >= 0 && (!task || accepted)) {
551
+ normalizedFileCoverage.push({ path: entryNorm, total_lines: Number(entry.total_lines) });
526
552
  }
527
553
  }
528
554
  /**
@@ -661,13 +687,20 @@ function validateSingleAuditResult(result, resultIndex, taskMap, allTasks, normL
661
687
  }
662
688
  const taskId = issueTaskId(result, resultIndex);
663
689
  const task = taskMap.get(taskId);
664
- const taskNormMap = new Map();
690
+ // The assigned set enters the join already normalized — an un-normalized
691
+ // `file_paths` entry (the shape `selectiveDeepening`'s `pathsForFinding`
692
+ // produces by copying a worker string verbatim into a followup task) is a
693
+ // surface difference, never a different file.
694
+ const taskAssignedPaths = new Set();
665
695
  if (task) {
666
696
  for (const fp of task.file_paths) {
667
- taskNormMap.set(normalizeCoveragePath(fp), fp);
697
+ const norm = normalizeCoveragePath(fp);
698
+ if (norm.length > 0) {
699
+ taskAssignedPaths.add(norm);
700
+ }
668
701
  }
669
702
  }
670
- const ctx = { result, task, taskId, resultIndex, taskNormMap, normLineIndex, allTasks, normBoundary };
703
+ const ctx = { result, task, taskId, resultIndex, taskAssignedPaths, normLineIndex, allTasks, normBoundary };
671
704
  validateResultIdentityFields(ctx, issues);
672
705
  const { normalizedFileCoverage, declaredAssignedCoveragePaths } = validateResultFileCoverage(ctx, issues);
673
706
  const findingsOk = validateResultFindings(ctx, normalizedFileCoverage, declaredAssignedCoveragePaths, issues);
@@ -1 +1 @@
1
- {"version":3,"file":"auditResults.js","sourceRoot":"","sources":["../../../src/audit/validation/auditResults.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auditResults.js","sourceRoot":"","sources":["../../../src/audit/validation/auditResults.ts"],"names":[],"mappings":"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"}
@@ -38,6 +38,23 @@ export interface CycleBreakValidation {
38
38
  /** Present only when accepted === false. */
39
39
  reason?: string;
40
40
  }
41
+ /**
42
+ * The break a worker ACTUALLY authored, read off the `cyclic_seam_resolution`
43
+ * record rather than fabricated by the re-checker.
44
+ *
45
+ * Both sanctioned strategies designate a REAL node: `mediator` names a third
46
+ * obligation that now owns the shared primitive, `single_authority` names the
47
+ * one cycle member that keeps the interface. A record that designates nothing
48
+ * cannot be validated against the real graph at all — see
49
+ * {@link validateAuthoredCycleBreak}, which refuses it rather than inventing a
50
+ * placeholder.
51
+ */
52
+ export interface AuthoredCycleBreak {
53
+ /** `break_strategy` from the resolution record. */
54
+ strategy: "mediator" | "single_authority";
55
+ /** The obligation id the record designates, when it named one. */
56
+ designatedId?: string;
57
+ }
41
58
  /**
42
59
  * Detect cyclic seam obligations in a module graph.
43
60
  *
@@ -65,4 +82,35 @@ export declare function detectCyclicSeamObligations(nodes: SeamObligationNode[])
65
82
  * rejected.
66
83
  */
67
84
  export declare function validateCycleBreak(originalCycle: DetectedCycle, allNodes: SeamObligationNode[], proposedMediator: ProposedMediator): CycleBreakValidation;
85
+ /**
86
+ * Re-check a cycle-break AS AUTHORED, against the REAL obligation graph.
87
+ *
88
+ * The distinction from {@link validateCycleBreak} is the whole point: that
89
+ * function asks a HYPOTHETICAL — "if the intra-cycle edges were redirected to
90
+ * this proposed node, would the graph be acyclic?" — and its caller used to
91
+ * answer it with a node it had fabricated itself (`{ id: "_mediator_A_B",
92
+ * needs: [] }`) against the UNMODIFIED ledger. An edge-free sink absorbs every
93
+ * redirected edge, so for a single detected cycle that question is acyclic BY
94
+ * CONSTRUCTION and the re-check could never reject — a worker could claim
95
+ * `status: "resolved"` while leaving the ledger's cycle edges exactly as they
96
+ * were, and the pipeline advanced.
97
+ *
98
+ * This function asks the REAL question instead: does the graph the pipeline
99
+ * will actually consume still carry the cycle? The break is accepted only when
100
+ *
101
+ * 1. the record designates a node (a break with no designated owner is not a
102
+ * break, it is a claim), and that node EXISTS in the live graph;
103
+ * 2. the strategy and the designated node agree — a mediator is a THIRD node
104
+ * outside the cycle, a single authority is one of the cycle's own members;
105
+ * 3. the live graph no longer contains a cycle touching the original members
106
+ * — i.e. the break is reflected in the edges, not just asserted in prose;
107
+ * 4. and, for the mediator strategy, redirecting the cycle's edges at the
108
+ * mediator's REAL `needs` (never a fabricated empty set) stays acyclic, so
109
+ * a mediator that itself depends back into the cycle is refused.
110
+ *
111
+ * `currentNodes` must be built from the obligation ledger as it stands NOW, on
112
+ * this invocation, after ingestion and the staleness-archive pass — a stale
113
+ * snapshot would reintroduce exactly the vacuity this closes.
114
+ */
115
+ export declare function validateAuthoredCycleBreak(originalCycle: DetectedCycle, currentNodes: SeamObligationNode[], authored: AuthoredCycleBreak): CycleBreakValidation;
68
116
  //# sourceMappingURL=cyclicSeamResolution.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cyclicSeamResolution.d.ts","sourceRoot":"","sources":["../../../src/remediate/contractPipeline/cyclicSeamResolution.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,kDAAkD;AAClD,MAAM,WAAW,kBAAkB;IACjC,gCAAgC;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,0EAA0E;IAC1E,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,wCAAwC;AACxC,MAAM,WAAW,aAAa;IAC5B,uFAAuF;IACvF,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,sDAAsD;AACtD,MAAM,WAAW,gBAAgB;IAC/B,sCAAsC;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,qEAAqE;IACrE,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,wCAAwC;AACxC,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,OAAO,CAAC;IAClB,4CAA4C;IAC5C,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAID;;;;;;;;;GASG;AACH,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,kBAAkB,EAAE,GAC1B,aAAa,EAAE,CAiFjB;AAID;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,kBAAkB,CAChC,aAAa,EAAE,aAAa,EAC5B,QAAQ,EAAE,kBAAkB,EAAE,EAC9B,gBAAgB,EAAE,gBAAgB,GACjC,oBAAoB,CAoCtB"}
1
+ {"version":3,"file":"cyclicSeamResolution.d.ts","sourceRoot":"","sources":["../../../src/remediate/contractPipeline/cyclicSeamResolution.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,kDAAkD;AAClD,MAAM,WAAW,kBAAkB;IACjC,gCAAgC;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,0EAA0E;IAC1E,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,wCAAwC;AACxC,MAAM,WAAW,aAAa;IAC5B,uFAAuF;IACvF,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,sDAAsD;AACtD,MAAM,WAAW,gBAAgB;IAC/B,sCAAsC;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,qEAAqE;IACrE,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,wCAAwC;AACxC,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,OAAO,CAAC;IAClB,4CAA4C;IAC5C,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,kBAAkB;IACjC,mDAAmD;IACnD,QAAQ,EAAE,UAAU,GAAG,kBAAkB,CAAC;IAC1C,kEAAkE;IAClE,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAID;;;;;;;;;GASG;AACH,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,kBAAkB,EAAE,GAC1B,aAAa,EAAE,CAiFjB;AAID;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,kBAAkB,CAChC,aAAa,EAAE,aAAa,EAC5B,QAAQ,EAAE,kBAAkB,EAAE,EAC9B,gBAAgB,EAAE,gBAAgB,GACjC,oBAAoB,CAoCtB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,0BAA0B,CACxC,aAAa,EAAE,aAAa,EAC5B,YAAY,EAAE,kBAAkB,EAAE,EAClC,QAAQ,EAAE,kBAAkB,GAC3B,oBAAoB,CAiHtB"}
@@ -148,4 +148,132 @@ export function validateCycleBreak(originalCycle, allNodes, proposedMediator) {
148
148
  }
149
149
  return { accepted: true };
150
150
  }
151
+ /**
152
+ * Re-check a cycle-break AS AUTHORED, against the REAL obligation graph.
153
+ *
154
+ * The distinction from {@link validateCycleBreak} is the whole point: that
155
+ * function asks a HYPOTHETICAL — "if the intra-cycle edges were redirected to
156
+ * this proposed node, would the graph be acyclic?" — and its caller used to
157
+ * answer it with a node it had fabricated itself (`{ id: "_mediator_A_B",
158
+ * needs: [] }`) against the UNMODIFIED ledger. An edge-free sink absorbs every
159
+ * redirected edge, so for a single detected cycle that question is acyclic BY
160
+ * CONSTRUCTION and the re-check could never reject — a worker could claim
161
+ * `status: "resolved"` while leaving the ledger's cycle edges exactly as they
162
+ * were, and the pipeline advanced.
163
+ *
164
+ * This function asks the REAL question instead: does the graph the pipeline
165
+ * will actually consume still carry the cycle? The break is accepted only when
166
+ *
167
+ * 1. the record designates a node (a break with no designated owner is not a
168
+ * break, it is a claim), and that node EXISTS in the live graph;
169
+ * 2. the strategy and the designated node agree — a mediator is a THIRD node
170
+ * outside the cycle, a single authority is one of the cycle's own members;
171
+ * 3. the live graph no longer contains a cycle touching the original members
172
+ * — i.e. the break is reflected in the edges, not just asserted in prose;
173
+ * 4. and, for the mediator strategy, redirecting the cycle's edges at the
174
+ * mediator's REAL `needs` (never a fabricated empty set) stays acyclic, so
175
+ * a mediator that itself depends back into the cycle is refused.
176
+ *
177
+ * `currentNodes` must be built from the obligation ledger as it stands NOW, on
178
+ * this invocation, after ingestion and the staleness-archive pass — a stale
179
+ * snapshot would reintroduce exactly the vacuity this closes.
180
+ */
181
+ export function validateAuthoredCycleBreak(originalCycle, currentNodes, authored) {
182
+ const members = originalCycle.members;
183
+ const cycleSet = new Set(members);
184
+ const designatedId = authored.designatedId?.trim();
185
+ if (!designatedId) {
186
+ return {
187
+ accepted: false,
188
+ reason: `The ${authored.strategy} break for cycle [${members.join(", ")}] names no obligation. ` +
189
+ `A mediator break must name the mediating obligation and a single_authority break must ` +
190
+ `name the owning obligation, or there is nothing to re-check against the ledger.`,
191
+ };
192
+ }
193
+ const designated = currentNodes.find((node) => node.id === designatedId);
194
+ if (!designated) {
195
+ return {
196
+ accepted: false,
197
+ reason: `The ${authored.strategy} break for cycle [${members.join(", ")}] names "${designatedId}", ` +
198
+ `which is not an obligation in the ledger. The break must be recorded in the ledger the ` +
199
+ `pipeline reads, not only in the resolution record.`,
200
+ };
201
+ }
202
+ if (authored.strategy === "mediator" && cycleSet.has(designatedId)) {
203
+ return {
204
+ accepted: false,
205
+ reason: `Mediator "${designatedId}" is itself a member of cycle [${members.join(", ")}]. A mediator ` +
206
+ `is a THIRD obligation that both sides depend on; designating a participant is a ` +
207
+ `single_authority break, not a mediator break.`,
208
+ };
209
+ }
210
+ if (authored.strategy === "single_authority" && !cycleSet.has(designatedId)) {
211
+ return {
212
+ accepted: false,
213
+ reason: `Single authority "${designatedId}" is not a member of cycle [${members.join(", ")}]. The ` +
214
+ `authority must be one of the co-defining obligations; the others become consumers.`,
215
+ };
216
+ }
217
+ // (3) The designated obligation must be a member of THE BROKEN CYCLE'S OWN
218
+ // node set — the cycle members plus what they now need. Existing in the
219
+ // ledger is not enough: a mediator that no cycle member depends on mediates
220
+ // nothing, so an arbitrary unrelated obligation could otherwise be named and
221
+ // the break would pass on the strength of a graph that is acyclic for
222
+ // reasons having nothing to do with the claim.
223
+ const brokenCycleNodeSet = new Set(members);
224
+ for (const node of currentNodes) {
225
+ if (!cycleSet.has(node.id))
226
+ continue;
227
+ for (const dep of node.needs)
228
+ brokenCycleNodeSet.add(dep);
229
+ }
230
+ if (!brokenCycleNodeSet.has(designatedId)) {
231
+ return {
232
+ accepted: false,
233
+ reason: `The ${authored.strategy} break names "${designatedId}", which no member of cycle ` +
234
+ `[${members.join(", ")}] depends on. The designated obligation must be part of the broken ` +
235
+ `cycle's own node set — a mediator no cycle member needs is not mediating the cycle.`,
236
+ };
237
+ }
238
+ // (4) The live edges, not the claim: any remaining cycle that still touches
239
+ // the original members means the ledger was never actually rewritten.
240
+ const allRemaining = detectCyclicSeamObligations(currentNodes);
241
+ const remaining = allRemaining.filter((cycle) => cycle.members.some((id) => cycleSet.has(id)));
242
+ if (remaining.length > 0) {
243
+ const affectedIds = [...new Set(remaining.flatMap((c) => c.members))].join(", ");
244
+ return {
245
+ accepted: false,
246
+ reason: `Cycle [${members.join(", ")}] is still present in the obligation ledger after the claimed ` +
247
+ `${authored.strategy} break via "${designatedId}" — the depends_on edges involving ` +
248
+ `[${affectedIds}] were not changed. Rewrite the ledger so the cycle's edges actually route ` +
249
+ `through the designated obligation.`,
250
+ };
251
+ }
252
+ // (5) SYMMETRIC across both strategies: the break must not have introduced a
253
+ // cycle ELSEWHERE either. Step (4) only looks at cycles touching the original
254
+ // members, so a brand-new cycle among untouched obligations would pass it —
255
+ // and a single_authority break used to reach the accept with no whole-graph
256
+ // check at all.
257
+ if (allRemaining.length > 0) {
258
+ const affectedIds = [...new Set(allRemaining.flatMap((c) => c.members))].join(", ");
259
+ return {
260
+ accepted: false,
261
+ reason: `The ${authored.strategy} break via "${designatedId}" leaves the obligation graph cyclic ` +
262
+ `elsewhere: [${affectedIds}]. Breaking one cycle may not introduce another.`,
263
+ };
264
+ }
265
+ // (6) The mediator's REAL needs — the check the fabricated `needs: []` node
266
+ // could never fail. Deliberately NOT run for single_authority: that strategy
267
+ // designates a cycle MEMBER, and `validateCycleBreak` redirects a member's
268
+ // intra-cycle edges at the designated node, which for the authority itself
269
+ // would manufacture a self-edge and reject a sound break. Step (5) is the
270
+ // whole-graph guarantee both strategies share.
271
+ if (authored.strategy === "mediator") {
272
+ return validateCycleBreak(originalCycle, currentNodes, {
273
+ id: designated.id,
274
+ needs: designated.needs,
275
+ });
276
+ }
277
+ return { accepted: true };
278
+ }
151
279
  //# sourceMappingURL=cyclicSeamResolution.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cyclicSeamResolution.js","sourceRoot":"","sources":["../../../src/remediate/contractPipeline/cyclicSeamResolution.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAiCH,iFAAiF;AAEjF;;;;;;;;;GASG;AACH,MAAM,UAAU,2BAA2B,CACzC,KAA2B;IAE3B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAElC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5C,gCAAgC;IAChC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAoB,CAAC;IAC9C,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAC;IAE3C,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;QACrB,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QACtB,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IACtB,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC7B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,SAAS,CAAC,uBAAuB;YACpD,+CAA+C;YAC/C,SAAS,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAClC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IAED,eAAe;IACf,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;QAC3C,IAAI,GAAG,KAAK,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAChC,CAAC;IACD,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,EAAG,CAAC;QAC5B,OAAO,EAAE,CAAC;QACV,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YAC7C,MAAM,MAAM,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YAC7C,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAC3B,IAAI,MAAM,KAAK,CAAC;gBAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IAED,IAAI,OAAO,KAAK,GAAG,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC,CAAC,YAAY;IAEjD,gEAAgE;IAChE,MAAM,UAAU,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAExE,uEAAuE;IACvE,2CAA2C;IAC3C,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC;IACrC,MAAM,MAAM,GAAG,IAAI,GAAG,CAAiB,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IAEzE,SAAS,IAAI,CAAC,CAAS;QACrB,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3B,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAE,CAAC;YACzB,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YAClC,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAE,CAAC;QACrB,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC;IAED,SAAS,KAAK,CAAC,CAAS,EAAE,CAAS;QACjC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACnB,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACnB,IAAI,EAAE,KAAK,EAAE;YAAE,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAAE,SAAS;QACrC,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC7B,IAAI,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACtB,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;YACtB,CAAC;QACH,CAAC;IACH,CAAC;IAED,iBAAiB;IACjB,MAAM,UAAU,GAAG,IAAI,GAAG,EAAoB,CAAC;IAC/C,KAAK,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;QACtB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACpD,UAAU,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjC,CAAC;IAED,OAAO,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;AAClE,CAAC;AAED,iFAAiF;AAEjF;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,kBAAkB,CAChC,aAA4B,EAC5B,QAA8B,EAC9B,gBAAkC;IAElC,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAEhD,+BAA+B;IAC/B,2EAA2E;IAC3E,kCAAkC;IAClC,sCAAsC;IACtC,sBAAsB;IACtB,MAAM,OAAO,GAAyB,EAAE,CAAC;IAEzC,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;QAC5B,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;YAC1B,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CACtC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAC9C,CAAC;YACF,mCAAmC;YACnC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC;QAC/D,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IAED,2BAA2B;IAC3B,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,gBAAgB,CAAC,EAAE,EAAE,KAAK,EAAE,gBAAgB,CAAC,KAAK,EAAE,CAAC,CAAC;IAEzE,MAAM,SAAS,GAAG,2BAA2B,CAAC,OAAO,CAAC,CAAC;IAEvD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,MAAM,WAAW,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnE,OAAO;YACL,QAAQ,EAAE,KAAK;YACf,MAAM,EAAE,sBAAsB,gBAAgB,CAAC,EAAE,uCAAuC,WAAW,IAAI;SACxG,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AAC5B,CAAC"}
1
+ {"version":3,"file":"cyclicSeamResolution.js","sourceRoot":"","sources":["../../../src/remediate/contractPipeline/cyclicSeamResolution.ts"],"names":[],"mappings":"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"}
@@ -21,6 +21,7 @@
21
21
  * no parallel logic").
22
22
  */
23
23
  import { type ObligationLedger } from "audit-tools/shared";
24
+ import { isTestablePhaseObligation } from "../validation/contractPipelineGates.js";
24
25
  /** Options accepted by the derivers (created_at injected for deterministic tests). */
25
26
  export interface DeriveOptions {
26
27
  /** Overrides the generated ISO-8601 timestamp (for deterministic snapshots). */
@@ -69,16 +70,18 @@ export declare function deriveFinalizedModuleContracts(draftedModuleContracts: u
69
70
  * Shared obligation-membership predicates — the single source for which
70
71
  * obligations each downstream scaffold covers.
71
72
  *
72
- * `isTestablePhaseObligation`: testable (invariant/behavioral) → true; the
73
- * structural contract-conformance kind → false; an unknown/unexpected kind →
74
- * conservatively true (fail-OPEN into the paired-test gate rather than silently
75
- * skipping coverage).
73
+ * `isTestablePhaseObligation` (imported above) is now single-sourced in
74
+ * `../validation/contractPipelineGates.ts` (MNT-e10b9d9b: this file's former
75
+ * local TESTABLE_KINDS set and that file's TESTABLE_OBLIGATION_KINDS were
76
+ * "kept in parity by hand" and had already diverged — fail-open here,
77
+ * fail-closed there, on an identical unrecognized-kind input). Re-exported
78
+ * here so every existing importer of derive.js keeps working unchanged.
76
79
  *
77
80
  * `isDagPhaseObligation`: every obligation is covered by the implementation DAG,
78
81
  * so this is always true. It exists so both scaffolds derive their membership
79
82
  * from a named predicate rather than an inline ad-hoc filter.
80
83
  */
81
- export declare function isTestablePhaseObligation(kind: string): boolean;
84
+ export { isTestablePhaseObligation };
82
85
  export declare function isDagPhaseObligation(_kind: string): boolean;
83
86
  export interface TestValidatorPlanScaffold {
84
87
  test_specs: Array<{
@@ -1 +1 @@
1
- {"version":3,"file":"derive.d.ts","sourceRoot":"","sources":["../../../src/remediate/contractPipeline/derive.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,EAKL,KAAK,gBAAgB,EACtB,MAAM,oBAAoB,CAAC;AA0B5B,sFAAsF;AACtF,MAAM,WAAW,aAAa;IAC5B,gFAAgF;IAChF,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,sBAAsB,CACpC,wBAAwB,EAAE,OAAO,EACjC,OAAO,GAAE,aAAkB,GAC1B,gBAAgB,CA6DlB;AAiDD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,8BAA8B,CAC5C,sBAAsB,EAAE,OAAO,EAC/B,wBAAwB,EAAE,OAAO,EACjC,OAAO,GAAE,aAAkB,GAC1B;IACD,gBAAgB,EAAE,MAAM,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,OAAO,EAAE,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC;CACpB,CAgCA;AAmBD;;;;;;;;;;;;GAYG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAI/D;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE3D;AASD,MAAM,WAAW,yBAAyB;IACxC,UAAU,EAAE,KAAK,CAAC;QAChB,aAAa,EAAE,MAAM,CAAC;QACtB,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb;;;;;;WAMG;QACH,aAAa,EAAE,MAAM,EAAE,CAAC;QACxB,UAAU,EAAE,MAAM,EAAE,CAAC;KACtB,CAAC,CAAC;CACJ;AAED;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAQD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,8BAA8B,CAC5C,MAAM,EAAE,gBAAgB,GAAG,SAAS,EACpC,iBAAiB,GAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAM,GACpD,yBAAyB,CA6B3B;AAED,MAAM,WAAW,6BAA6B;IAC5C,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,yBAAyB,EAAE,MAAM,EAAE,CAAC;IACpC;;;;;;;OAOG;IACH,wBAAwB,EAAE,MAAM,EAAE,CAAC;IACnC,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,2BAA2B,EAAE,MAAM,EAAE,CAAC;IACtC,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,mFAAmF;AACnF,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,OAAO,GAAG,oBAAoB,EAAE,CAW/E;AAED,MAAM,WAAW,yBAAyB;IACxC,KAAK,EAAE,6BAA6B,EAAE,CAAC;IACvC,KAAK,EAAE,KAAK,EAAE,CAAC;CAChB;AAED,gFAAgF;AAChF,wBAAgB,yBAAyB,CAAC,WAAW,EAAE,OAAO,GAAG,MAAM,EAAE,CAgBxE;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,8BAA8B,CAC5C,MAAM,EAAE,gBAAgB,GAAG,SAAS,EACpC,aAAa,EAAE,MAAM,EAAE,EACvB,kBAAkB,CAAC,EAAE,OAAO,GAC3B,yBAAyB,CAwD3B"}
1
+ {"version":3,"file":"derive.d.ts","sourceRoot":"","sources":["../../../src/remediate/contractPipeline/derive.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,EAKL,KAAK,gBAAgB,EACtB,MAAM,oBAAoB,CAAC;AAU5B,OAAO,EAAE,yBAAyB,EAAE,MAAM,wCAAwC,CAAC;AAiBnF,sFAAsF;AACtF,MAAM,WAAW,aAAa;IAC5B,gFAAgF;IAChF,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,sBAAsB,CACpC,wBAAwB,EAAE,OAAO,EACjC,OAAO,GAAE,aAAkB,GAC1B,gBAAgB,CA6DlB;AAiDD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,8BAA8B,CAC5C,sBAAsB,EAAE,OAAO,EAC/B,wBAAwB,EAAE,OAAO,EACjC,OAAO,GAAE,aAAkB,GAC1B;IACD,gBAAgB,EAAE,MAAM,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,OAAO,EAAE,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC;CACpB,CAgCA;AAaD;;;;;;;;;;;;;;GAcG;AACH,OAAO,EAAE,yBAAyB,EAAE,CAAC;AAErC,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE3D;AASD,MAAM,WAAW,yBAAyB;IACxC,UAAU,EAAE,KAAK,CAAC;QAChB,aAAa,EAAE,MAAM,CAAC;QACtB,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb;;;;;;WAMG;QACH,aAAa,EAAE,MAAM,EAAE,CAAC;QACxB,UAAU,EAAE,MAAM,EAAE,CAAC;KACtB,CAAC,CAAC;CACJ;AAED;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAQD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,8BAA8B,CAC5C,MAAM,EAAE,gBAAgB,GAAG,SAAS,EACpC,iBAAiB,GAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAM,GACpD,yBAAyB,CA6B3B;AAED,MAAM,WAAW,6BAA6B;IAC5C,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,yBAAyB,EAAE,MAAM,EAAE,CAAC;IACpC;;;;;;;OAOG;IACH,wBAAwB,EAAE,MAAM,EAAE,CAAC;IACnC,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,2BAA2B,EAAE,MAAM,EAAE,CAAC;IACtC,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,mFAAmF;AACnF,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,OAAO,GAAG,oBAAoB,EAAE,CAW/E;AAED,MAAM,WAAW,yBAAyB;IACxC,KAAK,EAAE,6BAA6B,EAAE,CAAC;IACvC,KAAK,EAAE,KAAK,EAAE,CAAC;CAChB;AAED,gFAAgF;AAChF,wBAAgB,yBAAyB,CAAC,WAAW,EAAE,OAAO,GAAG,MAAM,EAAE,CAgBxE;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,8BAA8B,CAC5C,MAAM,EAAE,gBAAgB,GAAG,SAAS,EACpC,aAAa,EAAE,MAAM,EAAE,EACvB,kBAAkB,CAAC,EAAE,OAAO,GAC3B,yBAAyB,CAwD3B"}
@@ -25,6 +25,7 @@ import { buildBaselineSymbolCorpus, classifyObligationChange, obligationScopeAnc
25
25
  import { derivePhaseCut, phaseCutModulesFromContracts } from "./phaseCut.js";
26
26
  import { obligationId } from "./idRegistry.js";
27
27
  import { CP_FINALIZED_MODULE_CONTRACTS_VERSION } from "../validation/contractPipeline.js";
28
+ import { isTestablePhaseObligation } from "../validation/contractPipelineGates.js";
28
29
  /**
29
30
  * Derive the obligation ledger deterministically from the finalized module
30
31
  * contracts. Pure function of its input (modulo the `created_at` stamp): the
@@ -198,31 +199,22 @@ export function deriveFinalizedModuleContracts(draftedModuleContracts, seamRecon
198
199
  // mis-reference an obligation. These are NOT writable artifacts: the blank
199
200
  // fields fail validation by design (that is the point — the model must fill
200
201
  // them). They are rendered into the dispatch prompt as a pre-filled skeleton.
201
- // NOTE(follow-up unification): this testable-kind set is duplicated in
202
- // `../validation/contractPipelineGates.ts` (~438, `TESTABLE_OBLIGATION_KINDS`).
203
- // The two should be single-sourced; for now they are kept in parity by hand.
204
- // Do NOT edit gates.ts here — that unification is tracked separately.
205
- const TESTABLE_KINDS = new Set(["invariant", "behavioral"]);
206
202
  /**
207
203
  * Shared obligation-membership predicates — the single source for which
208
204
  * obligations each downstream scaffold covers.
209
205
  *
210
- * `isTestablePhaseObligation`: testable (invariant/behavioral) → true; the
211
- * structural contract-conformance kind → false; an unknown/unexpected kind →
212
- * conservatively true (fail-OPEN into the paired-test gate rather than silently
213
- * skipping coverage).
206
+ * `isTestablePhaseObligation` (imported above) is now single-sourced in
207
+ * `../validation/contractPipelineGates.ts` (MNT-e10b9d9b: this file's former
208
+ * local TESTABLE_KINDS set and that file's TESTABLE_OBLIGATION_KINDS were
209
+ * "kept in parity by hand" and had already diverged — fail-open here,
210
+ * fail-closed there, on an identical unrecognized-kind input). Re-exported
211
+ * here so every existing importer of derive.js keeps working unchanged.
214
212
  *
215
213
  * `isDagPhaseObligation`: every obligation is covered by the implementation DAG,
216
214
  * so this is always true. It exists so both scaffolds derive their membership
217
215
  * from a named predicate rather than an inline ad-hoc filter.
218
216
  */
219
- export function isTestablePhaseObligation(kind) {
220
- if (TESTABLE_KINDS.has(kind))
221
- return true;
222
- if (kind === "structural")
223
- return false;
224
- return true; // unknown kind → conservatively testable
225
- }
217
+ export { isTestablePhaseObligation };
226
218
  export function isDagPhaseObligation(_kind) {
227
219
  return true;
228
220
  }