audit-tools 0.34.11 → 0.34.13
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/remediate/phases/plan.d.ts +26 -0
- package/dist/remediate/phases/plan.d.ts.map +1 -1
- package/dist/remediate/phases/plan.js +154 -13
- package/dist/remediate/phases/plan.js.map +1 -1
- package/dist/remediate/state/types.d.ts +10 -0
- package/dist/remediate/state/types.d.ts.map +1 -1
- package/dist/remediate/steps/dispatch/marshal.d.ts.map +1 -1
- package/dist/remediate/steps/dispatch/marshal.js +138 -9
- package/dist/remediate/steps/dispatch/marshal.js.map +1 -1
- package/dist/remediate/steps/nextStep.d.ts +14 -0
- package/dist/remediate/steps/nextStep.d.ts.map +1 -1
- package/dist/remediate/steps/nextStep.js +86 -18
- package/dist/remediate/steps/nextStep.js.map +1 -1
- package/package.json +1 -1
|
@@ -10,6 +10,32 @@ import type { AuditFindingsReport } from "audit-tools/shared";
|
|
|
10
10
|
export declare function isAuditFindingsReport(value: unknown): value is AuditFindingsReport;
|
|
11
11
|
export { ESTIMATED_PROMPT_OVERHEAD_TOKENS as ESTIMATED_BLOCK_BASE_TOKENS, ESTIMATED_ITEM_OVERHEAD_TOKENS as ESTIMATED_FINDING_OVERHEAD_TOKENS, } from "audit-tools/shared";
|
|
12
12
|
export declare function estimateGroupTokens(findingIds: string[], findings: Finding[], fileByteCounts: Map<string, number>, root?: string): number;
|
|
13
|
+
/**
|
|
14
|
+
* Split single-finding blocks whose ONE finding cites more files than fit the
|
|
15
|
+
* context budget (defect (c) of the 2026-07-22 implement-dispatch cluster).
|
|
16
|
+
*
|
|
17
|
+
* `splitBlocksByContextBudget` partitions at FINDING granularity, so a block
|
|
18
|
+
* holding a single finding is atomic to it no matter how oversized — exactly
|
|
19
|
+
* the shape the contract-pipeline promotion emits (one DAG node → one finding →
|
|
20
|
+
* one block; the dogfood wall packed 13 test-lens files ≈ 92.7k tokens into one
|
|
21
|
+
* such node). This pass runs FIRST and partitions the finding's own
|
|
22
|
+
* `affected_files` into token-budgeted sub-findings, each carried by its own
|
|
23
|
+
* sub-block, per INV-RSM-SPLIT-01 field semantics:
|
|
24
|
+
* - `phase_ordinal` carried UNCHANGED onto every sub-block (it is a barrier);
|
|
25
|
+
* - `targeted_commands` partitioned by relevance — a command naming one of a
|
|
26
|
+
* sub-block's files goes to that sub-block; a command naming none of the
|
|
27
|
+
* parent's files is generic and goes to EVERY sub-block; the union always
|
|
28
|
+
* covers every pre-split command (no silent drop);
|
|
29
|
+
* - downstream `dependencies` on the parent are rewritten to ALL sub-blocks;
|
|
30
|
+
* - sub-findings inherit the parent's obligations/evidence, so obligation
|
|
31
|
+
* joins and coverage are unaffected (ids are synthetic either way).
|
|
32
|
+
* A single file larger than the whole budget still gets its own sub-block —
|
|
33
|
+
* one file is the partition floor; admission then reports it honestly.
|
|
34
|
+
*/
|
|
35
|
+
export declare function splitOversizedSingleFindingBlocks(blocks: RemediationBlock[], findings: Finding[], root: string, contextBudget: number): {
|
|
36
|
+
blocks: RemediationBlock[];
|
|
37
|
+
findings: Finding[];
|
|
38
|
+
};
|
|
13
39
|
export declare function splitBlocksByContextBudget(blocks: RemediationBlock[], findings: Finding[], root: string, contextBudget: number): RemediationBlock[];
|
|
14
40
|
/**
|
|
15
41
|
* Account for every finding the plan received: each is marked `planned` (kept and
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plan.d.ts","sourceRoot":"","sources":["../../../src/remediate/phases/plan.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,OAAO,EACP,gBAAgB,EAChB,oBAAoB,EACpB,cAAc,EAEf,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"plan.d.ts","sourceRoot":"","sources":["../../../src/remediate/phases/plan.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,OAAO,EACP,gBAAgB,EAChB,oBAAoB,EACpB,cAAc,EAEf,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAgB9D;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,mBAAmB,CAE9B;AAKD,OAAO,EACL,gCAAgC,IAAI,2BAA2B,EAC/D,8BAA8B,IAAI,iCAAiC,GACpE,MAAM,oBAAoB,CAAC;AA4G5B,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,MAAM,EAAE,EACpB,QAAQ,EAAE,OAAO,EAAE,EACnB,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAMnC,IAAI,CAAC,EAAE,MAAM,GACZ,MAAM,CAeR;AA2BD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,iCAAiC,CAC/C,MAAM,EAAE,gBAAgB,EAAE,EAC1B,QAAQ,EAAE,OAAO,EAAE,EACnB,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,MAAM,GACpB;IAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAAC,QAAQ,EAAE,OAAO,EAAE,CAAA;CAAE,CA+GrD;AAED,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,gBAAgB,EAAE,EAC1B,QAAQ,EAAE,OAAO,EAAE,EACnB,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,MAAM,GACpB,gBAAgB,EAAE,CA+FpB;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE;IAC1C,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,OAAO,EAAE,CAAC;IAC1B,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,iFAAiF;IACjF,mBAAmB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC5C,oEAAoE;IACpE,mBAAmB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC5C;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,KAAK,CAAC;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACjE,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;CAC7C,GAAG,cAAc,CAwFjB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,gBAAgB,EAAE,EAC1B,QAAQ,EAAE,OAAO,EAAE,EACnB,IAAI,SAAM,GACT,gBAAgB,EAAE,CA2DpB;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,eAAe,EACrB,OAAO,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,GAC/C,OAAO,CAAC,eAAe,CAAC,CAgC1B"}
|
|
@@ -4,6 +4,7 @@ import { readdirSync, statSync } from "node:fs";
|
|
|
4
4
|
import { snapshotAffectedFileHashes } from "../utils/fileIntegrity.js";
|
|
5
5
|
import { readValidatedRepoSessionIntent, resolveContextBudget, estimateTokensFromBytes, ESTIMATED_PROMPT_OVERHEAD_TOKENS, ESTIMATED_ITEM_OVERHEAD_TOKENS, chunkByBudget, } from "audit-tools/shared";
|
|
6
6
|
import { canonicalizeFilePath } from "../dispatch/ownershipRegistry.js";
|
|
7
|
+
import { StateStore } from "../state/store.js";
|
|
7
8
|
/**
|
|
8
9
|
* Whether a parsed JSON value is a valid audit-findings report.
|
|
9
10
|
*
|
|
@@ -18,13 +19,6 @@ export function isAuditFindingsReport(value) {
|
|
|
18
19
|
// Re-exported under their legacy names so any callers outside this package
|
|
19
20
|
// (and dispatch.ts) can migrate to the shared constants at their own pace.
|
|
20
21
|
export { ESTIMATED_PROMPT_OVERHEAD_TOKENS as ESTIMATED_BLOCK_BASE_TOKENS, ESTIMATED_ITEM_OVERHEAD_TOKENS as ESTIMATED_FINDING_OVERHEAD_TOKENS, } from "audit-tools/shared";
|
|
21
|
-
function resolveContextBudgetFromConfig(sessionConfig) {
|
|
22
|
-
const quota = sessionConfig?.block_quota ?? {};
|
|
23
|
-
return resolveContextBudget({
|
|
24
|
-
contextTokens: quota.context_tokens ?? null,
|
|
25
|
-
reservedOutputTokens: quota.reserved_output_tokens ?? null,
|
|
26
|
-
});
|
|
27
|
-
}
|
|
28
22
|
const PLAN_WALK_SKIP_DIRS = new Set([
|
|
29
23
|
"node_modules", ".git", "dist", "build", "coverage", "out", ".audit-tools",
|
|
30
24
|
]);
|
|
@@ -164,6 +158,123 @@ function splitOversizedOverlapGroup(group, findings, fileByteCounts, contextBudg
|
|
|
164
158
|
costOf: (candidate) => estimateGroupTokens(candidate, findings, fileByteCounts, root),
|
|
165
159
|
});
|
|
166
160
|
}
|
|
161
|
+
/**
|
|
162
|
+
* Split single-finding blocks whose ONE finding cites more files than fit the
|
|
163
|
+
* context budget (defect (c) of the 2026-07-22 implement-dispatch cluster).
|
|
164
|
+
*
|
|
165
|
+
* `splitBlocksByContextBudget` partitions at FINDING granularity, so a block
|
|
166
|
+
* holding a single finding is atomic to it no matter how oversized — exactly
|
|
167
|
+
* the shape the contract-pipeline promotion emits (one DAG node → one finding →
|
|
168
|
+
* one block; the dogfood wall packed 13 test-lens files ≈ 92.7k tokens into one
|
|
169
|
+
* such node). This pass runs FIRST and partitions the finding's own
|
|
170
|
+
* `affected_files` into token-budgeted sub-findings, each carried by its own
|
|
171
|
+
* sub-block, per INV-RSM-SPLIT-01 field semantics:
|
|
172
|
+
* - `phase_ordinal` carried UNCHANGED onto every sub-block (it is a barrier);
|
|
173
|
+
* - `targeted_commands` partitioned by relevance — a command naming one of a
|
|
174
|
+
* sub-block's files goes to that sub-block; a command naming none of the
|
|
175
|
+
* parent's files is generic and goes to EVERY sub-block; the union always
|
|
176
|
+
* covers every pre-split command (no silent drop);
|
|
177
|
+
* - downstream `dependencies` on the parent are rewritten to ALL sub-blocks;
|
|
178
|
+
* - sub-findings inherit the parent's obligations/evidence, so obligation
|
|
179
|
+
* joins and coverage are unaffected (ids are synthetic either way).
|
|
180
|
+
* A single file larger than the whole budget still gets its own sub-block —
|
|
181
|
+
* one file is the partition floor; admission then reports it honestly.
|
|
182
|
+
*/
|
|
183
|
+
export function splitOversizedSingleFindingBlocks(blocks, findings, root, contextBudget) {
|
|
184
|
+
const findingMap = new Map(findings.map((f) => [f.id, f]));
|
|
185
|
+
const outBlocks = [];
|
|
186
|
+
const outFindings = [...findings];
|
|
187
|
+
const splitRemap = new Map();
|
|
188
|
+
const groupCost = (group, byteCounts) => ESTIMATED_PROMPT_OVERHEAD_TOKENS +
|
|
189
|
+
ESTIMATED_ITEM_OVERHEAD_TOKENS +
|
|
190
|
+
estimateTokensFromBytes(group.reduce((sum, af) => sum + (byteCounts.get(canonicalizeFilePath(af.path, { root })) ?? 0), 0));
|
|
191
|
+
for (const block of blocks) {
|
|
192
|
+
const finding = block.items.length === 1 ? findingMap.get(block.items[0]) : undefined;
|
|
193
|
+
const files = finding?.affected_files ?? [];
|
|
194
|
+
if (!finding || files.length <= 1) {
|
|
195
|
+
outBlocks.push(block);
|
|
196
|
+
continue;
|
|
197
|
+
}
|
|
198
|
+
const byteCounts = new Map();
|
|
199
|
+
for (const af of files) {
|
|
200
|
+
const key = canonicalizeFilePath(af.path, { root });
|
|
201
|
+
if (!byteCounts.has(key))
|
|
202
|
+
byteCounts.set(key, fileSizeBytes(af.path, root));
|
|
203
|
+
}
|
|
204
|
+
if (groupCost(files, byteCounts) <= contextBudget) {
|
|
205
|
+
outBlocks.push(block);
|
|
206
|
+
continue;
|
|
207
|
+
}
|
|
208
|
+
const groups = chunkByBudget([...files], {
|
|
209
|
+
budget: contextBudget,
|
|
210
|
+
costOf: (candidate) => groupCost(candidate, byteCounts),
|
|
211
|
+
});
|
|
212
|
+
if (groups.length <= 1) {
|
|
213
|
+
outBlocks.push(block);
|
|
214
|
+
continue;
|
|
215
|
+
}
|
|
216
|
+
const parentPaths = new Set(files.map((af) => af.path));
|
|
217
|
+
const subBlockIds = [];
|
|
218
|
+
for (let i = 0; i < groups.length; i++) {
|
|
219
|
+
const suffix = `-f${String(i + 1).padStart(2, "0")}`;
|
|
220
|
+
const subFindingId = `${finding.id}${suffix}`;
|
|
221
|
+
const subBlockId = `${block.block_id}${suffix}`;
|
|
222
|
+
subBlockIds.push(subBlockId);
|
|
223
|
+
outFindings.push({
|
|
224
|
+
...finding,
|
|
225
|
+
id: subFindingId,
|
|
226
|
+
title: `${finding.title} (part ${i + 1}/${groups.length})`,
|
|
227
|
+
affected_files: groups[i],
|
|
228
|
+
});
|
|
229
|
+
const groupPaths = new Set(groups[i].map((af) => af.path));
|
|
230
|
+
// Relevance partition: file-specific commands follow their file; commands
|
|
231
|
+
// naming NONE of the parent's files are generic → every sub-block.
|
|
232
|
+
const targetedCommands = (block.targeted_commands ?? []).filter((cmd) => {
|
|
233
|
+
const namesAny = [...parentPaths].some((p) => cmd.includes(p));
|
|
234
|
+
if (!namesAny)
|
|
235
|
+
return true;
|
|
236
|
+
return [...groupPaths].some((p) => cmd.includes(p));
|
|
237
|
+
});
|
|
238
|
+
// Declared-surface partition: each sub-block keeps the parent surface
|
|
239
|
+
// entries its files cover; surface entries the finding does not cite
|
|
240
|
+
// (rare — promotion mirrors the citation set) ride on the FIRST sub-block
|
|
241
|
+
// only, so nothing is silently dropped and no path is double-declared
|
|
242
|
+
// across parallel siblings.
|
|
243
|
+
const surface = (block.touched_files ?? []).filter((p) => groupPaths.has(p) || (i === 0 && !parentPaths.has(p)));
|
|
244
|
+
outBlocks.push({
|
|
245
|
+
block_id: subBlockId,
|
|
246
|
+
items: [subFindingId],
|
|
247
|
+
parallel_safe: block.parallel_safe,
|
|
248
|
+
...(block.dependencies !== undefined ? { dependencies: block.dependencies } : {}),
|
|
249
|
+
touched_files: surface,
|
|
250
|
+
...(block.targeted_commands !== undefined
|
|
251
|
+
? { targeted_commands: targetedCommands }
|
|
252
|
+
: {}),
|
|
253
|
+
...(block.phase_ordinal !== undefined
|
|
254
|
+
? { phase_ordinal: block.phase_ordinal }
|
|
255
|
+
: {}),
|
|
256
|
+
...(block.cofile_parallel_safe !== undefined
|
|
257
|
+
? { cofile_parallel_safe: block.cofile_parallel_safe }
|
|
258
|
+
: {}),
|
|
259
|
+
});
|
|
260
|
+
}
|
|
261
|
+
splitRemap.set(block.block_id, subBlockIds);
|
|
262
|
+
const idx = outFindings.findIndex((f) => f.id === finding.id);
|
|
263
|
+
if (idx >= 0)
|
|
264
|
+
outFindings.splice(idx, 1);
|
|
265
|
+
}
|
|
266
|
+
// A block depending on a split block now depends on ALL its sub-blocks.
|
|
267
|
+
if (splitRemap.size > 0) {
|
|
268
|
+
for (const block of outBlocks) {
|
|
269
|
+
if (!block.dependencies || block.dependencies.length === 0)
|
|
270
|
+
continue;
|
|
271
|
+
block.dependencies = [
|
|
272
|
+
...new Set(block.dependencies.flatMap((dep) => splitRemap.get(dep) ?? [dep])),
|
|
273
|
+
];
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
return { blocks: outBlocks, findings: outFindings };
|
|
277
|
+
}
|
|
167
278
|
export function splitBlocksByContextBudget(blocks, findings, root, contextBudget) {
|
|
168
279
|
// CE-008: index byte counts by the M1-BOUNDARY canonical physical-file identity
|
|
169
280
|
// so the same file cited under two spellings is sized ONCE (not double-counted)
|
|
@@ -427,17 +538,47 @@ export function mergeBlocksSharingFiles(blocks, findings, root = ".") {
|
|
|
427
538
|
* kept as its own function so the post-dedup logic has one home.
|
|
428
539
|
*/
|
|
429
540
|
export async function applyPlanPipeline(plan, options) {
|
|
430
|
-
|
|
431
|
-
let { blocks } = plan;
|
|
541
|
+
let { findings, blocks } = plan;
|
|
432
542
|
// Merge blocks whose findings touch a shared file.
|
|
433
543
|
blocks = mergeBlocksSharingFiles(blocks, findings, options.root);
|
|
434
|
-
// Split blocks that would exceed the implementation agent's context budget.
|
|
435
|
-
//
|
|
544
|
+
// Split blocks that would exceed the implementation agent's context budget.
|
|
545
|
+
// The budget derives from INTENT fields (block_quota) first; absent those, the
|
|
546
|
+
// persisted host handshake (state.host_capabilities, written at the
|
|
547
|
+
// decideNextStep seam) supplies the real window — without it a 200k-window
|
|
548
|
+
// host would over-fragment (or, pre-fix, never split) against the blind 32k
|
|
549
|
+
// floor. The two split passes run single-finding first: an oversized
|
|
550
|
+
// single-finding block is atomic to the finding-granularity splitter, so it
|
|
551
|
+
// must be partitioned by FILE into sub-findings before the general pass runs.
|
|
436
552
|
const intent = await readValidatedRepoSessionIntent(join(options.root, "session-config.json"));
|
|
437
|
-
const contextBudget =
|
|
553
|
+
const contextBudget = await resolvePlanContextBudget(intent ?? null, options.artifactsDir);
|
|
554
|
+
const singleSplit = splitOversizedSingleFindingBlocks(blocks, findings, options.root, contextBudget);
|
|
555
|
+
blocks = singleSplit.blocks;
|
|
556
|
+
findings = singleSplit.findings;
|
|
438
557
|
blocks = splitBlocksByContextBudget(blocks, findings, options.root, contextBudget);
|
|
439
558
|
// Record baseline file hashes for the integrity check that runs before dispatch.
|
|
440
559
|
snapshotAffectedFileHashes(options.root, findings);
|
|
441
|
-
return { ...plan, blocks };
|
|
560
|
+
return { ...plan, findings, blocks };
|
|
561
|
+
}
|
|
562
|
+
/**
|
|
563
|
+
* The plan-time context budget: intent `block_quota` fields first (operator
|
|
564
|
+
* intent outranks discovery), then the persisted host-capability handshake for
|
|
565
|
+
* any field the intent omits, then the shared conservative floor.
|
|
566
|
+
*/
|
|
567
|
+
async function resolvePlanContextBudget(sessionConfig, artifactsDir) {
|
|
568
|
+
const quota = sessionConfig?.block_quota ?? {};
|
|
569
|
+
let contextTokens = quota.context_tokens ?? null;
|
|
570
|
+
let reservedOutputTokens = quota.reserved_output_tokens ?? null;
|
|
571
|
+
if ((contextTokens == null || reservedOutputTokens == null) && artifactsDir) {
|
|
572
|
+
try {
|
|
573
|
+
const caps = (await new StateStore(artifactsDir).loadState())?.host_capabilities;
|
|
574
|
+
const finite = (v) => typeof v === "number" && Number.isFinite(v) ? v : null;
|
|
575
|
+
contextTokens ??= finite(caps?.context_tokens);
|
|
576
|
+
reservedOutputTokens ??= finite(caps?.output_tokens);
|
|
577
|
+
}
|
|
578
|
+
catch {
|
|
579
|
+
/* unreadable state degrades to the floor, never throws at plan time */
|
|
580
|
+
}
|
|
581
|
+
}
|
|
582
|
+
return resolveContextBudget({ contextTokens, reservedOutputTokens });
|
|
442
583
|
}
|
|
443
584
|
//# sourceMappingURL=plan.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plan.js","sourceRoot":"","sources":["../../../src/remediate/phases/plan.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"plan.js","sourceRoot":"","sources":["../../../src/remediate/phases/plan.ts"],"names":[],"mappings":"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"}
|
|
@@ -867,5 +867,15 @@ export interface RemediationItemState {
|
|
|
867
867
|
* the cap is hit) instead of re-dispatching the same worker indefinitely.
|
|
868
868
|
*/
|
|
869
869
|
incomplete_coverage_attempts?: number;
|
|
870
|
+
/**
|
|
871
|
+
* Times this item's block was planned but refused admission for a TRANSIENT
|
|
872
|
+
* reason (budget/cap/uncalibrated — conditions that change between waves), so
|
|
873
|
+
* the merge left it PENDING for the next grant instead of terminal-blocking it.
|
|
874
|
+
* Bounds the transient class (anti-cascade retry spec): once the cap is hit
|
|
875
|
+
* the item blocks with a named reason, so a misclassified reason can never
|
|
876
|
+
* livelock the run. Structural refusals (`no_capable_pool`) never touch this —
|
|
877
|
+
* they block (or pause the wave) immediately.
|
|
878
|
+
*/
|
|
879
|
+
undispatched_attempts?: number;
|
|
870
880
|
}
|
|
871
881
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/remediate/state/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/remediate/state/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"marshal.d.ts","sourceRoot":"","sources":["../../../../src/remediate/steps/dispatch/marshal.ts"],"names":[],"mappings":"AAQA,OAAO,EAAc,KAAK,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAOzE,OAAO,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAc9E,OAAO,EAIL,KAAK,uBAAuB,EAC7B,MAAM,aAAa,CAAC;AAarB,OAAO,EACL,eAAe,EAWhB,MAAM,aAAa,CAAC;AA0BrB,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"marshal.d.ts","sourceRoot":"","sources":["../../../../src/remediate/steps/dispatch/marshal.ts"],"names":[],"mappings":"AAQA,OAAO,EAAc,KAAK,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAOzE,OAAO,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAc9E,OAAO,EAIL,KAAK,uBAAuB,EAC7B,MAAM,aAAa,CAAC;AAarB,OAAO,EACL,eAAe,EAWhB,MAAM,aAAa,CAAC;AA0BrB,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAoJnD,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,eAAe,EACxB,KAAK,EAAE,MAAM,EACb,WAAW,CAAC,EAAE,MAAM,EACpB,WAAW,CAAC,EAAE;IACZ,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,aAAa,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;IACrC,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,UAAU,CAAC,EAAE,oBAAoB,EAAE,GAAG,IAAI,CAAC;IAC3C,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B;;;;;OAKG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,GACA,OAAO,CAAC,uBAAuB,CAAC,CA0PlC;AAmFD,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,eAAe,EACxB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,gBAAgB,CAAC,CAwE3B;AA01BD,wBAAsB,0BAA0B,CAC9C,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC,CAE9B;AAED,wBAAsB,gBAAgB,CACpC,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,WAAW,GACjB,OAAO,CAAC,uBAAuB,CAAC,CAElC"}
|
|
@@ -121,6 +121,22 @@ async function archiveIncompleteImplementResult(resultPath) {
|
|
|
121
121
|
const archivedPath = `${resultPath}.stale-${Date.now()}`;
|
|
122
122
|
await withFsRetry(() => rename(resultPath, archivedPath));
|
|
123
123
|
}
|
|
124
|
+
/**
|
|
125
|
+
* Admission refusal reasons that are TRANSIENT — the condition can change
|
|
126
|
+
* between waves (a budget resets, a concurrent wave's ledger hold frees, a
|
|
127
|
+
* window calibrates), so a refused-but-never-dispatched node stays PENDING for
|
|
128
|
+
* the next grant instead of terminal-blocking its subtree. `no_capable_pool` is
|
|
129
|
+
* deliberately absent: it is structural (the packet fits no pool at all —
|
|
130
|
+
* waiting changes nothing), per `classifyEmptyGrantCause` in
|
|
131
|
+
* audit-tools/shared hostDispatchWall.
|
|
132
|
+
*/
|
|
133
|
+
const TRANSIENT_REFUSAL_REASONS = new Set([
|
|
134
|
+
"budget_exhausted",
|
|
135
|
+
"cap_reached",
|
|
136
|
+
"window_uncalibrated",
|
|
137
|
+
]);
|
|
138
|
+
/** Waves a transiently-refused node may sit undispatched before it blocks. */
|
|
139
|
+
const MAX_UNDISPATCHED_TRANSIENT_ATTEMPTS = 3;
|
|
124
140
|
async function loadStateOrThrow(artifactsDir) {
|
|
125
141
|
const state = await new StateStore(artifactsDir).loadState();
|
|
126
142
|
if (!state) {
|
|
@@ -139,7 +155,7 @@ export async function prepareImplementDispatch(options, runId, onlyBlockId, wave
|
|
|
139
155
|
// re-scan the filesystem for repo conventions.
|
|
140
156
|
const conventions = getCachedConventions(options.root);
|
|
141
157
|
const seenBlockIds = new Set();
|
|
142
|
-
const
|
|
158
|
+
const eligibleBlocks = state.plan.blocks.filter((block) => {
|
|
143
159
|
if (onlyBlockId && block.block_id !== onlyBlockId)
|
|
144
160
|
return false;
|
|
145
161
|
if (seenBlockIds.has(block.block_id))
|
|
@@ -161,6 +177,40 @@ export async function prepareImplementDispatch(options, runId, onlyBlockId, wave
|
|
|
161
177
|
}
|
|
162
178
|
return false;
|
|
163
179
|
});
|
|
180
|
+
// Dispatch-boundary empty-scope guard (anti-cascade retry spec): a node with
|
|
181
|
+
// no declared surface AND no finding-cited files has nothing a worker may
|
|
182
|
+
// write — dispatching it wastes a slot, and silently excluding it would leave
|
|
183
|
+
// its items pending forever (a livelock). Refuse it HERE, terminally and
|
|
184
|
+
// loudly, so the structural case is impossible to enqueue rather than merely
|
|
185
|
+
// detectable afterwards.
|
|
186
|
+
const emptyScopeBlocks = eligibleBlocks.filter((block) => (block.touched_files ?? []).length === 0 &&
|
|
187
|
+
block.items.every((findingId) => (state.plan?.findings.find((f) => f.id === findingId)?.affected_files ?? [])
|
|
188
|
+
.length === 0));
|
|
189
|
+
if (emptyScopeBlocks.length > 0) {
|
|
190
|
+
const store = new StateStore(options.artifactsDir);
|
|
191
|
+
await store.mutate(async (current) => {
|
|
192
|
+
const s = current ?? state;
|
|
193
|
+
for (const block of emptyScopeBlocks) {
|
|
194
|
+
for (const findingId of block.items) {
|
|
195
|
+
const stateItem = s.items?.[findingId];
|
|
196
|
+
if (!stateItem || isTerminalStatus(stateItem.status))
|
|
197
|
+
continue;
|
|
198
|
+
stateItem.status = "blocked";
|
|
199
|
+
markTerminal(stateItem);
|
|
200
|
+
stateItem.failure_reason =
|
|
201
|
+
`Empty dispatch scope: block ${block.block_id} declares no touched_files ` +
|
|
202
|
+
`and its finding(s) cite no affected_files — there is nothing a worker ` +
|
|
203
|
+
`could be scoped to write, so the node was refused at the dispatch ` +
|
|
204
|
+
`boundary (structural, never retried).`;
|
|
205
|
+
}
|
|
206
|
+
process.stderr.write(`[remediate-code] dispatch: refusing empty-scope block ${block.block_id} ` +
|
|
207
|
+
`at the dispatch boundary (no touched_files, no affected_files).\n`);
|
|
208
|
+
}
|
|
209
|
+
return s;
|
|
210
|
+
});
|
|
211
|
+
}
|
|
212
|
+
const emptyScopeIds = new Set(emptyScopeBlocks.map((b) => b.block_id));
|
|
213
|
+
const candidateBlocks = eligibleBlocks.filter((b) => !emptyScopeIds.has(b.block_id));
|
|
164
214
|
// Before any node is dispatched (and therefore before any accepted commit is
|
|
165
215
|
// cherry-picked into the main tree), switch the main checkout onto the dedicated
|
|
166
216
|
// remediation branch so all landed work accumulates there and the base branch is
|
|
@@ -231,13 +281,23 @@ export async function prepareImplementDispatch(options, runId, onlyBlockId, wave
|
|
|
231
281
|
};
|
|
232
282
|
await writeJsonFile(dispatchPlanPath(options.artifactsDir, runId, "implement"), plan);
|
|
233
283
|
const estimatedSlotTokens = itemReadFileLists.map((files) => estimateImplementSlotTokens(files, options.root));
|
|
284
|
+
// The persisted host handshake (state.host_capabilities, written at the
|
|
285
|
+
// decideNextStep seam) is the fallback for every capability field the wave
|
|
286
|
+
// scheduler reads: a caller that passes no waveOptions — the bare
|
|
287
|
+
// `prepare-implement-dispatch` CLI, a triage re-drive — still sizes pools to
|
|
288
|
+
// the host's real windows instead of the conservative floor. Explicit
|
|
289
|
+
// waveOptions (the next-step branch, which already folded persisted values)
|
|
290
|
+
// win per field.
|
|
291
|
+
const persistedCaps = state.host_capabilities;
|
|
234
292
|
const schedule = await scheduleWave({
|
|
235
|
-
hostMaxConcurrent: waveOptions?.hostMaxConcurrent,
|
|
293
|
+
hostMaxConcurrent: waveOptions?.hostMaxConcurrent ?? persistedCaps?.max_concurrent,
|
|
236
294
|
sessionConfig: waveOptions?.sessionConfig ?? null,
|
|
237
|
-
hostContextTokens: waveOptions?.hostContextTokens,
|
|
238
|
-
hostOutputTokens: waveOptions?.hostOutputTokens,
|
|
239
|
-
hostModels: waveOptions?.hostModels
|
|
240
|
-
|
|
295
|
+
hostContextTokens: waveOptions?.hostContextTokens ?? persistedCaps?.context_tokens ?? null,
|
|
296
|
+
hostOutputTokens: waveOptions?.hostOutputTokens ?? persistedCaps?.output_tokens ?? null,
|
|
297
|
+
hostModels: waveOptions?.hostModels ??
|
|
298
|
+
persistedCaps?.models ??
|
|
299
|
+
null,
|
|
300
|
+
hostModelId: waveOptions?.hostModelId ?? persistedCaps?.model_id ?? null,
|
|
241
301
|
itemCount: items.length,
|
|
242
302
|
estimatedSlotTokens,
|
|
243
303
|
// The capability floor bands against THESE pools (this schedule's `capacity_pools`
|
|
@@ -360,9 +420,26 @@ async function diagnoseMissingResultCause(dir, blockId) {
|
|
|
360
420
|
};
|
|
361
421
|
}
|
|
362
422
|
export async function mergeImplementResults(options, runId) {
|
|
423
|
+
const quotaFilePath = join(runDir(options.artifactsDir, runId, "implement"), "dispatch-quota.json");
|
|
363
424
|
// Free the grant's reservation-ledger leases now that the host has reported the
|
|
364
425
|
// granted set's results — returns the reserved budget for the next grant.
|
|
365
|
-
await reconcileAdmissionLeasesFromQuotaFile(
|
|
426
|
+
await reconcileAdmissionLeasesFromQuotaFile(quotaFilePath);
|
|
427
|
+
// The admission record for this wave: a node with no result file because
|
|
428
|
+
// admission REFUSED its packet must carry that refusal in its disposition —
|
|
429
|
+
// the refusal reason otherwise sits unread in explains[] while the merge
|
|
430
|
+
// misattributes the strand to "a rolling-engine plan-vs-drive eligibility
|
|
431
|
+
// inconsistency" (the 2026-07-22 dogfood false-signal).
|
|
432
|
+
const waveQuota = await readOptionalJsonFile(quotaFilePath);
|
|
433
|
+
const admissionRefusals = new Map();
|
|
434
|
+
for (const explain of waveQuota?.admission?.explains ?? []) {
|
|
435
|
+
if (explain.admitted !== true && typeof explain.packet_id === "string" && explain.reason) {
|
|
436
|
+
admissionRefusals.set(explain.packet_id, {
|
|
437
|
+
reason: explain.reason,
|
|
438
|
+
...(typeof explain.cost === "number" ? { cost: explain.cost } : {}),
|
|
439
|
+
});
|
|
440
|
+
}
|
|
441
|
+
}
|
|
442
|
+
const capabilityFloor = waveQuota?.resolved_limits?.context_tokens ?? null;
|
|
366
443
|
const plan = await readJsonFile(dispatchPlanPath(options.artifactsDir, runId, "implement"));
|
|
367
444
|
if (plan.contract_version !== REMEDIATION_DISPATCH_PLAN_CONTRACT_VERSION ||
|
|
368
445
|
plan.phase !== "implement") {
|
|
@@ -385,7 +462,10 @@ export async function mergeImplementResults(options, runId) {
|
|
|
385
462
|
if (!state.items) {
|
|
386
463
|
throw new Error("Cannot merge implement results without items.");
|
|
387
464
|
}
|
|
388
|
-
return mergeImplementResultsIntoState(options, runId, plan, state
|
|
465
|
+
return mergeImplementResultsIntoState(options, runId, plan, state, {
|
|
466
|
+
admissionRefusals,
|
|
467
|
+
capabilityFloor,
|
|
468
|
+
});
|
|
389
469
|
});
|
|
390
470
|
}
|
|
391
471
|
/**
|
|
@@ -395,7 +475,7 @@ export async function mergeImplementResults(options, runId) {
|
|
|
395
475
|
* to state.json: it mutates the in-memory `state` and writes only sidecar
|
|
396
476
|
* evidence/diagnostic artifacts.
|
|
397
477
|
*/
|
|
398
|
-
async function mergeImplementResultsIntoState(options, runId, plan, state) {
|
|
478
|
+
async function mergeImplementResultsIntoState(options, runId, plan, state, admissionEvidence) {
|
|
399
479
|
if (!state.items) {
|
|
400
480
|
throw new Error("Cannot merge implement results without items.");
|
|
401
481
|
}
|
|
@@ -485,6 +565,55 @@ async function mergeImplementResultsIntoState(options, runId, plan, state) {
|
|
|
485
565
|
// is what made a one-node strand cascade-blocking the whole DAG impossible to
|
|
486
566
|
// root-cause after the fact.
|
|
487
567
|
const cause = await diagnoseMissingResultCause(dir, item.block_id);
|
|
568
|
+
// A never-dispatched node with an admission refusal on record was refused
|
|
569
|
+
// DELIBERATELY — carry the admission reason instead of misreporting an
|
|
570
|
+
// engine plan-vs-drive inconsistency (false-signal family).
|
|
571
|
+
const refusal = !cause.dispatched && item.block_id
|
|
572
|
+
? admissionEvidence?.admissionRefusals.get(item.block_id)
|
|
573
|
+
: undefined;
|
|
574
|
+
// Transient-vs-structural non-dispatch (anti-cascade retry spec): a node
|
|
575
|
+
// refused because no pool had capacity AT THAT MOMENT is retryable —
|
|
576
|
+
// conditions change between waves — so leave its items PENDING for the
|
|
577
|
+
// next grant, bounded by `undispatched_attempts` so a misclassified
|
|
578
|
+
// reason can never livelock the run. Only structural refusals
|
|
579
|
+
// (`no_capable_pool`: fits no pool at all — waiting changes nothing) fall
|
|
580
|
+
// through to the terminal-blocking path below.
|
|
581
|
+
if (refusal && TRANSIENT_REFUSAL_REASONS.has(refusal.reason)) {
|
|
582
|
+
const block = item.block_id
|
|
583
|
+
? state.plan?.blocks.find((b) => b.block_id === item.block_id)
|
|
584
|
+
: undefined;
|
|
585
|
+
let exhausted = false;
|
|
586
|
+
for (const findingId of block?.items ?? []) {
|
|
587
|
+
const stateItem = state.items[findingId];
|
|
588
|
+
if (!stateItem || isTerminalStatus(stateItem.status))
|
|
589
|
+
continue;
|
|
590
|
+
const attempts = (stateItem.undispatched_attempts ?? 0) + 1;
|
|
591
|
+
stateItem.undispatched_attempts = attempts;
|
|
592
|
+
if (attempts <= MAX_UNDISPATCHED_TRANSIENT_ATTEMPTS)
|
|
593
|
+
continue;
|
|
594
|
+
exhausted = true;
|
|
595
|
+
stateItem.status = "blocked";
|
|
596
|
+
markTerminal(stateItem);
|
|
597
|
+
stateItem.failure_reason =
|
|
598
|
+
`Transient non-dispatch retry budget exhausted: admission refused this ` +
|
|
599
|
+
`block ${attempts} wave(s) running (${refusal.reason}) without a worker ` +
|
|
600
|
+
`ever launching. The condition was classified retryable but is not ` +
|
|
601
|
+
`clearing — treat as structural (free capacity, or split/shrink the node).`;
|
|
602
|
+
}
|
|
603
|
+
console.warn(`Missing implement worker result: ${item.result_path} — admission refused ` +
|
|
604
|
+
`transiently (${refusal.reason}); ${exhausted ? "retry budget exhausted, blocking." : "items left PENDING for the next grant."}`);
|
|
605
|
+
continue;
|
|
606
|
+
}
|
|
607
|
+
if (refusal) {
|
|
608
|
+
const floor = admissionEvidence?.capabilityFloor;
|
|
609
|
+
cause.reasonDetail =
|
|
610
|
+
` Root cause: admission refused the packet (${refusal.reason}` +
|
|
611
|
+
(refusal.cost != null ? `; packet cost ${refusal.cost} tokens` : "") +
|
|
612
|
+
(floor != null ? ` vs resolved capability window ${floor} tokens` : "") +
|
|
613
|
+
`) — the worker was never launched, by design. Supply host capability ` +
|
|
614
|
+
`(--host-context-tokens/--host-models), free a larger pool, or split the node.`;
|
|
615
|
+
cause.logSuffix = `admission refused the packet (${refusal.reason}) — never dispatched, by design.`;
|
|
616
|
+
}
|
|
488
617
|
console.warn(`Missing implement worker result: ${item.result_path} — ${cause.logSuffix}`);
|
|
489
618
|
const block = item.block_id
|
|
490
619
|
? state.plan?.blocks.find((b) => b.block_id === item.block_id)
|