audit-tools 0.33.3 → 0.33.6

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 (110) hide show
  1. package/dist/audit/cli/args.d.ts +1 -1
  2. package/dist/audit/cli/args.d.ts.map +1 -1
  3. package/dist/audit/cli/args.js +1 -4
  4. package/dist/audit/cli/args.js.map +1 -1
  5. package/dist/audit/cli/dispatch/hostFanoutGate.d.ts +7 -0
  6. package/dist/audit/cli/dispatch/hostFanoutGate.d.ts.map +1 -1
  7. package/dist/audit/cli/dispatch/hostFanoutGate.js +18 -4
  8. package/dist/audit/cli/dispatch/hostFanoutGate.js.map +1 -1
  9. package/dist/audit/cli/dispatch/quotaPool.d.ts +12 -0
  10. package/dist/audit/cli/dispatch/quotaPool.d.ts.map +1 -1
  11. package/dist/audit/cli/dispatch/quotaPool.js +59 -31
  12. package/dist/audit/cli/dispatch/quotaPool.js.map +1 -1
  13. package/dist/audit/cli/dispatch/types.d.ts +7 -0
  14. package/dist/audit/cli/dispatch/types.d.ts.map +1 -1
  15. package/dist/audit/cli/dispatch.d.ts +19 -0
  16. package/dist/audit/cli/dispatch.d.ts.map +1 -1
  17. package/dist/audit/cli/dispatch.js +46 -8
  18. package/dist/audit/cli/dispatch.js.map +1 -1
  19. package/dist/audit/cli/hybridDispatch.d.ts +16 -3
  20. package/dist/audit/cli/hybridDispatch.d.ts.map +1 -1
  21. package/dist/audit/cli/hybridDispatch.js +16 -23
  22. package/dist/audit/cli/hybridDispatch.js.map +1 -1
  23. package/dist/audit/cli/nextStepCommand.d.ts +1 -1
  24. package/dist/audit/cli/nextStepCommand.d.ts.map +1 -1
  25. package/dist/audit/cli/nextStepCommand.js +32 -18
  26. package/dist/audit/cli/nextStepCommand.js.map +1 -1
  27. package/dist/audit/cli/nextStepHelpers.d.ts.map +1 -1
  28. package/dist/audit/cli/nextStepHelpers.js +74 -51
  29. package/dist/audit/cli/nextStepHelpers.js.map +1 -1
  30. package/dist/audit/cli/reviewRun.d.ts +1 -0
  31. package/dist/audit/cli/reviewRun.d.ts.map +1 -1
  32. package/dist/audit/cli/reviewRun.js +5 -1
  33. package/dist/audit/cli/reviewRun.js.map +1 -1
  34. package/dist/audit/cli/rollingAuditDispatch.d.ts +12 -30
  35. package/dist/audit/cli/rollingAuditDispatch.d.ts.map +1 -1
  36. package/dist/audit/cli/rollingAuditDispatch.js +11 -60
  37. package/dist/audit/cli/rollingAuditDispatch.js.map +1 -1
  38. package/dist/audit/cli/semanticReviewStep.d.ts.map +1 -1
  39. package/dist/audit/cli/semanticReviewStep.js +30 -7
  40. package/dist/audit/cli/semanticReviewStep.js.map +1 -1
  41. package/dist/audit/quota/index.d.ts +2 -668
  42. package/dist/audit/quota/index.d.ts.map +1 -1
  43. package/dist/audit/quota/index.js +5 -30
  44. package/dist/audit/quota/index.js.map +1 -1
  45. package/dist/remediate/steps/dispatch/marshal.d.ts.map +1 -1
  46. package/dist/remediate/steps/dispatch/marshal.js +8 -1
  47. package/dist/remediate/steps/dispatch/marshal.js.map +1 -1
  48. package/dist/remediate/steps/dispatch/waveScheduling.d.ts +9 -2
  49. package/dist/remediate/steps/dispatch/waveScheduling.d.ts.map +1 -1
  50. package/dist/remediate/steps/dispatch/waveScheduling.js +48 -42
  51. package/dist/remediate/steps/dispatch/waveScheduling.js.map +1 -1
  52. package/dist/remediate/steps/nextStep.d.ts +79 -65
  53. package/dist/remediate/steps/nextStep.d.ts.map +1 -1
  54. package/dist/remediate/steps/nextStep.js +379 -380
  55. package/dist/remediate/steps/nextStep.js.map +1 -1
  56. package/dist/remediate/steps/types.d.ts +7 -27
  57. package/dist/remediate/steps/types.d.ts.map +1 -1
  58. package/dist/remediate/steps/types.js +0 -1
  59. package/dist/remediate/steps/types.js.map +1 -1
  60. package/dist/shared/dispatch/admissionLoop.d.ts +66 -8
  61. package/dist/shared/dispatch/admissionLoop.d.ts.map +1 -1
  62. package/dist/shared/dispatch/admissionLoop.js +168 -3
  63. package/dist/shared/dispatch/admissionLoop.js.map +1 -1
  64. package/dist/shared/dispatch/dispatchQuotaContract.d.ts +720 -0
  65. package/dist/shared/dispatch/dispatchQuotaContract.d.ts.map +1 -0
  66. package/dist/shared/dispatch/dispatchQuotaContract.js +76 -0
  67. package/dist/shared/dispatch/dispatchQuotaContract.js.map +1 -0
  68. package/dist/shared/dispatch/hostDispatchWall.d.ts +39 -0
  69. package/dist/shared/dispatch/hostDispatchWall.d.ts.map +1 -1
  70. package/dist/shared/dispatch/hostDispatchWall.js +22 -1
  71. package/dist/shared/dispatch/hostDispatchWall.js.map +1 -1
  72. package/dist/shared/dispatch/rollingDispatch.d.ts +18 -1
  73. package/dist/shared/dispatch/rollingDispatch.d.ts.map +1 -1
  74. package/dist/shared/dispatch/rollingDispatch.js +35 -9
  75. package/dist/shared/dispatch/rollingDispatch.js.map +1 -1
  76. package/dist/shared/dispatch/settledPools.d.ts +32 -0
  77. package/dist/shared/dispatch/settledPools.d.ts.map +1 -1
  78. package/dist/shared/dispatch/settledPools.js +37 -0
  79. package/dist/shared/dispatch/settledPools.js.map +1 -1
  80. package/dist/shared/index.d.ts +9 -6
  81. package/dist/shared/index.d.ts.map +1 -1
  82. package/dist/shared/index.js +7 -5
  83. package/dist/shared/index.js.map +1 -1
  84. package/dist/shared/providers/inProcessWorkers.d.ts +42 -0
  85. package/dist/shared/providers/inProcessWorkers.d.ts.map +1 -0
  86. package/dist/shared/providers/inProcessWorkers.js +64 -0
  87. package/dist/shared/providers/inProcessWorkers.js.map +1 -0
  88. package/dist/shared/providers/providerPathGuard.d.ts +33 -4
  89. package/dist/shared/providers/providerPathGuard.d.ts.map +1 -1
  90. package/dist/shared/providers/providerPathGuard.js +33 -4
  91. package/dist/shared/providers/providerPathGuard.js.map +1 -1
  92. package/dist/shared/providers/proxyCatalog.d.ts.map +1 -1
  93. package/dist/shared/providers/proxyCatalog.js +21 -4
  94. package/dist/shared/providers/proxyCatalog.js.map +1 -1
  95. package/dist/shared/quota/apiPool.d.ts +94 -44
  96. package/dist/shared/quota/apiPool.d.ts.map +1 -1
  97. package/dist/shared/quota/apiPool.js +173 -75
  98. package/dist/shared/quota/apiPool.js.map +1 -1
  99. package/dist/shared/quota/capacity.d.ts +8 -1
  100. package/dist/shared/quota/capacity.d.ts.map +1 -1
  101. package/dist/shared/quota/capacity.js +2 -1
  102. package/dist/shared/quota/capacity.js.map +1 -1
  103. package/dist/shared/types/auditorDescriptor.d.ts +0 -8
  104. package/dist/shared/types/auditorDescriptor.d.ts.map +1 -1
  105. package/dist/shared/types/auditorDescriptor.js.map +1 -1
  106. package/dist/shared/validation/sessionConfig.d.ts.map +1 -1
  107. package/dist/shared/validation/sessionConfig.js +10 -0
  108. package/dist/shared/validation/sessionConfig.js.map +1 -1
  109. package/opencode.json +2 -2
  110. package/package.json +1 -1
