Merge pull request #710 from jeremymcs/fix/707-execute-task-verification-budget
fix: pass verificationBudget to execute-task prompt template
This commit is contained in:
commit
915112ca1f
2 changed files with 20 additions and 0 deletions
|
|
@ -716,6 +716,12 @@ export async function buildExecuteTaskPrompt(
|
|||
const activeOverrides = await loadActiveOverrides(base);
|
||||
const overridesSection = formatOverridesSection(activeOverrides);
|
||||
|
||||
// Compute verification budget for the executor's context window (issue #707)
|
||||
const prefs = loadEffectiveGSDPreferences();
|
||||
const contextWindow = resolveExecutorContextWindow(undefined, prefs?.preferences);
|
||||
const budgets = computeBudgets(contextWindow);
|
||||
const verificationBudget = `~${Math.round(budgets.verificationBudgetChars / 1000)}K chars`;
|
||||
|
||||
return loadPrompt("execute-task", {
|
||||
overridesSection,
|
||||
workingDirectory: base,
|
||||
|
|
@ -730,6 +736,7 @@ export async function buildExecuteTaskPrompt(
|
|||
priorTaskLines: priorLines,
|
||||
taskSummaryPath,
|
||||
inlinedTemplates,
|
||||
verificationBudget,
|
||||
});
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -74,6 +74,19 @@ test("compression: buildExecuteTaskPrompt minimal truncates prior summaries", ()
|
|||
);
|
||||
});
|
||||
|
||||
test("compression: buildExecuteTaskPrompt passes verificationBudget to loadPrompt (#707)", () => {
|
||||
// The execute-task template declares {{verificationBudget}} — the builder must supply it
|
||||
assert.ok(
|
||||
promptsSrc.includes("verificationBudget"),
|
||||
"buildExecuteTaskPrompt should pass verificationBudget in the loadPrompt vars object",
|
||||
);
|
||||
// Verify it computes the budget from computeBudgets
|
||||
assert.ok(
|
||||
promptsSrc.includes("computeBudgets(contextWindow)"),
|
||||
"buildExecuteTaskPrompt should compute budgets from the executor context window",
|
||||
);
|
||||
});
|
||||
|
||||
test("compression: buildPlanMilestonePrompt minimal drops project/requirements/decisions files", () => {
|
||||
// The plan-milestone builder should gate root file inlining on inlineLevel
|
||||
assert.ok(
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue