fix(cron): warn when toolsAllow includes web_search but no search provider is enabled#97664
fix(cron): warn when toolsAllow includes web_search but no search provider is enabled#97664Alix-007 wants to merge 2 commits into
Conversation
|
Thanks for the context here. I swept through the related work, and this is now duplicate or superseded. Close as superseded: the useful cron diagnostic is already covered by the open, clean, proof-positive canonical PR, while this branch uses a narrower provider-list check that misses effective provider selection and native hosted-search cases. Root-cause cluster Members:
Proposal only: this assessment does not dispatch repair, suppress jobs, mutate sibling items, close, or merge anything. Canonical path: Land one native-aware, provider-selection-based cron diagnostic fix through #97677, then close the linked issue and remaining duplicate PRs. So I’m closing this here and keeping the remaining discussion on #97677. Review detailsBest possible solution: Land one native-aware, provider-selection-based cron diagnostic fix through #97677, then close the linked issue and remaining duplicate PRs. Do we have a high-confidence way to reproduce the issue? Yes. Source-level reproduction is high confidence: current main exposes managed Is this the best way to solve the issue? No. This branch is a plausible narrow warning, but the best fix is the existing open PR that uses the runtime provider-selection path, skips default or wildcard-derived allowlists, and suppresses native hosted-search false positives. Security review: Security review cleared: The diff only changes cron diagnostic TypeScript and tests; it does not change secrets, dependencies, workflows, package metadata, permissions, or downloaded code execution paths. AGENTS.md: found and applied where relevant. What I checked:
Likely related people:
Codex review notes: model internal, reasoning high; reviewed against be94853de0d0. |
|
Follow-up fix pushed to address the lint/proof gap:
@clawsweeper re-review |
|
🦞🧹 I asked ClawSweeper to review this item again. |
|
PR body refreshed to the full contributor template with real behavior proof, tests, risk, and current review state. The previous ClawSweeper run failed due infrastructure timeout, not a patch verdict. Fresh validation is now recorded in the body:
@clawsweeper re-review |
|
ClawSweeper applied the proposed close for this PR.
|
Summary
toolsAllowrequestsweb_searchbut no web search provider plugin is enabled.Linked context
Closes #97654.
Related: cron isolated-agent diagnostics and tool availability handling.
Maintainer request: not directly requested by a maintainer.
Real behavior proof (required for external PRs)
web_searchwhile all search provider plugins were disabled, producing no operator-visible warning.PNPM_CONFIG_MODULES_DIR=/media/vdc/0668001470/workSpace/claw-campaign/openclaw/node_modules node scripts/run-vitest.mjs src/cron/isolated-agent/run.tools-allow.test.ts -- --run -t "warns when web_search is allowed but no provider is enabled"web_searchwas requested but no provider plugin is enabled, while the run status remains unchanged.Tests and validation
PNPM_CONFIG_MODULES_DIR=/media/vdc/0668001470/workSpace/claw-campaign/openclaw/node_modules node scripts/run-vitest.mjs src/cron/isolated-agent/run.tools-allow.test.ts -- --run -t "warns when web_search is allowed but no provider is enabled"/media/vdc/0668001470/workSpace/claw-campaign/openclaw/node_modules/.bin/oxlint src/cron/isolated-agent/run.ts src/cron/isolated-agent/run.tools-allow.test.ts src/cron/isolated-agent/run.test-harness.tsRisk checklist
Did user-visible behavior change? (
Yes/No) Yes. Operators now see an additional warning diagnostic.Did config, environment, or migration behavior change? (
Yes/No) No.Did security, auth, secrets, network, or tool execution behavior change? (
Yes/No) No execution behavior change; only preflight diagnostics change.What is the highest-risk area? False-positive warning if provider availability is not loaded before the preflight.
How is that risk mitigated? The check runs after runtime plugins are loaded and uses the same provider listing path used by web search availability.
Current review state
Next action: ClawSweeper/maintainer re-review after the previous infrastructure timeout.
Waiting on: ClawSweeper to complete a fresh review; the earlier review failed due infrastructure timeout, not patch quality.
Bot/reviewer comments addressed: lint issue fixed with
Set.has, focused regression coverage added, and PR body now follows the full template.AI-assisted; implementation and validation reviewed before pushing.