audit-tools 0.28.8 → 0.28.10

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 (188) hide show
  1. package/audit-code-wrapper-install-hosts.mjs +133 -27
  2. package/dist/audit/cli/confirmIntentStep.d.ts +1 -0
  3. package/dist/audit/cli/confirmIntentStep.d.ts.map +1 -1
  4. package/dist/audit/cli/confirmIntentStep.js +14 -10
  5. package/dist/audit/cli/confirmIntentStep.js.map +1 -1
  6. package/dist/audit/cli/dispatch/quotaPool.d.ts.map +1 -1
  7. package/dist/audit/cli/dispatch/quotaPool.js +47 -39
  8. package/dist/audit/cli/dispatch/quotaPool.js.map +1 -1
  9. package/dist/audit/cli/dispatch.d.ts +15 -1
  10. package/dist/audit/cli/dispatch.d.ts.map +1 -1
  11. package/dist/audit/cli/dispatch.js +54 -19
  12. package/dist/audit/cli/dispatch.js.map +1 -1
  13. package/dist/audit/cli/hybridDispatch.d.ts +46 -0
  14. package/dist/audit/cli/hybridDispatch.d.ts.map +1 -0
  15. package/dist/audit/cli/hybridDispatch.js +77 -0
  16. package/dist/audit/cli/hybridDispatch.js.map +1 -0
  17. package/dist/audit/cli/nextStepHelpers.d.ts.map +1 -1
  18. package/dist/audit/cli/nextStepHelpers.js +119 -2
  19. package/dist/audit/cli/nextStepHelpers.js.map +1 -1
  20. package/dist/audit/cli/reviewRun.d.ts +19 -0
  21. package/dist/audit/cli/reviewRun.d.ts.map +1 -1
  22. package/dist/audit/cli/reviewRun.js +2 -2
  23. package/dist/audit/cli/reviewRun.js.map +1 -1
  24. package/dist/audit/cli/rollingAuditDispatch.d.ts +57 -4
  25. package/dist/audit/cli/rollingAuditDispatch.d.ts.map +1 -1
  26. package/dist/audit/cli/rollingAuditDispatch.js +137 -10
  27. package/dist/audit/cli/rollingAuditDispatch.js.map +1 -1
  28. package/dist/audit/cli/scoreAuditCommand.d.ts +16 -0
  29. package/dist/audit/cli/scoreAuditCommand.d.ts.map +1 -0
  30. package/dist/audit/cli/scoreAuditCommand.js +82 -0
  31. package/dist/audit/cli/scoreAuditCommand.js.map +1 -0
  32. package/dist/audit/cli.d.ts.map +1 -1
  33. package/dist/audit/cli.js +5 -1
  34. package/dist/audit/cli.js.map +1 -1
  35. package/dist/audit/orchestrator/designReviewProjection.d.ts +9 -1
  36. package/dist/audit/orchestrator/designReviewProjection.d.ts.map +1 -1
  37. package/dist/audit/orchestrator/designReviewProjection.js +19 -1
  38. package/dist/audit/orchestrator/designReviewProjection.js.map +1 -1
  39. package/dist/audit/orchestrator/designReviewPrompt.d.ts +2 -0
  40. package/dist/audit/orchestrator/designReviewPrompt.d.ts.map +1 -1
  41. package/dist/audit/orchestrator/designReviewPrompt.js +11 -1
  42. package/dist/audit/orchestrator/designReviewPrompt.js.map +1 -1
  43. package/dist/audit/orchestrator/executorRunners.js +1 -1
  44. package/dist/audit/orchestrator/executorRunners.js.map +1 -1
  45. package/dist/audit/orchestrator/intakeExecutors.d.ts +9 -1
  46. package/dist/audit/orchestrator/intakeExecutors.d.ts.map +1 -1
  47. package/dist/audit/orchestrator/intakeExecutors.js +16 -3
  48. package/dist/audit/orchestrator/intakeExecutors.js.map +1 -1
  49. package/dist/audit/orchestrator/intentCheckpointExecutor.d.ts.map +1 -1
  50. package/dist/audit/orchestrator/intentCheckpointExecutor.js +3 -0
  51. package/dist/audit/orchestrator/intentCheckpointExecutor.js.map +1 -1
  52. package/dist/audit/orchestrator/intentInterpreter.d.ts +21 -7
  53. package/dist/audit/orchestrator/intentInterpreter.d.ts.map +1 -1
  54. package/dist/audit/orchestrator/intentInterpreter.js +30 -11
  55. package/dist/audit/orchestrator/intentInterpreter.js.map +1 -1
  56. package/dist/audit/orchestrator/intentScopeDisposition.d.ts +49 -0
  57. package/dist/audit/orchestrator/intentScopeDisposition.d.ts.map +1 -0
  58. package/dist/audit/orchestrator/intentScopeDisposition.js +57 -0
  59. package/dist/audit/orchestrator/intentScopeDisposition.js.map +1 -0
  60. package/dist/audit/orchestrator/rollingDispatch.d.ts +9 -0
  61. package/dist/audit/orchestrator/rollingDispatch.d.ts.map +1 -1
  62. package/dist/audit/orchestrator/rollingDispatch.js +10 -0
  63. package/dist/audit/orchestrator/rollingDispatch.js.map +1 -1
  64. package/dist/audit/orchestrator/scope.d.ts +1 -0
  65. package/dist/audit/orchestrator/scope.d.ts.map +1 -1
  66. package/dist/audit/orchestrator/scope.js +2 -7
  67. package/dist/audit/orchestrator/scope.js.map +1 -1
  68. package/dist/audit/quota/index.d.ts +5 -0
  69. package/dist/audit/quota/index.d.ts.map +1 -1
  70. package/dist/audit/reporting/scoreAudit.d.ts +161 -0
  71. package/dist/audit/reporting/scoreAudit.d.ts.map +1 -0
  72. package/dist/audit/reporting/scoreAudit.js +224 -0
  73. package/dist/audit/reporting/scoreAudit.js.map +1 -0
  74. package/dist/audit/types/activeDispatch.d.ts +29 -1
  75. package/dist/audit/types/activeDispatch.d.ts.map +1 -1
  76. package/dist/audit/types/activeDispatch.js.map +1 -1
  77. package/dist/audit/types/analyzerCapability.d.ts +6 -6
  78. package/dist/remediate/contractPipeline/changeClassification.d.ts +146 -0
  79. package/dist/remediate/contractPipeline/changeClassification.d.ts.map +1 -0
  80. package/dist/remediate/contractPipeline/changeClassification.js +398 -0
  81. package/dist/remediate/contractPipeline/changeClassification.js.map +1 -0
  82. package/dist/remediate/contractPipeline/derive.d.ts.map +1 -1
  83. package/dist/remediate/contractPipeline/derive.js +9 -0
  84. package/dist/remediate/contractPipeline/derive.js.map +1 -1
  85. package/dist/remediate/intent/intentOrdering.d.ts +51 -0
  86. package/dist/remediate/intent/intentOrdering.d.ts.map +1 -0
  87. package/dist/remediate/intent/intentOrdering.js +150 -0
  88. package/dist/remediate/intent/intentOrdering.js.map +1 -0
  89. package/dist/remediate/phases/plan.d.ts.map +1 -1
  90. package/dist/remediate/phases/plan.js +14 -1
  91. package/dist/remediate/phases/plan.js.map +1 -1
  92. package/dist/remediate/providers/index.d.ts +32 -0
  93. package/dist/remediate/providers/index.d.ts.map +1 -1
  94. package/dist/remediate/providers/index.js +28 -1
  95. package/dist/remediate/providers/index.js.map +1 -1
  96. package/dist/remediate/steps/contractPipeline.d.ts +15 -1
  97. package/dist/remediate/steps/contractPipeline.d.ts.map +1 -1
  98. package/dist/remediate/steps/contractPipeline.js +282 -14
  99. package/dist/remediate/steps/contractPipeline.js.map +1 -1
  100. package/dist/remediate/steps/dispatch.d.ts +75 -1
  101. package/dist/remediate/steps/dispatch.d.ts.map +1 -1
  102. package/dist/remediate/steps/dispatch.js +159 -43
  103. package/dist/remediate/steps/dispatch.js.map +1 -1
  104. package/dist/remediate/steps/nextStep.d.ts +53 -2
  105. package/dist/remediate/steps/nextStep.d.ts.map +1 -1
  106. package/dist/remediate/steps/nextStep.js +255 -81
  107. package/dist/remediate/steps/nextStep.js.map +1 -1
  108. package/dist/remediate/steps/providerNodeDispatch.d.ts +8 -1
  109. package/dist/remediate/steps/providerNodeDispatch.d.ts.map +1 -1
  110. package/dist/remediate/steps/providerNodeDispatch.js +7 -2
  111. package/dist/remediate/steps/providerNodeDispatch.js.map +1 -1
  112. package/dist/remediate/steps/rollingSession.d.ts +55 -1
  113. package/dist/remediate/steps/rollingSession.d.ts.map +1 -1
  114. package/dist/remediate/steps/rollingSession.js +132 -21
  115. package/dist/remediate/steps/rollingSession.js.map +1 -1
  116. package/dist/remediate/validation/contractPipelineGates.d.ts +23 -8
  117. package/dist/remediate/validation/contractPipelineGates.d.ts.map +1 -1
  118. package/dist/remediate/validation/contractPipelineGates.js +43 -38
  119. package/dist/remediate/validation/contractPipelineGates.js.map +1 -1
  120. package/dist/shared/dispatch/coordinator.d.ts +170 -0
  121. package/dist/shared/dispatch/coordinator.d.ts.map +1 -0
  122. package/dist/shared/dispatch/coordinator.js +177 -0
  123. package/dist/shared/dispatch/coordinator.js.map +1 -0
  124. package/dist/shared/dispatch/hybridDispatch.d.ts +74 -0
  125. package/dist/shared/dispatch/hybridDispatch.d.ts.map +1 -0
  126. package/dist/shared/dispatch/hybridDispatch.js +54 -0
  127. package/dist/shared/dispatch/hybridDispatch.js.map +1 -0
  128. package/dist/shared/dispatch/settledPools.d.ts +21 -0
  129. package/dist/shared/dispatch/settledPools.d.ts.map +1 -0
  130. package/dist/shared/dispatch/settledPools.js +34 -0
  131. package/dist/shared/dispatch/settledPools.js.map +1 -0
  132. package/dist/shared/index.d.ts +15 -5
  133. package/dist/shared/index.d.ts.map +1 -1
  134. package/dist/shared/index.js +14 -2
  135. package/dist/shared/index.js.map +1 -1
  136. package/dist/shared/intent/clauseInterpreter.d.ts +19 -0
  137. package/dist/shared/intent/clauseInterpreter.d.ts.map +1 -1
  138. package/dist/shared/intent/clauseInterpreter.js +19 -0
  139. package/dist/shared/intent/clauseInterpreter.js.map +1 -1
  140. package/dist/shared/providers/sharedProviderConfirmation.d.ts +134 -0
  141. package/dist/shared/providers/sharedProviderConfirmation.d.ts.map +1 -0
  142. package/dist/shared/providers/sharedProviderConfirmation.js +244 -0
  143. package/dist/shared/providers/sharedProviderConfirmation.js.map +1 -0
  144. package/dist/shared/quota/apiPool.d.ts +109 -0
  145. package/dist/shared/quota/apiPool.d.ts.map +1 -0
  146. package/dist/shared/quota/apiPool.js +183 -0
  147. package/dist/shared/quota/apiPool.js.map +1 -0
  148. package/dist/shared/quota/capacity.d.ts +29 -1
  149. package/dist/shared/quota/capacity.d.ts.map +1 -1
  150. package/dist/shared/quota/capacity.js +5 -0
  151. package/dist/shared/quota/capacity.js.map +1 -1
  152. package/dist/shared/quota/claimRegistry.d.ts +64 -0
  153. package/dist/shared/quota/claimRegistry.d.ts.map +1 -0
  154. package/dist/shared/quota/claimRegistry.js +157 -0
  155. package/dist/shared/quota/claimRegistry.js.map +1 -0
  156. package/dist/shared/quota/compositeQuotaSource.d.ts +10 -1
  157. package/dist/shared/quota/compositeQuotaSource.d.ts.map +1 -1
  158. package/dist/shared/quota/compositeQuotaSource.js +34 -6
  159. package/dist/shared/quota/compositeQuotaSource.js.map +1 -1
  160. package/dist/shared/quota/fileLock.d.ts.map +1 -1
  161. package/dist/shared/quota/fileLock.js +7 -1
  162. package/dist/shared/quota/fileLock.js.map +1 -1
  163. package/dist/shared/quota/httpQuotaSource.d.ts +9 -1
  164. package/dist/shared/quota/httpQuotaSource.d.ts.map +1 -1
  165. package/dist/shared/quota/httpQuotaSource.js +33 -8
  166. package/dist/shared/quota/httpQuotaSource.js.map +1 -1
  167. package/dist/shared/quota/learnedQuotaSource.d.ts +7 -1
  168. package/dist/shared/quota/learnedQuotaSource.d.ts.map +1 -1
  169. package/dist/shared/quota/learnedQuotaSource.js +18 -7
  170. package/dist/shared/quota/learnedQuotaSource.js.map +1 -1
  171. package/dist/shared/quota/quotaSource.d.ts +41 -0
  172. package/dist/shared/quota/quotaSource.d.ts.map +1 -1
  173. package/dist/shared/quota/quotaSource.js +19 -0
  174. package/dist/shared/quota/quotaSource.js.map +1 -1
  175. package/dist/shared/types/contractPipeline/obligations.d.ts +42 -0
  176. package/dist/shared/types/contractPipeline/obligations.d.ts.map +1 -1
  177. package/dist/shared/types/contractPipeline.d.ts +1 -1
  178. package/dist/shared/types/contractPipeline.d.ts.map +1 -1
  179. package/dist/shared/types/contractPipeline.js.map +1 -1
  180. package/dist/shared/types/intentCheckpoint.d.ts +14 -0
  181. package/dist/shared/types/intentCheckpoint.d.ts.map +1 -1
  182. package/dist/shared/types/intentCheckpoint.js +10 -0
  183. package/dist/shared/types/intentCheckpoint.js.map +1 -1
  184. package/dist/shared/types/sessionConfig.d.ts +60 -0
  185. package/dist/shared/types/sessionConfig.d.ts.map +1 -1
  186. package/dist/shared/types/sessionConfig.js +13 -0
  187. package/dist/shared/types/sessionConfig.js.map +1 -1
  188. package/package.json +3 -2
