You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
fix(web): allow setting reasoning effort for scheduled tasks - #30253
Scheduled tasks already support provider options, but the web/desktop editor could not set reasoning effort. It also dropped the default model's options when the model was explicitly picked.
Change
Reuse the existing traits picker alongside the task model picker and keep the full model selection in the draft. New tasks retain the configured default options; existing tasks can inspect and change them. Picking a different model clears stale options, while reselecting the same model preserves them. Mobile already exposes these controls and saves the full selection.
Scope and approval
Fixes#30233. This is a focused configuration option for an established scheduling capability under CONTRIBUTING.md; it does not add a workflow or change provider defaults.
Verification
The regression failed before the fix because the effort control was absent. Browser tests now cover default and saved options, effort edits, reselecting the current model, and clearing options when switching models. vp run check:changed passes, including 29 focused tests, affected-package typechecks, lint, formatting, knip, and React Compiler checks. In the real web client against isolated worktree state, saved a paused Codex task at High, confirmed reasoningEffort: high in its stored selection, and reopened it at High. No provider turn was started. Native mobile and the Electron shell were not exercised; their implementations are unchanged.
Before
After saving and reopening
Reviewed with review-loop: 2 rounds with Claude Opus 5.5. Reviewer verdict: approved.
Created with GPT-6.1 Sol in the Codex harness (T3 Code).
Macroscope's review found this PR approvable — Scheduled tasks gain a reasoning-effort picker that saves options with the task’s model selection. Changes remain explicit and task-specific, with existing defaults and save safeguards unchanged.
You can add or adjust custom eligibility rules. Learn more.
Reviewing files that changed from the base of the PR and between 47d8f2b and 8afb8d7.
You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.
Use the checkbox below for a quick retry:
Trigger review
No actionable comments were generated in the recent review.
Walkthrough
The scheduled-task editor now stores a structured model selection and provides model-trait controls. The editor submits the selected model options when saving tasks. Browser tests cover creating and editing tasks, changing reasoning effort, and switching to a model without options.
Draft state and task conversion now use ModelSelection directly instead of a model key and separate base selection.
Model traits editing and saving apps/web/src/components/settings/ScheduledTasksSettings.tsx, apps/web/src/components/settings/ScheduledTasksSettings.browser.test.tsx
The editor shows TraitsPicker for the active provider model and updates the structured selection when options change. It submits that selection and clears it when the environment changes. Browser tests cover create and edit flows, including changing reasoning effort and selecting a model without options.
sequenceDiagram
participant User
participant ScheduledTasksSettings
participant TraitsPicker
participant ScheduledTaskUpsert
User->>ScheduledTasksSettings: Select provider model
ScheduledTasksSettings->>TraitsPicker: Provide model data and current options
User->>TraitsPicker: Change model options
TraitsPicker->>ScheduledTasksSettings: Return updated options
User->>ScheduledTasksSettings: Save task
ScheduledTasksSettings->>ScheduledTaskUpsert: Submit modelSelection
Loading
Possibly related issues
pingdotgg/t3code#29049 — The PR adds model-option controls to the web scheduled-task editor; the issue also covers thread binding and runtime and interaction mode controls, which this PR does not change.
Possibly related PRs
pingdotgg/t3code#24216 — Both PRs add TraitsPicker to the scheduled-task editor and address model-option retention.
pingdotgg/t3code#23184 — Both PRs add TraitsPicker and change how model options are kept in the scheduled-task draft.
pingdotgg/t3code#25864 — Both PRs replace the separate model-key and base-selection draft fields with a structured modelSelection.
The editor saves scheduled-task model options. No merge-blocking risk was found.
Pre-merge checks: 4
Check name
Status
Explanation
Title check
The title clearly and concisely describes the main change: enabling reasoning-effort settings for scheduled tasks in the web client.
Description check
The description includes the Problem, Change, Scope and approval, and Verification sections. It explains the behavior, links the issue and approval guidance, reports focused tests and manual verificat…
Linked Issues check
The PR satisfies the coding requirements in #30233. ScheduledTasksSettings.tsx adds TraitsPicker beside the model picker and saves the complete ModelSelection. scheduledTasksSettings.logic.ts …
Out of Scope Changes check
The changes remain within #30233. They modify the web scheduled-task draft, model and traits controls, and focused browser coverage. The changes do not add a scheduling workflow, modify provider defau…
Full details: Description check
Explanation
The description includes the Problem, Change, Scope and approval, and Verification sections. It explains the behavior, links the issue and approval guidance, reports focused tests and manual verification, includes before-and-after screenshots, and states untested areas.
Full details: Linked Issues check
Explanation
The PR satisfies the coding requirements in #30233. ScheduledTasksSettings.tsx adds TraitsPicker beside the model picker and saves the complete ModelSelection. scheduledTasksSettings.logic.ts copies stored selections into drafts and selects configured defaults for new tasks. A model change creates a selection without stale options, while selecting the current model leaves the selection unchanged. Browser tests cover default options, saved options, option edits, same-model reselection, and model switching. The supplied PR evidence reports that mobile already exposes and saves these controls, so no mobile code change is required.
Full details: Out of Scope Changes check
Explanation
The changes remain within #30233. They modify the web scheduled-task draft, model and traits controls, and focused browser coverage. The changes do not add a scheduling workflow, modify provider defaults, or change the MCP input. The test and draft-state refactoring directly support preserving model options.
Finishing Touches
Generate unit tests (beta)
Create a new PR
Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts
CodeRabbit Verify
Run CodeRabbit Verify to test the changes in this pull request.
Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 8 remain after this review.
verified head 8afb8d75eb18e8016819943ee9111f7eaa8229a5 as-is on a disposable linux vm, using the real web client in system chrome through playwright. no code changes were needed.
reproduced on github/main at 12ec17ce4c: the scheduled-task editor has no reasoning-effort control.
installed both checkouts with vp i and ran one background dev server at a time, stopping main before starting the pr. created a real git project through the app, with no fixtures or replay provider.
created a paused task using codex gpt-6.1-sol, selected high effort, saved, and reopened it at high. changed high to low and back, saved and reopened both. reselecting the same model retained effort; switching to gpt-6-luna removed saved options, confirmed through a read-only database query.
restored sol/high and exercised both “run now” and a one-time scheduled run at 17:59 utc. both produced new threads and the real response “scheduled effort verified.” in the client. native codex rollout records independently confirm the model, high effort, and project directory.
blacksmith ran vp test run apps/web/src/components/settings/ScheduledTasksSettings.browser.test.tsx apps/web/src/components/settings/scheduledTasksSettings.logic.test.ts: 2 files, 29 tests passed. all 29 existing pr checks were green.
native ios/android clients, the electron shell, macos/windows, other providers, and relay/tunnel connections were not exercised. the real runtime check used codex sol/high; default-option initialization is covered by the focused browser tests. uploaded video playback and seeking were checked in chrome; the same recording is embedded above as an animated gif for github.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
size:M30-99 changed lines (additions + deletions).vouch:unvouchedPR author is not yet trusted in the VOUCHED list.
3 participants
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
Scheduled tasks already support provider options, but the web/desktop editor could not set reasoning effort. It also dropped the default model's options when the model was explicitly picked.
Change
Reuse the existing traits picker alongside the task model picker and keep the full model selection in the draft. New tasks retain the configured default options; existing tasks can inspect and change them. Picking a different model clears stale options, while reselecting the same model preserves them. Mobile already exposes these controls and saves the full selection.
Scope and approval
Fixes #30233. This is a focused configuration option for an established scheduling capability under CONTRIBUTING.md; it does not add a workflow or change provider defaults.
Verification
The regression failed before the fix because the effort control was absent. Browser tests now cover default and saved options, effort edits, reselecting the current model, and clearing options when switching models.
vp run check:changedpasses, including 29 focused tests, affected-package typechecks, lint, formatting, knip, and React Compiler checks. In the real web client against isolated worktree state, saved a paused Codex task at High, confirmedreasoningEffort: highin its stored selection, and reopened it at High. No provider turn was started. Native mobile and the Electron shell were not exercised; their implementations are unchanged.Reviewed with review-loop: 2 rounds with Claude Opus 5.5. Reviewer verdict: approved.
Created with GPT-6.1 Sol in the Codex harness (T3 Code).