audit-tools 0.34.26 → 0.34.28
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/dispatch/packetFilter.d.ts +1 -1
- package/dist/audit/cli/dispatch.d.ts +9 -0
- package/dist/audit/cli/dispatch.d.ts.map +1 -1
- package/dist/audit/cli/dispatch.js +16 -0
- package/dist/audit/cli/dispatch.js.map +1 -1
- package/dist/audit/cli/dispatchAttempted.d.ts +26 -0
- package/dist/audit/cli/dispatchAttempted.d.ts.map +1 -0
- package/dist/audit/cli/dispatchAttempted.js +71 -0
- package/dist/audit/cli/dispatchAttempted.js.map +1 -0
- package/dist/audit/cli/mergeAndIngestCommand.d.ts +55 -9
- package/dist/audit/cli/mergeAndIngestCommand.d.ts.map +1 -1
- package/dist/audit/cli/mergeAndIngestCommand.js +152 -45
- package/dist/audit/cli/mergeAndIngestCommand.js.map +1 -1
- package/dist/audit/cli/rollingAuditDispatch.d.ts.map +1 -1
- package/dist/audit/cli/rollingAuditDispatch.js +13 -1
- package/dist/audit/cli/rollingAuditDispatch.js.map +1 -1
- package/dist/audit/contracts/workerSchemas.d.ts +14 -14
- package/dist/audit/orchestrator/requeueCommand.d.ts +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/audit/types/reviewPlanning.d.ts +2 -2
- package/dist/audit/types.d.ts +12 -12
- 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 +24 -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/loopCorePaths.d.ts.map +1 -1
- package/dist/shared/loopCorePaths.js +1 -0
- package/dist/shared/loopCorePaths.js.map +1 -1
- package/dist/shared/providers/openAiCompatibleProvider.d.ts +7 -1
- package/dist/shared/providers/openAiCompatibleProvider.d.ts.map +1 -1
- package/dist/shared/providers/openAiCompatibleProvider.js +48 -4
- package/dist/shared/providers/openAiCompatibleProvider.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 +7 -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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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loopCorePaths.d.ts","sourceRoot":"","sources":["../../src/shared/loopCorePaths.ts"],"names":[],"mappings":"AAoBA;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,EAAE,SAAS,MAAM,
|
|
1
|
+
{"version":3,"file":"loopCorePaths.d.ts","sourceRoot":"","sources":["../../src/shared/loopCorePaths.ts"],"names":[],"mappings":"AAoBA;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,EAAE,SAAS,MAAM,EAsB/C,CAAC;AAOF;;;GAGG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAUpD"}
|
|
@@ -30,6 +30,7 @@ export const LOOP_CORE_PATTERNS = [
|
|
|
30
30
|
// • shared dispatch / admission / rolling / quota / engine substrate
|
|
31
31
|
"src/audit/cli/dispatch.ts",
|
|
32
32
|
"src/audit/cli/dispatch/",
|
|
33
|
+
"src/audit/cli/dispatchAttempted.ts",
|
|
33
34
|
"src/audit/cli/mergeAndIngestCommand.ts",
|
|
34
35
|
"src/audit/cli/ownerTokens.ts",
|
|
35
36
|
"src/audit/cli/rollingAuditDispatch.ts",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loopCorePaths.js","sourceRoot":"","sources":["../../src/shared/loopCorePaths.ts"],"names":[],"mappings":"AAAA,mFAAmF;AACnF,+EAA+E;AAC/E,gFAAgF;AAChF,EAAE;AACF,8EAA8E;AAC9E,+EAA+E;AAC/E,4EAA4E;AAC5E,wEAAwE;AACxE,mBAAmB;AACnB,EAAE;AACF,4EAA4E;AAC5E,2EAA2E;AAC3E,kFAAkF;AAClF,kFAAkF;AAClF,iDAAiD;AACjD,EAAE;AACF,kFAAkF;AAClF,iFAAiF;AACjF,+EAA+E;AAE/E;;;;GAIG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAsB;IACnD,8EAA8E;IAC9E,uEAAuE;IACvE,6DAA6D;IAC7D,yEAAyE;IACzE,uEAAuE;IACvE,2BAA2B;IAC3B,yBAAyB;IACzB,wCAAwC;IACxC,8BAA8B;IAC9B,uCAAuC;IACvC,yBAAyB;IACzB,6BAA6B;IAC7B,yCAAyC;IACzC,+BAA+B;IAC/B,iCAAiC;IACjC,uCAAuC;IACvC,sBAAsB;IACtB,oBAAoB;IACpB,mBAAmB;IACnB,qBAAqB;CACtB,CAAC;AAEF,0EAA0E;AAC1E,SAAS,oBAAoB,CAAC,IAAY;IACxC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;AACvD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,MAAM,CAAC,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;IACrC,KAAK,MAAM,OAAO,IAAI,kBAAkB,EAAE,CAAC;QACzC,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1B,IAAI,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC;gBAAE,OAAO,IAAI,CAAC;QACzC,CAAC;aAAM,IAAI,CAAC,KAAK,OAAO,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
1
|
+
{"version":3,"file":"loopCorePaths.js","sourceRoot":"","sources":["../../src/shared/loopCorePaths.ts"],"names":[],"mappings":"AAAA,mFAAmF;AACnF,+EAA+E;AAC/E,gFAAgF;AAChF,EAAE;AACF,8EAA8E;AAC9E,+EAA+E;AAC/E,4EAA4E;AAC5E,wEAAwE;AACxE,mBAAmB;AACnB,EAAE;AACF,4EAA4E;AAC5E,2EAA2E;AAC3E,kFAAkF;AAClF,kFAAkF;AAClF,iDAAiD;AACjD,EAAE;AACF,kFAAkF;AAClF,iFAAiF;AACjF,+EAA+E;AAE/E;;;;GAIG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAsB;IACnD,8EAA8E;IAC9E,uEAAuE;IACvE,6DAA6D;IAC7D,yEAAyE;IACzE,uEAAuE;IACvE,2BAA2B;IAC3B,yBAAyB;IACzB,oCAAoC;IACpC,wCAAwC;IACxC,8BAA8B;IAC9B,uCAAuC;IACvC,yBAAyB;IACzB,6BAA6B;IAC7B,yCAAyC;IACzC,+BAA+B;IAC/B,iCAAiC;IACjC,uCAAuC;IACvC,sBAAsB;IACtB,oBAAoB;IACpB,mBAAmB;IACnB,qBAAqB;CACtB,CAAC;AAEF,0EAA0E;AAC1E,SAAS,oBAAoB,CAAC,IAAY;IACxC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;AACvD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,MAAM,CAAC,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;IACrC,KAAK,MAAM,OAAO,IAAI,kBAAkB,EAAE,CAAC;QACzC,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1B,IAAI,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC;gBAAE,OAAO,IAAI,CAAC;QACzC,CAAC;aAAM,IAAI,CAAC,KAAK,OAAO,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -3,7 +3,12 @@ import type { OpenAiCompatibleConfig } from "../types/sessionConfig.js";
|
|
|
3
3
|
export declare const OPENAI_COMPATIBLE_PROVIDER_NAME: "openai-compatible";
|
|
4
4
|
type FetchFn = typeof fetch;
|
|
5
5
|
export interface OpenAiCompatibleProviderDeps {
|
|
6
|
-
/**
|
|
6
|
+
/**
|
|
7
|
+
* Injectable fetch for tests. When absent, each launch builds its own
|
|
8
|
+
* transport bound to that launch's declared `timeoutMs`
|
|
9
|
+
* (see {@link deadlineBoundFetch}) — the global fetch is NOT used, because its
|
|
10
|
+
* default headers timeout silently overrides the declared deadline.
|
|
11
|
+
*/
|
|
7
12
|
fetchFn?: FetchFn;
|
|
8
13
|
/** Injectable env for key resolution; defaults to process.env. */
|
|
9
14
|
env?: NodeJS.ProcessEnv;
|
|
@@ -43,6 +48,7 @@ export interface OpenAiCompatibleProviderDeps {
|
|
|
43
48
|
export declare class OpenAiCompatibleProvider implements FreshSessionProvider {
|
|
44
49
|
name: "openai-compatible";
|
|
45
50
|
private readonly config;
|
|
51
|
+
/** Test-injected transport; null ⇒ build a deadline-bound one per launch. */
|
|
46
52
|
private readonly fetchFn;
|
|
47
53
|
private readonly env;
|
|
48
54
|
private readonly retryBackoffMs;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openAiCompatibleProvider.d.ts","sourceRoot":"","sources":["../../../src/shared/providers/openAiCompatibleProvider.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,oBAAoB,EACpB,uBAAuB,EACvB,wBAAwB,EACzB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAIxE,eAAO,MAAM,+BAA+B,EAAG,mBAA4B,CAAC;AA4C5E,KAAK,OAAO,GAAG,OAAO,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"openAiCompatibleProvider.d.ts","sourceRoot":"","sources":["../../../src/shared/providers/openAiCompatibleProvider.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,oBAAoB,EACpB,uBAAuB,EACvB,wBAAwB,EACzB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAIxE,eAAO,MAAM,+BAA+B,EAAG,mBAA4B,CAAC;AA4C5E,KAAK,OAAO,GAAG,OAAO,KAAK,CAAC;AAsC5B,MAAM,WAAW,4BAA4B;IAC3C;;;;;OAKG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,kEAAkE;IAClE,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB;;;;;OAKG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AASD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,qBAAa,wBAAyB,YAAW,oBAAoB;IACnE,IAAI,sBAAmC;IACvC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAyB;IAChD,6EAA6E;IAC7E,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiB;IACzC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAoB;IACxC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;gBAGtC,MAAM,GAAE,sBAA2B,EACnC,IAAI,GAAE,4BAAiC;IAQnC,MAAM,CACV,KAAK,EAAE,uBAAuB,GAC7B,OAAO,CAAC,wBAAwB,CAAC;IA2VpC;;;;;;;;;;;;;;;;;;;;;OAqBG;YACW,qBAAqB;YAmHrB,YAAY;YAQZ,YAAY;CAO3B;AAuCD;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE;IAC3C,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,OAAO,CAAC;QAAC,UAAU,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;CAClD,GAAG,MAAM,GAAG,SAAS,CAYrB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE;IACzC,KAAK,CAAC,EAAE;QACN,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,iBAAiB,CAAC,EAAE,OAAO,CAAC;QAC5B,qBAAqB,CAAC,EAAE;YAAE,aAAa,CAAC,EAAE,OAAO,CAAA;SAAE,CAAC;QACpD,uBAAuB,CAAC,EAAE,OAAO,CAAC;QAClC,2BAA2B,CAAC,EAAE,OAAO,CAAC;KACvC,CAAC;CACH,GAAG;IACF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B,GAAG,SAAS,CA6BZ;AAqED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAuBpD"}
|
|
@@ -20,6 +20,39 @@ const DEFAULT_MAX_OUTPUT_TOKENS = 8192;
|
|
|
20
20
|
* result still lands via the `result` channel / resultPath.
|
|
21
21
|
*/
|
|
22
22
|
const CONTROL_PLANE_DIR = AUDIT_TOOLS_DIRNAME;
|
|
23
|
+
// Undici is Node's own fetch implementation; imported explicitly so the request
|
|
24
|
+
// can carry a dispatcher whose header/body timeouts follow the DECLARED deadline
|
|
25
|
+
// (the global fetch hardcodes ~5 min and cannot be told otherwise).
|
|
26
|
+
import { Agent, fetch as undiciFetch } from "undici";
|
|
27
|
+
/**
|
|
28
|
+
* A fetch bound to `timeoutMs` at the TRANSPORT layer, not just via AbortController.
|
|
29
|
+
*
|
|
30
|
+
* The launch already wraps the request in an AbortController set to the declared
|
|
31
|
+
* `input.timeoutMs` (30 min on the audit path), but `globalThis.fetch` rides
|
|
32
|
+
* undici's default `headersTimeout` of ~5 minutes — measured to the FIRST byte.
|
|
33
|
+
* A big model reasoning over a large packet with `stream:false` regularly exceeds
|
|
34
|
+
* that before it emits anything, so the request died `UND_ERR_HEADERS_TIMEOUT`,
|
|
35
|
+
* was classified transient, retried, and died the same way each attempt: the lane
|
|
36
|
+
* read DEAD at ~15 minutes despite a 30-minute declared budget, and the failure
|
|
37
|
+
* looked like a sick endpoint rather than a timeout we imposed on ourselves.
|
|
38
|
+
* (Same root cause, same fix, as the offload helper's `UND_ERR_HEADERS_TIMEOUT`
|
|
39
|
+
* storm — there the caller's transport was blamed on model health for weeks.)
|
|
40
|
+
*
|
|
41
|
+
* Aligning `headersTimeout`/`bodyTimeout` with the declared deadline leaves
|
|
42
|
+
* exactly ONE timeout in play: the one the caller asked for.
|
|
43
|
+
*
|
|
44
|
+
* Undici is imported rather than hand-rolling a `node:http` transport — it IS
|
|
45
|
+
* Node's fetch implementation, pure JS (no native build, so OS-agnostic), and
|
|
46
|
+
* HTTP transport is correctness-sensitive enough to acquire rather than own.
|
|
47
|
+
*/
|
|
48
|
+
function deadlineBoundFetch(timeoutMs) {
|
|
49
|
+
const agent = new Agent({ headersTimeout: timeoutMs, bodyTimeout: timeoutMs });
|
|
50
|
+
const fetchFn = ((input, init) => undiciFetch(input, {
|
|
51
|
+
...init,
|
|
52
|
+
dispatcher: agent,
|
|
53
|
+
}));
|
|
54
|
+
return { fetchFn, dispose: () => agent.close() };
|
|
55
|
+
}
|
|
23
56
|
/** HTTP statuses treated as transient (retried with backoff): rate-limit + 5xx/CDN. */
|
|
24
57
|
const TRANSIENT_STATUSES = new Set([429, 500, 502, 503, 504, 524]);
|
|
25
58
|
/** Total request attempts on a transient failure (1 initial + retries). */
|
|
@@ -54,12 +87,13 @@ const DEFAULT_RETRY_BACKOFF_MS = 500;
|
|
|
54
87
|
export class OpenAiCompatibleProvider {
|
|
55
88
|
name = OPENAI_COMPATIBLE_PROVIDER_NAME;
|
|
56
89
|
config;
|
|
90
|
+
/** Test-injected transport; null ⇒ build a deadline-bound one per launch. */
|
|
57
91
|
fetchFn;
|
|
58
92
|
env;
|
|
59
93
|
retryBackoffMs;
|
|
60
94
|
constructor(config = {}, deps = {}) {
|
|
61
95
|
this.config = config;
|
|
62
|
-
this.fetchFn = deps.fetchFn ??
|
|
96
|
+
this.fetchFn = deps.fetchFn ?? null;
|
|
63
97
|
this.env = deps.env ?? process.env;
|
|
64
98
|
this.retryBackoffMs = positiveOr(deps.retryBackoffMs, DEFAULT_RETRY_BACKOFF_MS);
|
|
65
99
|
}
|
|
@@ -82,8 +116,8 @@ export class OpenAiCompatibleProvider {
|
|
|
82
116
|
if (!apiKey) {
|
|
83
117
|
return fail(`openai-compatible provider has no API key — set openai_compatible.api_key_env to a populated env var (e.g. NVIDIA_API_KEY)${this.config.api_key_env ? ` (env "${this.config.api_key_env}" is empty)` : ""}.`);
|
|
84
118
|
}
|
|
85
|
-
if (typeof this.fetchFn !== "function") {
|
|
86
|
-
return fail("openai-compatible provider:
|
|
119
|
+
if (this.fetchFn !== null && typeof this.fetchFn !== "function") {
|
|
120
|
+
return fail("openai-compatible provider: injected fetchFn is not callable.");
|
|
87
121
|
}
|
|
88
122
|
let messages;
|
|
89
123
|
let referenced;
|
|
@@ -118,6 +152,13 @@ export class OpenAiCompatibleProvider {
|
|
|
118
152
|
}
|
|
119
153
|
const controller = new AbortController();
|
|
120
154
|
const timer = setTimeout(() => controller.abort(), input.timeoutMs);
|
|
155
|
+
// Transport bound to the SAME deadline as the abort above, so the declared
|
|
156
|
+
// timeout is the only one that can fire (see `deadlineBoundFetch`). An
|
|
157
|
+
// injected fetch is used verbatim — a test fake carries no transport timeout.
|
|
158
|
+
const transport = this.fetchFn !== null
|
|
159
|
+
? { fetchFn: this.fetchFn, dispose: async () => { } }
|
|
160
|
+
: deadlineBoundFetch(input.timeoutMs);
|
|
161
|
+
const doFetch = transport.fetchFn;
|
|
121
162
|
// Emit-time constraint ladder (strongest → weakest), each degrading to the next
|
|
122
163
|
// on an endpoint rejection (HTTP 400/422) so leaving the levers on is safe for
|
|
123
164
|
// ANY endpoint:
|
|
@@ -179,7 +220,7 @@ export class OpenAiCompatibleProvider {
|
|
|
179
220
|
}
|
|
180
221
|
return JSON.stringify(body);
|
|
181
222
|
};
|
|
182
|
-
const post = (mode) =>
|
|
223
|
+
const post = (mode) => doFetch(`${baseUrl}/chat/completions`, {
|
|
183
224
|
method: "POST",
|
|
184
225
|
headers,
|
|
185
226
|
body: buildBody(mode),
|
|
@@ -257,6 +298,9 @@ export class OpenAiCompatibleProvider {
|
|
|
257
298
|
}
|
|
258
299
|
finally {
|
|
259
300
|
clearTimeout(timer);
|
|
301
|
+
// Release the per-launch connection pool. Best-effort: a transport we could
|
|
302
|
+
// not close must never turn a completed launch into a failure.
|
|
303
|
+
await transport.dispose().catch(() => { });
|
|
260
304
|
}
|
|
261
305
|
// Persist the raw completion for run-correlated observability (parallels the
|
|
262
306
|
// spawn providers' stdout log).
|