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
@@ -5,6 +5,7 @@ import { computeArtifactMetadata } from "./artifactMetadata.js";
5
5
  import { EXECUTOR_RUNNERS } from "./executorRunners.js";
6
6
  import { nextStepIsDrainableRegen, } from "./hostInputPause.js";
7
7
  import { computeStaleArtifacts, emitStalenessRecord, isMetadataMigrationStaleness, resetStalenessDedup, } from "./staleness.js";
8
+ import { DEPENDENCY_SLICE_PROJECTIONS } from "./dependencySlices.js";
8
9
  import { AGENT_FEEDBACK_FILENAME, RunLogger, advance as advanceObligations, } from "audit-tools/shared";
9
10
  /**
10
11
  * Hard ceiling on the internal drain loop. The regen frontier is finite (each
@@ -25,7 +26,125 @@ import { AGENT_FEEDBACK_FILENAME, RunLogger, advance as advanceObligations, } fr
25
26
  * precedent of keeping cycle/step-count bookkeeping in the local `Ctx` rather
26
27
  * than in the engine's own transition counter.
27
28
  */
28
- const MAX_DRAIN_STEPS = 64;
29
+ export const MAX_DRAIN_STEPS = 64;
30
+ /**
31
+ * Headroom between the graceful local cap and the engine's THROWING
32
+ * `maxTransitions` backstop. Named once and consumed by `engineMaxTransitions`
33
+ * so the two bounds can never be set independently: the cap emits on the step
34
+ * that spends the last slot, so the engine sees at most `MAX_DRAIN_STEPS`
35
+ * transitions and its throw is unreachable in practice.
36
+ */
37
+ const ENGINE_TRANSITION_HEADROOM = 2;
38
+ /**
39
+ * The engine bound, DERIVED from the graceful cap rather than written as a
40
+ * literal at the call site. Raising `MAX_DRAIN_STEPS` therefore can never
41
+ * silently convert the graceful stop into an engine throw — there is no second
42
+ * number to remember to re-derive.
43
+ */
44
+ export function engineMaxTransitions(cap = MAX_DRAIN_STEPS) {
45
+ return cap + ENGINE_TRANSITION_HEADROOM;
46
+ }
47
+ // ── The PRIORITY-ordering guarantee (owned here, as a caller precondition) ────
48
+ //
49
+ // The staleness pass DEFERS a downstream whose edge from a stale-and-pending
50
+ // upstream is guarded by a dependency-slice projection: the decision is
51
+ // postponed until the upstream has actually re-derived and the per-edge slice
52
+ // compare can run. That deferral is only safe because of something the
53
+ // staleness pass does not control and deliberately does not police — the ORDER
54
+ // this module drains obligations in. The precondition is therefore stated,
55
+ // owned and tested HERE, on the caller side of that edge:
56
+ //
57
+ // for every registered slice-projected edge, EVERY obligation that can
58
+ // (re)write the upstream artifact is scheduled — and its artifact_metadata
59
+ // persisted — strictly BEFORE the first obligation that can write the
60
+ // downstream; and the drain re-derives obligation state after every step
61
+ // (see deriveObligationState: the memo is keyed on bundle IDENTITY, which
62
+ // changes at every transition), so a slice moved by the upstream's
63
+ // re-derivation still fires the per-edge compare while the deferred set is
64
+ // non-empty, rather than after the downstream has already been selected.
65
+ /**
66
+ * Every PRIORITY obligation whose executor can (re)write an artifact that takes
67
+ * part in a registered dependency-slice projection.
68
+ *
69
+ * DECLARED DATA, RECONCILED — not a general artifact→obligation map and not a
70
+ * list anyone is asked to remember to update: `findPriorityOrderingViolations`
71
+ * REPORTS a projection participant that has no entry here, so registering a new
72
+ * slice-projected edge without declaring its producers is a loud failure rather
73
+ * than a silent hole in the guarantee.
74
+ */
75
+ const SLICE_PARTICIPANT_PRODUCERS = {
76
+ // Written by the extraction pass and again by the independent delta-miner.
77
+ "charter_register.json": ["charter_extraction_current", "charter_delta_current"],
78
+ "structure_decomposition.json": ["structure_decomposition_current"],
79
+ "repo_manifest.json": ["repo_manifest"],
80
+ // Written by the structure pass and again by graph enrichment.
81
+ "graph_bundle.json": ["structure_artifacts", "graph_enrichment_current"],
82
+ };
83
+ /**
84
+ * Check the ordering guarantee above against a priority order. Empty ⇒ the
85
+ * guarantee holds. Defaults to the live `PRIORITY`; a caller may pass a
86
+ * candidate order (which is how the guarantee is red-green validated: an order
87
+ * that puts a downstream's obligation ahead of its slice-projected upstream's
88
+ * must come back non-empty).
89
+ */
90
+ export function findPriorityOrderingViolations(priority = PRIORITY) {
91
+ const violations = [];
92
+ const positions = (artifact) => {
93
+ const producers = SLICE_PARTICIPANT_PRODUCERS[artifact];
94
+ if (!producers) {
95
+ return `no producing obligation is declared for ${artifact} in SLICE_PARTICIPANT_PRODUCERS`;
96
+ }
97
+ const indexes = [];
98
+ for (const producer of producers) {
99
+ const index = priority.indexOf(producer);
100
+ if (index < 0) {
101
+ return `producing obligation "${producer}" of ${artifact} is absent from the priority order`;
102
+ }
103
+ indexes.push(index);
104
+ }
105
+ return indexes;
106
+ };
107
+ for (const [downstream, upstreams] of Object.entries(DEPENDENCY_SLICE_PROJECTIONS)) {
108
+ const downstreamPositions = positions(downstream);
109
+ for (const upstream of Object.keys(upstreams ?? {})) {
110
+ const upstreamPositions = positions(upstream);
111
+ if (typeof downstreamPositions === "string") {
112
+ violations.push({ downstream, upstream, reason: downstreamPositions });
113
+ continue;
114
+ }
115
+ if (typeof upstreamPositions === "string") {
116
+ violations.push({ downstream, upstream, reason: upstreamPositions });
117
+ continue;
118
+ }
119
+ const lastUpstream = Math.max(...upstreamPositions);
120
+ const firstDownstream = Math.min(...downstreamPositions);
121
+ if (lastUpstream >= firstDownstream) {
122
+ violations.push({
123
+ downstream,
124
+ upstream,
125
+ reason: `the slice-projected upstream ${upstream} is regenerated at priority index ${lastUpstream}, at or after the downstream ${downstream} at index ${firstDownstream} — the deferred staleness decision would never fire before the downstream is selected`,
126
+ });
127
+ }
128
+ }
129
+ }
130
+ return violations;
131
+ }
132
+ /**
133
+ * Load-time enforcement, mirroring the executor-registry coverage assertion the
134
+ * priority scan itself carries: a priority order that breaks the guarantee
135
+ * throws loudly at import rather than silently under-staling a downstream at
136
+ * runtime.
137
+ */
138
+ function assertPriorityOrderingGuarantee() {
139
+ const violations = findPriorityOrderingViolations();
140
+ if (violations.length === 0)
141
+ return;
142
+ throw new Error(`PRIORITY ordering violates the dependency-slice deferral precondition:\n` +
143
+ violations
144
+ .map((v) => ` - ${v.downstream} <- ${v.upstream}: ${v.reason}`)
145
+ .join("\n"));
146
+ }
147
+ assertPriorityOrderingGuarantee();
29
148
  function cloneState(state) {
30
149
  return {
31
150
  ...state,
@@ -33,6 +152,50 @@ function cloneState(state) {
33
152
  obligations: state.obligations.map((obligation) => ({ ...obligation })),
34
153
  };
35
154
  }
155
+ /**
156
+ * The ONE {phase:"advance", kind:"obligation"} event. Both the dispatching path
157
+ * and the zero-dispatch path emit exactly this shape, and they emit it from
158
+ * here — a second hand-written copy is what let the two drift apart in the
159
+ * first place.
160
+ */
161
+ function logObligationSelection(log, correlationId, obligation, reason) {
162
+ log.event({
163
+ phase: "advance",
164
+ kind: "obligation",
165
+ correlationId,
166
+ obligation: obligation ?? undefined,
167
+ note: reason,
168
+ });
169
+ }
170
+ /**
171
+ * The ONE construction of the zero-dispatch "no actionable obligation" result.
172
+ *
173
+ * Two independently-editable copies used to exist — the early return inside a
174
+ * single bounded step and the post-engine reconstruction for a drain where no
175
+ * `execute` ever ran. They were semantically equal by inspection only: nothing
176
+ * made a field added to `AdvanceAuditResult` reach both. One constructor makes
177
+ * the equality structural, so "both paths agree" is not a property anyone has
178
+ * to re-verify.
179
+ */
180
+ function noActionableObligationResult(params) {
181
+ const { bundle, decision } = params;
182
+ const state = cloneState(decision.state);
183
+ state.last_executor = bundle.audit_state?.last_executor ?? state.last_executor;
184
+ state.last_obligation =
185
+ params.selectedObligation ??
186
+ bundle.audit_state?.last_obligation ??
187
+ state.last_obligation;
188
+ return {
189
+ audit_state: state,
190
+ selected_obligation: params.selectedObligation,
191
+ selected_executor: params.selectedExecutor,
192
+ progress_made: false,
193
+ artifacts_written: ["audit_state.json"],
194
+ progress_summary: decision.reason,
195
+ next_likely_step: null,
196
+ updated_bundle: { ...bundle, audit_state: state },
197
+ };
198
+ }
36
199
  /**
37
200
  * The identity of the executor that ACTUALLY threw, carried ON the error.
38
201
  *
@@ -134,30 +297,14 @@ async function runSingleAdvanceStep(bundle, options = {}) {
134
297
  ? `forced:${forcedExecutor}`
135
298
  : decision.selected_obligation;
136
299
  options.heartbeat?.setLabel(selectedObligation ?? "derive");
137
- log.event({
138
- phase: "advance",
139
- kind: "obligation",
140
- correlationId,
141
- obligation: selectedObligation ?? undefined,
142
- note: decision.reason,
143
- });
300
+ logObligationSelection(log, correlationId, selectedObligation, decision.reason);
144
301
  if (!selectedExecutor) {
145
- const state = cloneState(decision.state);
146
- state.last_executor = bundle.audit_state?.last_executor ?? state.last_executor;
147
- state.last_obligation =
148
- selectedObligation ??
149
- bundle.audit_state?.last_obligation ??
150
- state.last_obligation;
151
- return {
152
- audit_state: state,
153
- selected_obligation: selectedObligation,
154
- selected_executor: selectedExecutor,
155
- progress_made: false,
156
- artifacts_written: ["audit_state.json"],
157
- progress_summary: decision.reason,
158
- next_likely_step: null,
159
- updated_bundle: { ...bundle, audit_state: state },
160
- };
302
+ return noActionableObligationResult({
303
+ bundle,
304
+ decision,
305
+ selectedObligation,
306
+ selectedExecutor,
307
+ });
161
308
  }
162
309
  const executorStartedAt = Date.now();
163
310
  log.event({
@@ -305,7 +452,7 @@ function advanceHasRunner(executor) {
305
452
  * derived is unchanged, and `deriveAuditState` itself is deterministic in the
306
453
  * bundle (no time/randomness inputs).
307
454
  */
308
- function deriveObligationState(id, cache) {
455
+ export function deriveObligationState(id, cache) {
309
456
  return (bundle) => {
310
457
  if (bundle.audit_state?.status === "complete")
311
458
  return "satisfied";
@@ -361,13 +508,19 @@ function mergeDrainStep(result, ctx) {
361
508
  * hand loop's unconditional first call.
362
509
  */
363
510
  async function runDrainStep(bundle, ctx) {
511
+ // HARD DISPATCH CEILING. The slot is spent BEFORE the dispatch it authorizes
512
+ // and the fold stops once the last slot is spent, so one call can never
513
+ // dispatch more than MAX_DRAIN_STEPS steps. The counter used to be bumped
514
+ // AFTER the step and compared with `>`, which let the 65th step run to
515
+ // completion before a "64" cap tripped — a silent one-step overrun of a bound
516
+ // stated as a maximum.
517
+ ctx.stepsRun.value += 1;
364
518
  const result = await runSingleAdvanceStep(bundle, ctx.options);
365
519
  const merged = mergeDrainStep(result, ctx);
366
520
  if (!result.progress_made) {
367
521
  return { kind: "emit", step: merged };
368
522
  }
369
- ctx.stepsRun.value += 1;
370
- if (ctx.stepsRun.value > MAX_DRAIN_STEPS) {
523
+ if (ctx.stepsRun.value >= MAX_DRAIN_STEPS) {
371
524
  // Belt-and-braces cap (see MAX_DRAIN_STEPS doc) — never trips on a healthy
372
525
  // run; stop gracefully and hand back the last good result rather than
373
526
  // throwing, so the host simply resumes the drain on its next call.
@@ -456,13 +609,11 @@ async function advanceAuditInner(bundle, options) {
456
609
  const outcome = await advanceObligations({ priority: PRIORITY, obligations: buildDrainObligations(deriveCache) }, bundle, ctx,
457
610
  // INVARIANT: the local graceful cap (MAX_DRAIN_STEPS, enforced inside
458
611
  // runDrainStep) must always fire strictly before the engine's THROWING
459
- // maxTransitions backstop. Deriving the engine bound from the same
460
- // constant (+2 headroom: the cap emits on the step whose stepsRun first
461
- // exceeds MAX_DRAIN_STEPS, so the engine sees at most MAX_DRAIN_STEPS
462
- // transitions) keeps the coupling self-maintaining — raising
463
- // MAX_DRAIN_STEPS can never silently convert the graceful stop into an
464
- // engine throw.
465
- { maxTransitions: MAX_DRAIN_STEPS + 2 });
612
+ // maxTransitions backstop. The engine bound is DERIVED from the same
613
+ // constant (see engineMaxTransitions), never written as a literal here,
614
+ // so raising MAX_DRAIN_STEPS can never silently convert the graceful stop
615
+ // into an engine throw.
616
+ { maxTransitions: engineMaxTransitions() });
466
617
  if (outcome.step) {
467
618
  result = outcome.step;
468
619
  }
@@ -480,30 +631,13 @@ async function advanceAuditInner(bundle, options) {
480
631
  const log = options.runLogger ?? RunLogger.disabled();
481
632
  const correlationId = createCorrelationId();
482
633
  const decision = decideNextStep(outcome.state, { emitStaleness: false });
483
- log.event({
484
- phase: "advance",
485
- kind: "obligation",
486
- correlationId,
487
- obligation: decision.selected_obligation ?? undefined,
488
- note: decision.reason,
634
+ logObligationSelection(log, correlationId, decision.selected_obligation, decision.reason);
635
+ result = noActionableObligationResult({
636
+ bundle: outcome.state,
637
+ decision,
638
+ selectedObligation: decision.selected_obligation,
639
+ selectedExecutor: decision.selected_executor,
489
640
  });
490
- const state = cloneState(decision.state);
491
- state.last_executor =
492
- outcome.state.audit_state?.last_executor ?? state.last_executor;
493
- state.last_obligation =
494
- decision.selected_obligation ??
495
- outcome.state.audit_state?.last_obligation ??
496
- state.last_obligation;
497
- result = {
498
- audit_state: state,
499
- selected_obligation: decision.selected_obligation,
500
- selected_executor: decision.selected_executor,
501
- progress_made: false,
502
- artifacts_written: ["audit_state.json"],
503
- progress_summary: decision.reason,
504
- next_likely_step: null,
505
- updated_bundle: { ...outcome.state, audit_state: state },
506
- };
507
641
  }
508
642
  }
509
643
  // Single consolidated staleness record for the whole round-trip: recompute the
@@ -1 +1 @@
1
- {"version":3,"file":"advance.js","sourceRoot":"","sources":["../../../src/audit/orchestrator/advance.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"advance.js","sourceRoot":"","sources":["../../../src/audit/orchestrator/advance.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"charterClarificationExecutor.d.ts","sourceRoot":"","sources":["../../../src/audit/orchestrator/charterClarificationExecutor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,OAAO,EAGL,KAAK,sBAAsB,EAE3B,KAAK,8BAA8B,EAGnC,KAAK,gBAAgB,EACtB,MAAM,oBAAoB,CAAC;AAM5B;;;;;;GAMG;AACH,wBAAgB,6BAA6B,CAC3C,UAAU,EAAE,gBAAgB,GAAG,SAAS,GACvC,sBAAsB,CAGxB;AAoDD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,+BAA+B,CAC7C,MAAM,EAAE,cAAc,EACtB,OAAO,CAAC,EAAE,8BAA8B,GACvC,iBAAiB,CA8DnB"}
1
+ {"version":3,"file":"charterClarificationExecutor.d.ts","sourceRoot":"","sources":["../../../src/audit/orchestrator/charterClarificationExecutor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,OAAO,EAGL,KAAK,sBAAsB,EAE3B,KAAK,8BAA8B,EAGnC,KAAK,gBAAgB,EACtB,MAAM,oBAAoB,CAAC;AAM5B;;;;;;GAMG;AACH,wBAAgB,6BAA6B,CAC3C,UAAU,EAAE,gBAAgB,GAAG,SAAS,GACvC,sBAAsB,CAGxB;AAmFD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,+BAA+B,CAC7C,MAAM,EAAE,cAAc,EACtB,OAAO,CAAC,EAAE,8BAA8B,GACvC,iBAAiB,CA0EnB"}
@@ -16,35 +16,58 @@ export function resolveClarificationAttention(checkpoint) {
16
16
  }
17
17
  /**
18
18
  * Join the Phase-C charter register's routed deltas to their subsystem members +
19
- * (optional) goal node, producing the loop input. A delta's goal node is its
20
- * `node_id` when that id appears in the goal graph — the subsystem is linked to a
21
- * goal otherwise absent (the blast-radius primitive falls back to the delta
22
- * kind's intrinsic tier).
19
+ * (optional) goal node, producing the loop input.
20
+ *
21
+ * Both joins take the PRODUCER's own decision off the wire: `node_id` and
22
+ * `goal_node_id` are explicit fields the assembler stamps, so `delta_id` is opaque
23
+ * here and is never split to recover a node (INV-CCI-NO-DELTA-ID-PARSING). The
24
+ * assembler mints it with a content-derived discriminator when a subsystem carries
25
+ * two deltas on one channel pair, so its segment structure holds no recoverable
26
+ * node id — parsing it would silently join the delta to the wrong subsystem's
27
+ * members, which ride onto the emitted Finding's affected_files.
28
+ *
29
+ * `deltas` is typed `StampedCharterDelta[]`, so an unstamped delta can only arrive
30
+ * from an artifact no schema validated (`charter_register.json` is read as plain
31
+ * JSON). That delta is REFUSED with a validation issue rather than guessed at: a
32
+ * question joined to the wrong subsystem is worse than a question not asked.
23
33
  */
24
34
  function clarificationInputs(bundle) {
25
35
  const register = bundle.charter_register;
26
- if (!register || register.status === "omitted")
27
- return [];
36
+ if (!register || register.status === "omitted") {
37
+ return { inputs: [], validation_issues: [] };
38
+ }
28
39
  const membersByNode = new Map();
29
40
  for (const sub of register.subsystems) {
30
41
  membersByNode.set(sub.node_id, sub.members);
31
42
  }
32
- const goalNodeIds = new Set(register.goal_graph.nodes.map((n) => n.node_id));
33
43
  const inputs = [];
44
+ const validation_issues = [];
34
45
  for (const delta of register.deltas) {
35
- // A delta_id is `${node_id}:${ka}-${kb}` (Phase C assembly); the node id is the
36
- // segment before the last `:`. Fall back to the whole id if unsplittable.
37
- const node_id = delta.delta_id.includes(":")
38
- ? delta.delta_id.slice(0, delta.delta_id.lastIndexOf(":"))
39
- : delta.delta_id;
46
+ // typeof, not `=== undefined`: the field is required by the type, and this
47
+ // guard exists precisely for data that never passed through it.
48
+ if (typeof delta.node_id !== "string" || delta.node_id.length === 0) {
49
+ validation_issues.push(`delta "${delta.delta_id}" carries no node_id — skipped; its subsystem cannot be ` +
50
+ `recovered from the delta id, which is opaque (regenerate charter_register.json)`);
51
+ continue;
52
+ }
53
+ // A well-formed node_id that matches no subsystem is the same failure wearing
54
+ // the right shape: the question still gets asked, but with an empty
55
+ // affected_files, so it reads as a finding about nothing. Say so — the delta is
56
+ // kept (the question may still be worth asking), and groundDesignFindings marks
57
+ // the resulting Finding ungrounded as the second net.
58
+ const members = membersByNode.get(delta.node_id);
59
+ if (members === undefined) {
60
+ validation_issues.push(`delta "${delta.delta_id}" names subsystem "${delta.node_id}", which the register ` +
61
+ `carries no members for — its question is kept but cites no files`);
62
+ }
40
63
  inputs.push({
41
64
  delta,
42
- node_id,
43
- members: membersByNode.get(node_id) ?? [],
44
- goal_node_id: goalNodeIds.has(node_id) ? node_id : undefined,
65
+ node_id: delta.node_id,
66
+ members: members ?? [],
67
+ goal_node_id: delta.goal_node_id,
45
68
  });
46
69
  }
47
- return inputs;
70
+ return { inputs, validation_issues };
48
71
  }
49
72
  function omittedRegister(ceiling, attention, generated_at) {
50
73
  return {
@@ -104,7 +127,8 @@ export function runCharterClarificationExecutor(bundle, answers) {
104
127
  }
105
128
  }
106
129
  }
107
- const assembled = assembleClarificationRegister(clarificationInputs(bundle), register.goal_graph, attention, { partitionDeltasToQuestions, applyRiskGate, splitByAttention }, priorAnswers);
130
+ const { inputs, validation_issues: inputIssues } = clarificationInputs(bundle);
131
+ const assembled = assembleClarificationRegister(inputs, register.goal_graph, attention, { partitionDeltasToQuestions, applyRiskGate, splitByAttention }, priorAnswers);
108
132
  const findings = groundDesignFindings(assembled.findings, bundle.repo_manifest);
109
133
  const clarification = {
110
134
  generated_at,
@@ -114,17 +138,27 @@ export function runCharterClarificationExecutor(bundle, answers) {
114
138
  asked: assembled.asked,
115
139
  banked: assembled.banked,
116
140
  findings,
117
- validation_issues: assembled.validation_issues,
141
+ // Refusals from the join come first: a delta that never became a question is
142
+ // context for the queue that follows, not a footnote to it.
143
+ validation_issues: [...inputIssues, ...assembled.validation_issues],
118
144
  };
145
+ // Surface each note's MESSAGE, not just a count — mirrors the charter-extraction
146
+ // pass's gate-drop summary. A refused delta (no node_id, or a node no subsystem
147
+ // carries) is a QUESTION THAT WILL NEVER BE ASKED; behind a bare "N note(s)" the
148
+ // operator cannot tell that from a routine remediator-routed skip, and would have
149
+ // to open charter_clarification.json to find out. The messages are bounded
150
+ // one-liners, so listing them is cheap.
151
+ const noteSummary = clarification.validation_issues.length > 0
152
+ ? `, ${clarification.validation_issues.length} note(s):\n` +
153
+ clarification.validation_issues.map((m) => ` - ${m}`).join("\n")
154
+ : ".";
119
155
  return {
120
156
  updated: { ...bundle, charter_clarification: clarification },
121
157
  artifacts_written: ["charter_clarification.json"],
122
158
  progress_summary: `Charter clarification complete: ${clarification.asked.length} interactive question(s) ` +
123
159
  `(attention ${String(attention)}), ${clarification.banked.length} banked → ` +
124
160
  `${clarification.findings.length} finding(s)` +
125
- (clarification.validation_issues.length > 0
126
- ? `, ${clarification.validation_issues.length} note(s).`
127
- : "."),
161
+ noteSummary,
128
162
  };
129
163
  }
130
164
  //# sourceMappingURL=charterClarificationExecutor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"charterClarificationExecutor.js","sourceRoot":"","sources":["../../../src/audit/orchestrator/charterClarificationExecutor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"charterClarificationExecutor.js","sourceRoot":"","sources":["../../../src/audit/orchestrator/charterClarificationExecutor.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"flowCoverage.d.ts","sourceRoot":"","sources":["../../../src/audit/orchestrator/flowCoverage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAQ,MAAM,aAAa,CAAC;AAExD,OAAO,KAAK,EACV,oBAAoB,EAErB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAS/D,wBAAgB,iBAAiB,CAC/B,aAAa,EAAE,oBAAoB,EACnC,cAAc,EAAE,cAAc,GAC7B,oBAAoB,CAgDtB"}
1
+ {"version":3,"file":"flowCoverage.d.ts","sourceRoot":"","sources":["../../../src/audit/orchestrator/flowCoverage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,KAAK,EACV,oBAAoB,EAErB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAG/D,wBAAgB,iBAAiB,CAC/B,aAAa,EAAE,oBAAoB,EACnC,cAAc,EAAE,cAAc,GAC7B,oBAAoB,CAiDtB"}
@@ -1,19 +1,16 @@
1
- import { isLens } from "../types.js";
2
- function lensSetForFlow(concerns) {
3
- // COR-59c25418: use the single-source-of-truth `isLens` guard so all valid
4
- // lenses (including maintainability, architecture, tests, config_deployment)
5
- // are accepted rather than a hardcoded subset.
6
- return concerns.filter((concern) => isLens(concern));
7
- }
1
+ import { selectFlowLenses } from "./flowPlanning.js";
8
2
  export function buildFlowCoverage(criticalFlows, coverageMatrix) {
9
3
  const coverageByPath = new Map(coverageMatrix.files.map((file) => [file.path, file]));
10
4
  const flows = criticalFlows.flows.map((flow) => {
11
5
  const flowPaths = Array.isArray(flow.paths)
12
6
  ? flow.paths.filter((path) => typeof path === "string")
13
7
  : [];
14
- const required = lensSetForFlow(Array.isArray(flow.concerns)
15
- ? flow.concerns.filter((concern) => typeof concern === "string")
16
- : []);
8
+ // The lenses coverage marks REQUIRED come from the same flow-lens policy
9
+ // planning claims blocks against and requeue mints follow-ups against —
10
+ // `selectFlowLenses`, drawn from the one lens registry. A hardcoded subset
11
+ // here (or there) is what let a flow be required under a lens planning
12
+ // would never schedule.
13
+ const required = selectFlowLenses(Array.isArray(flow.concerns) ? flow.concerns : []);
17
14
  const completed = new Set();
18
15
  for (const path of flowPaths) {
19
16
  const record = coverageByPath.get(path);
@@ -1 +1 @@
1
- {"version":3,"file":"flowCoverage.js","sourceRoot":"","sources":["../../../src/audit/orchestrator/flowCoverage.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAOrC,SAAS,cAAc,CAAC,QAAkB;IACxC,2EAA2E;IAC3E,6EAA6E;IAC7E,+CAA+C;IAC/C,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAmB,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;AACxE,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,aAAmC,EACnC,cAA8B;IAE9B,MAAM,cAAc,GAAG,IAAI,GAAG,CAC5B,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CACtD,CAAC;IACF,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QAC7C,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;YACzC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC;YACvE,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,QAAQ,GAAG,cAAc,CAC7B,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC;YAC1B,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAClB,CAAC,OAAO,EAAqB,EAAE,CAAC,OAAO,OAAO,KAAK,QAAQ,CAC5D;YACH,CAAC,CAAC,EAAE,CACP,CAAC;QACF,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;QAEpC,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;YAC7B,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACxC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,YAAY,KAAK,UAAU,EAAE,CAAC;gBAClD,SAAS;YACX,CAAC;YACD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;gBAC3C,IAAK,QAAqB,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC1C,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACtB,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,gBAAgB,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC;QACxC,MAAM,MAAM,GACV,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACvD,CAAC,CAAC,UAAU;YACZ,CAAC,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC;gBAC3B,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,SAAS,CAAC;QAElB,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,EAAE;YAChB,KAAK,EAAE,SAAS;YAChB,eAAe,EAAE,QAAQ;YACzB,gBAAgB;YAChB,MAAM;YACN,KAAK,EAAE,CAAC,gBAAgB,SAAS,CAAC,MAAM,WAAW,CAAC;SACrD,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,OAAO,EAAE,KAAK,EAAE,CAAC;AACnB,CAAC"}
1
+ {"version":3,"file":"flowCoverage.js","sourceRoot":"","sources":["../../../src/audit/orchestrator/flowCoverage.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAErD,MAAM,UAAU,iBAAiB,CAC/B,aAAmC,EACnC,cAA8B;IAE9B,MAAM,cAAc,GAAG,IAAI,GAAG,CAC5B,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CACtD,CAAC;IACF,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QAC7C,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;YACzC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC;YACvE,CAAC,CAAC,EAAE,CAAC;QACP,yEAAyE;QACzE,wEAAwE;QACxE,2EAA2E;QAC3E,uEAAuE;QACvE,wBAAwB;QACxB,MAAM,QAAQ,GAAG,gBAAgB,CAC/B,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAClD,CAAC;QACF,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;QAEpC,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;YAC7B,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACxC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,YAAY,KAAK,UAAU,EAAE,CAAC;gBAClD,SAAS;YACX,CAAC;YACD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;gBAC3C,IAAK,QAAqB,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC1C,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACtB,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,gBAAgB,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC;QACxC,MAAM,MAAM,GACV,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACvD,CAAC,CAAC,UAAU;YACZ,CAAC,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC;gBAC3B,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,SAAS,CAAC;QAElB,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,EAAE;YAChB,KAAK,EAAE,SAAS;YAChB,eAAe,EAAE,QAAQ;YACzB,gBAAgB;YAChB,MAAM;YACN,KAAK,EAAE,CAAC,gBAAgB,SAAS,CAAC,MAAM,WAAW,CAAC;SACrD,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,OAAO,EAAE,KAAK,EAAE,CAAC;AACnB,CAAC"}
@@ -1,8 +1,61 @@
1
+ import type { Lens } from "../types.js";
1
2
  import type { CriticalFlowManifest } from "audit-tools/shared";
3
+ /**
4
+ * Select the reviewable lenses from a flow's declared concerns — the single
5
+ * membership draw shared by planning, coverage, and requeue. A concern that is
6
+ * not a canonical lens is SKIPPED rather than thrown on, consistent with the
7
+ * filter-based guards elsewhere in the orchestrator: one stray non-canonical
8
+ * concern must not abort a whole flow's planning or requeue.
9
+ */
10
+ export declare function selectFlowLenses(concerns: readonly unknown[]): Lens[];
11
+ /**
12
+ * Task-ordering priority for a claimed flow block — lower sorts earlier.
13
+ * Derived from {@link LENS_REGISTRY}'s `order_weight` so no second hand-copied
14
+ * lens list backs the ordering. A non-canonical lens (which the membership draw
15
+ * above already excludes) sorts last.
16
+ */
17
+ export declare function flowLensPriority(lens: string): number;
2
18
  export interface FlowReviewBlock {
3
19
  flow_id: string;
4
20
  lens: string;
5
21
  file_paths: string[];
6
22
  }
7
- export declare function claimFlowReviewBlocks(criticalFlows: CriticalFlowManifest, pendingByLens: Map<string, Set<string>>, assigned: Set<string>): FlowReviewBlock[];
23
+ /**
24
+ * `artifact:flow-claim-contract` — what a claim RETURNS beyond the blocks.
25
+ *
26
+ * `claimFlowReviewBlocks` reports the post-claim state alongside the claimed
27
+ * blocks: `assigned` is the caller's assigned set plus every newly claimed
28
+ * `lens:path` key, and `pending` is the caller's pending map with every claimed
29
+ * path removed. These are the ONLY channel — the call writes nothing back
30
+ * through its arguments (see {@link claimFlowReviewBlocks}), so a caller cannot
31
+ * read claim state it never asked for and the two channels cannot drift.
32
+ *
33
+ * The contract rides ON the returned array as non-enumerable properties, so
34
+ * every consumer that iterates the result as `FlowReviewBlock[]` is unchanged.
35
+ */
36
+ export interface FlowClaimContract {
37
+ readonly blocks: readonly FlowReviewBlock[];
38
+ readonly pending: ReadonlyMap<string, ReadonlySet<string>>;
39
+ readonly assigned: ReadonlySet<string>;
40
+ }
41
+ export type FlowClaimResult = FlowReviewBlock[] & FlowClaimContract;
42
+ /**
43
+ * Claim the highest-priority critical-flow review blocks out of the pending
44
+ * work set.
45
+ *
46
+ * PRECONDITION (seam audit-coverage-path-keyspace → here, caller to callee):
47
+ * every path in `criticalFlows`, in `pendingByLens`, and in the `lens:path`
48
+ * keys of `assigned` is already normalized into ONE key space by the caller.
49
+ * This module does no normalizing of its own — an unnormalized path simply
50
+ * fails to intersect and the flow is silently under-claimed. The sole caller,
51
+ * `buildChunkedAuditTasks`, now SATISFIES that precondition by normalizing every
52
+ * repo path once at its own boundary, rather than assuming it upstream.
53
+ *
54
+ * NO WRITE-BACK: the post-claim state is reported ONLY on the returned
55
+ * {@link FlowClaimContract}. The parameters are `Readonly` collections so
56
+ * reintroducing an in-place mutation is a compile error, not a convention —
57
+ * the by-reference channel this used to ALSO write through was a second,
58
+ * invisible return value that a caller had to know to look for.
59
+ */
60
+ export declare function claimFlowReviewBlocks(criticalFlows: CriticalFlowManifest, pendingByLens: ReadonlyMap<string, ReadonlySet<string>>, assigned: ReadonlySet<string>): FlowClaimResult;
8
61
  //# sourceMappingURL=flowPlanning.d.ts.map