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
@@ -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":"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"}
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
  }
@@ -1 +1 @@
1
- {"version":3,"file":"derive.js","sourceRoot":"","sources":["../../../src/remediate/contractPipeline/derive.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"derive.js","sourceRoot":"","sources":["../../../src/remediate/contractPipeline/derive.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/remediate/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUpC,OAAO,EAML,KAAK,4BAA4B,EAClC,MAAM,qCAAqC,CAAC;AAE7C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAOL,UAAU,EAEX,MAAM,oBAAoB,CAAC;AAc5B,QAAA,MAAM,OAAO,SAAgB,CAAC;AA6N9B,MAAM,WAAW,4BAA4B;IAC3C,MAAM,EAAE,IAAI,GAAG,OAAO,CAAC;IACvB,IAAI,CAAC,EAAE,4BAA4B,CAAC;IACpC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,eAAe,EAAE,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,yBAAyB,CAAC,OAAO,EAAE;IACvD,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;CACtB,GAAG,OAAO,CAAC;IAAE,MAAM,EAAE,4BAA4B,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAgHtE;AAiCD,OAAO,EAAE,OAAO,EAAE,CAAC;AAEnB,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CAEjD;AASD;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAU/E;AAYD;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,MAAM,GACnB,MAAM,CAIR;AAED,wBAAgB,kBAAkB,CAChC,IAAI,GAAE;IACJ,GAAG,CAAC,EAAE,OAAO,UAAU,CAAC;IACxB,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9B,GACL,MAAM,CAcR"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/remediate/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUpC,OAAO,EAML,KAAK,4BAA4B,EAClC,MAAM,qCAAqC,CAAC;AAE7C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAOL,UAAU,EAEX,MAAM,oBAAoB,CAAC;AAiB5B,QAAA,MAAM,OAAO,SAAgB,CAAC;AAoR9B,MAAM,WAAW,4BAA4B;IAC3C,MAAM,EAAE,IAAI,GAAG,OAAO,CAAC;IACvB,IAAI,CAAC,EAAE,4BAA4B,CAAC;IACpC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,eAAe,EAAE,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,yBAAyB,CAAC,OAAO,EAAE;IACvD,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;CACtB,GAAG,OAAO,CAAC;IAAE,MAAM,EAAE,4BAA4B,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAgHtE;AAiCD,OAAO,EAAE,OAAO,EAAE,CAAC;AAEnB,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CAEjD;AASD;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAU/E;AAYD;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,MAAM,GACnB,MAAM,CAIR;AAED,wBAAgB,kBAAkB,CAChC,IAAI,GAAE;IACJ,GAAG,CAAC,EAAE,OAAO,UAAU,CAAC;IACxB,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9B,GACL,MAAM,CAcR"}
@@ -2,14 +2,14 @@ import { Command } from "commander";
2
2
  import { readFileSync } from "node:fs";
3
3
  import { join, dirname, resolve } from "node:path";
4
4
  import { fileURLToPath, pathToFileURL } from "node:url";
5
- import { decideNextStep } from "./steps/nextStep.js";
5
+ import { decideNextStep, recoverIngestHostResults } from "./steps/nextStep.js";
6
6
  import { validateArtifacts } from "./validation/artifacts.js";
7
7
  import { CONTRACT_PIPELINE_VALIDATORS, evaluateContractPipelineCrossGates, } from "./validation/contractPipeline.js";
8
8
  import { CP_ARTIFACT_NAMES, isEnvelope, stampToolCreatedAt, readContractArtifact, envelopePayload, } from "./contractPipeline/artifactStore.js";
9
9
  import { intakePaths } from "./intake.js";
10
10
  import { applyGuidanceFile, assertCliCommandAllowedFromCwd, remediationArtifactsDir, resolveRepoRoot, readOptionalJsonFile, recoverSubmission, runTracked, runWithBlockedStepBackstop, } from "audit-tools/shared";
11
11
  import { writeBlockedStep } from "./steps/stepWriter.js";
12
- import { remediationSubmissionBinding } from "./steps/dispatch/hostHandoff.js";
12
+ import { remediationSubmissionBinding, } from "./steps/dispatch/hostHandoff.js";
13
13
  // src/remediate/index.ts (source) or dist/remediate/index.js (built) → three
14
14
  // dirnames up is the package root, holding package.json + skills/ + opencode.json.
15
15
  const pkgRoot = dirname(dirname(dirname(fileURLToPath(import.meta.url))));
@@ -164,6 +164,47 @@ program
164
164
  submission_path: outcome.submission_path,
165
165
  }, null, 2));
166
166
  });