@@ -17,8 +17,10 @@
17
17
  * repo root and writes only its result file. The merge step is result ingestion,
18
18
  * not a git merge.
19
19
  */
20
- import { type SessionConfig, type ProviderSlot, type RollingDispatchPacket, type RollingDispatchResult, type FreshSessionProvider, type HostModelRosterEntry } from "audit-tools/shared";
20
+ import { type SessionConfig, type CapacityPool, type ProviderSlot, type RollingDispatchPacket, type RollingDispatchResult, type FreshSessionProvider, type HostModelRosterEntry, type DispatchableSource } from "audit-tools/shared";
21
+ import type { AuditTask } from "../types.js";
21
22
  import type { ActiveReviewRun } from "../supervisor/operatorHandoff.js";
23
+ import { type DispatchPausedState } from "../types/activeDispatch.js";
22
24
  import { type DispatchPlanEntry } from "./dispatch.js";
23
25
  import { type MergeAndIngestResult } from "./mergeAndIngestCommand.js";
24
26
  /**
@@ -50,11 +52,20 @@ export type AuditResultIngestor = (params: {
50
52
  }) => Promise<MergeAndIngestResult>;
51
53
  /** Outcome of an in-process rolling audit dispatch pass. */
52
54
  export interface DriveRollingAuditDispatchResult {
53
- /** complete = every packet dispatched; partial = some stranded (empty pool / livelock). */
54
- status: "complete" | "partial";
55
+ /**
56
+ * - `complete` every packet dispatched.
57
+ * - `paused` — the pool exhausted and the run is paused on a resumable
58
+ * `waiting_for_provider` state (DC-4): re-invoking re-discovers
59
+ * capacity and resumes, rather than stranding the packets. Pauses
60
+ * ONLY after the engine's in-pass spill + reactive re-route already
61
+ * failed (a full strand), so spill is always tried first.
62
+ * - `partial` — terminal: the pause limit was reached (livelock) and the
63
+ * stranded packets are yielded to synthesis on partial coverage.
64
+ */
65
+ status: "complete" | "paused" | "partial";
55
66
  /** Number of packets dispatched this pass (0 = nothing eligible). */
56
67
  packet_count: number;
57
- /** Packet ids stranded when status === "partial". */
68
+ /** Packet ids stranded when status === "partial", or held while `paused`. */
58
69
  stranded_ids: string[];
59
70
  /**
60
71
  * Result of the deterministic ingestion that folds the worker results in, or
@@ -63,7 +74,22 @@ export interface DriveRollingAuditDispatchResult {
63
74
  * to synthesis on partial coverage without a spurious "all results missing" block).
64
75
  */
65
76
  ingest: MergeAndIngestResult | null;
77
+ /**
78
+ * The resumable paused state recorded when `status === "paused"` (the live
79
+ * `waiting_for_provider` lifecycle + the accumulated settled-exclusion set), so
80
+ * the caller can render a resumable "waiting for provider" handoff. Absent for
81
+ * `complete` / `partial`.
82
+ */
83
+ paused_state?: DispatchPausedState;
66
84
  }
