Skip to content

fix(browser): recognize Sol Pro effort control - #340

Merged
steipete merged 2 commits into
steipete:mainfrom
Rokurolize:agent/recognize-sol-pro-effort
Jul 27, 2026
Merged

fix(browser): recognize Sol Pro effort control#340
steipete merged 2 commits into
steipete:mainfrom
Rokurolize:agent/recognize-sol-pro-effort

Conversation

@Rokurolize

Copy link
Copy Markdown
Contributor

Summary

ChatGPT's current GPT-5.6 Sol composer exposes Pro as a separate reasoning-effort choice inside its combined intelligence menu. This change lets Oracle recognize and select that control when --browser-thinking-time heavy requests the highest available effort.

Problem

Oracle's browser engine runs JavaScript in the signed-in ChatGPT page to inspect the composer and choose a reasoning effort. Its GPT-5.6 path recognized the earlier Extra high label and a dedicated Pro-effort trigger, but the current UI can instead present a generic Pro item alongside a separate GPT-5.6 Sol model item in one menu.

In that layout, Oracle could report option-not-found even when Pro was already selected, or fail to select Pro when another effort was active. This is separate from model selection: open PR #320 teaches Oracle to recognize the GPT-5.6 Sol model item when the same menu also contains a Pro pill, while this PR handles the independent effort item after the model has been chosen.

Implementation

  • For GPT-5.6 targets at heavy effort only, treat a standalone Pro item in the intelligence-effort menu as the target effort.
  • Accept the current composer pill as already selected when its normalized label contains the standalone Pro token.
  • Exclude labels containing GPT or a 5.6 model version when searching for the effort item, so the code does not mistake a model label for an effort.
  • Preserve the existing behavior for other models and effort levels.

The test fixture models the current combined menu with separate model and effort entries. It covers both an already-selected Pro pill and switching an unchecked Pro radio item.

Live browser proof

I ran a signed-in ChatGPT browser smoke at commit 4086ae1298f0353ebc8649ce8656dcd1233095ce with the current UI:

node dist/bin/oracle-cli.js --engine browser --browser-manual-login --model gpt-5.6-sol --browser-model-strategy select --browser-thinking-time heavy --browser-archive never --browser-attachments never --wait --slug current-ui-sol-effort-smoke --prompt "Current ChatGPT UI model and effort compatibility smoke after the Sol/Pro-pill fixes. Return exactly ORACLE_SOL_HEAVY_OK and nothing else." --file src/cli/detach.ts

Relevant output:

[browser] Thinking time: Pro (already selected)
[browser] Model selection evidence: requested=GPT-5.6 Sol; resolved=GPT-5.6 Sol; status=already-selected; strategy=select; verified=yes.
Answer:
ORACLE_SOL_HEAVY_OK

The run completed in 18.3 seconds. No Answer now control was clicked.

Validation

  • pnpm check
  • pnpm vitest run tests/browser/thinkingTime.test.ts
  • pnpm run build
  • pnpm run test:packed-cli

Compatibility and security

This change does not add a network endpoint, alter authentication, copy browser credentials, or change model selection. It only broadens recognition within the existing ChatGPT effort menu for the GPT-5.6 heavy mapping.

@Rokurolize
Rokurolize marked this pull request as ready for review July 26, 2026 23:55
@clawsweeper clawsweeper Bot added proof: sufficient Contributor real behavior proof is sufficient. rating: 🦐 gold shrimp Decent PR readiness signal, but merge confidence is limited. status: ⏳ waiting on author ClawSweeper has contributor-facing work open and is waiting for author action. P2 Normal priority bug or improvement with limited blast radius. merge-risk: 🚨 compatibility 🚨 Merging this PR could break existing users, config, migrations, defaults, or upgrades. labels Jul 27, 2026
@clawsweeper

clawsweeper Bot commented Jul 27, 2026

Copy link
Copy Markdown
Contributor

Thanks for the context here. I swept through the related work, and this is now duplicate or superseded.

Close this PR as superseded by #320.

So I’m closing this here and keeping the remaining discussion on #320.

Review details

Do we have a high-confidence way to reproduce the issue?

No high-confidence live reproduction was independently run in this review, but the source makes the failure path clear: a GPT-5.6 Sol model-button label containing Pro reaches the new heavy-effort shortcut before an actual effort option is selected.

Is this the best way to solve the issue?

No. Recognizing a standalone Pro effort is the right direction, but the selected-state check must distinguish an effort pill from a model label before it can safely short-circuit selection.

Security review:

Security review cleared: The diff only refines existing in-page UI recognition and adds tests; no dependency, credential, permission, network, or supply-chain surface is introduced.

AGENTS.md: found and applied where relevant.

What I checked:

  • linked superseding PR: fix(browser): accept GPT-5.6 Sol with an independent Pro pill #320 (fix(browser): accept GPT-5.6 Sol with an independent Pro pill) is still open as the canonical replacement.
  • cluster evidence: the durable review links that PR in the work cluster or recommended risk path.
  • no human follow-up: live comments and timeline hydrated by apply contain no non-automation activity after the ClawSweeper review.

Likely related people:

  • steipete: Recent current-main commits in the browser thinking-time selector include model-aware effort-selection work adjacent to this change. (role: recent area contributor; confidence: high; commits: cc9f4cc, c6e7ceb, 467b418; files: src/browser/actions/thinkingTime.ts)
  • alex-on-java: Recent browser thinking-time selector history includes a focused maintenance commit in the same implementation path. (role: recent area contributor; confidence: medium; commits: f7efb31; files: src/browser/actions/thinkingTime.ts)
  • aditya-rewari: The file’s recent history includes effort-selection updates that provide nearby behavioral context for this regression guard. (role: adjacent contributor; confidence: medium; commits: 190a635; files: src/browser/actions/thinkingTime.ts)

Codex review notes: model internal, reasoning high; reviewed against 6009d4ad167b.

@steipete
steipete force-pushed the agent/recognize-sol-pro-effort branch from 4086ae1 to a21f29c Compare July 27, 2026 02:43
@steipete

Copy link
Copy Markdown
Owner

Maintainer repair a21f29c0 reorders GPT-5.6 Sol heavy-effort matching so the standalone Pro control is checked before generic Extra High tiers. The submitted fixture remains, and a second regression now covers a combined Extra High + Pro + GPT-5.6 Sol menu.

Proof: focused thinking-time tests 27/27, pnpm check, clean build, full suite 1,605 passed / 43 skipped, and branch autoreview clean. Independent live browser proof remains unavailable on this Mac because it has no ChatGPT cookies; the contributor's signed-in live proof remains documented in the PR body.

@clawsweeper

clawsweeper Bot commented Jul 27, 2026

Copy link
Copy Markdown
Contributor

ClawSweeper status: review started.

I am starting a fresh review of this pull request: fix(browser): recognize Sol Pro effort control This is item 1/1 in the current shard. Shard 0/1.

This placeholder means the worker is alive and reading the current context. I will edit this same comment with the actual review when the claws are done clicking.

Crustacean status: shell secured, claws on keyboard, evidence pebbles being sorted.

@steipete
steipete merged commit 68b8c51 into steipete:main Jul 27, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

merge-risk: 🚨 compatibility 🚨 Merging this PR could break existing users, config, migrations, defaults, or upgrades. P2 Normal priority bug or improvement with limited blast radius. proof: sufficient Contributor real behavior proof is sufficient. rating: 🦐 gold shrimp Decent PR readiness signal, but merge confidence is limited. status: ⏳ waiting on author ClawSweeper has contributor-facing work open and is waiting for author action.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants