mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-24 17:11:05 +00:00
fix(agents): disable pi-coding-agent auto-retry to prevent tool call replay loops (#84798)
Summary: - The PR disables pi-coding-agent auto-retry inside prepared embedded Pi settings, updates the focused settings test, and moves the changelog entry into Unreleased. - Reproducibility: yes. source-reproducible: current main leaves embedded Pi retry enabled, while pi-coding-ag ... e assistant error before continuing. I did not run a live Feishu/Qwen replay loop in this read-only review. Automerge notes: - PR branch already contained follow-up commit before automerge: fix(agents): disable pi-coding-agent auto-retry to prevent tool call … Validation: - ClawSweeper review passed for headca745fd55d. - Required merge gates passed before the squash merge. Prepared head SHA:ca745fd55dReview: https://github.com/openclaw/openclaw/pull/84798#issuecomment-4504702875 Co-authored-by: yelog <yelogeek@gmail.com> Co-authored-by: clawsweeper <274271284+clawsweeper[bot]@users.noreply.github.com> Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com> Approved-by: takhoffman Co-authored-by: takhoffman <781889+takhoffman@users.noreply.github.com>
This commit is contained in:
@@ -13,6 +13,7 @@ Docs: https://docs.openclaw.ai
|
||||
- Media/audio: skip empty structured sherpa-onnx transcripts instead of treating the raw JSON payload as spoken text. (#84667) Thanks @TurboTheTurtle.
|
||||
- Memory-core/dreaming: reuse stable narrative subagent session keys per workspace and phase while keeping per-run idempotency and bounded cleanup, so stale `dreaming-narrative-*` sessions do not accumulate. Fixes #68252, #69187, and #70402. (#70464) Thanks @chiyouYCH.
|
||||
- Trajectory/support: tolerate partial skill snapshot entries when building support metadata so rejected skill path scans no longer abort trajectory capture. (#71185) Thanks @lukeboyett.
|
||||
- Agents/Pi: disable the embedded pi-coding-agent runtime auto-retry so OpenClaw's own retry and failover loop does not replay failed tool calls through a nested SDK retry. Fixes #73781. (#74434) Thanks @yelog.
|
||||
- CLI/perf: keep `setup --help`, `onboard --help`, and `configure --help` out of the full wizard runtime while preserving the existing help output. (#84488) Thanks @frankekn.
|
||||
- CLI/perf: keep `agents --help` out of agents action/runtime imports so help, completion, and command discovery paths avoid loading the full agents runtime. (#84483) Thanks @frankekn.
|
||||
|
||||
|
||||
@@ -161,9 +161,8 @@ describe("createPreparedEmbeddedPiSettingsManager", () => {
|
||||
});
|
||||
|
||||
expect(settingsManager.getShellCommandPrefix()).toBe("echo trusted &&");
|
||||
expect(settingsManager.getRetryEnabled()).toBe(true);
|
||||
expect(settingsManager.getRetryEnabled()).toBe(false);
|
||||
|
||||
settingsManager.setRetryEnabled(false);
|
||||
await settingsManager.flush();
|
||||
|
||||
const diskSettings = JSON.parse(await fs.readFile(agentSettingsPath, "utf8")) as {
|
||||
|
||||
@@ -61,5 +61,10 @@ export function createPreparedEmbeddedPiSettingsManager(params: {
|
||||
cfg: params.cfg,
|
||||
contextTokenBudget: params.contextTokenBudget,
|
||||
});
|
||||
// Disable the pi-coding-agent auto-retry. OpenClaw has its own comprehensive
|
||||
// retry layer (failover rotation, auth profile rotation, empty-error retry,
|
||||
// thinking-level fallback) in run.ts. Having both layers active creates a
|
||||
// double-retry that can replay failed tool calls in an unbounded loop (#73781).
|
||||
settingsManager.setRetryEnabled(false);
|
||||
return settingsManager;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user