85
+ /**
86
+ * Re-discover the provider ids currently available to the run. Injected by the
87
+ * caller (and stubbable in tests); the default — used in production wiring — is
88
+ * supplied by the orchestrator from the live provider roster. Returns the bare
89
+ * provider/pool ids so `filterNewProviders` can diff them against the persisted
90
+ * `SettledExclusionSet`.
91
+ */
92
+ export type ProviderRediscovery = () => Promise<string[]> | string[];
67
93
  /**
68
94
  * Build the live, provider-backed per-packet dispatcher — the programmatic worker
69
95
  * the rolling engine drives. It resolves the `FreshSessionProvider` the scheduler
@@ -81,6 +107,12 @@ export declare function makeAuditProviderPacketDispatcher(params: {
81
107
  timeoutMs: number;
82
108
  /** Injectable for tests so the engine runs without spawning a real worker. */
83
109
  createProvider?: (name: string | undefined, sessionConfig: SessionConfig) => FreshSessionProvider;
110
+ /**
111
+ * Per-pool dispatchable source (A-8 generic sources), keyed by `slot.poolId`. When a
112
+ * packet's pool is source-backed, its review worker is built FROM that source's config
113
+ * (its own endpoint/model/parameters), not the global per-provider block.
114
+ */
115
+ sourceByPoolId?: Map<string, DispatchableSource>;
84
116
  }): AuditPacketDispatcher;
