audit-tools 0.34.27 → 0.34.29
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/dispatchAttempted.d.ts +0 -2
- package/dist/audit/cli/dispatchAttempted.d.ts.map +1 -1
- package/dist/audit/cli/dispatchAttempted.js +1 -1
- package/dist/audit/cli/dispatchAttempted.js.map +1 -1
- package/dist/audit/cli/mergeAndIngestCommand.d.ts.map +1 -1
- package/dist/audit/cli/mergeAndIngestCommand.js +42 -20
- package/dist/audit/cli/mergeAndIngestCommand.js.map +1 -1
- package/dist/audit/cli/nextStepCommand.d.ts.map +1 -1
- package/dist/audit/cli/nextStepCommand.js +24 -1
- package/dist/audit/cli/nextStepCommand.js.map +1 -1
- package/dist/audit/cli/providerConfirmationStep.d.ts +13 -0
- package/dist/audit/cli/providerConfirmationStep.d.ts.map +1 -1
- package/dist/audit/cli/providerConfirmationStep.js +24 -0
- package/dist/audit/cli/providerConfirmationStep.js.map +1 -1
- package/dist/audit/quota/index.d.ts +0 -4
- package/dist/audit/quota/index.d.ts.map +1 -1
- package/dist/audit/quota/index.js +1 -3
- package/dist/audit/quota/index.js.map +1 -1
- package/dist/remediate/index.d.ts.map +1 -1
- package/dist/remediate/index.js +26 -7
- package/dist/remediate/index.js.map +1 -1
- package/dist/remediate/steps/dispatch/acceptNode.d.ts.map +1 -1
- package/dist/remediate/steps/dispatch/acceptNode.js +18 -9
- package/dist/remediate/steps/dispatch/acceptNode.js.map +1 -1
- package/dist/remediate/steps/dispatch/marshal.d.ts.map +1 -1
- package/dist/remediate/steps/dispatch/marshal.js +24 -9
- package/dist/remediate/steps/dispatch/marshal.js.map +1 -1
- package/dist/remediate/steps/nextStep.d.ts.map +1 -1
- package/dist/remediate/steps/nextStep.js +53 -4
- package/dist/remediate/steps/nextStep.js.map +1 -1
- package/dist/remediate/steps/rollingSession.d.ts +43 -5
- package/dist/remediate/steps/rollingSession.d.ts.map +1 -1
- package/dist/remediate/steps/rollingSession.js +121 -42
- package/dist/remediate/steps/rollingSession.js.map +1 -1
- package/dist/shared/dispatch/coordinator.d.ts +19 -0
- package/dist/shared/dispatch/coordinator.d.ts.map +1 -1
- package/dist/shared/dispatch/coordinator.js +34 -0
- package/dist/shared/dispatch/coordinator.js.map +1 -1
- package/dist/shared/dispatch/hybridDispatch.d.ts +10 -0
- package/dist/shared/dispatch/hybridDispatch.d.ts.map +1 -1
- package/dist/shared/dispatch/hybridDispatch.js +1 -1
- package/dist/shared/dispatch/hybridDispatch.js.map +1 -1
- package/dist/shared/dispatch/rollingDispatch.d.ts +14 -0
- package/dist/shared/dispatch/rollingDispatch.d.ts.map +1 -1
- package/dist/shared/dispatch/rollingDispatch.js +44 -3
- package/dist/shared/dispatch/rollingDispatch.js.map +1 -1
- package/dist/shared/providers/proxyCatalog.d.ts.map +1 -1
- package/dist/shared/providers/proxyCatalog.js +32 -7
- package/dist/shared/providers/proxyCatalog.js.map +1 -1
- package/docs/audit-pkg/development.md +1 -2
- package/package.json +6 -3
- package/dist/audit/quota/headerExtraction.d.ts +0 -9
- package/dist/audit/quota/headerExtraction.d.ts.map +0 -1
- package/dist/audit/quota/headerExtraction.js +0 -148
- package/dist/audit/quota/headerExtraction.js.map +0 -1
- package/dist/audit/quota/headerExtractors/claudeCodeHeaderExtractor.d.ts +0 -7
- package/dist/audit/quota/headerExtractors/claudeCodeHeaderExtractor.d.ts.map +0 -1
- package/dist/audit/quota/headerExtractors/claudeCodeHeaderExtractor.js +0 -27
- package/dist/audit/quota/headerExtractors/claudeCodeHeaderExtractor.js.map +0 -1
- package/dist/audit/quota/headerExtractors/genericHeaderExtractor.d.ts +0 -10
- package/dist/audit/quota/headerExtractors/genericHeaderExtractor.d.ts.map +0 -1
- package/dist/audit/quota/headerExtractors/genericHeaderExtractor.js +0 -8
- package/dist/audit/quota/headerExtractors/genericHeaderExtractor.js.map +0 -1
- package/dist/audit/quota/headerExtractors/index.d.ts +0 -6
- package/dist/audit/quota/headerExtractors/index.d.ts.map +0 -1
- package/dist/audit/quota/headerExtractors/index.js +0 -11
- package/dist/audit/quota/headerExtractors/index.js.map +0 -1
|
@@ -55,6 +55,19 @@ export interface RollingSession {
|
|
|
55
55
|
* sessions persisted before this field default to empty.
|
|
56
56
|
*/
|
|
57
57
|
accept_failed?: string[];
|
|
58
|
+
/**
|
|
59
|
+
* Block ids whose accept rejected on the STRAY-WORKTREE guard: the node's result
|
|
60
|
+
* claimed a resolved edit but its designated worktree has no commits beyond base,
|
|
61
|
+
* so nothing was ever committed. Terminal for this session's counts, but a class
|
|
62
|
+
* of its own rather than a member of `accept_failed` — a failed accept quarantines
|
|
63
|
+
* real commits under a durable ref and is re-drivable with `reverify-node`, whereas
|
|
64
|
+
* a stray has NO ref by construction, so that directive would return
|
|
65
|
+
* `no_quarantine`. Folding the two would turn a hard stop into a confidently-wrong
|
|
66
|
+
* instruction. Recorded BEFORE the guard's throw so `terminal` counts the node and
|
|
67
|
+
* `inFlight` cannot stay pinned ≥1 (a permanent hang, not a timed stall).
|
|
68
|
+
* Optional: sessions persisted before this field default to empty.
|
|
69
|
+
*/
|
|
70
|
+
accept_stray?: string[];
|
|
58
71
|
/**
|
|
59
72
|
* Owner token minted by the shared `ClaimRegistry` for each dispatched node,
|
|
60
73
|
* keyed by block id. Persisted so a later `accept-node` invocation (a separate
|
|
@@ -73,8 +86,9 @@ export interface RollingSession {
|
|
|
73
86
|
* finalizer over every driver's accept outcomes). Absent/empty in the common
|
|
74
87
|
* single-driver case, so `total` stays `frontier.length`. Invariant:
|
|
75
88
|
* `dispatched ∩ contested = ∅` — a contested node is never dispatched by this
|
|
76
|
-
* session (the completion math relies on this: `accepted
|
|
77
|
-
* subsets of `dispatched`, so `in_flight`
|
|
89
|
+
* session (the completion math relies on this: `accepted`, `accept_failed` and
|
|
90
|
+
* `accept_stray` are pairwise disjoint subsets of `dispatched`, so `in_flight`
|
|
91
|
+
* can never go negative).
|
|
78
92
|
*/
|
|
79
93
|
contested?: string[];
|
|
80
94
|
}
|
|
@@ -83,11 +97,15 @@ export type RollingDirective = {
|
|
|
83
97
|
in_flight: number;
|
|
84
98
|
accepted: number;
|
|
85
99
|
accept_failed: string[];
|
|
100
|
+
/** Stray-worktree rejections — terminal, but NOT `reverify-node`-recoverable. */
|
|
101
|
+
accept_stray: string[];
|
|
86
102
|
total: number;
|
|
87
103
|
} | {
|
|
88
104
|
kind: "done";
|
|
89
105
|
accepted: number;
|
|
90
106
|
accept_failed: string[];
|
|
107
|
+
/** Stray-worktree rejections — terminal, but NOT `reverify-node`-recoverable. */
|
|
108
|
+
accept_stray: string[];
|
|
91
109
|
total: number;
|
|
92
110
|
};
|
|
93
111
|
/**
|
|
@@ -158,15 +176,35 @@ export declare function prepareHostRollingDispatch(options: DispatchOptions, run
|
|
|
158
176
|
strandedBlockIds: string[];
|
|
159
177
|
};
|
|
160
178
|
}>;
|
|
179
|
+
/**
|
|
180
|
+
* Thrown when a node's accept trips the stray-worktree guard. The rejection stays
|
|
181
|
+
* LOUD (it is an error, and the CLI exits non-zero on it), but it CARRIES the
|
|
182
|
+
* directive the call would otherwise have returned.
|
|
183
|
+
*
|
|
184
|
+
* Without that, a stray in a ONE-node grant delivered no directive at all: the
|
|
185
|
+
* session was correctly persisted terminal, but the only call that could surface
|
|
186
|
+
* it had thrown, so the host had nothing to read and stalled anyway — the hang
|
|
187
|
+
* this whole path exists to remove, merely relocated. Attaching the directive is
|
|
188
|
+
* the tool-side fix; the alternative was a prompt line telling the host to call
|
|
189
|
+
* `accept-node` a second time, which is exactly the "host must remember" shape the
|
|
190
|
+
* project forbids.
|
|
191
|
+
*/
|
|
192
|
+
export declare class StrayWorktreeRejection extends Error {
|
|
193
|
+
/** The directive this call would have returned had it not rejected. */
|
|
194
|
+
readonly directive: RollingDirective;
|
|
195
|
+
constructor(message: string,
|
|
196
|
+
/** The directive this call would have returned had it not rejected. */
|
|
197
|
+
directive: RollingDirective);
|
|
198
|
+
}
|
|
161
199
|
/**
|
|
162
200
|
* The `accept-node` per-completion callback. Runs the shared accept lifecycle for
|
|
163
201
|
* the finished node, then JIT-dispatches the next undispatched frontier node (if
|
|
164
202
|
* any). Lock-guarded so concurrent completions don't race the session's
|
|
165
203
|
* read-modify-write (which would double-dispatch or lose an acceptance).
|
|
166
204
|
* Idempotent on a re-run for the same node (skips the lifecycle if the node already
|
|
167
|
-
* reached
|
|
168
|
-
* surfaces the recorded
|
|
169
|
-
* reading as accepted).
|
|
205
|
+
* reached ANY terminal accept — accepted, accept_failed, or accept_stray; such a
|
|
206
|
+
* re-run surfaces the recorded outcome in the directive rather than re-running the
|
|
207
|
+
* lifecycle or silently reading as accepted).
|
|
170
208
|
*/
|
|
171
209
|
export declare function advanceHostRolling(opts: {
|
|
172
210
|
root: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rollingSession.d.ts","sourceRoot":"","sources":["../../../src/remediate/steps/rollingSession.ts"],"names":[],"mappings":"AAEA,OAAO,EAAwH,KAAK,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAIjL,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AAEpE,OAAO,EACL,wBAAwB,EAcxB,KAAK,eAAe,EACrB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAEV,uBAAuB,EAGxB,MAAM,YAAY,CAAC;AAEpB;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,QAAQ,EAAE,mBAAmB,EAAE,CAAC;IAChC,yFAAyF;IACzF,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,uFAAuF;IACvF,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB;;;;;;;;;OASG;IACH,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB;;;;;;;OAOG;IACH,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B
|
|
1
|
+
{"version":3,"file":"rollingSession.d.ts","sourceRoot":"","sources":["../../../src/remediate/steps/rollingSession.ts"],"names":[],"mappings":"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"}
|
|
@@ -242,7 +242,16 @@ export async function prepareHostRollingDispatch(options, runId, waveOptions, hy
|
|
|
242
242
|
.map((i) => i.block_id);
|
|
243
243
|
if (cooldownWall.atWall && cooldownWall.reason === "cooldown" && strandedBlockIds.length > 0) {
|
|
244
244
|
return {
|
|
245
|
-
session: {
|
|
245
|
+
session: {
|
|
246
|
+
run_id: runId,
|
|
247
|
+
frontier: [],
|
|
248
|
+
dispatched: [],
|
|
249
|
+
accepted: [],
|
|
250
|
+
accept_failed: [],
|
|
251
|
+
accept_stray: [],
|
|
252
|
+
claims: {},
|
|
253
|
+
contested: [],
|
|
254
|
+
},
|
|
246
255
|
initial: [],
|
|
247
256
|
planPath: join(dir, "dispatch-plan.json"),
|
|
248
257
|
quotaPath,
|
|
@@ -290,6 +299,7 @@ export async function prepareHostRollingDispatch(options, runId, waveOptions, hy
|
|
|
290
299
|
dispatched: initialNodes.map((n) => n.block_id),
|
|
291
300
|
accepted: [],
|
|
292
301
|
accept_failed: [],
|
|
302
|
+
accept_stray: [],
|
|
293
303
|
claims,
|
|
294
304
|
contested,
|
|
295
305
|
};
|
|
@@ -304,15 +314,88 @@ export async function prepareHostRollingDispatch(options, runId, waveOptions, hy
|
|
|
304
314
|
quotaPath,
|
|
305
315
|
};
|
|
306
316
|
}
|
|
317
|
+
/**
|
|
318
|
+
* This session's completion state, derived from the persisted terminal sets.
|
|
319
|
+
*
|
|
320
|
+
* No per-completion JIT refill: the whole granted set already has worktrees
|
|
321
|
+
* (worktrees == granted set — admission bounded it to the live budget at grant
|
|
322
|
+
* time). The pending remainder is re-granted at the NEXT next-step. So each
|
|
323
|
+
* `accept-node` only runs the finished node's lifecycle, then reports wait/done.
|
|
324
|
+
* The completion target is the granted set minus the nodes a peer driver owns —
|
|
325
|
+
* empty `contested` (the common single-driver case) gives the full granted set.
|
|
326
|
+
*
|
|
327
|
+
* Every accept outcome is terminal for this math: a FAILED node is no longer in
|
|
328
|
+
* flight (its recovery runs out-of-band via `reverify-node`), so it must not hold
|
|
329
|
+
* the directive at `wait` forever; a STRAY is terminal for a harder reason —
|
|
330
|
+
* nothing was ever committed, so there is nothing to re-drive at all. All three
|
|
331
|
+
* terminal sets are pairwise disjoint and are subsets of `dispatched`, which is
|
|
332
|
+
* what makes `in_flight` unable to go negative.
|
|
333
|
+
*
|
|
334
|
+
* Derived in ONE place because the stray path needs the same directive it would
|
|
335
|
+
* have returned, to carry on its rejection (see {@link StrayWorktreeRejection}).
|
|
336
|
+
*/
|
|
337
|
+
function rollingDirective(session) {
|
|
338
|
+
const acceptFailed = session.accept_failed ?? [];
|
|
339
|
+
const acceptStray = session.accept_stray ?? [];
|
|
340
|
+
const ownTotal = session.frontier.length - (session.contested ?? []).length;
|
|
341
|
+
const terminal = session.accepted.length + acceptFailed.length + acceptStray.length;
|
|
342
|
+
const inFlight = session.dispatched.length - terminal;
|
|
343
|
+
// Done when every node this session is responsible for reached a terminal accept
|
|
344
|
+
// AND nothing is still in flight — a contested node held by a peer driver does not
|
|
345
|
+
// keep this session waiting forever (the peer accepts it; the run-level
|
|
346
|
+
// `mergeImplementResults` is the finalizer over both drivers' outcomes, and it
|
|
347
|
+
// reconciles the grant's reservation-ledger leases so budget frees for the next
|
|
348
|
+
// grant).
|
|
349
|
+
if (terminal >= ownTotal && inFlight <= 0) {
|
|
350
|
+
return {
|
|
351
|
+
kind: "done",
|
|
352
|
+
accepted: session.accepted.length,
|
|
353
|
+
accept_failed: [...acceptFailed],
|
|
354
|
+
accept_stray: [...acceptStray],
|
|
355
|
+
total: ownTotal,
|
|
356
|
+
};
|
|
357
|
+
}
|
|
358
|
+
return {
|
|
359
|
+
kind: "wait",
|
|
360
|
+
in_flight: inFlight,
|
|
361
|
+
accepted: session.accepted.length,
|
|
362
|
+
accept_failed: [...acceptFailed],
|
|
363
|
+
accept_stray: [...acceptStray],
|
|
364
|
+
total: ownTotal,
|
|
365
|
+
};
|
|
366
|
+
}
|
|
367
|
+
/**
|
|
368
|
+
* Thrown when a node's accept trips the stray-worktree guard. The rejection stays
|
|
369
|
+
* LOUD (it is an error, and the CLI exits non-zero on it), but it CARRIES the
|
|
370
|
+
* directive the call would otherwise have returned.
|
|
371
|
+
*
|
|
372
|
+
* Without that, a stray in a ONE-node grant delivered no directive at all: the
|
|
373
|
+
* session was correctly persisted terminal, but the only call that could surface
|
|
374
|
+
* it had thrown, so the host had nothing to read and stalled anyway — the hang
|
|
375
|
+
* this whole path exists to remove, merely relocated. Attaching the directive is
|
|
376
|
+
* the tool-side fix; the alternative was a prompt line telling the host to call
|
|
377
|
+
* `accept-node` a second time, which is exactly the "host must remember" shape the
|
|
378
|
+
* project forbids.
|
|
379
|
+
*/
|
|
380
|
+
export class StrayWorktreeRejection extends Error {
|
|
381
|
+
directive;
|
|
382
|
+
constructor(message,
|
|
383
|
+
/** The directive this call would have returned had it not rejected. */
|
|
384
|
+
directive) {
|
|
385
|
+
super(message);
|
|
386
|
+
this.directive = directive;
|
|
387
|
+
this.name = "StrayWorktreeRejection";
|
|
388
|
+
}
|
|
389
|
+
}
|
|
307
390
|
/**
|
|
308
391
|
* The `accept-node` per-completion callback. Runs the shared accept lifecycle for
|
|
309
392
|
* the finished node, then JIT-dispatches the next undispatched frontier node (if
|
|
310
393
|
* any). Lock-guarded so concurrent completions don't race the session's
|
|
311
394
|
* read-modify-write (which would double-dispatch or lose an acceptance).
|
|
312
395
|
* Idempotent on a re-run for the same node (skips the lifecycle if the node already
|
|
313
|
-
* reached
|
|
314
|
-
* surfaces the recorded
|
|
315
|
-
* reading as accepted).
|
|
396
|
+
* reached ANY terminal accept — accepted, accept_failed, or accept_stray; such a
|
|
397
|
+
* re-run surfaces the recorded outcome in the directive rather than re-running the
|
|
398
|
+
* lifecycle or silently reading as accepted).
|
|
316
399
|
*/
|
|
317
400
|
export async function advanceHostRolling(opts) {
|
|
318
401
|
return withFileLock(sessionLockPath(opts.artifactsDir, opts.runId), async () => {
|
|
@@ -327,11 +410,13 @@ export async function advanceHostRolling(opts) {
|
|
|
327
410
|
// Sessions persisted before claim-wiring lack `claims` — default to empty so
|
|
328
411
|
// the read-modify-write is forward-only (never throws on an older session).
|
|
329
412
|
session.claims ??= {};
|
|
330
|
-
// Local
|
|
413
|
+
// Local consts so the arrays stay narrowed across the awaits below.
|
|
331
414
|
const acceptFailed = (session.accept_failed ??= []);
|
|
415
|
+
const acceptStray = (session.accept_stray ??= []);
|
|
332
416
|
const registry = nodeClaimRegistry(opts.artifactsDir, opts.runId);
|
|
333
417
|
if (!session.accepted.includes(opts.blockId) &&
|
|
334
|
-
!acceptFailed.includes(opts.blockId)
|
|
418
|
+
!acceptFailed.includes(opts.blockId) &&
|
|
419
|
+
!acceptStray.includes(opts.blockId)) {
|
|
335
420
|
// Contested-node fail-closed guard (OD3 layer 2, D-66/67 slice-1 §5b):
|
|
336
421
|
// `prepareHostRollingDispatch` never writes `session.claims[block_id]` for a
|
|
337
422
|
// CONTESTED node (a peer driver already holds its live claim) — this session
|
|
@@ -387,9 +472,36 @@ export async function advanceHostRolling(opts) {
|
|
|
387
472
|
// disk even though this accept-node call itself rejects.
|
|
388
473
|
await recordNodeAcceptOutcome(opts.artifactsDir, opts.runId, opts.blockId, accept);
|
|
389
474
|
if (accept.strayWorktreeSuspected) {
|
|
390
|
-
|
|
475
|
+
// A stray IS terminal — the node will never be accepted by this session — so
|
|
476
|
+
// it must be counted and unclaimed BEFORE the guard throws. Leaving the throw
|
|
477
|
+
// above this block (the pre-fix shape) skipped `writeSessionFile` entirely, so
|
|
478
|
+
// `terminal` never counted the node, `inFlight` stayed pinned ≥1, and the run
|
|
479
|
+
// hung permanently rather than stalling for a lease window.
|
|
480
|
+
//
|
|
481
|
+
// The ORDER below is load-bearing and easy to get backwards:
|
|
482
|
+
// 1. sidecar (already written above, and it must stay FIRST) — `marshal.ts`
|
|
483
|
+
// derives `acceptHardFailed` from it, so a null sidecar leaves that gate
|
|
484
|
+
// inert and a never-landed node's self-reported `resolved` is trusted
|
|
485
|
+
// through merge. `acceptReconcile` cannot repair that: it only fixes
|
|
486
|
+
// blocks that DO have landed git evidence, which a stray lacks by
|
|
487
|
+
// construction.
|
|
488
|
+
// 2. mark terminal → 3. drop the token from the persisted map →
|
|
489
|
+
// 4. persist → 5. release the claim → 6. throw last.
|
|
490
|
+
// Persist-then-release is the right way round: a persist failure leaves claim
|
|
491
|
+
// and session both intact (the pre-fix behaviour, still valid inside the 30s
|
|
492
|
+
// `STALE_LOCK_MS` window), whereas a release failure leaves the session
|
|
493
|
+
// terminal with the token already dropped — nothing reads a stale token and
|
|
494
|
+
// the orphaned registry entry ages out on its own.
|
|
495
|
+
acceptStray.push(opts.blockId);
|
|
496
|
+
session.contested ??= [];
|
|
497
|
+
if (ownerToken)
|
|
498
|
+
delete session.claims[opts.blockId];
|
|
499
|
+
await writeSessionFile(opts.artifactsDir, opts.runId, session);
|
|
500
|
+
if (ownerToken)
|
|
501
|
+
await registry.release(opts.blockId, ownerToken);
|
|
502
|
+
throw new StrayWorktreeRejection(accept.diagnostic ??
|
|
391
503
|
`node ${opts.blockId}: stray worktree suspected — its result claims a ` +
|
|
392
|
-
`resolved edit but the designated worktree has no commits beyond base
|
|
504
|
+
`resolved edit but the designated worktree has no commits beyond base.`, rollingDirective(session));
|
|
393
505
|
}
|
|
394
506
|
if (accept.outcome === "success") {
|
|
395
507
|
session.accepted.push(opts.blockId);
|
|
@@ -412,41 +524,8 @@ export async function advanceHostRolling(opts) {
|
|
|
412
524
|
}
|
|
413
525
|
}
|
|
414
526
|
session.contested ??= [];
|
|
415
|
-
// No per-completion JIT refill: the whole granted set already has worktrees
|
|
416
|
-
// (worktrees == granted set — admission bounded it to the live budget at grant
|
|
417
|
-
// time). The pending remainder is re-granted at the NEXT next-step. So each
|
|
418
|
-
// `accept-node` only runs the finished node's lifecycle, then reports wait/done.
|
|
419
|
-
// This session's completion target is the granted set minus the nodes a peer
|
|
420
|
-
// driver owns. Empty `contested` (the common single-driver case) → the full
|
|
421
|
-
// granted set, so the counts are unchanged.
|
|
422
|
-
const ownTotal = session.frontier.length - session.contested.length;
|
|
423
|
-
// Both accept outcomes are terminal for THIS session's completion math — a
|
|
424
|
-
// failed node is no longer in flight (its recovery runs out-of-band via
|
|
425
|
-
// `reverify-node`), so it must not hold the directive at `wait` forever.
|
|
426
|
-
const terminal = session.accepted.length + acceptFailed.length;
|
|
427
|
-
const inFlight = session.dispatched.length - terminal;
|
|
428
527
|
await writeSessionFile(opts.artifactsDir, opts.runId, session);
|
|
429
|
-
|
|
430
|
-
// nothing is still in flight — a contested node held by a peer driver does not
|
|
431
|
-
// keep this session waiting forever (the peer accepts it; the run-level
|
|
432
|
-
// `mergeImplementResults` is the finalizer over both drivers' outcomes, and it
|
|
433
|
-
// reconciles the grant's reservation-ledger leases so budget frees for the next
|
|
434
|
-
// grant).
|
|
435
|
-
if (terminal >= ownTotal && inFlight <= 0) {
|
|
436
|
-
return {
|
|
437
|
-
kind: "done",
|
|
438
|
-
accepted: session.accepted.length,
|
|
439
|
-
accept_failed: [...acceptFailed],
|
|
440
|
-
total: ownTotal,
|
|
441
|
-
};
|
|
442
|
-
}
|
|
443
|
-
return {
|
|
444
|
-
kind: "wait",
|
|
445
|
-
in_flight: inFlight,
|
|
446
|
-
accepted: session.accepted.length,
|
|
447
|
-
accept_failed: [...acceptFailed],
|
|
448
|
-
total: ownTotal,
|
|
449
|
-
};
|
|
528
|
+
return rollingDirective(session);
|
|
450
529
|
});
|
|
451
530
|
}
|
|
452
531
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rollingSession.js","sourceRoot":"","sources":["../../../src/remediate/steps/rollingSession.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"rollingSession.js","sourceRoot":"","sources":["../../../src/remediate/steps/rollingSession.ts"],"names":[],"mappings":"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"}
|
|
@@ -117,6 +117,12 @@ export declare class HybridSpillCoordinator {
|
|
|
117
117
|
private readonly claimRegistry;
|
|
118
118
|
private readonly readSettled;
|
|
119
119
|
private readonly onSettle?;
|
|
120
|
+
/**
|
|
121
|
+
* Node ids from the MOST RECENT {@link planAssignments} that fit no active pool.
|
|
122
|
+
* Read back via {@link unplaceableNodeIds}; a post-plan consult, exactly like
|
|
123
|
+
* {@link terminalStatus}.
|
|
124
|
+
*/
|
|
125
|
+
private lastUnplaceableNodeIds;
|
|
120
126
|
constructor(opts: HybridSpillCoordinatorOptions);
|
|
121
127
|
/** The pools NOT in the current shared settled set, in preference order. */
|
|
122
128
|
private activePools;
|
|
@@ -158,6 +164,19 @@ export declare class HybridSpillCoordinator {
|
|
|
158
164
|
* release only on a terminal accept outcome.
|
|
159
165
|
*/
|
|
160
166
|
release(assignment: NodeAssignment): Promise<void>;
|
|
167
|
+
/**
|
|
168
|
+
* Node ids the last {@link planAssignments} could place on NO active pool —
|
|
169
|
+
* their size exceeds every pool's declared context cap. Sorted, and empty until
|
|
170
|
+
* a plan has run.
|
|
171
|
+
*
|
|
172
|
+
* A caller reading an empty partition needs this to tell a structural refusal
|
|
173
|
+
* ("nothing fits — pause and name the real cause") from the two benign empties
|
|
174
|
+
* it otherwise looks identical to: capacity full this cycle, or a peer driver
|
|
175
|
+
* holding the claims. Both of those re-offer next cycle; an unplaceable node
|
|
176
|
+
* never will, so folding it into them merges a node that was never allowed to
|
|
177
|
+
* run and terminal-blocks it.
|
|
178
|
+
*/
|
|
179
|
+
unplaceableNodeIds(): string[];
|
|
161
180
|
/**
|
|
162
181
|
* The single pause-authorization check. Returns `all_pools_exhausted` — carrying
|
|
163
182
|
* a `PartialCompletionTerminal` over `strandedIds` — ONLY when every confirmed
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coordinator.d.ts","sourceRoot":"","sources":["../../../src/shared/dispatch/coordinator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAMpF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAM/D;;;;GAIG;AACH,MAAM,WAAW,YAAY;IAC3B,sEAAsE;IACtE,EAAE,EAAE,MAAM,CAAC;IACX,8EAA8E;IAC9E,eAAe,EAAE,MAAM,CAAC;CACzB;AAED;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,YAAY,CAAC,cAAc,CAAC,CAAC;IAC3C,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,yEAAyE;IACzE,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;GASG;AACH,MAAM,MAAM,yBAAyB,GACjC;IAAE,IAAI,EAAE,cAAc,CAAA;CAAE,GACxB;IAAE,IAAI,EAAE,qBAAqB,CAAC;IAAC,QAAQ,EAAE,yBAAyB,CAAA;CAAE,CAAC;AAEzE,8DAA8D;AAC9D,MAAM,WAAW,6BAA6B;IAC5C,kEAAkE;IAClE,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,aAAa,EAAE,aAAa,CAAC;IAC7B;;;OAGG;IACH,aAAa,EAAE,aAAa,CAAC;IAC7B;;;;OAIG;IACH,WAAW,EAAE,MAAM,mBAAmB,CAAC;IACvC;;;;OAIG;IACH,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACrD;AAiBD,qBAAa,sBAAsB;IACjC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAiB;IACvC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgB;IAC9C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgB;IAC9C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA4B;IACxD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAA2C;
|
|
1
|
+
{"version":3,"file":"coordinator.d.ts","sourceRoot":"","sources":["../../../src/shared/dispatch/coordinator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAMpF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAM/D;;;;GAIG;AACH,MAAM,WAAW,YAAY;IAC3B,sEAAsE;IACtE,EAAE,EAAE,MAAM,CAAC;IACX,8EAA8E;IAC9E,eAAe,EAAE,MAAM,CAAC;CACzB;AAED;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,YAAY,CAAC,cAAc,CAAC,CAAC;IAC3C,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,yEAAyE;IACzE,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;GASG;AACH,MAAM,MAAM,yBAAyB,GACjC;IAAE,IAAI,EAAE,cAAc,CAAA;CAAE,GACxB;IAAE,IAAI,EAAE,qBAAqB,CAAC;IAAC,QAAQ,EAAE,yBAAyB,CAAA;CAAE,CAAC;AAEzE,8DAA8D;AAC9D,MAAM,WAAW,6BAA6B;IAC5C,kEAAkE;IAClE,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,aAAa,EAAE,aAAa,CAAC;IAC7B;;;OAGG;IACH,aAAa,EAAE,aAAa,CAAC;IAC7B;;;;OAIG;IACH,WAAW,EAAE,MAAM,mBAAmB,CAAC;IACvC;;;;OAIG;IACH,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACrD;AAiBD,qBAAa,sBAAsB;IACjC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAiB;IACvC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgB;IAC9C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgB;IAC9C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA4B;IACxD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAA2C;IACrE;;;;OAIG;IACH,OAAO,CAAC,sBAAsB,CAAgB;gBAElC,IAAI,EAAE,6BAA6B;IAQ/C,4EAA4E;IAC5E,OAAO,CAAC,WAAW;IAKnB;;;;;;;;;;;;;;;;;;OAkBG;IACG,eAAe,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAsGvE;;;;;;;;OAQG;IACG,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK/C;;;;;;OAMG;IACG,OAAO,CAAC,UAAU,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAIxD;;;;;;;;;;;OAWG;IACH,kBAAkB,IAAI,MAAM,EAAE;IAI9B;;;;;;OAMG;IACH,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,yBAAyB;CASjE"}
|
|
@@ -64,6 +64,12 @@ export class HybridSpillCoordinator {
|
|
|
64
64
|
claimRegistry;
|
|
65
65
|
readSettled;
|
|
66
66
|
onSettle;
|
|
67
|
+
/**
|
|
68
|
+
* Node ids from the MOST RECENT {@link planAssignments} that fit no active pool.
|
|
69
|
+
* Read back via {@link unplaceableNodeIds}; a post-plan consult, exactly like
|
|
70
|
+
* {@link terminalStatus}.
|
|
71
|
+
*/
|
|
72
|
+
lastUnplaceableNodeIds = [];
|
|
67
73
|
constructor(opts) {
|
|
68
74
|
this.pools = opts.pools;
|
|
69
75
|
this.sessionConfig = opts.sessionConfig;
|
|
@@ -97,6 +103,11 @@ export class HybridSpillCoordinator {
|
|
|
97
103
|
*/
|
|
98
104
|
async planAssignments(nodes) {
|
|
99
105
|
const active = this.activePools();
|
|
106
|
+
// Reset per plan: unplaceability is a fact about THIS pass's pool set, and a
|
|
107
|
+
// stale carry-over would pause a run whose operator has since freed a pool.
|
|
108
|
+
// With no active pools nothing is "unplaceable" — that is the all-exhausted
|
|
109
|
+
// case `terminalStatus` owns, and reporting a fit mismatch would misdirect.
|
|
110
|
+
this.lastUnplaceableNodeIds = [];
|
|
100
111
|
if (active.length === 0 || nodes.length === 0)
|
|
101
112
|
return [];
|
|
102
113
|
// Largest-node-first so the capacity split and the claim walk agree with
|
|
@@ -161,6 +172,14 @@ export class HybridSpillCoordinator {
|
|
|
161
172
|
// structured line per plan so the caller/operator can see exactly which
|
|
162
173
|
// nodes are unplaceable and why.
|
|
163
174
|
const neverFits = unassigned.filter((n) => active.every((p) => !nodeContextFits(n, p)));
|
|
175
|
+
// Surface the same fact to the CALLER, not just to stderr (spec F1 shipped the
|
|
176
|
+
// observability half only). A caller that sees an empty partition cannot
|
|
177
|
+
// otherwise tell "every node is unplaceable" from "capacity is full this cycle"
|
|
178
|
+
// or "a peer driver holds them" — and those want opposite handling: the first
|
|
179
|
+
// is a structural refusal to pause on, the other two are re-offered next cycle.
|
|
180
|
+
// Recorded here rather than recomputed by the caller so the fit predicate
|
|
181
|
+
// (`nodeContextFits`) stays single-sourced and predicate + report cannot drift.
|
|
182
|
+
this.lastUnplaceableNodeIds = neverFits.map((n) => n.id).sort();
|
|
164
183
|
if (neverFits.length > 0) {
|
|
165
184
|
try {
|
|
166
185
|
process.stderr.write(JSON.stringify({
|
|
@@ -202,6 +221,21 @@ export class HybridSpillCoordinator {
|
|
|
202
221
|
async release(assignment) {
|
|
203
222
|
await this.claimRegistry.release(assignment.nodeId, assignment.ownerToken);
|
|
204
223
|
}
|
|
224
|
+
/**
|
|
225
|
+
* Node ids the last {@link planAssignments} could place on NO active pool —
|
|
226
|
+
* their size exceeds every pool's declared context cap. Sorted, and empty until
|
|
227
|
+
* a plan has run.
|
|
228
|
+
*
|
|
229
|
+
* A caller reading an empty partition needs this to tell a structural refusal
|
|
230
|
+
* ("nothing fits — pause and name the real cause") from the two benign empties
|
|
231
|
+
* it otherwise looks identical to: capacity full this cycle, or a peer driver
|
|
232
|
+
* holding the claims. Both of those re-offer next cycle; an unplaceable node
|
|
233
|
+
* never will, so folding it into them merges a node that was never allowed to
|
|
234
|
+
* run and terminal-blocks it.
|
|
235
|
+
*/
|
|
236
|
+
unplaceableNodeIds() {
|
|
237
|
+
return [...this.lastUnplaceableNodeIds];
|
|
238
|
+
}
|
|
205
239
|
/**
|
|
206
240
|
* The single pause-authorization check. Returns `all_pools_exhausted` — carrying
|
|
207
241
|
* a `PartialCompletionTerminal` over `strandedIds` — ONLY when every confirmed
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coordinator.js","sourceRoot":"","sources":["../../../src/shared/dispatch/coordinator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AAGH,OAAO,EACL,uBAAuB,EACvB,sBAAsB,EACtB,sCAAsC,GACvC,MAAM,sBAAsB,CAAC;AA0E9B;;;;;GAKG;AACH,SAAS,eAAe,CAAC,IAAkB,EAAE,IAAkB;IAC7D,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC;IAC/C,OAAO,IAAI,CAAC,eAAe,GAAG,sCAAsC,IAAI,IAAI,CAAC,gBAAgB,CAAC;AAChG,CAAC;AAED,8EAA8E;AAC9E,yBAAyB;AACzB,8EAA8E;AAE9E,MAAM,OAAO,sBAAsB;IAChB,KAAK,CAAiB;IACtB,aAAa,CAAgB;IAC7B,aAAa,CAAgB;IAC7B,WAAW,CAA4B;IACvC,QAAQ,CAA4C;
|
|
1
|
+
{"version":3,"file":"coordinator.js","sourceRoot":"","sources":["../../../src/shared/dispatch/coordinator.ts"],"names":[],"mappings":"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"}
|
|
@@ -31,6 +31,16 @@ export interface HybridDispatchPartition {
|
|
|
31
31
|
inProcess: NodeAssignment[];
|
|
32
32
|
/** Nodes handed to the conversation host's driver (its own pool). */
|
|
33
33
|
host: NodeAssignment[];
|
|
34
|
+
/**
|
|
35
|
+
* Node ids that fit NO active pool this pass (size vs. every declared context
|
|
36
|
+
* cap). These appear in NEITHER partition, and unlike the other reasons a node
|
|
37
|
+
* goes unassigned — capacity full, or a peer driver holding the claim — they
|
|
38
|
+
* will not become placeable by being re-offered next cycle. A caller that folds
|
|
39
|
+
* an all-unplaceable frontier into "nothing to do" merges nodes that were never
|
|
40
|
+
* allowed to run; treat a non-empty set with both partitions empty as a
|
|
41
|
+
* structural refusal to PAUSE on, naming the fit mismatch as the cause.
|
|
42
|
+
*/
|
|
43
|
+
unplaceable: string[];
|
|
34
44
|
/**
|
|
35
45
|
* The live coordinator, so the caller can `release` claims on terminal accept,
|
|
36
46
|
* `settlePool` an exhausted pool, and consult `terminalStatus` for the sole
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hybridDispatch.d.ts","sourceRoot":"","sources":["../../../src/shared/dispatch/hybridDispatch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,sBAAsB,EAAE,KAAK,YAAY,EAAE,KAAK,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClG,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAErE,yFAAyF;AACzF,MAAM,WAAW,uBAAuB;IACtC,yEAAyE;IACzE,SAAS,EAAE,cAAc,EAAE,CAAC;IAC5B,qEAAqE;IACrE,IAAI,EAAE,cAAc,EAAE,CAAC;IACvB;;;;OAIG;IACH,WAAW,EAAE,sBAAsB,CAAC;CACrC;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,aAAa,EAAE,aAAa,CAAC;IAC7B,aAAa,EAAE,aAAa,CAAC;IAC7B,gFAAgF;IAChF,WAAW,EAAE,MAAM,mBAAmB,CAAC;IACvC,2DAA2D;IAC3D,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpD;;;;OAIG;IACH,WAAW,EAAE,CAAC,IAAI,EAAE;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC;CAC1D;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,kBAAkB,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAerG"}
|
|
1
|
+
{"version":3,"file":"hybridDispatch.d.ts","sourceRoot":"","sources":["../../../src/shared/dispatch/hybridDispatch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,sBAAsB,EAAE,KAAK,YAAY,EAAE,KAAK,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClG,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAErE,yFAAyF;AACzF,MAAM,WAAW,uBAAuB;IACtC,yEAAyE;IACzE,SAAS,EAAE,cAAc,EAAE,CAAC;IAC5B,qEAAqE;IACrE,IAAI,EAAE,cAAc,EAAE,CAAC;IACvB;;;;;;;;OAQG;IACH,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB;;;;OAIG;IACH,WAAW,EAAE,sBAAsB,CAAC;CACrC;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,aAAa,EAAE,aAAa,CAAC;IAC7B,aAAa,EAAE,aAAa,CAAC;IAC7B,gFAAgF;IAChF,WAAW,EAAE,MAAM,mBAAmB,CAAC;IACvC,2DAA2D;IAC3D,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpD;;;;OAIG;IACH,WAAW,EAAE,CAAC,IAAI,EAAE;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC;CAC1D;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,kBAAkB,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAerG"}
|
|
@@ -55,6 +55,6 @@ export async function planHybridDispatch(input) {
|
|
|
55
55
|
for (const a of assignments) {
|
|
56
56
|
(input.isInProcess(a) ? inProcess : host).push(a);
|
|
57
57
|
}
|
|
58
|
-
return { inProcess, host, coordinator };
|
|
58
|
+
return { inProcess, host, unplaceable: coordinator.unplaceableNodeIds(), coordinator };
|
|
59
59
|
}
|
|
60
60
|
//# sourceMappingURL=hybridDispatch.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hybridDispatch.js","sourceRoot":"","sources":["../../../src/shared/dispatch/hybridDispatch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,sBAAsB,EAA0C,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"hybridDispatch.js","sourceRoot":"","sources":["../../../src/shared/dispatch/hybridDispatch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,sBAAsB,EAA0C,MAAM,kBAAkB,CAAC;AA+ClG;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,KAA0B;IACjE,MAAM,WAAW,GAAG,IAAI,sBAAsB,CAAC;QAC7C,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,aAAa,EAAE,KAAK,CAAC,aAAa;QAClC,aAAa,EAAE,KAAK,CAAC,aAAa;QAClC,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,QAAQ,EAAE,KAAK,CAAC,QAAQ;KACzB,CAAC,CAAC;IACH,MAAM,WAAW,GAAG,MAAM,WAAW,CAAC,eAAe,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACtE,MAAM,SAAS,GAAqB,EAAE,CAAC;IACvC,MAAM,IAAI,GAAqB,EAAE,CAAC;IAClC,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;QAC5B,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpD,CAAC;IACD,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,CAAC,kBAAkB,EAAE,EAAE,WAAW,EAAE,CAAC;AACzF,CAAC"}
|
|
@@ -238,6 +238,20 @@ export interface RollingDispatchState<TPacket> {
|
|
|
238
238
|
* 2026-07-23).
|
|
239
239
|
*/
|
|
240
240
|
wallStrandEarliestResetAtMs: number | null;
|
|
241
|
+
/**
|
|
242
|
+
* Stranded packet ids whose blockers were ALL structural fit/capability
|
|
243
|
+
* failures (`context_cap` / `oversized_for_pool` / `below_capability_floor`) —
|
|
244
|
+
* the packet fits NO confirmed pool, as opposed to the pools having died.
|
|
245
|
+
*
|
|
246
|
+
* Classification is captured AT STRAND TIME, never re-derived in
|
|
247
|
+
* `getTerminal`: the pool set and the packet's 413 skip-set both move on, so a
|
|
248
|
+
* later re-read would misattribute the cause. A wholly-structural strand is a
|
|
249
|
+
* fit mismatch the operator clears by freeing a larger pool or splitting the
|
|
250
|
+
* work — so `getTerminal` renders it as the RESUMABLE `no_capable_pool` pause
|
|
251
|
+
* rather than the non-retryable `empty_pool` terminal, whose "the provider
|
|
252
|
+
* pool was exhausted" message sends the operator to quota when nothing was.
|
|
253
|
+
*/
|
|
254
|
+
structuralStrandIds: Set<string>;
|
|
241
255
|
/**
|
|
242
256
|
* Pool ids demoted by reactive cost verification: a pool DECLARED free
|
|
243
257
|
* (`declaredCostPerMtok === 0`) that reported a positive cost on a completion, so
|