audit-tools 0.33.4 → 0.33.7
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.
- package/dist/audit/cli/args.d.ts +1 -1
- package/dist/audit/cli/args.js +1 -1
- package/dist/audit/cli/hybridDispatch.d.ts +9 -2
- package/dist/audit/cli/hybridDispatch.d.ts.map +1 -1
- package/dist/audit/cli/hybridDispatch.js +10 -6
- package/dist/audit/cli/hybridDispatch.js.map +1 -1
- package/dist/audit/cli/nextStepCommand.js +8 -8
- package/dist/audit/cli/nextStepCommand.js.map +1 -1
- package/dist/audit/cli/nextStepHelpers.d.ts.map +1 -1
- package/dist/audit/cli/nextStepHelpers.js +45 -43
- package/dist/audit/cli/nextStepHelpers.js.map +1 -1
- package/dist/audit/cli/reviewRun.d.ts +1 -0
- package/dist/audit/cli/reviewRun.d.ts.map +1 -1
- package/dist/audit/cli/reviewRun.js +5 -1
- package/dist/audit/cli/reviewRun.js.map +1 -1
- package/dist/audit/cli/rollingAuditDispatch.d.ts +2 -32
- package/dist/audit/cli/rollingAuditDispatch.d.ts.map +1 -1
- package/dist/audit/cli/rollingAuditDispatch.js +9 -39
- package/dist/audit/cli/rollingAuditDispatch.js.map +1 -1
- package/dist/remediate/steps/dispatch/marshal.d.ts.map +1 -1
- package/dist/remediate/steps/dispatch/marshal.js +8 -1
- package/dist/remediate/steps/dispatch/marshal.js.map +1 -1
- package/dist/remediate/steps/dispatch/waveScheduling.d.ts +9 -2
- package/dist/remediate/steps/dispatch/waveScheduling.d.ts.map +1 -1
- package/dist/remediate/steps/dispatch/waveScheduling.js +29 -19
- package/dist/remediate/steps/dispatch/waveScheduling.js.map +1 -1
- package/dist/remediate/steps/nextStep.d.ts +79 -65
- package/dist/remediate/steps/nextStep.d.ts.map +1 -1
- package/dist/remediate/steps/nextStep.js +342 -376
- package/dist/remediate/steps/nextStep.js.map +1 -1
- package/dist/remediate/steps/sessionConfigLoad.js +1 -1
- package/dist/remediate/steps/sessionConfigLoad.js.map +1 -1
- package/dist/shared/dispatch/admissionLoop.d.ts +31 -9
- package/dist/shared/dispatch/admissionLoop.d.ts.map +1 -1
- package/dist/shared/dispatch/admissionLoop.js +87 -3
- package/dist/shared/dispatch/admissionLoop.js.map +1 -1
- package/dist/shared/dispatch/dispatchQuotaContract.d.ts +7 -7
- package/dist/shared/dispatch/rollingDispatch.d.ts +18 -1
- package/dist/shared/dispatch/rollingDispatch.d.ts.map +1 -1
- package/dist/shared/dispatch/rollingDispatch.js +35 -9
- package/dist/shared/dispatch/rollingDispatch.js.map +1 -1
- package/dist/shared/index.d.ts +2 -2
- package/dist/shared/index.d.ts.map +1 -1
- package/dist/shared/index.js +3 -3
- package/dist/shared/index.js.map +1 -1
- package/dist/shared/providers/auditorSources.d.ts +39 -44
- package/dist/shared/providers/auditorSources.d.ts.map +1 -1
- package/dist/shared/providers/auditorSources.js +90 -63
- package/dist/shared/providers/auditorSources.js.map +1 -1
- package/dist/shared/providers/claudeWorkerProvider.d.ts +12 -11
- package/dist/shared/providers/claudeWorkerProvider.d.ts.map +1 -1
- package/dist/shared/providers/claudeWorkerProvider.js +23 -16
- package/dist/shared/providers/claudeWorkerProvider.js.map +1 -1
- package/dist/shared/providers/providerConfirmation.d.ts +2 -2
- package/dist/shared/providers/providerConfirmation.js +2 -2
- package/dist/shared/providers/providerConfirmation.js.map +1 -1
- package/dist/shared/providers/providerPathGuard.d.ts +33 -4
- package/dist/shared/providers/providerPathGuard.d.ts.map +1 -1
- package/dist/shared/providers/providerPathGuard.js +33 -4
- package/dist/shared/providers/providerPathGuard.js.map +1 -1
- package/dist/shared/providers/proxyCatalog.d.ts +19 -16
- package/dist/shared/providers/proxyCatalog.d.ts.map +1 -1
- package/dist/shared/providers/proxyCatalog.js +272 -181
- package/dist/shared/providers/proxyCatalog.js.map +1 -1
- package/dist/shared/providers/sharedProviderConfirmation.d.ts +1 -1
- package/dist/shared/providers/sharedProviderConfirmation.js +2 -2
- package/dist/shared/providers/sharedProviderConfirmation.js.map +1 -1
- package/dist/shared/quota/apiPool.d.ts +76 -44
- package/dist/shared/quota/apiPool.d.ts.map +1 -1
- package/dist/shared/quota/apiPool.js +142 -75
- package/dist/shared/quota/apiPool.js.map +1 -1
- package/dist/shared/quota/capacity.d.ts +1 -1
- package/dist/shared/types/providerConfirmation.d.ts +2 -2
- package/dist/shared/types/sessionConfig.d.ts +9 -8
- package/dist/shared/types/sessionConfig.d.ts.map +1 -1
- package/dist/shared/types/sessionConfig.js +1 -1
- package/dist/shared/types/sessionConfig.js.map +1 -1
- package/dist/shared/validation/sessionConfig.js +1 -1
- package/dist/shared/validation/sessionConfig.js.map +1 -1
- package/package.json +1 -1
|
@@ -36,7 +36,7 @@ export interface AdmissionPool {
|
|
|
36
36
|
* Raw per-`(provider,model)` capability score (registry `composite_rank`) — LOWER
|
|
37
37
|
* is more capable, the inverse convention of {@link capabilityRank}. A FINER tiebreak
|
|
38
38
|
* consulted only AFTER the coarse tier ordinal, so it reorders only among cost-equal
|
|
39
|
-
* pools that also share a tier (e.g. many
|
|
39
|
+
* pools that also share a tier (e.g. many proxy-sourced models on the neutral fallback
|
|
40
40
|
* tier). null/absent ⇒ no finer signal; a present score sorts before an absent one
|
|
41
41
|
* within that tie. Never reorders against cost or tier.
|
|
42
42
|
*/
|
|
@@ -129,13 +129,13 @@ export declare const AdmissionExplainSchema: z.ZodObject<{
|
|
|
129
129
|
pool_id: z.ZodNullable<z.ZodString>;
|
|
130
130
|
resource_key: z.ZodNullable<z.ZodString>;
|
|
131
131
|
admitted: z.ZodBoolean;
|
|
132
|
-
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"]>;
|
|
133
133
|
/** Present on an admit attempt against a real pool (budget headroom before it). */
|
|
134
134
|
headroom_before: z.ZodOptional<z.ZodNumber>;
|
|
135
135
|
outstanding_before: z.ZodOptional<z.ZodNumber>;
|
|
136
136
|
cost: z.ZodNumber;
|
|
137
137
|
}, "strict", z.ZodTypeAny, {
|
|
138
|
-
reason: "budget_exhausted" | "cap_reached" | "no_capable_pool" | "admitted";
|
|
138
|
+
reason: "budget_exhausted" | "cap_reached" | "no_capable_pool" | "admitted" | "packet_oversized";
|
|
139
139
|
pool_id: string | null;
|
|
140
140
|
cost: number;
|
|
141
141
|
admitted: boolean;
|
|
@@ -144,7 +144,7 @@ export declare const AdmissionExplainSchema: z.ZodObject<{
|
|
|
144
144
|
headroom_before?: number | undefined;
|
|
145
145
|
outstanding_before?: number | undefined;
|
|
146
146
|
}, {
|
|
147
|
-
reason: "budget_exhausted" | "cap_reached" | "no_capable_pool" | "admitted";
|
|
147
|
+
reason: "budget_exhausted" | "cap_reached" | "no_capable_pool" | "admitted" | "packet_oversized";
|
|
148
148
|
pool_id: string | null;
|
|
149
149
|
cost: number;
|
|
150
150
|
admitted: boolean;
|
|
@@ -190,13 +190,13 @@ export declare const DispatchAdmissionSchema: z.ZodObject<{
|
|
|
190
190
|
pool_id: z.ZodNullable<z.ZodString>;
|
|
191
191
|
resource_key: z.ZodNullable<z.ZodString>;
|
|
192
192
|
admitted: z.ZodBoolean;
|
|
193
|
-
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"]>;
|
|
194
194
|
/** Present on an admit attempt against a real pool (budget headroom before it). */
|
|
195
195
|
headroom_before: z.ZodOptional<z.ZodNumber>;
|
|
196
196
|
outstanding_before: z.ZodOptional<z.ZodNumber>;
|
|
197
197
|
cost: z.ZodNumber;
|
|
198
198
|
}, "strict", z.ZodTypeAny, {
|
|
199
|
-
reason: "budget_exhausted" | "cap_reached" | "no_capable_pool" | "admitted";
|
|
199
|
+
reason: "budget_exhausted" | "cap_reached" | "no_capable_pool" | "admitted" | "packet_oversized";
|
|
200
200
|
pool_id: string | null;
|
|
201
201
|
cost: number;
|
|
202
202
|
admitted: boolean;
|
|
@@ -205,7 +205,7 @@ export declare const DispatchAdmissionSchema: z.ZodObject<{
|
|
|
205
205
|
headroom_before?: number | undefined;
|
|
206
206
|
outstanding_before?: number | undefined;
|
|
207
207
|
}, {
|
|
208
|
-
reason: "budget_exhausted" | "cap_reached" | "no_capable_pool" | "admitted";
|
|
208
|
+
reason: "budget_exhausted" | "cap_reached" | "no_capable_pool" | "admitted" | "packet_oversized";
|
|
209
209
|
pool_id: string | null;
|
|
210
210
|
cost: number;
|
|
211
211
|
admitted: boolean;
|
|
@@ -225,7 +225,7 @@ export declare const DispatchAdmissionSchema: z.ZodObject<{
|
|
|
225
225
|
granted_packet_ids: string[];
|
|
226
226
|
declared_cap: number | null;
|
|
227
227
|
explains: {
|
|
228
|
-
reason: "budget_exhausted" | "cap_reached" | "no_capable_pool" | "admitted";
|
|
228
|
+
reason: "budget_exhausted" | "cap_reached" | "no_capable_pool" | "admitted" | "packet_oversized";
|
|
229
229
|
pool_id: string | null;
|
|
230
230
|
cost: number;
|
|
231
231
|
admitted: boolean;
|
|
@@ -245,7 +245,7 @@ export declare const DispatchAdmissionSchema: z.ZodObject<{
|
|
|
245
245
|
granted_packet_ids: string[];
|
|
246
246
|
declared_cap: number | null;
|
|
247
247
|
explains: {
|
|
248
|
-
reason: "budget_exhausted" | "cap_reached" | "no_capable_pool" | "admitted";
|
|
248
|
+
reason: "budget_exhausted" | "cap_reached" | "no_capable_pool" | "admitted" | "packet_oversized";
|
|
249
249
|
pool_id: string | null;
|
|
250
250
|
cost: number;
|
|
251
251
|
admitted: boolean;
|
|
@@ -317,6 +317,28 @@ export declare function buildCapabilityFloorCapable(pools: readonly AdmissionPoo
|
|
|
317
317
|
packetId: string;
|
|
318
318
|
requiredTier: DispatchModelTier;
|
|
319
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;
|
|
320
342
|
/**
|
|
321
343
|
* Admit as many packets as budget + declared caps allow this pass, routing each to
|
|
322
344
|
* the cheapest capable pool with headroom. Every admission RESERVES the packet's
|
|
@@ -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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"}
|
|
@@ -99,7 +99,7 @@ export const AdmissionExplainSchema = z
|
|
|
99
99
|
pool_id: z.string().nullable(),
|
|
100
100
|
resource_key: z.string().nullable(),
|
|
101
101
|
admitted: z.boolean(),
|
|
102
|
-
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"]),
|
|
103
103
|
/** Present on an admit attempt against a real pool (budget headroom before it). */
|
|
104
104
|
headroom_before: z.number().optional(),
|
|
105
105
|
outstanding_before: z.number().optional(),
|
|
@@ -202,11 +202,47 @@ export function buildCapabilityFloorCapable(pools, onFailOpen) {
|
|
|
202
202
|
return band <= Math.max(FLOOR_MAX_BAND[tier], bestAvailableBand);
|
|
203
203
|
};
|
|
204
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
|
+
}
|
|
205
241
|
/**
|
|
206
242
|
* Finer capability tiebreak on the raw registry score (LOWER = more capable), consulted
|
|
207
243
|
* only after the coarse tier ordinal has tied. A present score sorts before an absent
|
|
208
244
|
* one; both absent ⇒ 0 (fall through to the next tiebreak). Never a primary axis — it
|
|
209
|
-
* only refines cost-equal, same-tier pools (e.g.
|
|
245
|
+
* only refines cost-equal, same-tier pools (e.g. proxy-sourced models on one tier).
|
|
210
246
|
*/
|
|
211
247
|
function capabilityScoreCmp(a, b) {
|
|
212
248
|
const av = typeof a.capabilityScore === "number" && Number.isFinite(a.capabilityScore) ? a.capabilityScore : null;
|
|
@@ -409,7 +445,55 @@ export async function computeDispatchAdmission(input) {
|
|
|
409
445
|
}));
|
|
410
446
|
const declaredCap = input.pools.reduce((min, p) => (p.declaredCap == null ? min : min == null ? p.declaredCap : Math.min(min, p.declaredCap)), null);
|
|
411
447
|
if (!input.grantLeases) {
|
|
412
|
-
|
|
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 };
|
|
413
497
|
}
|
|
414
498
|
const admit = await admitBatch({
|
|
415
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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"}
|
|
@@ -87,12 +87,12 @@ export declare const DispatchQuotaContractSchema: z.ZodObject<{
|
|
|
87
87
|
pool_id: z.ZodNullable<z.ZodString>;
|
|
88
88
|
resource_key: z.ZodNullable<z.ZodString>;
|
|
89
89
|
admitted: z.ZodBoolean;
|
|
90
|
-
reason: z.ZodEnum<["admitted", "no_capable_pool", "budget_exhausted", "cap_reached"]>;
|
|
90
|
+
reason: z.ZodEnum<["admitted", "no_capable_pool", "budget_exhausted", "cap_reached", "packet_oversized"]>;
|
|
91
91
|
headroom_before: z.ZodOptional<z.ZodNumber>;
|
|
92
92
|
outstanding_before: z.ZodOptional<z.ZodNumber>;
|
|
93
93
|
cost: z.ZodNumber;
|
|
94
94
|
}, "strict", z.ZodTypeAny, {
|
|
95
|
-
reason: "budget_exhausted" | "cap_reached" | "no_capable_pool" | "admitted";
|
|
95
|
+
reason: "budget_exhausted" | "cap_reached" | "no_capable_pool" | "admitted" | "packet_oversized";
|
|
96
96
|
pool_id: string | null;
|
|
97
97
|
cost: number;
|
|
98
98
|
admitted: boolean;
|
|
@@ -101,7 +101,7 @@ export declare const DispatchQuotaContractSchema: z.ZodObject<{
|
|
|
101
101
|
headroom_before?: number | undefined;
|
|
102
102
|
outstanding_before?: number | undefined;
|
|
103
103
|
}, {
|
|
104
|
-
reason: "budget_exhausted" | "cap_reached" | "no_capable_pool" | "admitted";
|
|
104
|
+
reason: "budget_exhausted" | "cap_reached" | "no_capable_pool" | "admitted" | "packet_oversized";
|
|
105
105
|
pool_id: string | null;
|
|
106
106
|
cost: number;
|
|
107
107
|
admitted: boolean;
|
|
@@ -121,7 +121,7 @@ export declare const DispatchQuotaContractSchema: z.ZodObject<{
|
|
|
121
121
|
granted_packet_ids: string[];
|
|
122
122
|
declared_cap: number | null;
|
|
123
123
|
explains: {
|
|
124
|
-
reason: "budget_exhausted" | "cap_reached" | "no_capable_pool" | "admitted";
|
|
124
|
+
reason: "budget_exhausted" | "cap_reached" | "no_capable_pool" | "admitted" | "packet_oversized";
|
|
125
125
|
pool_id: string | null;
|
|
126
126
|
cost: number;
|
|
127
127
|
admitted: boolean;
|
|
@@ -141,7 +141,7 @@ export declare const DispatchQuotaContractSchema: z.ZodObject<{
|
|
|
141
141
|
granted_packet_ids: string[];
|
|
142
142
|
declared_cap: number | null;
|
|
143
143
|
explains: {
|
|
144
|
-
reason: "budget_exhausted" | "cap_reached" | "no_capable_pool" | "admitted";
|
|
144
|
+
reason: "budget_exhausted" | "cap_reached" | "no_capable_pool" | "admitted" | "packet_oversized";
|
|
145
145
|
pool_id: string | null;
|
|
146
146
|
cost: number;
|
|
147
147
|
admitted: boolean;
|
|
@@ -484,7 +484,7 @@ export declare const DispatchQuotaContractSchema: z.ZodObject<{
|
|
|
484
484
|
granted_packet_ids: string[];
|
|
485
485
|
declared_cap: number | null;
|
|
486
486
|
explains: {
|
|
487
|
-
reason: "budget_exhausted" | "cap_reached" | "no_capable_pool" | "admitted";
|
|
487
|
+
reason: "budget_exhausted" | "cap_reached" | "no_capable_pool" | "admitted" | "packet_oversized";
|
|
488
488
|
pool_id: string | null;
|
|
489
489
|
cost: number;
|
|
490
490
|
admitted: boolean;
|
|
@@ -604,7 +604,7 @@ export declare const DispatchQuotaContractSchema: z.ZodObject<{
|
|
|
604
604
|
granted_packet_ids: string[];
|
|
605
605
|
declared_cap: number | null;
|
|
606
606
|
explains: {
|
|
607
|
-
reason: "budget_exhausted" | "cap_reached" | "no_capable_pool" | "admitted";
|
|
607
|
+
reason: "budget_exhausted" | "cap_reached" | "no_capable_pool" | "admitted" | "packet_oversized";
|
|
608
608
|
pool_id: string | null;
|
|
609
609
|
cost: number;
|
|
610
610
|
admitted: boolean;
|
|
@@ -60,6 +60,7 @@ import type { CapacityPool, PartialCompletionTerminal } from "../quota/capacity.
|
|
|
60
60
|
import type { QuotaStateEntry } from "../quota/types.js";
|
|
61
61
|
import type { WorkerOutputChannel } from "../quota/errorParsing.js";
|
|
62
62
|
import type { ReservationLedger } from "../quota/reservationLedger.js";
|
|
63
|
+
import type { DispatchModelTier } from "../types/stepContract.js";
|
|
63
64
|
/** A dispatchable unit of work. TPacket is opaque to the engine. */
|
|
64
65
|
export interface RollingDispatchPacket<TPacket> {
|
|
65
66
|
/** Stable, unique identifier for this packet within a run. */
|
|
@@ -77,6 +78,14 @@ export interface RollingDispatchPacket<TPacket> {
|
|
|
77
78
|
* 0 = lowest complexity — routed to the least-capable pool first.
|
|
78
79
|
*/
|
|
79
80
|
complexity: number;
|
|
81
|
+
/**
|
|
82
|
+
* Minimum-capability floor for this packet — its dispatch tier (F4). Enforced
|
|
83
|
+
* at packet→pool selection through the shared relative floor
|
|
84
|
+
* (`buildCapacityPoolCapabilityFloor`): an incapable pool is never SELECTED.
|
|
85
|
+
* Absent ⇒ no floor. Unknown pool capability fails open (owner decision
|
|
86
|
+
* 2026-07-17), never fail-closed.
|
|
87
|
+
*/
|
|
88
|
+
requiredTier?: DispatchModelTier;
|
|
80
89
|
}
|
|
81
90
|
/** Outcome of dispatching a single packet. */
|
|
82
91
|
export interface RollingDispatchResult<TPacket> {
|
|
@@ -482,9 +491,17 @@ export declare function scorePacketComplexity<TPacket>(packet: RollingDispatchPa
|
|
|
482
491
|
* dispatchable, but spilled to the fallback group behind healthy pools so they
|
|
483
492
|
* lose their free-first preference.
|
|
484
493
|
*
|
|
494
|
+
* Pools below a packet's `requiredTier` capability floor are skipped for that
|
|
495
|
+
* packet (F4 — the engine-side enforcement point). The floor is RELATIVE over the
|
|
496
|
+
* confirmed pool set and fails open on unknown capability, so on its own it never
|
|
497
|
+
* manufactures an empty candidate set.
|
|
498
|
+
*
|
|
485
499
|
* Returns null if no eligible pool currently has quota headroom.
|
|
486
500
|
*/
|
|
487
|
-
export declare function selectProvider<TPacket>(packet: RollingDispatchPacket<TPacket>, confirmedPools: CapacityPool[], inFlightTracker: InFlightTokenTracker, quotaStateEntries: Record<string, QuotaStateEntry>, sessionConfig: SessionConfig, exhaustedPoolIds?: ReadonlySet<string>, pausedPoolResetAt?: ReadonlyMap<string, number>, costDemotedPoolIds?: ReadonlySet<string>, oversizedPacketPools?: ReadonlyMap<string, ReadonlySet<string>>, now?: number
|
|
501
|
+
export declare function selectProvider<TPacket>(packet: RollingDispatchPacket<TPacket>, confirmedPools: CapacityPool[], inFlightTracker: InFlightTokenTracker, quotaStateEntries: Record<string, QuotaStateEntry>, sessionConfig: SessionConfig, exhaustedPoolIds?: ReadonlySet<string>, pausedPoolResetAt?: ReadonlyMap<string, number>, costDemotedPoolIds?: ReadonlySet<string>, oversizedPacketPools?: ReadonlyMap<string, ReadonlySet<string>>, now?: number, capable?: (poolId: string, packet: {
|
|
502
|
+
id: string;
|
|
503
|
+
requiredTier?: DispatchModelTier;
|
|
504
|
+
}) => boolean): ProviderSlot | null;
|
|
488
505
|
/**
|
|
489
506
|
* Create a rolling dispatcher for the given configuration.
|
|
490
507
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rollingDispatch.d.ts","sourceRoot":"","sources":["../../../src/shared/dispatch/rollingDispatch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwDG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,EAAE,YAAY,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEpF,OAAO,KAAK,EAAE,eAAe,EAA4B,MAAM,mBAAmB,CAAC;AAcnF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAEpE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"rollingDispatch.d.ts","sourceRoot":"","sources":["../../../src/shared/dispatch/rollingDispatch.ts"],"names":[],"mappings":"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"}
|
|
@@ -63,6 +63,7 @@ import { detectRateLimitError, computeCooldownUntil } from "../quota/errorParsin
|
|
|
63
63
|
import { DISPATCH_LEASE_TTL_MS } from "../quota/reservationLedger.js";
|
|
64
64
|
import { deriveLocalAccountId, foldAccountCooldown } from "../quota/accountId.js";
|
|
65
65
|
import { tierRank } from "./tierRank.js";
|
|
66
|
+
import { buildCapacityPoolCapabilityFloor } from "./admissionLoop.js";
|
|
66
67
|
// ---------------------------------------------------------------------------
|
|
67
68
|
// InFlightTokenTracker
|
|
68
69
|
// ---------------------------------------------------------------------------
|
|
@@ -165,9 +166,19 @@ function isPoolQuotaDegraded(schedule, budgetTokens) {
|
|
|
165
166
|
* dispatchable, but spilled to the fallback group behind healthy pools so they
|
|
166
167
|
* lose their free-first preference.
|
|
167
168
|
*
|
|
169
|
+
* Pools below a packet's `requiredTier` capability floor are skipped for that
|
|
170
|
+
* packet (F4 — the engine-side enforcement point). The floor is RELATIVE over the
|
|
171
|
+
* confirmed pool set and fails open on unknown capability, so on its own it never
|
|
172
|
+
* manufactures an empty candidate set.
|
|
173
|
+
*
|
|
168
174
|
* Returns null if no eligible pool currently has quota headroom.
|
|
169
175
|
*/
|
|
170
|
-
export function selectProvider(packet, confirmedPools, inFlightTracker, quotaStateEntries, sessionConfig, exhaustedPoolIds = new Set(), pausedPoolResetAt = new Map(), costDemotedPoolIds = new Set(), oversizedPacketPools = new Map(), now = Date.now()
|
|
176
|
+
export function selectProvider(packet, confirmedPools, inFlightTracker, quotaStateEntries, sessionConfig, exhaustedPoolIds = new Set(), pausedPoolResetAt = new Map(), costDemotedPoolIds = new Set(), oversizedPacketPools = new Map(), now = Date.now(),
|
|
177
|
+
// Capability floor (F4): a pool below the packet's `requiredTier` floor is never
|
|
178
|
+
// selected. Optional so direct callers still get enforcement (built below over
|
|
179
|
+
// the confirmed set); the dispatcher passes its own once-built, observed instance.
|
|
180
|
+
capable) {
|
|
181
|
+
const capableFn = capable ?? buildCapacityPoolCapabilityFloor(confirmedPools);
|
|
171
182
|
const complexity = scorePacketComplexity(packet);
|
|
172
183
|
const highComplexity = complexity >= 0.5;
|
|
173
184
|
// Pause-honor (piece D): a pool paused until a stated host session-limit reset
|
|
@@ -247,7 +258,8 @@ export function selectProvider(packet, confirmedPools, inFlightTracker, quotaSta
|
|
|
247
258
|
.filter((p) => !exhaustedPoolIds.has(p.id) &&
|
|
248
259
|
!isPausedNow(p.id) &&
|
|
249
260
|
!isTooLargeForThisPacket(p.id) &&
|
|
250
|
-
!doesNotFitContext(p)
|
|
261
|
+
!doesNotFitContext(p) &&
|
|
262
|
+
capableFn(p.id, packet))
|
|
251
263
|
.map((pool) => ({ pool, schedule: scheduleForPool(pool) }));
|
|
252
264
|
// Single ordering pass (INV-QD-14 proactive spill), in priority order — quota
|
|
253
265
|
// management is one track, always-on, so this ordering always applies:
|
|
@@ -325,6 +337,18 @@ export function createRollingDispatcher(config, options = {}) {
|
|
|
325
337
|
const allResults = [];
|
|
326
338
|
// Per-pool in-flight count for optional maxConcurrentPerPool cap.
|
|
327
339
|
const inFlightPerPool = new Map();
|
|
340
|
+
// Capability floor (F4), banded ONCE per dispatcher over the confirmed pool set.
|
|
341
|
+
// Fail-open on unknown capability is deliberate but must be observable: each
|
|
342
|
+
// (pool, packet) fail-open is noted once so low-confidence routing is never silent.
|
|
343
|
+
const capabilityFailOpenSeen = new Set();
|
|
344
|
+
const capable = buildCapacityPoolCapabilityFloor(confirmedPools, (info) => {
|
|
345
|
+
const key = `${info.poolId}\u0000${info.packetId}`;
|
|
346
|
+
if (capabilityFailOpenSeen.has(key))
|
|
347
|
+
return;
|
|
348
|
+
capabilityFailOpenSeen.add(key);
|
|
349
|
+
process.stderr.write(`[rolling-dispatch] capability fail-open: packet ${info.packetId} (tier ` +
|
|
350
|
+
`${info.requiredTier}) kept eligible on pool ${info.poolId} with unknown capability\n`);
|
|
351
|
+
});
|
|
328
352
|
const slopeBaselines = new Map();
|
|
329
353
|
function ensureBaseline(poolId) {
|
|
330
354
|
if (slopeBaselines.has(poolId))
|
|
@@ -917,7 +941,7 @@ export function createRollingDispatcher(config, options = {}) {
|
|
|
917
941
|
// selectProvider skips pools in exhaustedPoolIds, so a re-queued packet
|
|
918
942
|
// re-routes to a surviving pool (INV-QD-07). It also skips pools in
|
|
919
943
|
// oversizedPacketPools for THIS PACKET if it's been rejected as too large.
|
|
920
|
-
const slot = selectProvider(packet, confirmedPools, inFlightTracker, quotaStateCache.entries, sessionConfig, state.exhaustedPoolIds, state.pausedPoolResetAt, state.costDemotedPoolIds, state.oversizedPacketPools, Date.now());
|
|
944
|
+
const slot = selectProvider(packet, confirmedPools, inFlightTracker, quotaStateCache.entries, sessionConfig, state.exhaustedPoolIds, state.pausedPoolResetAt, state.costDemotedPoolIds, state.oversizedPacketPools, Date.now(), capable);
|
|
921
945
|
if (slot === null)
|
|
922
946
|
continue;
|
|
923
947
|
// Per-pool in-flight COUNT cap. The pool's own endpoint-declared cap
|
|
@@ -991,18 +1015,20 @@ export function createRollingDispatcher(config, options = {}) {
|
|
|
991
1015
|
// Per-packet never-dispatchable strand (U2/F1, distinct from the
|
|
992
1016
|
// pool-level check above): a packet is PERMANENTLY unselectable when
|
|
993
1017
|
// every confirmed pool is exhausted, in the packet's 413 skip-set, or
|
|
994
|
-
// fit-excluded by a declared context cap
|
|
995
|
-
// this, a fit-excluded packet on
|
|
996
|
-
//
|
|
997
|
-
//
|
|
998
|
-
// future-possible — pauses reset,
|
|
1018
|
+
// fit-excluded by a declared context cap, or below its capability floor
|
|
1019
|
+
// (F4) — none of which reset. Without this, a fit-excluded packet on
|
|
1020
|
+
// otherwise-healthy pools spins the 50ms wait tick forever (the
|
|
1021
|
+
// pool-level guard never fires for a per-packet condition). A merely
|
|
1022
|
+
// PAUSED pool that fits still counts as future-possible — pauses reset,
|
|
1023
|
+
// caps and floors don't.
|
|
999
1024
|
const neverDispatchable = state.pendingQueue.filter((p) => {
|
|
1000
1025
|
const skipSet = state.oversizedPacketPools.get(p.id);
|
|
1001
1026
|
return confirmedPools.every((pool) => state.exhaustedPoolIds.has(pool.id) ||
|
|
1002
1027
|
(skipSet?.has(pool.id) ?? false) ||
|
|
1003
1028
|
(pool.contextCapTokens != null &&
|
|
1004
1029
|
p.estimatedTokens + AGENTIC_WORKER_HARNESS_OVERHEAD_TOKENS >
|
|
1005
|
-
pool.contextCapTokens)
|
|
1030
|
+
pool.contextCapTokens) ||
|
|
1031
|
+
!capable(pool.id, p));
|
|
1006
1032
|
});
|
|
1007
1033
|
if (neverDispatchable.length > 0) {
|
|
1008
1034
|
for (const p of neverDispatchable) {
|