85
117
  /**
86
118
  * Drive the semantic-review phase through the in-process rolling engine. Prepares
@@ -115,5 +147,26 @@ export declare function driveRollingAuditDispatch(params: {
115
147
  * a seam here rather than an inline call.
116
148
  */
117
149
  ingest?: AuditResultIngestor;
150
+ /**
151
+ * Re-discover the provider ids currently available. Probed only when the run is
152
+ * already paused on a `waiting_for_provider` state, to decide resume vs. stay
153
+ * paused vs. terminal/livelock (DC-4). Defaults to the run's confirmed pool ids
154
+ * (the dispatch plan's pools), i.e. "the same pools that were just exhausted" —
155
+ * so with no external re-discovery wiring the run still advances toward livelock
156
+ * rather than spinning forever, while a caller that can re-probe a live roster
157
+ * (or a8's coordinator that adds a spilled-in pool) supplies real net-new ids.
158
+ */
159
+ discoverProviders?: ProviderRediscovery;
160
+ /** Override the livelock pause limit (defaults to the shared `LIVELOCK_PAUSE_LIMIT`). */
161
+ livelockLimit?: number;
162
+ /**
163
+ * A-8 hybrid: review ONLY this task subset (the coordinator-assigned backend/NIM
164
+ * partition), packetized + dispatched against {@link poolsOverride}, WITHOUT
165
+ * touching the shared `pending-audit-tasks.json` the host-review path owns for its
166
+ * complementary subset.
167
+ */
168
+ tasksOverride?: AuditTask[];
169
+ /** A-8 hybrid: size + dispatch against these backend (NIM) pool(s), not the host pool. */
170
+ poolsOverride?: CapacityPool[];
118
171
  }): Promise<DriveRollingAuditDispatchResult>;
119
172
  //# sourceMappingURL=rollingAuditDispatch.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"rollingAuditDispatch.d.ts","sourceRoot":"","sources":["../../../src/audit/cli/rollingAuditDispatch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAGH,OAAO,EAIL,KAAK,aAAa,EAElB,KAAK,YAAY,EACjB,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,EAE1B,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EAC1B,MAAM,oBAAoB,CAAC;AAG5B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAOxE,OAAO,EAA4B,KAAK,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACjF,OAAO,EAAkB,KAAK,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AA0BvF;;;;GAIG;AACH,wBAAgB,mCAAmC,CACjD,aAAa,EAAE,aAAa,GAAG,IAAI,GAAG,SAAS,GAC9C,OAAO,CAGT;AAED;;;;;;;;GAQG;AACH,wBAAgB,gCAAgC,CAAC,OAAO,EAAE;IACxD,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;IACrC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;CACzB,GAAG,OAAO,CAQV;AAED,wFAAwF;AACxF,MAAM,MAAM,qBAAqB,GAAG,CAClC,MAAM,EAAE,qBAAqB,CAAC,iBAAiB,CAAC,EAChD,IAAI,EAAE,YAAY,KACf,OAAO,CAAC,qBAAqB,CAAC,iBAAiB,CAAC,CAAC,CAAC;AAEvD,2EAA2E;AAC3E,MAAM,MAAM,mBAAmB,GAAG,CAAC,MAAM,EAAE;IACzC,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;CACtB,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAC;AAEpC,4DAA4D;AAC5D,MAAM,WAAW,+BAA+B;IAC9C,2FAA2F;IAC3F,MAAM,EAAE,UAAU,GAAG,SAAS,CAAC;IAC/B,qEAAqE;IACrE,YAAY,EAAE,MAAM,CAAC;IACrB,qDAAqD;IACrD,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB;;;;;OAKG;IACH,MAAM,EAAE,oBAAoB,GAAG,IAAI,CAAC;CACrC;AAmBD;;;;;;;;GAQG;AACH,wBAAgB,iCAAiC,CAAC,MAAM,EAAE;IACxD,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,aAAa,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,8EAA8E;IAC9E,cAAc,CAAC,EAAE,CACf,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,aAAa,EAAE,aAAa,KACzB,oBAAoB,CAAC;CAC3B,GAAG,qBAAqB,CA+ExB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,yBAAyB,CAAC,MAAM,EAAE;IACtD,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,eAAe,CAAC;IACjC,aAAa,EAAE,aAAa,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,sBAAsB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,eAAe,CAAC,EAAE,oBAAoB,EAAE,GAAG,IAAI,CAAC;IAChD,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,wFAAwF;IACxF,cAAc,CAAC,EAAE,qBAAqB,CAAC;IACvC;;;;OAIG;IACH,MAAM,CAAC,EAAE,mBAAmB,CAAC;CAC9B,GAAG,OAAO,CAAC,+BAA+B,CAAC,CAuG3C"}
1
+ {"version":3,"file":"rollingAuditDispatch.d.ts","sourceRoot":"","sources":["../../../src/audit/cli/rollingAuditDispatch.ts"],"names":[],"mappings":"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"}
@@ -18,7 +18,7 @@
18
18
  * not a git merge.
19
19
  */
20
20
  import { dirname, join } from "node:path";
21
- import { readJsonFile, readOptionalJsonFile, writeJsonFile, } from "audit-tools/shared";
21
+ import { readJsonFile, readOptionalJsonFile, writeJsonFile, advancePausedState, withSourceConfig, sourceByPoolId, } from "audit-tools/shared";
22
22
  import { ACTIVE_DISPATCH_FILENAME, } from "../types/activeDispatch.js";
23
23
  import { runRollingDispatch } from "../orchestrator/rollingDispatch.js";
24
24
  import { createFreshSessionProvider } from "../providers/index.js";
