fix(auto): set solver iteration default to 25
This commit is contained in:
parent
8e85a6e673
commit
03f6d4990f
6 changed files with 6 additions and 6 deletions
|
|
@ -159,7 +159,7 @@ export function sampleAutonomousSolverEvalCases() {
|
|||
"const fs=require('node:fs');",
|
||||
"fs.mkdirSync('.sf/runtime/autonomous-solver',{recursive:true});",
|
||||
"fs.writeFileSync('target.txt','expected-value');",
|
||||
"const state={unitType:'execute-task',unitId:'M000/S00/T00',iteration:1,maxIterations:12,latestCheckpoint:{outcome:'complete',summary:'Wrote target artifact',remainingItems:[],pdd:{purpose:'prove solver eval',consumer:'operator',contract:'target artifact exists',failureBoundary:'assertion fails',evidence:'target.txt',nonGoals:'no model call',invariants:'same fixture',assumptions:'node works'}}};",
|
||||
"const state={unitType:'execute-task',unitId:'M000/S00/T00',iteration:1,maxIterations:25,latestCheckpoint:{outcome:'complete',summary:'Wrote target artifact',remainingItems:[],pdd:{purpose:'prove solver eval',consumer:'operator',contract:'target artifact exists',failureBoundary:'assertion fails',evidence:'target.txt',nonGoals:'no model call',invariants:'same fixture',assumptions:'node works'}}};",
|
||||
"fs.writeFileSync('.sf/runtime/autonomous-solver/active.json',JSON.stringify(state,null,2));",
|
||||
"fs.writeFileSync('.sf/runtime/autonomous-solver/iterations.jsonl',JSON.stringify(state.latestCheckpoint)+'\\n');",
|
||||
].join(""),
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ export const AUTONOMOUS_SOLVER_OUTCOMES = [
|
|||
];
|
||||
|
||||
const MAX_RENDERED_ITEMS = 12;
|
||||
const DEFAULT_SOLVER_MAX_ITERATIONS = 12;
|
||||
const DEFAULT_SOLVER_MAX_ITERATIONS = 25;
|
||||
const MIN_SOLVER_MAX_ITERATIONS = 1;
|
||||
const MAX_SOLVER_MAX_ITERATIONS = 100000;
|
||||
const DEFAULT_MISSING_CHECKPOINT_REPAIR_ATTEMPTS = 4;
|
||||
|
|
|
|||
|
|
@ -125,7 +125,7 @@ Setting `prefer_skills: []` does **not** disable skill discovery — it just mea
|
|||
- `soft_timeout_minutes`: minutes before the supervisor issues a soft warning (default: 20).
|
||||
- `idle_timeout_minutes`: minutes of inactivity before the supervisor intervenes (default: 10).
|
||||
- `hard_timeout_minutes`: minutes before the supervisor forces termination (default: 30).
|
||||
- `solver_max_iterations`: maximum autonomous solver iterations for one unit before pausing (default: `12`, min: `1`, max: `100000`).
|
||||
- `solver_max_iterations`: maximum autonomous solver iterations for one unit before pausing (default: `25`, min: `1`, max: `100000`).
|
||||
- `solver_eval_on_autonomous_exit`: automatically run and record the built-in solver eval when `/autonomous` exits (default: `true`; set `false` only to disable lifecycle eval evidence).
|
||||
- `completion_nudge_after`: tool calls in a complete-slice unit before nudging the agent to call `complete_slice` (default: 10; set `0` to disable).
|
||||
- `runaway_guard_enabled`: enable active-loop diagnosis for long-running units (default: `true`).
|
||||
|
|
|
|||
|
|
@ -746,7 +746,7 @@ export function resolveAutoSupervisorConfig() {
|
|||
Number(configured.solver_max_iterations),
|
||||
)
|
||||
? Math.max(1, Math.min(100000, Number(configured.solver_max_iterations)))
|
||||
: 12,
|
||||
: 25,
|
||||
solver_eval_on_autonomous_exit:
|
||||
configured.solver_eval_on_autonomous_exit !== false,
|
||||
completion_nudge_after: configured.completion_nudge_after ?? 10,
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ test("resolveAutoSupervisorConfig provides safe timeout defaults", () => {
|
|||
assert.equal(supervisor.soft_timeout_minutes, 20);
|
||||
assert.equal(supervisor.idle_timeout_minutes, 10);
|
||||
assert.equal(supervisor.hard_timeout_minutes, 30);
|
||||
assert.equal(supervisor.solver_max_iterations, 12);
|
||||
assert.equal(supervisor.solver_max_iterations, 25);
|
||||
});
|
||||
|
||||
test("writeUnitRuntimeRecord persists progress and recovery metadata defaults", () => {
|
||||
|
|
|
|||
|
|
@ -480,7 +480,7 @@ describe("autonomous solver", () => {
|
|||
});
|
||||
|
||||
test("getConfiguredAutonomousSolverMaxIterations_clamps_preference", () => {
|
||||
expect(getConfiguredAutonomousSolverMaxIterations()).toBe(12);
|
||||
expect(getConfiguredAutonomousSolverMaxIterations()).toBe(25);
|
||||
expect(
|
||||
getConfiguredAutonomousSolverMaxIterations({
|
||||
auto_supervisor: { solver_max_iterations: 0 },
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue