Plumb keep_thinking through renderer factory#1281
Conversation
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit d576926. Configure here.
| client_type: ClientType = "openai_chat_completions" | ||
| renderer: str = "auto" | ||
| renderer_model_name: str | None = None | ||
| renderer_keep_thinking: bool = False |
There was a problem hiding this comment.
ClientConfig docs not updated with new field
Low Severity
The new renderer_keep_thinking field is added to ClientConfig in verifiers/types.py, but ClientConfig is explicitly documented in docs/reference.md (lines 754–767) and that documentation is not updated to include the new field. This violates the rule requiring documentation updates when core user-facing functionality described in docs/ is modified.
Triggered by project rule: BugBot Instructions
Reviewed by Cursor Bugbot for commit d576926. Configure here.
hallerite
left a comment
There was a problem hiding this comment.
I think we should disambiguate between keeping thinking between tool-calls and between user-turns and offer both for any model unconditionally, but have sensible defaults and log a warning if a model does not support it (like Qwen3).
Wdyt?


Summary
keep_thinkingargument tocreate_rendererandcreate_renderer_poolkeep_thinking=None, forces enabled withTrue, and forces disabled withFalseClientConfig.renderer_keep_thinkingand carries it throughRendererClientinto the shared renderer poolkeep_thinking=Trueis requested for an unsupported renderer instead of adding per-model registry aliasesTest plan
uv run pytest packages/renderers/tests/test_keep_thinking.py -k 'create_renderer'uv run pytest tests/test_renderer_client.py -k 'renderer_client_forwards_keep_thinking or renderer_client_honors_configured_renderer_name or renderer_client_uses_renderer_model_name_override'uv run ruff check packages/renderers/renderers/base.py packages/renderers/tests/test_keep_thinking.py verifiers/types.py verifiers/clients/renderer_client.py tests/test_renderer_client.pyuv run ruff format --check packages/renderers/renderers/base.py packages/renderers/tests/test_keep_thinking.py verifiers/types.py verifiers/clients/renderer_client.py tests/test_renderer_client.pygit diff --checkNote:
uv run pytest packages/renderers/tests/test_keep_thinking.pyreaches the new regression and passes 10/11 tests locally, but the existingmoonshotai/Kimi-K2.5tokenizer case fails in this environment becausetiktokenis not installed.Stacked on #1278.