@@ -107,7 +107,10 @@ export function makeAuditProviderPacketDispatcher(params) {
107
107
  return async (packet, slot) => {
108
108
  const entry = packet.payload;
109
109
  const resolveProvider = params.createProvider ?? createFreshSessionProvider;
110
- const provider = resolveProvider(slot?.providerName || params.sessionConfig.provider, params.sessionConfig);
110
+ // A-8 generic sources: build the per-packet worker FROM its pool's source config.
111
+ const source = params.sourceByPoolId?.get(slot?.poolId ?? "");
112
+ const cfg = withSourceConfig(params.sessionConfig, source);
113
+ const provider = resolveProvider(slot?.providerName || cfg.provider, cfg);
111
114
  const resultPath = entry.result_path;
112
115
  const dir = dirname(resultPath);
113
116
  // Sidecar files share the packet's canonical FS-safe stem. Packet ids embed
@@ -206,6 +209,8 @@ export async function driveRollingAuditDispatch(params) {
206
209
  hostOutputTokens: params.hostOutputTokens,
207
210
  hostModelRoster: params.hostModelRoster,
208
211
  hostModelId: params.hostModelId,
212
+ tasksOverride: params.tasksOverride,
213
+ poolsOverride: params.poolsOverride,
209
214
  });
210
215
  // Nothing eligible this pass (every task already answered / budget-capped):
211
216
  // ingest whatever landed and let the loop re-derive state.
@@ -230,16 +235,27 @@ export async function driveRollingAuditDispatch(params) {
230
235
  runId,
231
236
  sessionConfig,
232
237
  timeoutMs: params.timeoutMs,
238
+ // A packet on a source-backed pool launches FROM that source's config.
239
+ sourceByPoolId: sourceByPoolId(dispatch.pools),
233
240
  });
234
241
  const run = await runRollingDispatch(packets, dispatch.pools, sessionConfig, {}, dispatchPacket);
235
- // Stranded packets (empty pool / livelock): record a partial-completion terminal
236
- // on the active-dispatch artifact so `deriveAuditState` treats
237
- // `audit_tasks_completed` as satisfied and the pipeline proceeds to synthesis on
238
- // partial coverage rather than re-dispatching tasks that can never land.
242
+ // Stranded packets (the engine's in-pass spill + reactive re-route already failed
243
+ // a FULL strand): rather than immediately stranding to a partial-completion
244
+ // terminal, enter (or advance) the resumable `waiting_for_provider` pause so a
245
+ // quota-exhausted run resumes when capacity returns instead of giving up (DC-4).
246
+ // The pause is promoted to a partial-completion terminal only once the livelock
247
+ // guard fires (capacity never returned within the pause limit), at which point the
248
+ // pipeline proceeds to synthesis on partial coverage. Because this branch is
249
+ // reached ONLY on a full strand, spill is always exhausted before any pause.
250
+ let pausedState;
239
251
  if (run.status === "partial" && run.stranded_ids.length > 0) {
240
- await recordPartialCompletionTerminal(artifactsDir, runId, {
241
- reason: run.partial_reason ?? "empty_pool",
242
- stranded_ids: run.stranded_ids,
252
+ pausedState = await advanceRollingPause({
253
+ artifactsDir,
254
+ runId,
255
+ strandedIds: run.stranded_ids,
256
+ exhaustedPoolIds: run.exhausted_pool_ids,
257
+ discoverProviders: params.discoverProviders,
258
+ livelockLimit: params.livelockLimit,
243
259
  });
244
260
  }
245
261
  // Ingest only when at least one packet produced a result. A full strand (every
@@ -268,13 +284,124 @@ export async function driveRollingAuditDispatch(params) {
268
284
  `(every provider-accepted result was invalid): ${err instanceof Error ? err.message : String(err)}\n`);
269
285
  }
270
286
  }
287
+ // A resumable pause is its own status so the caller renders a "waiting for
288
+ // provider" handoff rather than a terminal partial. The terminal (livelock)
289
+ // strand keeps `run.status` ("partial") — `advanceRollingPause` already stamped
290
+ // the partial-completion terminal that lets synthesis proceed on partial coverage.
271
291
  return {
272
- status: run.status,
292
+ status: pausedState ? "paused" : run.status,
273
293
  packet_count: packets.length,
274
294
  stranded_ids: run.stranded_ids,
275
295
  ingest: ingestResult,
296
+ paused_state: pausedState,
276
297
  };
277
298
  }
