Skip to content

fix: preserve Daybreak Blue Codex capabilities - #1604

Closed
luvs01 wants to merge 1 commit into
lidge-jun:devfrom
luvs01:fix/daybreak-blue-native-sol-parity
Closed

fix: preserve Daybreak Blue Codex capabilities#1604
luvs01 wants to merge 1 commit into
lidge-jun:devfrom
luvs01:fix/daybreak-blue-native-sol-parity

Conversation

@luvs01

@luvs01 luvs01 commented Aug 13, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Preserve gpt-daybreak-blue-latest as an account-observed, selector-qualified native id without widening the bare native allowlist.
  • Let an explicit openai/gpt-daybreak-blue-latest custom model on the canonical Codex-forward provider inherit the pinned GPT-5.6 Sol capability snapshot while keeping the Daybreak wire id.
  • Keep the separately billed openai-apikey/daybreak-blue-latest API route and its 1.05M / 922k limits isolated from the 372k Codex-login contract.
  • Normalize the built-in OpenAI provider's omitted authMode to its registry default (forward) for catalog discovery, matching routing behavior and avoiding a stray /models request.
  • Add English and Korean route documentation and regression coverage for sync, routing, account isolation, strict metadata, and compaction values.

This builds on #1515: that PR preserves account-observed unknown native ids as selector-qualified rows. This follow-up covers the explicit canonical Codex-forward custom-model path and does not create a bare Daybreak row or grant account entitlement.

Runtime verification

The patch was deployed to a local OpenCodex 2.14.0 installation with an explicit canonical Codex-forward custom-model entry. After selecting a ChatGPT Codex account known to have Daybreak entitlement, one Codex-shaped streaming request to openai/gpt-daybreak-blue-latest returned HTTP 200, emitted response.completed, and produced OK. The usage ledger recorded the exact requested selector, exact upstream wire id gpt-daybreak-blue-latest, the main account label, and gpt-5.6-sol as the capability resolution.

This smoke test also confirmed that entitlement is account-specific: two pool accounts without Daybreak access returned the upstream unsupported-model response before the entitled account was selected. The PR preserves routing and metadata; it does not claim or manufacture entitlement for every ChatGPT account.

Verification

  • Rebased onto current dev commit 1849b947 (HEAD 2ff758c7, one commit ahead).
  • bun run typecheck
  • bun run privacy:scan
  • node_modules/bun/bin/bun.exe test --isolate --timeout 30000 tests/codex-catalog.test.ts tests/codex-catalog-sync-hardening.test.ts tests/codex-convergence-account-selectors.test.ts tests/codex-routing.test.ts — 341 pass, 0 fail
  • cd docs-site && node_modules/bun/bin/bun.exe run build — 265 pages built
  • git diff --check origin/dev...HEAD

I also attempted bun run test on Windows. The default local runner still applies Bun's 5-second per-test ceiling and produced unrelated management/storage/Claude endpoint timeouts, followed by shared-fixture contamination. Once the suite was irreversibly non-green, I stopped only that owned run and verified that no repo-owned Bun/Node descendants survived. The changed-area suites above pass completely. Current dev CI separately runs isolated/sharded batches with a 60-second per-test timeout.

Checklist

  • Scope stays focused and avoids unrelated cleanup.
  • Docs or release notes were updated when needed.
  • Security-sensitive changes were reviewed for secrets, auth, and unsafe defaults.

Review readiness checklist

This PR stays in draft until every box below is ticked. Tick all four boxes once the requirements are met:

  • All CI tests are green on my local testing.

  • I pushed my PR to the latest dev commit.

  • I resolved all correct Codex and CodeRabbit findings.

  • My PR is ready for review.

@coderabbitai

coderabbitai Bot commented Aug 13, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 999fd1d5-151b-4342-ad93-c93f5b4f9de3

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

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions github-actions Bot added the bug Something isn't working label Aug 13, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Deterministic PR hygiene checks passed.

@github-actions

github-actions Bot commented Aug 13, 2026

Copy link
Copy Markdown
Contributor

⏳ DRAFT

  • review readiness checklist open (1/4 boxes ticked).

What to do

  • Tick all four boxes in the PR description once you're done (currently 1/4).

Review readiness checklist

  • ⬜ All CI tests are green on my local testing.
  • ✅ I pushed my PR to the latest dev commit.
  • ⬜ I resolved all correct Codex and CodeRabbit findings.
  • ⬜ My PR is ready for review.

1/4 boxes ticked.

This PR stays in draft until every box above is ticked.

@luvs01
luvs01 force-pushed the fix/daybreak-blue-native-sol-parity branch from 62327fb to 2ff758c Compare August 13, 2026 12:12
lidge-jun added a commit that referenced this pull request Aug 13, 2026
…eferral

PR #1604 branched before fcbef38 ("restore deferred tool discovery for
non-Cursor routed rows") landed on dev, so its negative control still
expected supports_search_tool=false for a routed openai row. That field
is now the ordinary routed default and carries no Daybreak-inheritance
signal; the native-only assertions around it still prove the rejection.
@lidge-jun

Copy link
Copy Markdown
Owner

Landed on dev in 13f212f (Merge pull request #1604 from luvs01/fix/daybreak-blue-native-sol-parity). git merge-base --is-ancestor confirms this branch tip is an ancestor of origin/dev.

One follow-up commit was needed on dev: this branch predates fcbef38 ("restore deferred tool discovery for non-Cursor routed rows"), so the Daybreak metadata inheritance rejects noncanonical providers case still expected supports_search_tool=false for a routed openai row. That field is now the ordinary routed default and carries no Daybreak-inheritance signal, so 6cc42f6 updates the expectation while keeping the native-only assertions that actually prove the rejection. The case passes in isolation on this branch; it only failed once both changes were on the same tree.

Verification on the merged dev: bun run typecheck clean, bun run test 11516 pass / 0 fail across 717 files.

GitHub does not auto-close PRs merged to a non-default branch, so closing manually.

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

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants