fix(browser): target renamed ChatGPT Pro model#190
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 8049a81014
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| const candidateHasLegacyProVersion = | ||
| labelHasLegacyProVersion(normalizedText) || labelHasLegacyProVersion(normalizedTestId); | ||
| const candidateHasPro = | ||
| candidateGpt55VisibleAlias || | ||
| normalizedText === 'pro' || | ||
| normalizedText.startsWith('pro ') || | ||
| normalizedText.includes(' pro ') || | ||
| normalizedText.endsWith(' pro') || | ||
| labelHasProWord(normalizedText) || | ||
| normalizedText.includes('proresearch') || | ||
| normalizedTestId.includes('pro'); | ||
| if (wantsPro && candidateHasThinking) return 0; | ||
| if (wantsPro && candidateHasLegacyProVersion) return 0; |
There was a problem hiding this comment.
Avoid rejecting Pro rows by their test id
When the ChatGPT picker exposes the current bare Pro row with a legacy-looking data-testid such as model-switcher-gpt-5-pro, the new legacy check marks it as stale because labelHasLegacyProVersion(normalizedTestId) matches gpt 5 pro, and line 446 then drops the only valid Pro candidate. Since the visible text is still the desired current Pro alias, this would make default browser runs fail with option-not-found; consider applying the stale-version filter to visible labels, or exempting the bare Pro alias when the text is Pro.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
Addressed in 334264f. The stale Pro-version filter now only checks visible option text, so a visible bare Pro row remains selectable even when its data-testid is model-switcher-gpt-5-pro. Added a regression test that executes the in-page selector against that exact menu shape.
Validated with:
pnpm exec vitest run tests/browser/modelSelection.test.ts tests/cli/browserConfig.test.ts tests/runOptions.test.ts tests/mcp/consult.test.ts tests/browser/pageActions.test.ts tests/browser/modelSelection.label.test.tspnpm exec oxfmt --check src/browser/actions/modelSelection.ts tests/browser/modelSelection.test.tspnpm run typecheckpnpm run build
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: fbeeddb945
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| import { logDomFailure } from "../domDebug.js"; | ||
| import { buildClickDispatcher } from "./domEvents.js"; | ||
|
|
||
| const LEGACY_PRO_VERSION_WORD_TOKENS = ["5 4", "5 2", "5 1", "5 0", "gpt 5 pro"] as const; |
There was a problem hiding this comment.
Keep GPT-5 Pro alias selectable during rollout
LEGACY_PRO_VERSION_WORD_TOKENS now classifies any label containing gpt 5 pro as stale, so browser selection for Pro/gpt-5.5-pro will reject a visible GPT-5 Pro row and eventually fail with option-not-found. This can break runs for tenants where ChatGPT has not fully switched to the bare Pro label (or uses the older alias in localized/gradual rollouts), even though that row still represents the current Pro target; consider excluding gpt 5 pro from the stale filter and only blocking explicitly older minor-version labels like 5.4/5.2/5.1/5.0.
Useful? React with 👍 / 👎.
Summary
Propicker label for GPT-5.5 Pro browser runs.GPT-5.4 Prowhen current Pro is required.Tests
pnpm exec vitest run tests/browser/modelSelection.test.ts tests/cli/browserConfig.test.ts tests/runOptions.test.ts tests/mcp/consult.test.ts tests/browser/pageActions.test.ts tests/browser/modelSelection.label.test.tspnpm exec oxfmt --check src/browser/actions/modelSelection.ts tests/browser/modelSelection.test.ts tests/mcp/consult.test.ts tests/runOptions.test.ts src/browser/constants.ts src/cli/browserConfig.ts tests/cli/browserConfig.test.tsgit diff --checkpnpm run buildORACLE_PRO_SELECTOR_FINAL_OKoracle:ORACLE_GLOBAL_PRO_SELECTOR_FINAL_OK