299
+ /**
300
+ * Advance the resumable `waiting_for_provider` pause for a full-strand pass (DC-4).
301
+ *
302
+ * On the FIRST strand there is no prior paused state, so the run enters
303
+ * `waiting_for_provider` (pause_count 0) carrying the freshly-exhausted pool ids as
304
+ * its `SettledExclusionSet`. On a SUBSEQUENT strand a prior paused state exists, so
305
+ * the persisted settled set is UNIONED with this pass's exhausted ids (CE-001 — the
306
+ * shared set is co-derived/accumulated, never shrunk), the available providers are
307
+ * re-discovered, and `advancePausedState` decides:
308
+ * - genuinely-new capacity (a provider not in the settled set) → `running` →
309
+ * pause cleared, the next pass re-dispatches the stranded packets;
310
+ * - still no new capacity, below the limit → bump `pause_count`, stay paused;
311
+ * - at/over the limit → `terminal/livelock` → record the partial-completion
312
+ * terminal so the pipeline proceeds to synthesis on partial coverage.
313
+ *
314
+ * Returns the live paused state when the run stays paused, or `undefined` when it
315
+ * resumed or went terminal (both clear the paused state on the artifact).
316
+ */
317
+ async function advanceRollingPause(params) {
318
+ const { artifactsDir, runId, strandedIds, exhaustedPoolIds } = params;
319
+ const prior = await readActiveDispatch(artifactsDir, runId);
320
+ const priorPaused = prior?.paused_state;
321
+ // Accumulate the shared settled-exclusion set: prior settled ∪ this pass's
322
+ // exhausted pools. Never shrinks — a pool that has been spilled-then-exhausted
323
+ // stays settled so re-discovery cannot re-offer it as net-new (INV-S03 / CE-001).
324
+ const settled = new Set([
325
+ ...(priorPaused?.settled_exclusions ?? []),
326
+ ...exhaustedPoolIds,
327
+ ]);
328
+ const settledArray = [...settled].sort();
329
+ // First strand: enter the paused state. No re-discovery yet — the pool was just
330
+ // exhausted this very pass, so probing now would only re-surface the same ids.
331
+ if (!priorPaused) {
332
+ const lifecycle = {
333
+ kind: "waiting_for_provider",
334
+ paused_at: new Date().toISOString(),
335
+ pause_count: 0,
336
+ stranded_node_ids: strandedIds,
337
+ };
338
+ const pausedState = {
339
+ lifecycle,
340
+ settled_exclusions: settledArray,
341
+ };
342
+ await persistPausedState(artifactsDir, runId, pausedState);
343
+ return pausedState;
344
+ }
345
+ // Already paused: re-discover and let advancePausedState transition.
346
+ const rediscovered = params.discoverProviders
347
+ ? await params.discoverProviders()
348
+ : exhaustedPoolIds; // default: the same (already-settled) pools → no net-new.
349
+ const next = advancePausedState({
350
+ current: priorPaused.lifecycle,
351
+ rediscoveredProviders: rediscovered,
352
+ settledExclusions: settled,
353
+ livelockLimit: params.livelockLimit,
354
+ });
355
+ if (next.kind === "running") {
356
+ // Capacity returned: clear the pause so the next pass re-dispatches.
357
+ await clearPausedState(artifactsDir, runId);
358
+ return undefined;
359
+ }
360
+ if (next.kind === "terminal") {
361
+ // Livelock: clear the pause and record the partial-completion terminal so the
362
+ // pipeline proceeds to synthesis on partial coverage (the no-indefinite-stall
363
+ // guard, CE-003/CE-205). The terminal carries the stranded ids it gave up on.
364
+ await clearPausedState(artifactsDir, runId);
365
+ await recordPartialCompletionTerminal(artifactsDir, runId, {
366
+ reason: "livelock_guard",
367
+ stranded_ids: next.stranded_node_ids,
368
+ });
369
+ return undefined;
370
+ }
371
+ // Still waiting (pause_count bumped). Persist the advanced state + settled set.
372
+ const pausedState = {
373
+ lifecycle: next,
374
+ settled_exclusions: settledArray,
375
+ };
376
+ await persistPausedState(artifactsDir, runId, pausedState);
377
+ return pausedState;
378
+ }
379
+ /** Read the run's active-dispatch artifact, or null when absent / for another run. */
380
+ async function readActiveDispatch(artifactsDir, runId) {
381
+ const path = join(artifactsDir, ACTIVE_DISPATCH_FILENAME);
382
+ const existing = await readJsonFile(path).catch(() => null);
383
+ return existing && existing.run_id === runId ? existing : null;
384
+ }
385
+ /** Persist the resumable paused state onto the active-dispatch artifact. */
386
+ async function persistPausedState(artifactsDir, runId, pausedState) {
387
+ const existing = await readActiveDispatch(artifactsDir, runId);
388
+ if (!existing)
389
+ return;
390
+ await writeJsonFile(join(artifactsDir, ACTIVE_DISPATCH_FILENAME), {
391
+ ...existing,
392
+ paused_state: pausedState,
393
+ });
394
+ }
395
+ /** Clear the paused state (run resumed or went terminal). */
396
+ async function clearPausedState(artifactsDir, runId) {
397
+ const existing = await readActiveDispatch(artifactsDir, runId);
398
+ if (!existing || !existing.paused_state)
399
+ return;
400
+ const { paused_state: _dropped, ...rest } = existing;
401
+ await writeJsonFile(join(artifactsDir, ACTIVE_DISPATCH_FILENAME), {
402
+ ...rest,
403
+ });
404
+ }
278
405
  /**
279
406
  * Stamp the rolling engine's partial-completion terminal onto the run's
280
407
  * active-dispatch artifact. `prepareDispatchArtifacts` already wrote the artifact;
@@ -1 +1 @@
1
- {"version":3,"file":"rollingAuditDispatch.js","sourceRoot":"","sources":["../../../src/audit/cli/rollingAuditDispatch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rollingAuditDispatch.js","sourceRoot":"","sources":["../../../src/audit/cli/rollingAuditDispatch.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * `score-audit` — emit the deterministic finding-quality scorecard for a fresh
3
+ * audit against a corpus's human-applied labels (A-2).
4
+ *
5
+ * Resolution:
6
+ * --findings <path> audit-findings.json (default: <artifacts>/audit-findings.json)
7
+ * --labels <path> corpus/<run-id>.labels.json (REQUIRED)
8
+ * --baseline <path> a prior scorecard.json to gate against (optional)
9
+ * --out <path> where to write scorecard.json (default: <artifacts>/score-audit.json)
10
+ *
11
+ * The exit code is wired SOLELY to a hallucination-rate REGRESSION vs --baseline
12
+ * (track-don't-gate: precision/recall are printed but never gate). With no
13
+ * baseline the run only emits the scorecard and always exits 0.
14
+ */
15
+ export declare function cmdScoreAudit(argv: string[]): Promise<void>;
16
+ //# sourceMappingURL=scoreAuditCommand.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scoreAuditCommand.d.ts","sourceRoot":"","sources":["../../../src/audit/cli/scoreAuditCommand.ts"],"names":[],"mappings":"AAoBA;;;;;;;;;;;;;GAaG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA4EjE"}
@@ -0,0 +1,82 @@
1
+ import { join } from "node:path";
2
+ import { readJsonFile, writeJsonFile, writeTextFile, } from "audit-tools/shared";
3
+ import { scoreAudit, hallucinationRegressed, renderScorecardMarkdown, } from "../reporting/scoreAudit.js";
4
+ import { getArtifactsDir, getFlag } from "./args.js";
5
+ /**
6
+ * `score-audit` — emit the deterministic finding-quality scorecard for a fresh
7
+ * audit against a corpus's human-applied labels (A-2).
8
+ *
9
+ * Resolution:
10
+ * --findings <path> audit-findings.json (default: <artifacts>/audit-findings.json)
11
+ * --labels <path> corpus/<run-id>.labels.json (REQUIRED)
12
+ * --baseline <path> a prior scorecard.json to gate against (optional)
13
+ * --out <path> where to write scorecard.json (default: <artifacts>/score-audit.json)
14
+ *
15
+ * The exit code is wired SOLELY to a hallucination-rate REGRESSION vs --baseline
16
+ * (track-don't-gate: precision/recall are printed but never gate). With no
17
+ * baseline the run only emits the scorecard and always exits 0.
18
+ */
19
+ export async function cmdScoreAudit(argv) {
20
+ const artifactsDir = getArtifactsDir(argv);
21
+ const findingsPath = getFlag(argv, "--findings") ?? join(artifactsDir, "audit-findings.json");
22
+ const labelsPath = getFlag(argv, "--labels");
23
+ const baselinePath = getFlag(argv, "--baseline");
24
+ const outPath = getFlag(argv, "--out") ?? join(artifactsDir, "score-audit.json");
25
+ if (!labelsPath) {
26
+ console.error("score-audit requires --labels <corpus/<run-id>.labels.json> (human-applied finding labels)");
27
+ process.exitCode = 1;
28
+ return;
29
+ }
30
+ let findingsDoc;
31
+ try {
32
+ findingsDoc = await readJsonFile(findingsPath);
33
+ }
34
+ catch (error) {
35
+ console.error(`Could not read findings at ${findingsPath}: ${error.message}`);
36
+ process.exitCode = 1;
37
+ return;
38
+ }
39
+ const findings = Array.isArray(findingsDoc.findings) ? findingsDoc.findings : [];
40
+ let labels;
41
+ try {
42
+ labels = await readJsonFile(labelsPath);
43
+ }
44
+ catch (error) {
45
+ console.error(`Could not read labels at ${labelsPath}: ${error.message}`);
46
+ process.exitCode = 1;
47
+ return;
48
+ }
49
+ let baseline = null;
50
+ if (baselinePath) {
51
+ try {
52
+ baseline = await readJsonFile(baselinePath);
53
+ }
54
+ catch (error) {
55
+ console.error(`Could not read baseline scorecard at ${baselinePath}: ${error.message}`);
56
+ process.exitCode = 1;
57
+ return;
58
+ }
59
+ }
60
+ const scorecard = scoreAudit(findings, labels);
61
+ await writeJsonFile(outPath, scorecard);
62
+ const summary = renderScorecardMarkdown(scorecard);
63
+ const summaryPath = outPath.replace(/\.json$/, ".md");
64
+ await writeTextFile(summaryPath, summary);
65
+ process.stdout.write(summary);
66
+ console.error(`Scorecard written to ${outPath} (summary: ${summaryPath})`);
67
+ // The ONLY gate: a hallucination-rate regression against the baseline.
68
+ if (hallucinationRegressed(scorecard, baseline)) {
69
+ console.error(`✗ hallucination-rate regression: ${fmt(scorecard.hallucination_rate)} > ` +
70
+ `baseline ${fmt(baseline?.hallucination_rate ?? 0)}`);
71
+ process.exitCode = 1;
72
+ return;
73
+ }
74
+ if (baseline) {
75
+ console.error(`✓ hallucination rate ${fmt(scorecard.hallucination_rate)} within baseline ` +
76
+ `${fmt(baseline.hallucination_rate ?? 0)}`);
77
+ }
78
+ }
79
+ function fmt(value) {
80
+ return value === null ? "n/a" : `${(value * 100).toFixed(1)}%`;
81
+ }
82
+ //# sourceMappingURL=scoreAuditCommand.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scoreAuditCommand.js","sourceRoot":"","sources":["../../../src/audit/cli/scoreAuditCommand.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/audit/cli.ts"],"names":[],"mappings":"AAOA,OAAO,EAEL,OAAO,EACP,OAAO,EACP,eAAe,EACf,UAAU,EACV,kBAAkB,EAClB,YAAY,EACZ,gBAAgB,EAChB,UAAU,EACV,gBAAgB,EACjB,MAAM,eAAe,CAAC;AAMvB,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAmBtD,OAAO,EAAE,SAAS,EAAE,CAAC;AAErB,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;CAWxB,CAAC;AAoFF,wBAAsB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAK1D"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/audit/cli.ts"],"names":[],"mappings":"AAOA,OAAO,EAEL,OAAO,EACP,OAAO,EACP,eAAe,EACf,UAAU,EACV,kBAAkB,EAClB,YAAY,EACZ,gBAAgB,EAChB,UAAU,EACV,gBAAgB,EACjB,MAAM,eAAe,CAAC;AAMvB,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAoBtD,OAAO,EAAE,SAAS,EAAE,CAAC;AAErB,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;CAWxB,CAAC;AAuFF,wBAAsB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAK1D"}
package/dist/audit/cli.js CHANGED
@@ -26,6 +26,7 @@ import { cmdResynthesize } from "./cli/resynthesizeCommand.js";
26
26
  import { cmdCleanup } from "./cli/cleanupCommand.js";
