fix(qqbot): derive outbound watchdog from configured timeouts (#85267)#86500
Conversation
|
Codex review: passed. Reviewed May 25, 2026, 10:48 AM ET / 14:48 UTC. Summary PR surface: Source +113, Tests +116, Docs +1. Total +230 across 5 files. Reproducibility: yes. at source level: current main and the latest release use a hardcoded 300000 ms QQBot outbound watchdog while the linked report configures an 1800s provider timeout. I did not run the reporter's live QQBot/Ollama setup in this read-only review. Review metrics: 1 noteworthy metric.
Merge readiness Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch. Rank-up moves:
Risk before merge
Maintainer options:
Next step before merge Security Review detailsBest possible solution: Land this resolver-based fix if maintainers accept longer configured QQBot waits; otherwise narrow the timeout source to the active routed provider before merge. Do we have a high-confidence way to reproduce the issue? Yes, at source level: current main and the latest release use a hardcoded 300000 ms QQBot outbound watchdog while the linked report configures an 1800s provider timeout. I did not run the reporter's live QQBot/Ollama setup in this read-only review. Is this the best way to solve the issue? Yes, the PR reuses existing agent/provider timeout settings and preserves the historical five-minute floor instead of adding a QQBot-only knob. The main maintainer choice is whether max-across-configured-providers is the desired bound. AGENTS.md: found and applied where relevant. Codex review notes: model gpt-5.5, reasoning high; reviewed against 277d8fece2e3. Label changesLabel justifications:
Evidence reviewedPR surface: Source +113, Tests +116, Docs +1. Total +230 across 5 files. View PR surface stats
What I checked:
Likely related people:
What the crustacean ranks mean
Shiny media proof means a screenshot, video, or linked artifact directly shows the changed behavior. Runtime, network, CSP, and security claims still need visible diagnostics. How this review workflow works
|
|
ClawSweeper PR egg ✨ Hatched: 🥚 common Clockwork Lint Imp Hatch commandComment Hatchability rules:
Rarity: 🥚 common. What is this egg doing here?
|
|
🦞✅ Source: What merged:
Automerge notes:
The automerge loop is complete. Automerge progress:
|
d8e0937 to
18d7209
Compare
The QQBot outbound dispatcher held an independent hardcoded 300_000ms response watchdog. When users ran a slow local provider (e.g. ollama + qwen3.5:27b) with models.providers.ollama.timeoutSeconds: 1800, the embedded-runner idle-timeout honored the longer ceiling but the QQBot watchdog still aborted at 5 minutes with 'LLM request timed out', even though a direct ollama call to the same model succeeded. Replace the hardcoded constant with resolveResponseTimeoutMs(cfg) that takes the maximum of: - the historical 5-minute floor (preserves prior behavior when nothing is configured) - agents.defaults.timeoutSeconds - models.providers.<id>.timeoutSeconds across configured providers Bounded by MAX_SAFE_TIMEOUT_MS so the value is always a safe setTimeout argument. No new QQBot-only knob; reuses existing configured ceilings.
…1 (2) Co-authored-by: SymbolStar <24540119+SymbolStar@users.noreply.github.com> Co-authored-by: clawsweeper[bot] <274271284+clawsweeper[bot]@users.noreply.github.com>
18d7209 to
7bd8292
Compare
…aw#85267) (openclaw#86500) Summary: - The branch replaces QQBot's hardcoded outbound response watchdog with a resolver based on existing agent/provider `timeoutSeconds` settings, adds regression tests, and updates the changelog. - PR surface: Source +113, Tests +116, Docs +1. Total +230 across 5 files. - Reproducibility: yes. at source level: current main and the latest release use a hardcoded 300000 ms QQBot o ... s an 1800s provider timeout. I did not run the reporter's live QQBot/Ollama setup in this read-only review. Automerge notes: - PR branch already contained follow-up commit before automerge: test(qqbot): cover slow provider response watchdog - PR branch already contained follow-up commit before automerge: fix(qqbot): derive outbound watchdog from configured timeouts (openclaw#85267) - PR branch already contained follow-up commit before automerge: fix(clawsweeper): address review for automerge-openclaw-openclaw-8527… Validation: - ClawSweeper review passed for head 7bd8292. - Required merge gates passed before the squash merge. Prepared head SHA: 7bd8292 Review: openclaw#86500 (comment) Co-authored-by: SymbolStar <symbolstar@users.noreply.github.com> Co-authored-by: Onur Solmaz <2453968+osolmaz@users.noreply.github.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: osolmaz Co-authored-by: osolmaz <2453968+osolmaz@users.noreply.github.com>
…aw#85267) (openclaw#86500) Summary: - The branch replaces QQBot's hardcoded outbound response watchdog with a resolver based on existing agent/provider `timeoutSeconds` settings, adds regression tests, and updates the changelog. - PR surface: Source +113, Tests +116, Docs +1. Total +230 across 5 files. - Reproducibility: yes. at source level: current main and the latest release use a hardcoded 300000 ms QQBot o ... s an 1800s provider timeout. I did not run the reporter's live QQBot/Ollama setup in this read-only review. Automerge notes: - PR branch already contained follow-up commit before automerge: test(qqbot): cover slow provider response watchdog - PR branch already contained follow-up commit before automerge: fix(qqbot): derive outbound watchdog from configured timeouts (openclaw#85267) - PR branch already contained follow-up commit before automerge: fix(clawsweeper): address review for automerge-openclaw-openclaw-8527… Validation: - ClawSweeper review passed for head 7bd8292. - Required merge gates passed before the squash merge. Prepared head SHA: 7bd8292 Review: openclaw#86500 (comment) Co-authored-by: SymbolStar <symbolstar@users.noreply.github.com> Co-authored-by: Onur Solmaz <2453968+osolmaz@users.noreply.github.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: osolmaz Co-authored-by: osolmaz <2453968+osolmaz@users.noreply.github.com>
…aw#85267) (openclaw#86500) Summary: - The branch replaces QQBot's hardcoded outbound response watchdog with a resolver based on existing agent/provider `timeoutSeconds` settings, adds regression tests, and updates the changelog. - PR surface: Source +113, Tests +116, Docs +1. Total +230 across 5 files. - Reproducibility: yes. at source level: current main and the latest release use a hardcoded 300000 ms QQBot o ... s an 1800s provider timeout. I did not run the reporter's live QQBot/Ollama setup in this read-only review. Automerge notes: - PR branch already contained follow-up commit before automerge: test(qqbot): cover slow provider response watchdog - PR branch already contained follow-up commit before automerge: fix(qqbot): derive outbound watchdog from configured timeouts (openclaw#85267) - PR branch already contained follow-up commit before automerge: fix(clawsweeper): address review for automerge-openclaw-openclaw-8527… Validation: - ClawSweeper review passed for head 7bd8292. - Required merge gates passed before the squash merge. Prepared head SHA: 7bd8292 Review: openclaw#86500 (comment) Co-authored-by: SymbolStar <symbolstar@users.noreply.github.com> Co-authored-by: Onur Solmaz <2453968+osolmaz@users.noreply.github.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: osolmaz Co-authored-by: osolmaz <2453968+osolmaz@users.noreply.github.com>
…aw#85267) (openclaw#86500) Summary: - The branch replaces QQBot's hardcoded outbound response watchdog with a resolver based on existing agent/provider `timeoutSeconds` settings, adds regression tests, and updates the changelog. - PR surface: Source +113, Tests +116, Docs +1. Total +230 across 5 files. - Reproducibility: yes. at source level: current main and the latest release use a hardcoded 300000 ms QQBot o ... s an 1800s provider timeout. I did not run the reporter's live QQBot/Ollama setup in this read-only review. Automerge notes: - PR branch already contained follow-up commit before automerge: test(qqbot): cover slow provider response watchdog - PR branch already contained follow-up commit before automerge: fix(qqbot): derive outbound watchdog from configured timeouts (openclaw#85267) - PR branch already contained follow-up commit before automerge: fix(clawsweeper): address review for automerge-openclaw-openclaw-8527… Validation: - ClawSweeper review passed for head 7bd8292. - Required merge gates passed before the squash merge. Prepared head SHA: 7bd8292 Review: openclaw#86500 (comment) Co-authored-by: SymbolStar <symbolstar@users.noreply.github.com> Co-authored-by: Onur Solmaz <2453968+osolmaz@users.noreply.github.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: osolmaz Co-authored-by: osolmaz <2453968+osolmaz@users.noreply.github.com>
…aw#85267) (openclaw#86500) Summary: - The branch replaces QQBot's hardcoded outbound response watchdog with a resolver based on existing agent/provider `timeoutSeconds` settings, adds regression tests, and updates the changelog. - PR surface: Source +113, Tests +116, Docs +1. Total +230 across 5 files. - Reproducibility: yes. at source level: current main and the latest release use a hardcoded 300000 ms QQBot o ... s an 1800s provider timeout. I did not run the reporter's live QQBot/Ollama setup in this read-only review. Automerge notes: - PR branch already contained follow-up commit before automerge: test(qqbot): cover slow provider response watchdog - PR branch already contained follow-up commit before automerge: fix(qqbot): derive outbound watchdog from configured timeouts (openclaw#85267) - PR branch already contained follow-up commit before automerge: fix(clawsweeper): address review for automerge-openclaw-openclaw-8527… Validation: - ClawSweeper review passed for head 7bd8292. - Required merge gates passed before the squash merge. Prepared head SHA: 7bd8292 Review: openclaw#86500 (comment) Co-authored-by: SymbolStar <symbolstar@users.noreply.github.com> Co-authored-by: Onur Solmaz <2453968+osolmaz@users.noreply.github.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: osolmaz Co-authored-by: osolmaz <2453968+osolmaz@users.noreply.github.com>
…aw#85267) (openclaw#86500) Summary: - The branch replaces QQBot's hardcoded outbound response watchdog with a resolver based on existing agent/provider `timeoutSeconds` settings, adds regression tests, and updates the changelog. - PR surface: Source +113, Tests +116, Docs +1. Total +230 across 5 files. - Reproducibility: yes. at source level: current main and the latest release use a hardcoded 300000 ms QQBot o ... s an 1800s provider timeout. I did not run the reporter's live QQBot/Ollama setup in this read-only review. Automerge notes: - PR branch already contained follow-up commit before automerge: test(qqbot): cover slow provider response watchdog - PR branch already contained follow-up commit before automerge: fix(qqbot): derive outbound watchdog from configured timeouts (openclaw#85267) - PR branch already contained follow-up commit before automerge: fix(clawsweeper): address review for automerge-openclaw-openclaw-8527… Validation: - ClawSweeper review passed for head 7bd8292. - Required merge gates passed before the squash merge. Prepared head SHA: 7bd8292 Review: openclaw#86500 (comment) Co-authored-by: SymbolStar <symbolstar@users.noreply.github.com> Co-authored-by: Onur Solmaz <2453968+osolmaz@users.noreply.github.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: osolmaz Co-authored-by: osolmaz <2453968+osolmaz@users.noreply.github.com>
…aw#85267) (openclaw#86500) Summary: - The branch replaces QQBot's hardcoded outbound response watchdog with a resolver based on existing agent/provider `timeoutSeconds` settings, adds regression tests, and updates the changelog. - PR surface: Source +113, Tests +116, Docs +1. Total +230 across 5 files. - Reproducibility: yes. at source level: current main and the latest release use a hardcoded 300000 ms QQBot o ... s an 1800s provider timeout. I did not run the reporter's live QQBot/Ollama setup in this read-only review. Automerge notes: - PR branch already contained follow-up commit before automerge: test(qqbot): cover slow provider response watchdog - PR branch already contained follow-up commit before automerge: fix(qqbot): derive outbound watchdog from configured timeouts (openclaw#85267) - PR branch already contained follow-up commit before automerge: fix(clawsweeper): address review for automerge-openclaw-openclaw-8527… Validation: - ClawSweeper review passed for head 7bd8292. - Required merge gates passed before the squash merge. Prepared head SHA: 7bd8292 Review: openclaw#86500 (comment) Co-authored-by: SymbolStar <symbolstar@users.noreply.github.com> Co-authored-by: Onur Solmaz <2453968+osolmaz@users.noreply.github.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: osolmaz Co-authored-by: osolmaz <2453968+osolmaz@users.noreply.github.com>
Makes #85271 merge-ready for the ClawSweeper automerge loop.
The edit pass should inspect the live PR diff, review comments, and failing checks; rebase if needed; keep the contributor branch credited; and stop only when validation is green or an external blocker is proven.
ClawSweeper 🐠 replacement reef notes:
Inherited issue-closing references from the source PR:
Fixes #85267
Co-author credit kept:
fish notes: model gpt-5.5, reasoning high; reviewed against d8e0937.