167
+ program
168
+ .command("recover-ingest")
169
+ .description("Ingest landed host results whose trusted workload baseline was ORPHANED by a history rewrite (every other corroboration check still applies)")
170
+ .option("--root <path>", "Repository root", ".")
171
+ .option("--artifacts-dir <path>", "Artifacts directory", ".audit-tools/remediation")
172
+ .requiredOption("--run-id <id>", "The run whose workload results are ingested")
173
+ .action(async (options) => {
174
+ // An operator-explicit verb, exactly like recover-submission: the ordinary
175
+ // lane needs no command (next-step ingests), so the relaxed evidence bar is
176
+ // never reachable by a host that merely calls the normal loop.
177
+ let summary;
178
+ try {
179
+ summary = await recoverIngestHostResults({
180
+ root: options.root,
181
+ artifactsDir: resolveArtifactsDirOption(options.root, options.artifactsDir),
182
+ runId: options.runId,
183
+ });
184
+ }
185
+ catch (error) {
186
+ // An operator at a terminal gets the reason, not a stack trace.
187
+ console.error(`recover-ingest could not run: ${error instanceof Error ? error.message : String(error)}`);
188
+ process.exit(1);
189
+ }
190
+ // A run that recovered NOTHING is not a recovery. Saying "recovered" and
191
+ // exiting 0 over an empty accept set is the one outcome an operator could
192
+ // mistake for success, so it gets its own status and a non-zero exit — as
193
+ // does any partial run, since an operator who asked for N items back must
194
+ // not read a partial ingest as a complete one. The body names what landed.
195
+ const recoveredNothing = summary.accepted_count === 0 &&
196
+ summary.completed_work_item_ids.length === 0;
197
+ console.log(JSON.stringify({
198
+ status: recoveredNothing ? "nothing-to-recover" : "recovered",
199
+ run_id: options.runId,
200
+ accepted_count: summary.accepted_count,
201
+ completed_work_item_ids: summary.completed_work_item_ids,
202
+ pending_work_item_ids: summary.pending_work_item_ids,
203
+ issues: summary.issues,
204
+ }, null, 2));
205
+ if (recoveredNothing || summary.issues.length > 0)
206
+ process.exit(1);
207
+ });
167
208
  program
168
209
  .command("validate-artifacts")
169
210
  .description("Validate remediation runtime artifacts")
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/remediate/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/remediate/index.ts"],"names":[],"mappings":"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"}
@@ -24,12 +24,20 @@ import type { InterpretedIntent } from "audit-tools/shared";
24
24
  import type { Finding, RemediationBlock } from "../state/types.js";
25
25
  /**
26
26
  * The intent-derived ordering weight for a single finding: its severity base
27
- * plus boosts for an emphasised lens, an emphasised scope path, and any priority
28
- * signal. Higher weight sorts earlier. When the intent is empty (no lens
29
- * weights, scope, or priority), this collapses to the severity base, so an
30
- * absent/empty `free_form_intent` leaves ordering driven purely by severity.
27
+ * plus boosts for an emphasised lens and any priority signal, PLUS/MINUS a
28
+ * scope-match adjustment. Higher weight sorts earlier. When the intent is
29
+ * empty (no lens weights, scope, or priority), this collapses to the severity
30
+ * base, so an absent/empty `free_form_intent` leaves ordering driven purely by
31
+ * severity.
32
+ *
33
+ * Scope-match sign convention (COR-a0648a7d / COR-a0648a7d-2): a finding
34
+ * matching an EXCLUSION needle (e.g. "ignore vendor/") is DEBOOSTED — checked
35
+ * first, and takes precedence over an incidental inclusion match — so a scope
36
+ * the user asked to avoid can never rank ahead of an unmatched finding, let
37
+ * alone an included one. A finding matching only an INCLUSION needle is
38
+ * boosted, unchanged from before this fix.
31
39
  */