27
27
  import { cmdQuota } from "./cli/quotaCommand.js";
28
28
  import { cmdDispatchStatus } from "./cli/dispatchStatusCommand.js";
29
+ import { cmdScoreAudit } from "./cli/scoreAuditCommand.js";
29
30
  export { runSample };
30
31
  export const cliTestUtils = {
31
32
  defaults: DIRECT_CLI_DEFAULTS,
@@ -112,9 +113,12 @@ async function main(argv) {
112
113
  case "dispatch-status":
113
114
  await cmdDispatchStatus(argv);
114
115
  return;
116
+ case "score-audit":
117
+ await cmdScoreAudit(argv);
118
+ return;
115
119
  default:
116
120
  console.error(`Unknown command: ${command}`);
117
- console.error("Available commands: sample-run, advance-audit, next-step, worker-run, import-external-analyzer, intake, plan, ingest-results, explain-task, update-runtime-validation, validate, validate-results, requeue, synthesize, resynthesize, cleanup, prepare-dispatch, merge-and-ingest, submit-packet, validate-result, quota, status, dispatch-status");
121
+ console.error("Available commands: sample-run, advance-audit, next-step, worker-run, import-external-analyzer, intake, plan, ingest-results, explain-task, update-runtime-validation, validate, validate-results, requeue, synthesize, resynthesize, cleanup, prepare-dispatch, merge-and-ingest, submit-packet, validate-result, quota, status, dispatch-status, score-audit");
118
122
  process.exitCode = 1;
119
123
  }
120
124
  }
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/audit/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/audit/cli.ts"],"names":[],"mappings":"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"}
@@ -26,7 +26,7 @@
26
26
  * artifact set. The generic diff + hashing machinery is single-sourced in
27
27
  * `audit-tools/shared/reReview`.
28
28
  */
29
- import { type CriticalFlowManifest, type GraphBundle, type RiskRegister, type SurfaceManifest } from "audit-tools/shared";
29
+ import { type CriticalFlowManifest, type GraphBundle, type IntentCheckpoint, type RiskRegister, type SurfaceManifest } from "audit-tools/shared";
30
30
  import type { RepoManifest, UnitManifest } from "../types.js";
31
31
  import type { DesignAssessment } from "../types/designAssessment.js";
