When the autonomous solver fails to produce a checkpoint and enters the repair loop, subsequent retries previously called newSession() each time, wiping the conversation history. The agent restarted cold with no memory of what it had tried, what tools it had called, or why it failed — making meaningful repair nearly impossible. This change adds a keepSession option to runUnit(). When true, the newSession() call and session-switch guard logic are skipped; the repair prompt is sent as a follow-up in the existing conversation. The agent can now see its prior tool calls, file reads, and failure context when deciding how to fix the issue. Policy: - First attempt at each unit: keepSession=false (clean session, correct for independent slice boundaries — system prompt carries project state) - Repair retries within the same unit: keepSession=true (agent carries full context of what it already tried) - Next unit after success/failure: keepSession=false (clean boundary) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> |
||
|---|---|---|
| .. | ||
| agents | ||
| extensions | ||
| skills | ||
| workflow-skills | ||
| workflows | ||
| SF-WORKFLOW.md | ||
| traces.ts | ||