32
- export declare function findingIntentWeight(finding: Finding, intent: InterpretedIntent, needles?: string[]): number;
40
+ export declare function findingIntentWeight(finding: Finding, intent: InterpretedIntent, includeNeedles?: string[], excludeNeedles?: string[]): number;
33
41
  export interface IntentOrderingResult {
34
42
  findings: Finding[];
35
43
  blocks: RemediationBlock[];
@@ -1 +1 @@
1
- {"version":3,"file":"intentOrdering.d.ts","sourceRoot":"","sources":["../../../src/remediate/intent/intentOrdering.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,KAAK,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAyDnE;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,iBAAiB,EACzB,OAAO,GAAE,MAAM,EAAyB,GACvC,MAAM,CAaR;AAWD,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,MAAM,EAAE,gBAAgB,EAAE,CAAC;CAC5B;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,OAAO,EAAE,EACnB,MAAM,EAAE,gBAAgB,EAAE,EAC1B,MAAM,EAAE,iBAAiB,GACxB,oBAAoB,CAmCtB"}
1
+ {"version":3,"file":"intentOrdering.d.ts","sourceRoot":"","sources":["../../../src/remediate/intent/intentOrdering.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAE5D,OAAO,KAAK,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAsEnE;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,iBAAiB,EACzB,cAAc,GAAE,MAAM,EAAgC,EACtD,cAAc,GAAE,MAAM,EAAgC,GACrD,MAAM,CAmBR;AAaD,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,MAAM,EAAE,gBAAgB,EAAE,CAAC;CAC5B;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,OAAO,EAAE,EACnB,MAAM,EAAE,gBAAgB,EAAE,EAC1B,MAAM,EAAE,iBAAiB,GACxB,oBAAoB,CAuCtB"}
@@ -20,14 +20,7 @@
20
20
  *
21
21
  * Pure and synchronous — no IO, no LLM.
22
22
  */
23
- /** Severity → base ordering weight (most-severe-first). Higher sorts earlier. */
24
- const SEVERITY_WEIGHT = {
25
- critical: 5,
26
- high: 4,
27
- medium: 3,
28
- low: 2,
29
- info: 1,
30
- };
23
+ import { severityRank } from "audit-tools/shared";
31
24
  /** Boost added to a finding whose lens the intent emphasised (lensWeights). */
32
25
  const LENS_EMPHASIS_BOOST = 10;
33
26
  /** Boost added to a finding whose file path matches a scope-emphasis clause. */
@@ -39,14 +32,20 @@ const PRIORITY_SIGNAL_BOOST = 3;
39
32
  // not the directive verb. Mirrors the shared SCOPE_PATTERNS lead-ins.
40
33
  const SCOPE_LEADIN_RE = /^(?:focus(?:ing)?\s+on|focused\s+on|prioriti[sz]e?d?|prioriti[sz]ing|ignore|ignoring|skip(?:ping)?|exclude?d?|excluding|concentrate\s+on|look\s+at|check(?:\s+only)?(?:\s+the)?|limit(?:ed)?\s+to|restrict(?:ed)?\s+to|only\s+(?:in|within|for|\w+))\s+/i;
41
34
  /**
42
- * Lower-cased path/identifier needles extracted from each scope-emphasis clause.
43
- * A clause like "focus on src/auth" yields the needle "src/auth" (the directive
44
- * verb is stripped); multi-target clauses split into one needle per token. These
45
- * are substring-matched against a finding's file paths.
35
+ * Lower-cased path/identifier needles extracted from a set of scope-emphasis
36
+ * clauses. A clause like "focus on src/auth" yields the needle "src/auth" (the
37
+ * directive verb is stripped); multi-target clauses split into one needle per
38
+ * token. These are substring-matched against a finding's file paths.
39
+ *
40
+ * Shared tokenizer for BOTH polarities — see {@link scopeIncludeNeedles} and
41
+ * {@link scopeExcludeNeedles}, which call this with the caller's already
42
+ * polarity-separated clause array (`intent.scopeEmphasis` /
43
+ * `intent.scopeExclusions`) so a needle's polarity is never re-derived from
44
+ * clause text here.
46
45
  */
47
- function scopeNeedles(intent) {
46
+ function extractScopeNeedles(clauses) {
48
47
  const needles = [];
49
- for (const clause of intent.scopeEmphasis) {
48
+ for (const clause of clauses) {
50
49
  const target = clause.toLowerCase().replace(SCOPE_LEADIN_RE, "").trim();
51
50
  if (target.length === 0)
52
51
  continue;
@@ -59,6 +58,20 @@ function scopeNeedles(intent) {
59
58
  }
60
59
  return needles;
61
60
  }
61
+ /** Needles from INCLUSION-polarity scope clauses (`intent.scopeEmphasis`) — a
62
+ * match BOOSTS a finding's weight. */
63
+ function scopeIncludeNeedles(intent) {
64
+ return extractScopeNeedles(intent.scopeEmphasis);
65
+ }
66
+ /** Needles from EXCLUSION-polarity scope clauses (`intent.scopeExclusions`) —
67
+ * a match must never boost a finding's weight (COR-a0648a7d): the user asked
68
+ * the dispatcher to de-emphasise this scope, not promote it. Tolerates an
69
+ * absent `scopeExclusions` (`?? []`) — every `InterpretedIntent` produced by
70
+ * `interpretFreeFormIntent` carries it, but a hand-constructed intent object
71
+ * that predates this field must degrade to "no exclusions", not throw. */
72
+ function scopeExcludeNeedles(intent) {
73
+ return extractScopeNeedles(intent.scopeExclusions ?? []);
74
+ }
62
75
  /** True when any of the finding's affected-file paths contains a scope needle. */
63
76
  function matchesScope(finding, needles) {
64
77
  if (needles.length === 0)
@@ -76,18 +89,33 @@ function matchesScope(finding, needles) {
76
89
  }
77
90
  /**
78
91
  * The intent-derived ordering weight for a single finding: its severity base
79
- * plus boosts for an emphasised lens, an emphasised scope path, and any priority
80
- * signal. Higher weight sorts earlier. When the intent is empty (no lens
81
- * weights, scope, or priority), this collapses to the severity base, so an
82
- * absent/empty `free_form_intent` leaves ordering driven purely by severity.
92
+ * plus boosts for an emphasised lens and any priority signal, PLUS/MINUS a
93
+ * scope-match adjustment. Higher weight sorts earlier. When the intent is
94
+ * empty (no lens weights, scope, or priority), this collapses to the severity
95
+ * base, so an absent/empty `free_form_intent` leaves ordering driven purely by
96
+ * severity.
97
+ *
98
+ * Scope-match sign convention (COR-a0648a7d / COR-a0648a7d-2): a finding
99
+ * matching an EXCLUSION needle (e.g. "ignore vendor/") is DEBOOSTED — checked
100
+ * first, and takes precedence over an incidental inclusion match — so a scope
101
+ * the user asked to avoid can never rank ahead of an unmatched finding, let
102
+ * alone an included one. A finding matching only an INCLUSION needle is
103
+ * boosted, unchanged from before this fix.
83
104
  */
84
- export function findingIntentWeight(finding, intent, needles = scopeNeedles(intent)) {
85
- let weight = SEVERITY_WEIGHT[finding.severity] ?? 0;
105
+ export function findingIntentWeight(finding, intent, includeNeedles = scopeIncludeNeedles(intent), excludeNeedles = scopeExcludeNeedles(intent)) {
106
+ // Base ordering weight: the canonical severity rank (critical=5 … info=1),
107
+ // derived in audit-tools/shared from SEVERITIES. Never a local rank table —
108
+ // the copies previously drifted (0-based vs 1-based, inverted ordering), and
109
+ // tests/shared/finding-ranks.test.ts refuses one anywhere under src/.
110
+ let weight = severityRank(finding.severity);
86
111
  const lens = (finding.lens ?? "").trim();
87
112
  if (lens.length > 0 && intent.lensWeights[lens] !== undefined) {
88
113
  weight += LENS_EMPHASIS_BOOST;
89
114
  }
90
- if (matchesScope(finding, needles)) {
115
+ if (matchesScope(finding, excludeNeedles)) {
116
+ weight -= SCOPE_EMPHASIS_BOOST;
117
+ }
118
+ else if (matchesScope(finding, includeNeedles)) {
91
119
  weight += SCOPE_EMPHASIS_BOOST;
92
120
  }
93
121
  if (intent.prioritySignals.length > 0) {
@@ -95,11 +123,13 @@ export function findingIntentWeight(finding, intent, needles = scopeNeedles(inte
95
123
  }
96
124
  return weight;
97
125
  }
98
- /** True when the interpreted intent carries no ordering signal at all. */
126
+ /** True when the interpreted intent carries no ordering signal at all. Tolerates
127
+ * an absent `scopeExclusions` (`?? []`) — see {@link scopeExcludeNeedles}. */
99
128
  function intentIsEmpty(intent) {
100
129
  return (Object.keys(intent.lensWeights).length === 0 &&
101
130
  intent.prioritySignals.length === 0 &&
102
- intent.scopeEmphasis.length === 0);
131
+ intent.scopeEmphasis.length === 0 &&
132
+ (intent.scopeExclusions ?? []).length === 0);
103
133
  }
104
134
  /**
105
135
  * Reorder `findings` and `blocks` by intent-derived weight (descending), stably.
@@ -118,10 +148,11 @@ export function applyIntentOrdering(findings, blocks, intent) {
118
148
  if (intentIsEmpty(intent)) {
119
149
  return { findings, blocks };
120
150
  }
121
- const needles = scopeNeedles(intent);
151
+ const includeNeedles = scopeIncludeNeedles(intent);
152
+ const excludeNeedles = scopeExcludeNeedles(intent);
122
153
  const weightByFinding = new Map();
123
154
  for (const finding of findings) {
124
- weightByFinding.set(finding.id, findingIntentWeight(finding, intent, needles));
155
+ weightByFinding.set(finding.id, findingIntentWeight(finding, intent, includeNeedles, excludeNeedles));
125
156
  }
126
157
  // Stable sort: decorate with original index, compare on (weight desc, index asc).
127
158
  const orderedFindings = findings