32
32
  /**
@@ -44,6 +44,14 @@ export interface DesignReviewBundle {
44
44
  critical_flows?: CriticalFlowManifest;
45
45
  risk_register?: RiskRegister;
46
46
  design_assessment?: DesignAssessment;
47
+ /**
48
+ * The confirmed intent checkpoint, read ONLY to derive each unit's structured
49
+ * in-scope/excluded disposition (see `projectUnitManifest`). The cosmetic
50
+ * bracket-tag reason text is not projected — only the disposition KIND, which
51
+ * the prompt renders as `[in scope]` vs `[excluded: …]` and which the review
52
+ * actually reasons about (which units to skip).
53
+ */
54
+ intent_checkpoint?: IntentCheckpoint;
47
55
  }
48
56
  /**
49
57
  * The structural artifacts the design-review passes read. A design-review
@@ -1 +1 @@
1
- {"version":3,"file":"designReviewProjection.d.ts","sourceRoot":"","sources":["../../../src/audit/orchestrator/designReviewProjection.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,OAAO,EAEL,KAAK,oBAAoB,EACzB,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,eAAe,EACrB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAErE;;;;;;GAMG;AACH,MAAM,WAAW,kBAAkB;IACjC,aAAa,CAAC,EAAE,YAAY,CAAC;IAC7B,aAAa,CAAC,EAAE,YAAY,CAAC;IAC7B,YAAY,CAAC,EAAE,WAAW,CAAC;IAC3B,gBAAgB,CAAC,EAAE,eAAe,CAAC;IACnC,cAAc,CAAC,EAAE,oBAAoB,CAAC;IACtC,aAAa,CAAC,EAAE,YAAY,CAAC;IAC7B,iBAAiB,CAAC,EAAE,gBAAgB,CAAC;CACtC;AAED;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,yIAQvB,CAAC;AAEX,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC;AAgKtE;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,iBAAiB,EACxB,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAET;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,kBAAkB,GACzB,MAAM,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAMpC"}
1
+ {"version":3,"file":"designReviewProjection.d.ts","sourceRoot":"","sources":["../../../src/audit/orchestrator/designReviewProjection.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,OAAO,EAEL,KAAK,oBAAoB,EACzB,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,KAAK,YAAY,EACjB,KAAK,eAAe,EACrB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAGrE;;;;;;GAMG;AACH,MAAM,WAAW,kBAAkB;IACjC,aAAa,CAAC,EAAE,YAAY,CAAC;IAC7B,aAAa,CAAC,EAAE,YAAY,CAAC;IAC7B,YAAY,CAAC,EAAE,WAAW,CAAC;IAC3B,gBAAgB,CAAC,EAAE,eAAe,CAAC;IACnC,cAAc,CAAC,EAAE,oBAAoB,CAAC;IACtC,aAAa,CAAC,EAAE,YAAY,CAAC;IAC7B,iBAAiB,CAAC,EAAE,gBAAgB,CAAC;IACrC;;;;;;OAMG;IACH,iBAAiB,CAAC,EAAE,gBAAgB,CAAC;CACtC;AAED;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,yIAQvB,CAAC;AAEX,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC;AAiLtE;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,iBAAiB,EACxB,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAET;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,kBAAkB,GACzB,MAAM,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAMpC"}
@@ -27,6 +27,7 @@
27
27
  * `audit-tools/shared/reReview`.
28
28
  */
29
29
  import { stableStringifyProjection, } from "audit-tools/shared";
30
+ import { deriveUnitScopeDisposition } from "./intentScopeDisposition.js";
30
31
  /**
31
32
  * The structural artifacts the design-review passes read. A design-review
32
33
  * snapshot records the projection of each of these; a change to any of them
@@ -69,11 +70,27 @@ function projectRepoManifest(bundle) {
69
70
  files: sortByProjection(files),
70
71
  };
71
72
  }
72
- /** Project units to their boundaries: id, name, kind, files, lenses, flows. */
73
+ /**
74
+ * Project units to their boundaries: id, name, kind, files, lenses, flows, and
75
+ * the structured in-scope/excluded `scope` disposition.
76
+ *
77
+ * The `scope` field keeps dc4's per-unit determination INSIDE the projection so a
78
+ * scope change re-stales: when an `excluded_scope` / `disposition_overrides` edit
79
+ * flips a unit between in-scope and excluded, the prompt's `[in scope]` vs
80
+ * `[excluded: …]` tag flips with it, and the review must re-run (a unit it was
81
+ * told to skip is now reviewable, or vice versa). Only the disposition KIND is
82
+ * captured, NOT the reason text: the bracket-tag reason (`[excluded: <reason>]`)
83
+ * is cosmetic prose — re-wording "third-party code" to "third party" does not
84
+ * change which units the review covers, so it must not re-stale. The reason is
85
+ * read by no other downstream consumer (only this one prompt-render path puts it
86
+ * in front of the model, and it carries no machine-checkable meaning), so
87
+ * excluding it is sound under CE-008.
88
+ */
73
89
  function projectUnitManifest(bundle) {
74
90
  const units = bundle.unit_manifest?.units;
75
91
  if (!units)
76
92
  return null;
93
+ const checkpoint = bundle.intent_checkpoint;
77
94
  const projected = units.map((unit) => ({
78
95
  unit_id: unit.unit_id,
79
96
  name: unit.name,
@@ -81,6 +98,7 @@ function projectUnitManifest(bundle) {
81
98
  files: sortStrings(unit.files),
82
99
  required_lenses: sortStrings(unit.required_lenses),
83
100
  critical_flows: sortStrings(unit.critical_flows),
101
+ scope: deriveUnitScopeDisposition(unit.files, checkpoint).kind,
84
102
  }));
85
103
  return sortByProjection(projected);
86
104
  }
@@ -1 +1 @@
1
- {"version":3,"file":"designReviewProjection.js","sourceRoot":"","sources":["../../../src/audit/orchestrator/designReviewProjection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"designReviewProjection.js","sourceRoot":"","sources":["../../../src/audit/orchestrator/designReviewProjection.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,6 @@
1
1
  import type { ArtifactBundle } from "../io/artifacts.js";
2
+ import { deriveUnitScopeDisposition, type UnitScopeDisposition } from "./intentScopeDisposition.js";
3
+ export { deriveUnitScopeDisposition, type UnitScopeDisposition };
2
4
  export interface DesignReviewOptions {
3
5
  max_units?: number;
4
6
  conceptual_depth?: "shallow" | "deep";