Skip to content

[WRONG BRANCH] release: promote 2.73.0 to main - #6266

Merged
lidge-jun merged 30 commits into
mainfrom
codex/promote-main-2.73.0
Sep 29, 2026
Merged

lidge-jun merged 30 commits into
mainfrom
codex/promote-main-2.73.0

Conversation

@lidge-jun

Copy link
Copy Markdown
Owner

Summary

Promote the verified 2.73.0 tree to main as 2.73.0. The tree is dev at cfa56e34df (#6263 squash).

2.73.0 contents since v2.72.0: the RT6 train (#6230, #6236, #6248, #6235, #6249, #6161, #6247, #6255, #6258, #6204, #6207, #6200, #6203), #6261 (Windows keyring test portability), and #6263 (GPT-6.1 Sol across providers as the Sol default, TokenLab per-model wires).

Release authorization: the repository owner explicitly authorized this release on 2026-09-30 and asked to merge and release right after Cross-platform CI. The dev maintainer-integration exception does not cover main; this promotion merges on that owner authorization, as 2.70.0–2.72.0 did.

Verification

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.

Ingwannu and others added 30 commits September 28, 2026 16:48
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Use null instead of a synthetic opencodex comp_hash so native/routed switches do not imply incompatible history. Clear retained markers, preserve native metadata and token limits, and cover migration and aliases.
* docs(devlog): plan the 2.72.0 TokenLab release

* docs(devlog): record TokenLab payment and final-copy findings

* docs(devlog): record the #6240 regression gate and merge

* docs(devlog): record the 2.72.0 promotions

* docs(devlog): record the 2.72.0 release results

* docs(devlog): close the TokenLab sponsor and 2.72.0 release units

* docs(devlog): keep the dev pre-move out of the 2.72.0 contents

* docs(devlog): name the final #6240 head in the gate step

---------

Co-authored-by: t <a@b.com>
…#6248)

Carries #6225 by @luvs01: typed Devin 429 errors keep the provider's longest retry delay first in the message Codex parses.

Co-authored-by: luvs01 <27862058+luvs01@users.noreply.github.com>
…thropic error event (#6235)

* fix(claude): end a passthrough stream on an upstream reset with an Anthropic error event

tapAnthropicSseForLog relays the streamed body of the native Anthropic
passthrough and of the managed native Messages lane. When the upstream
socket reset after the 200 had gone out, the read rejection was handed to
controller.error(): the client saw a connection reset (Bun 1.4.0) or a bare
chunked EOF (Bun 1.3.x) with no protocol terminal, Bun printed the error
stack to the service log, and the request log recorded the truncated turn
as 200 / closeReason "terminal", which classifies as completed.

A read failure now ends the body the way a stall already did: a blank-line
boundary, an Anthropic `event: error` frame (`api_error`), and a clean
close. The row matches the Responses relay's onReadError: status 502,
terminalStatus "failed", transportPhase "mid_stream", a synthetic terminal
source, the attempt marked streamAborted, and the redacted reason in
upstreamError. messages-native forwards terminalStatus to its final log.

A translator budget overflow is a local cap, not an upstream failure, and
keeps erroring the stream so the non-streaming fold still answers 413.

* fix(claude): keep cancels and finished turns out of the passthrough reset path

Review follow-up. A read failure that is not an upstream failure keeps a
non-failure outcome:
- the cancel signal is already aborted (Bun can reject the read before it
  dispatches the abort listener): 499 client_cancel, as relay.ts checks;
- the managed lane's own abort (shutdown, turn release): the tap now gets
  the upstream controller's signal, so it is a cancel too;
- message_stop or an upstream error event was already seen, including one
  still buffered without its blank-line delimiter: 200, no extra frame.

The reset path also cancels the upstream reader like every other exit, the
test fixture clears its pending socket timers on stop, and the tests assert
this proxy's message prefix instead of Bun's error text.

* docs(structure): state the passthrough read-failure exceptions without a count

* fix(claude): close the non-streaming fold's reset row like the streaming one

Review follow-up. The managed lane's non-streaming fold answered a
mid-stream reset with fail(502), whose default meta closed the row as
closeReason "non_stream" without a terminalStatus, while the streaming
lane's row for the same reset is terminal + failed. The fold now finishes
the row with the tap's meta when the tap reported a failed terminal. An
upstream error event (no reset) keeps its existing row.

The structure doc also states that the logged status differs by frame: a
stall or the byte cap keeps 200 with body_stall/body_overflow (incomplete),
a reset is 502 (failed).

* docs(structure): name the local body limits apart from upstream read failures

* fix(claude): restore a cut-off terminal's delimiter and keep the fold's tap verdict

CodeRabbit follow-up (outside-diff findings on 21a21d8):
- When the read fails after message_stop arrived without its blank line,
  the tap now appends "\n\n" before closing. An SSE parser does not
  dispatch an event that EOF cuts off, so the client would otherwise miss
  the terminal the tap had counted.
- The managed lane's non-streaming fold closes its row with the tap's meta
  for a stall or the byte cap as well as a reset, so body_stall /
  body_overflow survive instead of becoming non_stream. A plain upstream
  error event keeps the non_stream row.
Use the pinned Qwen3.8-27B chat template contract to preserve chronological developer reminders as user turns on the translated Chat wire. Keep other models and native OpenAI behavior unchanged.
* fix(packaging): ship keyring native addon

* fix(packaging): make keyring bundle proof load-only

* fix(packaging): resolve keyring addon from wrapper scope

* fix(keyring): prefer the standalone-owned addon

* fix(packaging): verify compiled keyring roots

* fix(ci): cover packaged keyring prerequisites

* fix(ci): keep keyring probe under file-size ratchet

* style(cli): keep private probes inside size gate

* fix(packaging): resolve symlinked keyring wrapper

Resolve the wrapper entrypoint before locating its optional native addon, so virtual-store package layouts stage the installed addon. Cover nested and symlinked layouts.

---------

Co-authored-by: Ingwannu <ingwannu@users.noreply.github.com>
Co-authored-by: JUN <jun@lidgeai.com>
The auxiliary quota fences added for pause also aborted on any selection
change, so a report probe in flight during an active-account switch no
longer seeded the probed account. Pause, reauth and a replaced token still
stop the send; the reading stays attributed to the account that was probed.
Carries #6232 by @cshyang: the internal reasoning summary "none" marker is stripped at final outbound serialization so native Responses upstreams do not reject it.

Co-authored-by: cshyang <cshyang.chng@gmail.com>
#6234) (#6255)

Carries #6234 by @vadymhimself: a 429 attributed to a pooled account that was itself cooled no longer cools the whole combo target, so healthy sibling accounts stay usable; unknown-account 429s still cool the target.

Co-authored-by: Vadym O <bolein95@gmail.com>
# Conflicts:
#	scripts/test-layout/layout.json
#	src/oauth/anthropic-routing.ts
#	tests/fixtures/test-layout-expected.json
…carry #6238) (#6258)

Carries #6238 by @lcBreathe (fixes #6237): the Windows standalone service wrapper is accepted by the ownership probe, and only a wrapper and registered task that match the standalone generator (quoted OCX_BUN assignment, generator markers and control flow, executable bound to the recorded install state, single wscript.exe Exec action with the exact launcher arguments) can claim ownership.

Co-authored-by: lcBreathe <165003424+lcBreathe@users.noreply.github.com>
feat(oauth): support Anthropic account pause and resume
* feat(oauth): add per-account Anthropic usage thresholds

* fix(oauth): preserve manual Anthropic threshold intent

* test(cli): update Anthropic auto-switch rejection

* fix(oauth): fence Anthropic threshold policy ownership

* fix(oauth): return committed Anthropic threshold policy

* fix(gui): reconcile Anthropic threshold state safely

* fix(gui): satisfy threshold lifecycle lint

---------

Co-authored-by: Ingwannu <ingwannu@users.noreply.github.com>
Co-authored-by: JUN <jun@lidgeai.com>
* fix(responses): support canonical nonstream delivery

* fix(responses): fold canonical SSE for compaction clients

* fix(responses): align buffered SSE failure semantics

* fix(responses): cancel deferred replay on client disconnect

* fix(responses): redact upstream terminal diagnostics before delivery

* docs(responses): keep terminal contract within structure budget

* fix(responses): redact full failed terminals and synthetic stream errors

Delay buffered serving-route publication until deferred replay survives the final abort check.

* fix(responses): mask credential in synthetic refusal code

* test(responses): include terminal redaction in core owner inventory

* fix(responses): mask pooled credential in buffered bare errors

* test(responses): abort synchronously in the deferred-replay disconnect case

---------

Co-authored-by: Ingwannu <ingwannu@users.noreply.github.com>
Co-authored-by: JUN <jun@lidgeai.com>
* fix(oauth): recover Anthropic reset cooldowns

* docs(accounts): document Anthropic cooldown clear

* docs(accounts): localize Anthropic cooldown clear

* fix(oauth): fence Anthropic quota flights and cache ownership

Retire old joinable usage flights during cooldown recovery, reject superseded failures before negative-cache publication, and retain live ownership for cached quota reads.

* fix(quota): fence stale Anthropic token failures by cooldown flight

---------

Co-authored-by: Ingwannu <ingwannu@users.noreply.github.com>
Co-authored-by: JUN <jun@lidgeai.com>
#6261)

* fix(keyring): compute packaged addon candidates with the target platform's path rules

* test(keyring): cover target-platform path rules from a foreign host
…kenLab per-model wires (#6263)

* docs(devlog): plan GPT-6.1 Sol rollout, default swap and TokenLab protocol routing

* docs(devlog): record the GPT-6.1 Sol plan audit and JEV deferral

* feat(models): add GPT-6.1 Sol across providers and make it the Sol default

OpenAI released GPT-6.1 Sol on 2026-09-29 as the upgrade to GPT-6 Sol (Astra and
Luna did not move). List it wherever GPT-6 Sol is served: the native Codex row
(pinned verbatim from openai/codex models.json after #49318; low..ultra, default
low, 272K/872K), the OpenAI API (1.05M / 922K / 128K, low..max), OpenRouter,
GitHub Copilot (Responses), CodeBuddy/Kiro/Devin preemptive seeds, and the
Bedrock/Cloudflare/Kilo/OpenCode Zen/Vercel metadata rows. Price it at $2 / $0.10
cached / $2.50 write / $10 with the long-context tier.

Move every GPT-6 Sol default to GPT-6.1 Sol: the subagent roster default, the
configured-native template, docker smoke and docs. Roster migration v3 swaps a
bare gpt-6-sol in stored rosters once; GPT-6 Sol stays selectable.

* feat(tokenlab): route each model over its declared wire

TokenLab publishes per-model request formats (tokenlab.accepted_request_formats on
GET /v1/models/{id}). Keep the released Chat preset as the provider-wide wire, and:

- send gpt-6-astra, gpt-6.1-sol, gpt-6-sol, gpt-6-luna, grok-4.7,
  deepseek-v4.1-flash, deepseek-v4-pro, kimi-k3 and glm-5.3 over Responses for
  Responses inbound (Codex); Chat and Anthropic clients keep Chat, and an
  explicit modelAdapters entry still wins;
- pin claude-* ids to Anthropic Messages (/v1/messages, x-api-key) through the
  endpoint-bound prefix pin Command Code uses, so a retargeted row is untouched;
- leave gemini-3.8-flash and every other model on Chat.

No delivery-policy header is sent; the API key policy stays authoritative.

* docs(devlog): script the 2.73.0 release bundling RT6

* test(ci): docker smoke expects subagent roster version 3
@lidge-jun
lidge-jun requested a review from Ingwannu as a code owner September 29, 2026 23:28
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 29, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-09-29T23:33:47.676054Z 6be91b7 PR opened
ℹ️ 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" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@coderabbitai

coderabbitai Bot commented Sep 29, 2026

Copy link
Copy Markdown
Contributor

Review in Change Stack →

Navigate logical layers of code changes, visualize relationships, and explore their blast radius.

Note

Currently processing new changes in this PR. This may take a few minutes, please wait...

⚙️ Run configuration

Configuration used: Repository: lidge-jun/opencodex/.coderabbit.yaml

Review profile: ASSERTIVE

Plan: Advanced

Run ID: 33002293-3209-46e1-aef7-f5ff8159b1b4

📥 Commits

Reviewing files that changed from the base of the PR and between 5ab6d52 and 6be91b7.

⛔ Files ignored due to path filters (2)
  • desktop/src-tauri/Cargo.lock is excluded by !**/*.lock
  • src/generated/model-metadata.ts is excluded by !**/generated/**
📒 Files selected for processing (258)
  • .github/workflows/ci.yml
  • .github/workflows/release.yml
  • desktop/README.md
  • desktop/scripts/prepare-sidecar.ts
  • desktop/scripts/verify-linux-sidecar.sh
  • desktop/scripts/verify-macos-runtime.sh
  • desktop/src-tauri/Cargo.toml
  • desktop/src-tauri/tauri.conf.json
  • devlog/_fin/260928_anthropic_cooldown_recovery/000_decision.md
  • devlog/_fin/260929_tokenlab_sponsor/000_roadmap.md
  • devlog/_fin/260929_tokenlab_sponsor/010_merge_6221.md
  • devlog/_fin/260929_tokenlab_sponsor/020_sponsor_pr.md
  • devlog/_fin/260930_release_2_72_0/000_plan.md
  • devlog/_fin/260930_release_2_72_0/010_merge_6240.md
  • devlog/_fin/260930_release_2_72_0/011_wp2_execution.md
  • devlog/_fin/260930_release_2_72_0/020_release.md
  • devlog/_fin/260930_release_2_72_0/021_wp3_execution.md
  • devlog/_fin/260930_release_2_72_0/030_payment_and_email.md
  • devlog/_fin/260930_release_2_72_0/090_outcome.md
  • devlog/_plan/260930_gpt_6_1_sol_rollout/000_README.md
  • devlog/_plan/260930_gpt_6_1_sol_rollout/010_research_digest.md
  • devlog/_plan/260930_gpt_6_1_sol_rollout/020_catalog_surfaces.md
  • devlog/_plan/260930_gpt_6_1_sol_rollout/030_default_swap.md
  • devlog/_plan/260930_gpt_6_1_sol_rollout/040_tokenlab_protocols.md
  • devlog/_plan/260930_gpt_6_1_sol_rollout/050_release.md
  • docs-site/src/content/docs/fr/guides/claude-code.md
  • docs-site/src/content/docs/fr/reference/cli/providers-accounts.md
  • docs-site/src/content/docs/fr/reference/configuration/agents.md
  • docs-site/src/content/docs/fr/reference/configuration/server.md
  • docs-site/src/content/docs/fr/reference/management-api.md
  • docs-site/src/content/docs/fr/reference/proxy-formats.md
  • docs-site/src/content/docs/getting-started/installation.md
  • docs-site/src/content/docs/guides/claude-code.md
  • docs-site/src/content/docs/guides/combos.md
  • docs-site/src/content/docs/guides/providers.md
  • docs-site/src/content/docs/guides/sub-agent-surface.md
  • docs-site/src/content/docs/ja/guides/claude-code.md
  • docs-site/src/content/docs/ja/reference/cli/providers-accounts.md
  • docs-site/src/content/docs/ja/reference/configuration/agents.md
  • docs-site/src/content/docs/ja/reference/configuration/server.md
  • docs-site/src/content/docs/ja/reference/management-api.md
  • docs-site/src/content/docs/ja/reference/proxy-formats.md
  • docs-site/src/content/docs/ko/guides/claude-code.md
  • docs-site/src/content/docs/ko/reference/cli/providers-accounts.md
  • docs-site/src/content/docs/ko/reference/configuration/agents.md
  • docs-site/src/content/docs/ko/reference/configuration/server.md
  • docs-site/src/content/docs/ko/reference/management-api.md
  • docs-site/src/content/docs/ko/reference/proxy-formats.md
  • docs-site/src/content/docs/reference/adapters.md
  • docs-site/src/content/docs/reference/cli/providers-accounts.md
  • docs-site/src/content/docs/reference/codex-retry-diagnostics.md
  • docs-site/src/content/docs/reference/configuration/agents.md
  • docs-site/src/content/docs/reference/configuration/providers.md
  • docs-site/src/content/docs/reference/configuration/server.md
  • docs-site/src/content/docs/reference/management-api.md
  • docs-site/src/content/docs/reference/proxy-formats.md
  • docs-site/src/content/docs/ru/guides/claude-code.md
  • docs-site/src/content/docs/ru/reference/cli/providers-accounts.md
  • docs-site/src/content/docs/ru/reference/configuration/agents.md
  • docs-site/src/content/docs/ru/reference/configuration/server.md
  • docs-site/src/content/docs/ru/reference/management-api.md
  • docs-site/src/content/docs/ru/reference/proxy-formats.md
  • docs-site/src/content/docs/tr/guides/claude-code.md
  • docs-site/src/content/docs/tr/reference/cli/providers-accounts.md
  • docs-site/src/content/docs/tr/reference/configuration/agents.md
  • docs-site/src/content/docs/tr/reference/configuration/server.md
  • docs-site/src/content/docs/tr/reference/management-api.md
  • docs-site/src/content/docs/tr/reference/proxy-formats.md
  • docs-site/src/content/docs/zh-cn/guides/claude-code.md
  • docs-site/src/content/docs/zh-cn/reference/cli/providers-accounts.md
  • docs-site/src/content/docs/zh-cn/reference/configuration/agents.md
  • docs-site/src/content/docs/zh-cn/reference/configuration/server.md
  • docs-site/src/content/docs/zh-cn/reference/management-api.md
  • docs-site/src/content/docs/zh-cn/reference/proxy-formats.md
  • docs-site/src/content/docs/zh-tw/guides/claude-code.md
  • docs-site/src/content/docs/zh-tw/reference/cli/providers-accounts.md
  • docs-site/src/content/docs/zh-tw/reference/configuration/agents.md
  • docs-site/src/content/docs/zh-tw/reference/configuration/server.md
  • docs-site/src/content/docs/zh-tw/reference/management-api.md
  • docs-site/src/content/docs/zh-tw/reference/proxy-formats.md
  • gui/src/components/AccountAutoSwitchControl.tsx
  • gui/src/components/provider-workspace/AnthropicAccountPoolSettings.tsx
  • gui/src/components/provider-workspace/ProviderAuthPanel.tsx
  • gui/src/components/provider-workspace/types.ts
  • gui/src/hooks/useProviderAccountPools.ts
  • gui/src/i18n/de.ts
  • gui/src/i18n/en.ts
  • gui/src/i18n/fr.ts
  • gui/src/i18n/ja.ts
  • gui/src/i18n/ko.ts
  • gui/src/i18n/ru.ts
  • gui/src/i18n/tr.ts
  • gui/src/i18n/vi.ts
  • gui/src/i18n/zh-TW.ts
  • gui/src/i18n/zh.ts
  • gui/src/pages/Providers.tsx
  • gui/tests/anthropic-pool-quota-window.test.tsx
  • gui/tests/provider-account-pause-refresh.test.tsx
  • gui/tests/provider-quota-refresh-controls.test.tsx
  • package.json
  • scripts/build-standalone.ts
  • scripts/ci/docker-smoke.ts
  • scripts/keyring-smoke.ts
  • scripts/model-metadata.source.json
  • scripts/standalone-keyring.ts
  • scripts/test-layout/layout.json
  • scripts/test-layout/seeds.json
  • skills/ocx/references/01_management_surface.md
  • src/adapters/cursor/native-exec.ts
  • src/adapters/devin/live-models.ts
  • src/adapters/kiro/reasoning.ts
  • src/adapters/openai-chat/messages.ts
  • src/adapters/openai-responses/passthrough.ts
  • src/adapters/openai-responses/reasoning.ts
  • src/bridge/internal.ts
  • src/cli/account-anthropic-threshold.ts
  • src/cli/account-api.ts
  • src/cli/account-extended.ts
  • src/cli/account.ts
  • src/cli/capabilities.ts
  • src/cli/index.ts
  • src/codex/catalog/build-entries.ts
  • src/codex/catalog/derive-entry.ts
  • src/codex/catalog/gather-capture.ts
  • src/codex/catalog/metadata.ts
  • src/codex/catalog/native-models.ts
  • src/codex/catalog/parsing.ts
  • src/codex/catalog/pinned-models.ts
  • src/codex/catalog/provider-models.ts
  • src/codex/data/roster-pinned-models.json
  • src/codex/model-entitlements.ts
  • src/codex/native-profile-store.ts
  • src/combos/resolve.ts
  • src/config/subagent-models.ts
  • src/lib/account-selection-events.ts
  • src/lib/errors.ts
  • src/lib/keyring-native.ts
  • src/lib/provider-outbound.ts
  • src/lib/retry-delay.ts
  • src/oauth/anthropic-account-threshold.ts
  • src/oauth/anthropic-routing.ts
  • src/oauth/index.ts
  • src/oauth/store.ts
  • src/oauth/types.ts
  • src/providers/api-key-resolve.ts
  • src/providers/codebuddy-models.ts
  • src/providers/kiro-models.ts
  • src/providers/label.ts
  • src/providers/quota.ts
  • src/providers/quota/account-cache.ts
  • src/providers/quota/anthropic-cooldown-recovery.ts
  • src/providers/quota/vendor-probes-oauth.ts
  • src/providers/registry/entries-core.ts
  • src/providers/registry/entries-extended.ts
  • src/providers/registry/model-seeds.ts
  • src/server/claude-messages.ts
  • src/server/management/anthropic-account-threshold.ts
  • src/server/management/oauth-account-routes.ts
  • src/server/management/route-registry.ts
  • src/server/messages-native-oauth.ts
  • src/server/messages-native.ts
  • src/server/relay-eager.ts
  • src/server/relay.ts
  • src/server/responses/adapter-continuation.ts
  • src/server/responses/adapter-delivery.ts
  • src/server/responses/adapter-dispatch.ts
  • src/server/responses/buffered-sse-json.ts
  • src/server/responses/core-codex-account.ts
  • src/server/responses/core-combo.ts
  • src/server/responses/core-lifetime.ts
  • src/server/responses/passthrough-delivery.ts
  • src/server/responses/passthrough-dispatch.ts
  • src/server/responses/passthrough-error.ts
  • src/server/responses/request-transport.ts
  • src/server/responses/terminal-error-redaction.ts
  • src/service-manager-probe.ts
  • src/service/windows-taskxml.ts
  • src/types/wire.ts
  • src/usage/expected-prices.ts
  • structure/INDEX.md
  • structure/catalog.md
  • structure/clients/claude-desktop.md
  • structure/decisions/ADR-6013-anthropic-account-pause.md
  • structure/decisions/ADR-6014-anthropic-account-threshold.md
  • structure/decisions/ADR-6139-packaged-native-keyring-binding.md
  • structure/decisions/ADR-6162-responses-http-sse.md
  • structure/desktop-shell.md
  • structure/gui-and-management-api.md
  • structure/manifest.json
  • structure/ops/docs-and-release.md
  • structure/ops/service-and-sidecars.md
  • structure/providers-and-adapters.md
  • structure/providers/anthropic-account-pool.md
  • structure/providers/anthropic-account-thresholds.md
  • structure/providers/chat-compat.md
  • structure/providers/cursor.md
  • structure/providers/openai-accounts.md
  • structure/runtime.md
  • structure/subagents.md
  • structure/transports/inventory.md
  • structure/transports/responses-wire-shapes.md
  • structure/transports/responses.md
  • tests/adapters/adapter-error-inline.test.ts
  • tests/adapters/anthropic/anthropic-account-pause-outbound.test.ts
  • tests/adapters/anthropic/anthropic-account-pause.test.ts
  • tests/adapters/anthropic/anthropic-account-pool.test.ts
  • tests/adapters/anthropic/anthropic-account-threshold.test.ts
  • tests/adapters/anthropic/anthropic-combo-account-cooldown.test.ts
  • tests/adapters/anthropic/anthropic-cooldown-recovery.test.ts
  • tests/adapters/anthropic/anthropic-model-routes.test.ts
  • tests/adapters/openai/openai-chat-qwen38-leading-system.test.ts
  • tests/ci-workflows/ci-scope-reduction.test.ts
  • tests/ci-workflows/keyring-smoke.test.ts
  • tests/ci-workflows/linux-desktop-packaged-ci.test.ts
  • tests/ci-workflows/release-desktop-scripts.test.ts
  • tests/claude-integration/claude-management-api.test.ts
  • tests/claude-integration/claude-native-passthrough.test.ts
  • tests/claude-integration/messages-native-oauth.test.ts
  • tests/claude-integration/messages-native.test.ts
  • tests/cli/cli-account-pool-verbs.test.ts
  • tests/cli/cli-account.test.ts
  • tests/cli/cli-anthropic-account-threshold.test.ts
  • tests/codex-integration/catalog-routed-comp-hash.test.ts
  • tests/codex-integration/codex-catalog.test.ts
  • tests/codex-integration/codex-service-manager-probe-hardening.test.ts
  • tests/codex-integration/codex-service-manager-probe.test.ts
  • tests/codex-integration/configured-native-models.test.ts
  • tests/codex-integration/gpt6-native-rows.test.ts
  • tests/codex-integration/gpt61-sol-rows.test.ts
  • tests/fixtures/qwen38-27b-chat-template-contract.json
  • tests/fixtures/test-layout-expected.json
  • tests/gui/gui-desktop-sidecar-script.test.ts
  • tests/gui/standalone-build-script.test.ts
  • tests/helpers/codex-pool-retry.ts
  • tests/helpers/responses-core-source.ts
  • tests/helpers/truncated-sse-upstream.ts
  • tests/oauth/oauth-accounts-api.test.ts
  • tests/providers/cursor/cursor-native-exec-policy.test.ts
  • tests/providers/provider-account-quota.test.ts
  • tests/providers/provider-registry-parity.test.ts
  • tests/providers/tokenlab-protocols.test.ts
  • tests/responses/openai-responses-summary-none.test.ts
  • tests/responses/passthrough-abort.test.ts
  • tests/responses/responses-canonical-nonstream.test.ts
  • tests/responses/responses-grok-devin-preflight.test.ts
  • tests/responses/responses-pool-401-refresh.test.ts
  • tests/responses/responses-preview-main-read-fence.test.ts
  • tests/responses/sse-failed-tail.test.ts
  • tests/routing/always-on-429-failover.test.ts
  • tests/routing/subagent-roster-migration.test.ts
  • tests/server/retry-delay-hardening.test.ts
  • tests/server/server-auth.test.ts
  • tests/server/server-combo-cooldown-recording.test.ts
  • tests/server/server-startup-reconcile-resilience.test.ts
  • tests/service/service-tier-capability.test.ts
  • tests/usage/request-log-nonstream.test.ts
  • tests/usage/usage-cost.test.ts
  • tests/usage/usage-provider-label.test.ts
 _____________________________________________________________________________
< Rabbit check: I hopped through the diff and found carrots... and landmines. >
 -----------------------------------------------------------------------------
  \
   \   (\__/)
       (•ㅅ•)
       /   づ
✨ Finishing Touches
📝 Generate docstrings
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR

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

Copy link
Copy Markdown
Contributor

✅ Deterministic PR hygiene checks passed.

@lidge-jun
lidge-jun merged commit b825f4f into main Sep 29, 2026
39 of 41 checks passed
@lidge-jun
lidge-jun deleted the codex/promote-main-2.73.0 branch September 29, 2026 23:33
@github-actions github-actions Bot changed the title release: promote 2.73.0 to main [WRONG BRANCH] release: promote 2.73.0 to main Sep 29, 2026
@github-actions

github-actions Bot commented Sep 29, 2026 •

Copy link
Copy Markdown
Contributor

⏳ DRAFT

  • wrong target branch (main); retarget to dev. UI screenshot required.

What to do

  • Retarget this PR to dev — all contributions go to dev.
  • Add a screenshot of the UI change to the PR description.

Its title has been prefixed with [WRONG BRANCH].
Automatic draft conversion failed (token cannot change draft status). Please convert this pull request to a draft manually. The required enforce-target check will keep failing until every issue above is resolved.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants