Fix legacy LLM timeout diagnostics#74940
Conversation
371ba4c to
33c50f1
Compare
33c50f1 to
85316e5
Compare
|
Codex review: needs maintainer review before merge. Summary Reproducibility: yes. Source inspection on current main shows Real behavior proof Next step before merge Security Review detailsBest possible solution: Land this narrow diagnostic fix, keeping the retired key out of runtime semantics while giving users enough information to move their timeout to the provider config. Do we have a high-confidence way to reproduce the issue? Yes. Source inspection on current main shows Is this the best way to solve the issue? Yes. Echoing the retired value and warning during config load is narrower than reviving deprecated runtime semantics or guessing which provider to mutate when multiple providers may be configured. What I checked:
Likely related people:
Codex review notes: model gpt-5.5, reasoning high; reviewed against b680360fde68. |
85316e5 to
f03a09b
Compare
82e9c03 to
a314676
Compare
Summary
agents.defaults.llm.idleTimeoutSecondsvalue indoctor --fixoutput instead of silently dropping it.agents.defaults.llmis still present, pointing users tomodels.providers.<id>.timeoutSeconds.Fixes #74910
Real behavior proof
Behavior or issue addressed: Legacy
agents.defaults.llm.idleTimeoutSecondswas removed bydoctor --fixwith only a generic message, so users lost the old timeout value and had no actionable provider-specific migration hint.Real environment tested: Local macOS OpenClaw checkout at
82e9c03, run with isolated temporaryOPENCLAW_CONFIG_PATHandOPENCLAW_STATE_DIR. The temp config containedagents.defaults.llm.idleTimeoutSeconds: 180andmodels.providers.mlx.Exact steps or command run after this patch:
Evidence after fix: Copied live terminal output from the real CLI run:
Observed result after fix: The real CLI now preserves the old timeout value in the doctor migration output and gives the user the exact provider-level replacement value to configure:
models.providers.<id>.timeoutSeconds: 180. It also shows the configured provider hint:Configured providers: mlx.What was not tested: No known gaps for this diagnostic-only change; no live LLM request was needed because the fix changes config migration and diagnostics only.
Tests
pnpm test src/commands/doctor/shared/legacy-config-migrate.test.ts src/commands/doctor/shared/legacy-config-migrate.validation.test.ts src/config/io.compat.test.tspnpm exec oxfmt --check --threads=1 src/commands/doctor/shared/legacy-config-migrations.runtime.agents.ts src/commands/doctor/shared/legacy-config-migrate.test.ts src/commands/doctor/shared/legacy-config-migrate.validation.test.ts src/config/io.ts src/config/io.compat.test.ts