@@ -1,6 +1,7 @@
1
1
  import { z } from "zod";
2
2
  import type { ReservationLedger } from "../quota/reservationLedger.js";
3
3
  import type { DispatchCapacityPoolSummary } from "../quota/capacity.js";
4
+ import type { DispatchModelTier } from "../types/stepContract.js";
4
5
  /** One packet the admission loop may grant this pass. */
5
6
  export interface AdmissionCandidate {
6
7
  id: string;
@@ -8,6 +9,15 @@ export interface AdmissionCandidate {
8
9
  cost: number;
9
10
  /** Complexity in [0, 1] — the default capability gate's routing signal. */
10
11
  complexity: number;
12
+ /**
13
+ * The packet's minimum-capability floor (unified-routing step C): its dispatch
14
+ * tier (`resolveDispatchTier` — risk/complexity-derived). A pool is eligible only
15
+ * if its RELATIVE capability among the currently-available pools clears this
16
+ * floor ({@link buildCapabilityFloorCapable}); a hard `deep` packet is never
17
+ * routed to a bottom-band model just because it is free, idle, and fits context.
18
+ * Absent ⇒ no floor (small), preserving legacy callers.
19
+ */
20
+ requiredTier?: DispatchModelTier;
11
21
  }
12
22
  /** One pool a packet may be routed to. */
13
23
  export interface AdmissionPool {
@@ -119,13 +129,13 @@ export declare const AdmissionExplainSchema: z.ZodObject<{
119
129
  pool_id: z.ZodNullable<z.ZodString>;
120
130
  resource_key: z.ZodNullable<z.ZodString>;
121
131
  admitted: z.ZodBoolean;
122
- reason: z.ZodEnum<["admitted", "no_capable_pool", "budget_exhausted", "cap_reached"]>;
132
+ reason: z.ZodEnum<["admitted", "no_capable_pool", "budget_exhausted", "cap_reached", "packet_oversized"]>;
123
133
  /** Present on an admit attempt against a real pool (budget headroom before it). */
124
134
  headroom_before: z.ZodOptional<z.ZodNumber>;
125
135
  outstanding_before: z.ZodOptional<z.ZodNumber>;
126
136
  cost: z.ZodNumber;
127
137
  }, "strict", z.ZodTypeAny, {
128
- reason: "admitted" | "no_capable_pool" | "budget_exhausted" | "cap_reached";
138
+ reason: "budget_exhausted" | "cap_reached" | "no_capable_pool" | "admitted" | "packet_oversized";
129
139
  pool_id: string | null;
130
140
  cost: number;
131
141
  admitted: boolean;
@@ -134,7 +144,7 @@ export declare const AdmissionExplainSchema: z.ZodObject<{
134
144
  headroom_before?: number | undefined;
135
145
  outstanding_before?: number | undefined;
136
146
  }, {
137
- reason: "admitted" | "no_capable_pool" | "budget_exhausted" | "cap_reached";
147
+ reason: "budget_exhausted" | "cap_reached" | "no_capable_pool" | "admitted" | "packet_oversized";
138
148
  pool_id: string | null;
139
149
  cost: number;
140
150
  admitted: boolean;
@@ -180,13 +190,13 @@ export declare const DispatchAdmissionSchema: z.ZodObject<{
180
190
  pool_id: z.ZodNullable<z.ZodString>;
181
191
  resource_key: z.ZodNullable<z.ZodString>;
182
192
  admitted: z.ZodBoolean;
183
- reason: z.ZodEnum<["admitted", "no_capable_pool", "budget_exhausted", "cap_reached"]>;
193
+ reason: z.ZodEnum<["admitted", "no_capable_pool", "budget_exhausted", "cap_reached", "packet_oversized"]>;
184
194
  /** Present on an admit attempt against a real pool (budget headroom before it). */
185
195
  headroom_before: z.ZodOptional<z.ZodNumber>;
186
196
  outstanding_before: z.ZodOptional<z.ZodNumber>;
187
197
  cost: z.ZodNumber;
188
198
  }, "strict", z.ZodTypeAny, {
189
- reason: "admitted" | "no_capable_pool" | "budget_exhausted" | "cap_reached";
199
+ reason: "budget_exhausted" | "cap_reached" | "no_capable_pool" | "admitted" | "packet_oversized";
190
200
  pool_id: string | null;
191
201
  cost: number;
192
202
  admitted: boolean;
@@ -195,7 +205,7 @@ export declare const DispatchAdmissionSchema: z.ZodObject<{
195
205
  headroom_before?: number | undefined;
196
206
  outstanding_before?: number | undefined;
197
207
  }, {
198
- reason: "admitted" | "no_capable_pool" | "budget_exhausted" | "cap_reached";
208
+ reason: "budget_exhausted" | "cap_reached" | "no_capable_pool" | "admitted" | "packet_oversized";
199
209
  pool_id: string | null;
200
210
  cost: number;
201
211
  admitted: boolean;
@@ -215,7 +225,7 @@ export declare const DispatchAdmissionSchema: z.ZodObject<{
215
225
  granted_packet_ids: string[];
216
226
  declared_cap: number | null;
217
227
  explains: {
218
- reason: "admitted" | "no_capable_pool" | "budget_exhausted" | "cap_reached";
228
+ reason: "budget_exhausted" | "cap_reached" | "no_capable_pool" | "admitted" | "packet_oversized";
219
229
  pool_id: string | null;
220
230
  cost: number;
221
231
  admitted: boolean;
@@ -235,7 +245,7 @@ export declare const DispatchAdmissionSchema: z.ZodObject<{
235
245
  granted_packet_ids: string[];
236
246
  declared_cap: number | null;
237
247
  explains: {
238
- reason: "admitted" | "no_capable_pool" | "budget_exhausted" | "cap_reached";
248
+ reason: "budget_exhausted" | "cap_reached" | "no_capable_pool" | "admitted" | "packet_oversized";
239
249
  pool_id: string | null;
240
250
  cost: number;
241
251
  admitted: boolean;
@@ -282,6 +292,53 @@ export interface AdmitBatchInput {
282
292
  */
283
293
  dispatchBias?: number;
284
294
  }
295
+ /**
296
+ * Build the composed capability gate (unified-routing step C): size-fit AND a
297
+ * RELATIVE per-packet capability floor over the currently-available pool set.
298
+ *
299
+ * Relative, never absolute (the "never a named-model→tier map" invariant): pools
300
+ * with a known per-model `capabilityScore` (registry/leaderboard composite_rank,
301
+ * LOWER = better) are banded into terciles among the SCORED pools — band 0 = top
302
+ * third. A pool with no score but a NON-NEUTRAL tier ordinal maps ordinal→band
303
+ * (deep→0, small→2). A pool with neither signal (score null + neutral ordinal —
304
+ * e.g. a proxy pool the leaderboard didn't match) is UNKNOWN and **fails open**
305
+ * (owner decision 2026-07-17): it stays eligible for every floor, and `onFailOpen`
306
+ * records the low-confidence routing so the choice is observable — fail-closed
307
+ * would reproduce the host-only collapse whenever no pool carries capability data.
308
+ *
309
+ * Floor: `deep` ⇒ band 0 only; `standard` ⇒ bands 0–1; `small`/absent ⇒ all.
310
+ * Composed over the size-fit gate, so supplying this predicate never loses the
311
+ * context-window check. Proxy-agnostic by construction — it reads only the pool's
312
+ * own `capabilityScore`/`capabilityRank` fields, never a transport's catalog
313
+ * ([[litellm-replaces-repair-proxy]]).
314
+ */
315
+ export declare function buildCapabilityFloorCapable(pools: readonly AdmissionPool[], onFailOpen?: (info: {
316
+ poolId: string;
317
+ packetId: string;
318
+ requiredTier: DispatchModelTier;
319
+ }) => void): (pool: AdmissionPool, packet: AdmissionCandidate) => boolean;
320
+ /**
321
+ * The in-process engine's draw over the ONE capability-floor implementation
322
+ * ({@link buildCapabilityFloorCapable}) — adapts the engine's `CapacityPool` shape
323
+ * (F4) via the same signals the admission summaries carry (`rank` → tier ordinal,
324
+ * `declaredCapabilityRank` → raw score), so the engine and the host path band
325
+ * pools identically and cannot drift. Size-fit stays the engine's own
326
+ * `doesNotFitContext` gate, so the stub's `capacityTokens` is +Infinity (inert
327
+ * here). Fail-open all the way down: an unknown pool id, like unknown capability,
328
+ * never blocks.
329
+ */
330
+ export declare function buildCapacityPoolCapabilityFloor(pools: readonly {
331
+ id: string;
332
+ rank?: DispatchModelTier;
333
+ declaredCapabilityRank?: number | null;
334
+ }[], onFailOpen?: (info: {
335
+ poolId: string;
336
+ packetId: string;
337
+ requiredTier: DispatchModelTier;
338
+ }) => void): (poolId: string, packet: {
339
+ id: string;
340
+ requiredTier?: DispatchModelTier;
341
+ }) => boolean;
285
342
  /**
286
343
  * Admit as many packets as budget + declared caps allow this pass, routing each to
287
344
  * the cheapest capable pool with headroom. Every admission RESERVES the packet's
@@ -310,6 +367,7 @@ export declare function computeDispatchAdmission(input: {
310
367
  id: string;
311
368
  inputTokens: number;
312
369
  complexity: number;
370
+ requiredTier?: DispatchModelTier;
313
371
  }[];
314
372
  pools: AdmissionPool[];
315
373
  /** Declared output cap for the packet envelope (cold-start; ratio refines later). */
@@ -1 +1 @@
1
- {"version":3,"file":"admissionLoop.d.ts","sourceRoot":"","sources":["../../../src/shared/dispatch/admissionLoop.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"admissionLoop.d.ts","sourceRoot":"","sources":["../../../src/shared/dispatch/admissionLoop.ts"],"names":[],"mappings":"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"}
@@ -72,7 +72,13 @@ export function admissionPoolsFromSummaries(summaries, confirmedCostPositions) {
72
72
  hostActiveSubagents: pool.host_concurrency_limit?.active_subagents,
73
73
  sourceConcurrencyCap: pool.concurrency_cap,
74
74
  }),
75
- capacityTokens: pool.resolved_limits.context_tokens,
75
+ // ONE fit predicate on both dispatch paths (unified-routing step B): a source
76
+ // pool's own effective window (`context_cap_tokens`, non-null since step A)
77
+ // outranks the wave's resolved limits — previously the host-admission path gated
78
+ // every pool against the HOST's window, so a small-context source pool admitted
79
+ // packets it could never serve (413 instead of skip). Host pools carry no
80
+ // `context_cap_tokens` and fall through to their real resolved window.
81
+ capacityTokens: pool.context_cap_tokens ?? pool.resolved_limits.context_tokens,
76
82
  calibrating: pool.calibrating === true,
77
83
  }));
78
84
  }
@@ -93,7 +99,7 @@ export const AdmissionExplainSchema = z
93
99
  pool_id: z.string().nullable(),
94
100
  resource_key: z.string().nullable(),
95
101
  admitted: z.boolean(),
96
- reason: z.enum(["admitted", "no_capable_pool", "budget_exhausted", "cap_reached"]),
102
+ reason: z.enum(["admitted", "no_capable_pool", "budget_exhausted", "cap_reached", "packet_oversized"]),
97
103
  /** Present on an admit attempt against a real pool (budget headroom before it). */
98
104
  headroom_before: z.number().optional(),
99
105
  outstanding_before: z.number().optional(),
@@ -122,6 +128,116 @@ function defaultCapable(pool, packet) {
122
128
  return true;
123
129
  return pool.capacityTokens >= packet.cost;
124
130
  }
131
+ /**
132
+ * Build the composed capability gate (unified-routing step C): size-fit AND a
133
+ * RELATIVE per-packet capability floor over the currently-available pool set.
134
+ *
135
+ * Relative, never absolute (the "never a named-model→tier map" invariant): pools
136
+ * with a known per-model `capabilityScore` (registry/leaderboard composite_rank,
137
+ * LOWER = better) are banded into terciles among the SCORED pools — band 0 = top
138
+ * third. A pool with no score but a NON-NEUTRAL tier ordinal maps ordinal→band
139
+ * (deep→0, small→2). A pool with neither signal (score null + neutral ordinal —
140
+ * e.g. a proxy pool the leaderboard didn't match) is UNKNOWN and **fails open**
141
+ * (owner decision 2026-07-17): it stays eligible for every floor, and `onFailOpen`
142
+ * records the low-confidence routing so the choice is observable — fail-closed
143
+ * would reproduce the host-only collapse whenever no pool carries capability data.
144
+ *
145
+ * Floor: `deep` ⇒ band 0 only; `standard` ⇒ bands 0–1; `small`/absent ⇒ all.
146
+ * Composed over the size-fit gate, so supplying this predicate never loses the
147
+ * context-window check. Proxy-agnostic by construction — it reads only the pool's
148
+ * own `capabilityScore`/`capabilityRank` fields, never a transport's catalog
149
+ * ([[litellm-replaces-repair-proxy]]).
150
+ */
151
+ export function buildCapabilityFloorCapable(pools, onFailOpen) {
152
+ // Tercile-band the scored pools once per batch (deterministic: score asc, poolId tiebreak).
153
+ const scored = pools
154
+ .filter((p) => typeof p.capabilityScore === "number" && Number.isFinite(p.capabilityScore))
155
+ .sort((a, b) => a.capabilityScore - b.capabilityScore ||
156
+ a.poolId.localeCompare(b.poolId));
157
+ const scoreBand = new Map();
158
+ scored.forEach((p, i) => {
159
+ scoreBand.set(p.poolId, Math.floor((3 * i) / scored.length));
160
+ });
161
+ const NEUTRAL_ORDINAL = tierRank(undefined); // the fallback tier — carries no information
162
+ const bandOf = (pool) => {
163
+ const fromScore = scoreBand.get(pool.poolId);
164
+ if (fromScore !== undefined)
165
+ return fromScore;
166
+ // No score: a non-neutral ordinal is a real declared/roster rank → coarse band.
167
+ // (A genuinely-DECLARED `standard` rank is indistinguishable from the fallback
168
+ // here — both are the neutral ordinal — so declared-standard pools are treated
169
+ // as unknown/fail-open. Deliberate: representing "declared vs defaulted" would
170
+ // need rank provenance on the summary; fail-open is the safe direction.)
171
+ if (pool.capabilityRank !== NEUTRAL_ORDINAL)
172
+ return 2 - Math.min(pool.capabilityRank, 2);
173
+ return null; // unknown — fail open
174
+ };
175
+ // The batch's BEST available band — the floor is RELATIVE all the way down
176
+ // (C-review F3): `deep` means "the most capable band available", not "band 0 or
177
+ // nothing". Without this, an all-small ordinal roster gives every deep packet an
178
+ // empty candidate set → a `no_capable_pool` wall that step E rightly calls
179
+ // structural/permanent — a livelock the floor itself manufactured. The scored
180
+ // path already behaves this way (n=1 scored pool = band 0 by construction).
181
+ const bands = pools.map(bandOf).filter((b) => b !== null);
182
+ const anyBanded = bands.length > 0;
183
+ const bestAvailableBand = anyBanded ? Math.min(...bands) : 0;
184
+ const FLOOR_MAX_BAND = { deep: 0, standard: 1, small: 2 };
185
+ return (pool, packet) => {
186
+ if (!defaultCapable(pool, packet))
187
+ return false;
188
+ const tier = packet.requiredTier;
189
+ if (!tier || tier === "small")
190
+ return true;
191
+ const band = bandOf(pool);
192
+ if (band === null) {
193
+ // Unknown capability: fail-open, never a block. Record it ONLY when the batch
194
+ // has at least one banded pool (C-review F2) — with zero capability data the
195
+ // floor is globally inert and there is no routing choice to flag; recording
196
+ // would spam a warning per packet on every ordinary single-host wave.
197
+ if (anyBanded) {
198
+ onFailOpen?.({ poolId: pool.poolId, packetId: packet.id, requiredTier: tier });
199
+ }
200
+ return true;
201
+ }
202
+ return band <= Math.max(FLOOR_MAX_BAND[tier], bestAvailableBand);
203
+ };
204
+ }
205
+ /**
206
+ * The in-process engine's draw over the ONE capability-floor implementation
207
+ * ({@link buildCapabilityFloorCapable}) — adapts the engine's `CapacityPool` shape
208
+ * (F4) via the same signals the admission summaries carry (`rank` → tier ordinal,
209
+ * `declaredCapabilityRank` → raw score), so the engine and the host path band
210
+ * pools identically and cannot drift. Size-fit stays the engine's own
211
+ * `doesNotFitContext` gate, so the stub's `capacityTokens` is +Infinity (inert
212
+ * here). Fail-open all the way down: an unknown pool id, like unknown capability,
213
+ * never blocks.
214
+ */
215
+ export function buildCapacityPoolCapabilityFloor(pools, onFailOpen) {
216
+ const stubs = pools.map((p) => ({
217
+ poolId: p.id,
218
+ resourceKey: p.id,
219
+ budget: Number.POSITIVE_INFINITY,
220
+ declaredCap: null,
221
+ costRank: 0,
222
+ capabilityRank: tierRank(p.rank),
223
+ capabilityScore: p.declaredCapabilityRank ?? null,
224
+ throughputConcurrency: Number.POSITIVE_INFINITY,
225
+ capacityTokens: Number.POSITIVE_INFINITY,
226
+ }));
227
+ const byId = new Map(stubs.map((s) => [s.poolId, s]));
228
+ const floor = buildCapabilityFloorCapable(stubs, onFailOpen);
229
+ return (poolId, packet) => {
230
+ const stub = byId.get(poolId);
231
+ if (!stub)
232
+ return true; // pool outside the banded set — no signal, fail open
233
+ return floor(stub, {
234
+ id: packet.id,
235
+ cost: 0,
236
+ complexity: 0,
237
+ ...(packet.requiredTier ? { requiredTier: packet.requiredTier } : {}),
238
+ });
239
+ };
240
+ }
125
241
  /**
126
242
  * Finer capability tiebreak on the raw registry score (LOWER = more capable), consulted
127
243
  * only after the coarse tier ordinal has tied. A present score sorts before an absent
@@ -325,10 +441,59 @@ export async function computeDispatchAdmission(input) {
325
441
  id: p.id,
326
442
  cost: estimatePacketCost({ inputEstimate: p.inputTokens, declaredOutputCap: input.outputCap }).cost,
327
443
  complexity: p.complexity,
444
+ ...(p.requiredTier ? { requiredTier: p.requiredTier } : {}),
328
445
  }));
329
446
  const declaredCap = input.pools.reduce((min, p) => (p.declaredCap == null ? min : min == null ? p.declaredCap : Math.min(min, p.declaredCap)), null);
330
447
  if (!input.grantLeases) {
331
- return { granted_packet_ids: candidates.map((c) => c.id), declared_cap: declaredCap, leases: [], explains: [] };
448
+ // Plan-only path (in-process engine — it admits + leases per packet itself).
449
+ // No leases, but the capability FLOOR still applies (F4): the contract must not
450
+ // display a grant the engine's floor will refuse to dispatch. Floor ONLY — size
451
+ // fit stays the engine's own `doesNotFitContext` gate (declared per-pool caps),
452
+ // so a size refusal is never mislabeled `no_capable_pool` here. Residual (named,
453
+ // display-only): the engine can still size-refuse a displayed grant onto a
454
+ // capped pool; the packet remains dispatchable to uncapped pools.
455
+ // An EMPTY pool set means no capacity summary reached admission, not "nothing
456
+ // is capable" — grant all, as before the floor existed.
457
+ if (input.pools.length === 0) {
458
+ return {
459
+ granted_packet_ids: candidates.map((c) => c.id),
460
+ declared_cap: declaredCap,
461
+ leases: [],
462
+ explains: [],
463
+ };
464
+ }
465
+ // Same-pool conjunction of the two per-packet engine axes: capability floor
466
+ // (banded over size-neutralized stubs, mirroring
467
+ // `buildCapacityPoolCapabilityFloor`) ∧ envelope fit (`defaultCapable`). Built
468
+ // here from the pools — never `input.capable`, whose composed predicate can't
469
+ // separate the axes. The RELATIVE floor never refuses every pool (fail-open +
470
+ // the best band is always eligible), so a total refusal is always a size fact:
471
+ // labeled `packet_oversized`, never `no_capable_pool` (which would misread a
472
+ // sizing problem as a capability one — adversarial-review F1).
473
+ const sizeNeutralPools = input.pools.map((p) => ({
474
+ ...p,
475
+ capacityTokens: Number.POSITIVE_INFINITY,
476
+ }));
477
+ const floorOnly = buildCapabilityFloorCapable(sizeNeutralPools);
478
+ const grantedIds = [];
479
+ const explains = [];
480
+ for (const candidate of candidates) {
481
+ const granted = input.pools.some((pool, i) => floorOnly(sizeNeutralPools[i], candidate) && defaultCapable(pool, candidate));
482
+ if (granted) {
483
+ grantedIds.push(candidate.id);
484
+ }
485
+ else {
486
+ explains.push({
487
+ packet_id: candidate.id,
488
+ pool_id: null,
489
+ resource_key: null,
490
+ admitted: false,
491
+ reason: "packet_oversized",
492
+ cost: candidate.cost,
493
+ });
494
+ }
495
+ }
496
+ return { granted_packet_ids: grantedIds, declared_cap: declaredCap, leases: [], explains };
332
497
  }
333
498
  const admit = await admitBatch({
334
499
  packets: candidates,
@@ -1 +1 @@
1
- {"version":3,"file":"admissionLoop.js","sourceRoot":"","sources":["../../../src/shared/dispatch/admissionLoop.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"admissionLoop.js","sourceRoot":"","sources":["../../../src/shared/dispatch/admissionLoop.ts"],"names":[],"mappings":"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"}