Skip to content

fix(web): allow setting reasoning effort for scheduled tasks - #30253

Open
voltcrash wants to merge 1 commit into
pingdotgg:mainfrom
voltcrash:voltcrash/fix-issue-30233
Open

voltcrash wants to merge 1 commit into
pingdotgg:mainfrom
voltcrash:voltcrash/fix-issue-30233

Conversation

@voltcrash

Copy link
Copy Markdown
Contributor

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: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
Task editor without effort control Task editor retaining High effort

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).

@github-actions github-actions Bot added vouch:unvouched PR author is not yet trusted in the VOUCHED list. size:M 30-99 changed lines (additions + deletions). labels Nov 3, 2026
@macroscopeapp

macroscopeapp Bot commented Nov 3, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Approved at 540b7fb

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.

@voltcrash
voltcrash force-pushed the voltcrash/fix-issue-30233 branch from 540b7fb to 47d8f2b Compare November 3, 2026 16:33
@coderabbitai

coderabbitai Bot commented Nov 3, 2026 •

Copy link
Copy Markdown
Contributor

Review in Change Stack →

Important

Review skipped

Review was skipped as selected files did not have any reviewable changes.

Run configuration
Commits

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.

Changes: Scheduled task model traits

Layer / File(s) Summary
Structured model-selection draft
apps/web/src/components/settings/ScheduledTasksSettings.tsx, apps/web/src/components/settings/scheduledTasksSettings.logic.ts
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.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Change: Bug fix · Severity of issue fixed: Medium

Sequence Diagram(s)

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.

Suggested labels: bugfix, size:M

Suggested reviewers: flamboh, maria-rcks, juliusmarminge

Merge Risk: Minimal · previous review 540b7

The editor saves scheduled-task model options. No merge-blocking risk was found.

Pre-merge checks: Passed 4
Check name Status Explanation
Title check Passed The title clearly and concisely describes the main change: enabling reasoning-effort settings for scheduled tasks in the web client.
Description check Passed 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 Passed 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 Passed 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.
Recent review info
Run configuration
Commits

Reviewing files that changed from the base of the PR and between e27e12d and 540b7fb.

Files selected for processing: 3
  • apps/web/src/components/settings/ScheduledTasksSettings.browser.test.tsx
  • apps/web/src/components/settings/ScheduledTasksSettings.tsx
  • apps/web/src/components/settings/scheduledTasksSettings.logic.ts

Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 8 remain after this review.

@voltcrash
voltcrash force-pushed the voltcrash/fix-issue-30233 branch from 47d8f2b to 8afb8d7 Compare November 3, 2026 16:49
@maria-rcks

maria-rcks commented Nov 3, 2026 •

Copy link
Copy Markdown
Collaborator

Note

Written by gpt-6.1-sol on behalf of Maria

Verified in a real dev environment

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.

selected runtime transcript:

manual run: 2026-11-03T17:52:48.210Z model=gpt-6.1-sol effort=high
completed: 2026-11-03T17:52:51.621Z "scheduled effort verified."
timed run: 2026-11-03T17:59:03.925Z model=gpt-6.1-sol effort=high
completed: 2026-11-03T17:59:07.061Z "scheduled effort verified."
cwd=/home/user/effort-verification
scheduled task: run_count=2 last_run_status=succeeded last_run_error=null

full selected runtime transcript

main: matching task with no reasoning-effort control

pr: saved task reopened with high effort

effort edits, saving, reopening, and same-model reselection

real timed codex response in the client with high effort

Not verified

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.

@noahflk

noahflk commented Nov 3, 2026

Copy link
Copy Markdown

+1

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:M 30-99 changed lines (additions + deletions). vouch:unvouched PR author is not yet trusted in the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Scheduled task editor has no reasoning effort control, so tasks run at the model's default effort

3 participants