Skip to content

[WRONG BRANCH] release: promote verified 2.53.0-preview.20260913 product tree to preview - #4504

Merged
lidge-jun merged 369 commits into
previewfrom
codex/release-2530-preview-20260913
Sep 13, 2026
Merged

[WRONG BRANCH] release: promote verified 2.53.0-preview.20260913 product tree to preview#4504
lidge-jun merged 369 commits into
previewfrom
codex/release-2530-preview-20260913

Conversation

@lidge-jun

Copy link
Copy Markdown
Owner

Summary

Verification

  • Audit synthesis and evidence: devlog/_plan/260913_release_253/ (030 roster, 031 synthesis).
  • Exact-head hosted CI: run 34750934849 success on eb81eaa (dev). PR-head hosted CI gates this promotion.
  • Local suite/build/typecheck: NOT RUN (maintainer rule for this task; hosted exact-head CI is the gate).
  • Tree invariant: git diff eb81eaa HEAD touches package.json only (version line).

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.

lidge-jun and others added 30 commits September 12, 2026 22:17
Carry #4319 with native raw-ladder distinction and regression coverage.

Co-authored-by: Keito Itagaki <171206780+ke-1t@users.noreply.github.com>
Document reasoningEffortMode in all seven translated guides. Keep the original Chat-wire regression; Responses summary is not a Chat request field.
…he tool-catalog nudge (#4415)

* refactor(devin): retire the ACP adapter and give the shared adapter the tool-catalog nudge

Both Devin provider rows already stream Cognition's Connect-RPC api-server on
the `devin` adapter. They differ only in where the credential came from: a
browser sign-in through RegisterUser, or the `devin-session-token` the
installed CLI already wrote to its own credentials.toml.

A second adapter registered under the id `devin-cli` still spawned `devin acp`
and drove the child over Agent Client Protocol on stdio. Nothing routed to it:
`routedProviderConfig` pins the adapter from the registry for any registry id,
so only a custom-named row such as `"devin-acp"` could select it. It is removed
rather than kept, because the premise that justified it was false. The CLI's
credential is the ordinary cloud token, so importing it does everything the
child did without a placeholder `buildRequest`, a disabled `parseStream`, an
identity-only `baseUrl` no request may connect to, and a subprocess running in
the operator's own tree.

`projectDevinCliAuthMode` used to warn and change nothing when a saved row still
named that adapter, reasoning that routing already pinned the transport. That
held only for the registry id. With the adapter gone a custom-named row has
nothing pinning it and would throw `Unknown adapter: devin-cli` on every
request, so the migration now rewrites every row naming the retired id whatever
the row is called, and repoints a row still carrying the identity-only
`cli.devin.ai` host at the api-server in the same pass.

The nudge is the other half. Every non-OpenAI adapter that advertises a client
tool catalog injects `buildNonOpenAIToolCatalogNudgeForTools` into its system
prompt; Devin advertises a real catalog on proto field #10 and was the only one
without the paragraph. It goes into `mapOcxMessagesToDevin`, which covers both
provider rows at once. The wire-name callback is `tool => tool.name` rather than
the default namespaced form, because `mapOcxToolsToDevin` writes the bare name —
a nudge listing names the model is never offered is worse than none. The ACP
wire could never have carried it: `session/prompt` takes prompt text only, with
`capabilities: {}` and `mcpServers: []`.

* fix(devin): share the api-server default and drop the out-of-scope GUI comment

The migration wrote its own copy of the Cognition host, so a later change to
the shared default would have left it writing the old address. It now imports
DEVIN_DEFAULT_API_SERVER.

The GUI comment rewrite went back to its dev state. It was unrelated cleanup by
the PR checklist's own standard, and because the screenshot gate is path-based
it was asking a comment-only diff to produce a screenshot of nothing. It can go
in on its own.
…ion (#4411)

* fix(codex): refresh the catalog when paginated history refuses injection

An explicit `ocx sync` is also the refresh path for side profiles that consume
the OpenCodex catalog without injection. Since paginated Codex rollouts began
refusing external writes, that refusal was reaching `syncModelsToCodex` through
the validate-only preflight and failing the whole sync, so the model catalog
went stale on a home whose history simply requires its native writer.

The preflight refusal now carries a structured
`historyPreflightFailureReason` instead of only display text. When an explicit
sync sees `history_paginated_requires_native_writer`, it keeps the injector's
refusal intact, publishes through the existing catalog owner, and returns
`catalog-only` with config and conversation files untouched. Unattended sync
and every other config or integrity refusal keep their hard failure.

`refreshOutcome` distinguishes a validated catalog commit from a refused
refresh, so `refreshCodexModelCatalog` no longer rewrites the models cache
after a refusal and `ocx sync` exits non-zero when a catalog-only refresh did
not complete.

* docs(devlog): record the 2.43/2.46 releases and the open closeout units

Carries the planning and delivery records that were still sitting untracked in
the working tree: the 2.43 and 2.46 release units, the per-work-phase execution
and delivery records for the 260905 open-work closeout, the provider runtime
stack unit, the 249 bulk closeout, and the beginner PDF plan.

The 006 dispositions and 060 ledger updates record two maintainer decisions
made during that campaign: `bun run test:changed` was removed from the local
verifier set because its import-graph selection reaches most of the suite on
the touched layers, and from wp4 onward the campaign accepted the final `dev`
tip CI run as batch evidence instead of per-PR exact-head runs.

* test(codex): cover the catalog-only path for a paginated-history refusal

Three cases the change has to keep apart: an explicit sync refreshes the
catalog and reports `catalog-only` when the injector refuses on
`history_paginated_requires_native_writer`; a refused refresh under the same
condition stays unsuccessful and writes no cache; and an unattended sync keeps
the hard failure it always had.

* fix(devlog): drop a maintainer email address from the wp4 reverify record

`privacy:scan` flags any address outside its allowlist, and the carried
closeout record quoted the `-c user.email` value used to re-author two layers.
The address was never the point of the note, so it is replaced with a
description of the flag pair. This is what failed `test 3/4`, `gates`, and
`macos 2/2` on the previous head.

* docs(structure): record the catalog-only exception and declare refreshOutcome

Two residuals a delegated review found on this PR. `structure/config.md` owns
the sync preflight contract and still said every deterministic refusal leaves
the catalog and cache untouched, which this change makes untrue for one reason
code. And `refreshOutcome` reached callers through a spread without ever being
declared on `CodexSyncResult`.
Both work phases landed on dev (#4411 as 2d3c05f, #4415 as 213065e), so
the unit moves to _fin with an outcome record.

It records what the removal actually corrected: the ACP adapter was written on
the untested assumption that OpenCodex could not hold the installed CLI's
credential, then kept on a second assumption that leaving it registered was
harmless because routing pinned the registry id away from it. That was true for
the registry id and false for the custom-named row the documentation itself
recommended, which is the row that would have broken on removal.

It also corrects two beliefs this unit started with: devin-cli has not run over
ACP since the account-login unit, and its token usage is reported, not missing.
What is genuinely absent is account quota, which Cognition exposes only through
Enterprise-scoped endpoints.
…ility (#4410)

Meta Muse rejects function names over 64 characters. On api.meta.ai only,
rewrite long or charset-unsafe tool identities to collision-safe wire names
and restore the originals inbound before namespace restore and the
undeclared-tool guard.
…nd cache defects (#4418)

* docs(devlog): plan Devin hardening and the cached-token companion

Locks the roadmap for the devin-cli token transition, the cloud-direct transport and usage decode, and the cached-token display companion, before any implementation lands.

* docs(devlog): fold the roadmap audit findings into the Devin hardening plan

An independent review of the first draft failed it on three counts. Field 7 needs its own uint64 decoder and must suppress field 28 within a message, because both arrive together and the adapter last-writes usage. The input-versus-cache mapping is derived from the frame rather than assuming Cognition is exclusive, since guessing wrong inflates input and bills cache at the uncached rate. And missing_ui_screenshot is path-based on gui/src, so the display phase carries a real screenshot instead of avoiding the word.

* fix(devin-cli): harden the imported CLI session against path, read, and cache defects

Five defects on the credential-import path.

An empty APPDATA or XDG_DATA_HOME resolved to a cwd-relative credentials path, because `??` treats an empty string as a set value; a file planted beside the proxy would have imported as the operator's own CLI session.

Every read failure collapsed into `undefined`, so a permission error on an existing file was reported as 'not signed in' and sent the operator to `devin auth login`, which does not fix it. The outcome is now missing, unreadable, incomplete or ok, each with its own message, and the parse is bounded at 64 KiB.

A bare JWT in Metadata.api_key went out without the `devin-session-token$` prefix and came back as an opaque permission_denied, which reads as a revoked account rather than a malformed credential. Only a three-segment JWT is reshaped, so a Codeium UUID, an sk-ws key and a cog_ key pass through untouched.

Logout cleared the shared user-JWT and catalog cache only for provider `devin`, and account deletion never cleared it, so a CLI-imported key's JWT outlived its own logout. Both ids now clear on both paths.

redactSecretString recognised neither a Devin session token nor a bare JWT, and a Connect trailer can quote the request that carried one.
A cached request's total is mostly cache. A 58,000-token prompt that is
57,000 cache read and 1,000 fresh was printed as a bare 58,000 on every
surface except the logs table row, so it read as a different, smaller
request than the row directly beside it.

formatTokensWithCache renders the total with its cached companion —
5.8만 c5.7만, 58K c57K — reusing the marker the logs.tokens.cacheRead
label already documents as "cache read (c)", so no new i18n key is needed.
A provider that reports no cache is untouched, and a turn served entirely
from cache still shows the marker, since that is the row worth seeing.

No backend change: /api/logs forwards the whole usage object and /api/usage
already emits cache on summary, models and providers. The loss was purely
client-side, in the row types and the aggregators, so the fix widens
UsageModel, UsageProvider, UsageSummary30d, the CLI CostRow, and
summarizeFilteredLogs to keep the fields that were already arriving.

The log detail panel is deliberately left alone: it already has separate
cache read and cache write cells, and stacking the companion onto its
total would duplicate them.
Match kiro-style sanitize fallbacks, rebuild the shared 55-char prefix pair, and drive handleResponses restore through a key-auth fixture pointed at api.meta.ai so registry oauth no longer 401s the inbound cases.
…es (#4419)

* fix(devin): read usage from ModelUsageStats and classify cloud failures

A cached Devin turn reported a bare token total with no cached subset, so
its log row looked like a smaller request than it was.

The decoder was reading GetChatMessageResponse field 28. Field 28 is
response_dimension_groups, the rows the IDE renders; field 7 is
ModelUsageStats, the per-turn accounting. The old path worked by accident:
ResponseDimension.uid is that message's field 5, which the entry walker
treats as a metric id, so cache numbers appeared only when the service
happened to render cache rows. Field 7 carries cache read and cache write
unconditionally.

Both fields arrive in the same message and the adapter keeps the last usage
event, so decoding both is not enough: field 7 now suppresses field 28
within a message and is yielded last, and it needs its own uint64 decoder
because the field-28 walker reads a fixed32 float out of a sub-message.

Whether Cognition's input_tokens already includes cache is unsettled, and
guessing inclusive is the expensive error: normalizeCostTokens only rejects
read + write > input, so an inflated input passes validation and bills
cached tokens at the uncached rate. The mapping is therefore derived from
the frame. Both branches agree on the 58k-prompt case that prompted this.

Two further classification defects. CloudChatError carried no HTTP status,
so inferHttpStatusFromAdapterMessage turned an upstream 429 into a 502 and
core's failover never rotated or backed off. And a cancelled turn said
"Devin turn was aborted.", which isClientClosedMessage does not recognise,
so a client hanging up was logged as an upstream failure; it now emits the
phrase the classifier knows, with status 499.

Usage frames are merged per field instead of replaced, because the counters
are cumulative and a later partial frame used to zero an earlier count.

* fix(devin): report field-7 usage ahead of finish and derive the merged total

Review follow-ups on the usage decode.

The authoritative ModelUsageStats event was yielded after the rest of the
frame, so a frame that also carried finish reported usage behind the turn's
end. It is now yielded first, which makes the order independent of where
the service places the field.

mergeDevinUsage took the max of two totals alongside the per-field maxima,
which can leave totalTokens different from input + output; the cost and log
paths read that total. The total is now derived from the merged counts.

Regression coverage for what the change is actually for: field 7 suppressing
the display rows within one frame and landing before finish, the display
rows still decoding when no field 7 is present, a partial frame not zeroing
an earlier count, and an HTTP status becoming a structured classification.

A Connect trailer still carries no HTTP status, so a cap delivered that way
keeps the older message-inference path. That is noted at the throw site as
a follow-up rather than silently left open.
…ents (#4410)

The undeclared-tool guard reads name straight off response.function_call_arguments.done, outside any function_call item, so a hashed Meta Muse alias reached the client and could fail the turn as an undeclared tool. Restore now matches that event and its delta alongside the item shapes.
…4423)

* fix(devin): map Connect trailer codes onto the status core acts on

Only the HTTP status line carried a status, so a cap or an expired
credential delivered as a Connect EOS trailer fell through to
inferHttpStatusFromAdapterMessage and became a generic 502 — not an auth
prompt, not a backoff, and nothing core's failover acts on.

connectTrailerHttpStatus maps the Connect codes Cognition actually sends,
and treats permission_denied carrying "your limit will reset" or "reached
overall message rate limit" as the quota refusal it is rather than an
authorization failure. It reads the raw trailer message, not the enriched
text, so the tool-blocklist wrapper cannot trip the quota regex. An
unrecognised code returns undefined and keeps the older inference path.

Review follow-up in the same change: unimplemented maps to 501, and the
blanket "5xx is retryable" rule was putting retryable: true on the SSE
failure a client reads for a call the service will never implement.

* docs(devlog): record the trailer-status mapping as closed

020 listed the Connect trailer mapping as the deferred half of the cloud-direct work. It landed, along with the 501 retryability fix the review caught, so the doc records the outcome and the two accepted residuals.
…n test (#4410)

Meta Muse aliases names with unsupported characters as well as overlength
names. Record additional_tools among rewrite locations, poll the
passthrough continuation cache instead of a fixed sleep, and assert
replayed history on the second outbound body.
…undary (#4410)

Upstream sees every aliased declaration even when tool_choice narrows what it may call, so a wire name in that catalog is not evidence that restoring it into an executable client name is permitted. Narrow the restorable map the same way authorizedAliases already does for the namespace layer.
Reopens the device-flow phase closed as NOOP in 260903_muse_spark_plan_oauth/020.
That close listed exactly what a reopen would need (endpoints, client id, payload
shapes, identity semantics, error taxonomy, file and registry names, ToS seam); a
working second-party implementation now supplies all of it, and the HIGH_RISK GUI
entry already exists. The vendor restriction has not changed, so the unit ships
under the same explicit-owner-decision posture as anthropic and google-antigravity.

Seven documents: 000 plan and work-phase map, 001 measured endpoint and payload
reference with our current gaps at path:line, 002 design decisions (namespaced
credential field instead of an overloaded bearer, staticHeaders instead of a
transport hook, capability-gated quota probe, why PKCE does not apply), and
diff-level phase docs 010-040 for the device core, login integration, version
header plus on-demand quota, and the test matrix and gate.

No source changes in this commit.
Six findings, none rebutted. Four came from reading the pinned test contracts and
two from independent grok-4.6 reviewers; the plan as first written would not have
compiled and would have broken four existing tests.

- The muse credential field moves from wp3 to wp2: the module that returns it
  cannot compile without it (TS2353 excess-property check).
- The device call now forwards fetchImpl/sleep/now, so no test reaching that path
  can call auth.meta.com for real.
- A Keychain read that times out stays a throw. Falling through would have broken
  meta-muse-oauth.test.ts:159-166 and, worse, started a browser grant to solve a
  permissions dialog.
- A host with no paste surface now gets the device reason composed WITH the
  existing dev.meta.ai and META_MODEL_API_KEY guidance rather than instead of it.
- The credential field's outbound protection is corrected: hand-built allowlists,
  not a kiro-specific redactor, so the prohibition is written into the docstring.
- The quota probe gains a success TTL enforced even against a forced refresh,
  because ?refresh=1 and the reset poller both bypass the quota cache.
The wp2 cell of the work-phase map now names src/oauth/types.ts alongside the
device module, matching where fold 4 put the credential field. Test row 41d now
asserts sleep and now are forwarded, not just fetchImpl, and row 55c drops a
forceRefresh framing that does not apply: fetchMuseKeyQuotaSnapshot takes no such
parameter, so the forced-refresh assertion belongs at the dispatcher instead.
The 260903 close quoted here names tests/oauth-tos-warning.test.ts, but the warning
test shipped at tests/gui/oauth-tos-warning.test.ts. The quote stays verbatim and a
note names the real path, so a reader following the citation does not hit a dead end.
Found by the citation checker written for this cycle's Check phase.
…d row

Security review of the overlay-tolerant seed comparison found one gap the
allowPrivateNetwork deny does not cover. The canonical OpenAI seed defines only
adapter, authMode, baseUrl and codexAccountMode, so matchesCanonicalProviderSeed
ignores every other key on the merge-based write paths. headers is one of them,
and it is not inert: canonical OpenAI has no registry staticHeaders, the PATCH
field mask writes headers with a shallow merge, and the forward adapter applies
provider.headers to the upstream request before the incoming forward headers, so
a persisted value wins whenever the caller omits that header.

Before this commit a dashboard-session PATCH such as
{"headers":{"chatgpt-account-id":"..."}} would persist on the ChatGPT forward row
and ride every subsequent request that did not carry the header itself. POST
still refused it through the strict comparison; PATCH, the provider editor and
reload did not. Denying headers on name === "openai" restores the pre-overlay
behavior on those paths with a clearer message than a seed mismatch.

The regression test was driven red before it was accepted: removing the guard
fails exactly the new case and nothing else in the file.
dev landed #4425 on the old src/service.ts after this stack branched.
Carry the LogonTrigger UserId and the matching source-contract tests
into src/service/windows-taskxml.ts so a non-elevated install still
registers without asking for UAC.
Keep the service facade. The Windows logon-trigger fix from #4425 is
already in src/service/windows-taskxml.ts.
Merge the god-file round 1 stack: storage/cleanup, service, and kiro facades.
…erge

refactor: land god-file round 1 (cleanup, service, kiro)
…i-overlays

Lane S of the contributor carry train, released from its security-review hold.

Carries #4447 by Veritas-7: merge-based provider writes (PATCH, the provider editor, reload) no longer fail the canonical-seed comparison because a persisted operator overlay such as selectedModels rides along in the merged candidate. Seed keys stay byte-pinned and POST keeps the strict exact-key comparison.

Maintainer security review is recorded in the pull request thread and changed the outcome. The review found that the canonical OpenAI seed defines only four keys, so overlay tolerance reaches nearly every config key, and that headers was a live gap: the PATCH field mask writes it, and the forward adapter applies provider.headers to the upstream ChatGPT request before the incoming forward headers, so a persisted value wins whenever the caller omits that header. c39098b denies headers on canonical openai the way allowPrivateNetwork is denied, with a regression test that was driven red before it was accepted.

Cross-platform CI run 34748483096 concluded success on c39098ba3d98d1f2fa4c6b1c4c3f9c0e1e2f0a4b, the exact head merged here. Its first attempt failed in the select-windows-runner job with no failing step, which is a runner-allocation flake rather than a code failure; re-running the failed jobs on the same commit turned the run green, so the evidence remains exact-head.

Recorded follow-up, not blocking: the overlay tolerance is a denylist. A future provider field classified editor that touches a trust boundary would become silently reachable on the canonical row, and codexToolMode is the current example. The durable fix is an explicit overlay allowlist plus a guard test.
Since 321b9b1 the upgrade handler pre-opens the sideband upstream and
hands it to attachLiveSidebandUpstream already OPEN. attach arms the 10s
liveConnectTimer whenever liveMaxSessionMs is set, but the only non-teardown
clear site is the upstream "open" listener, which can never fire for a
socket that opened before the client existed. Every dictation and live-call
session was therefore force-closed with "audio connection timed out" exactly
ten seconds after attach. Disarm the watchdog on the successful takeover
path, mirroring the open listener, and cover it with a regression test.

Found by the 2.53.0 release regression audit (parallel commit audit).
Local suite NOT RUN per maintainer rule; hosted exact-head CI is the gate.
Aside (Pi agent core, openai-completions) returns read_file screenshots as
tool-result parts of shape {type:"image", data, mimeType}. The chat
inbound translator only recognized image_url parts and silently dropped
these, so vision models answered that the image data never arrived
(live-reproduced against the running proxy: claude-opus-5 with a Pi-style
tool image reports the image missing, while the same request in image_url
form is described correctly). Claude-shaped clients sending Anthropic
source-object image parts over the same endpoint were dropped the same way.
Normalize both shapes to the data-URI form the Responses pipeline already
handles.

Local suite NOT RUN per maintainer rule; hosted exact-head CI is the gate.
…nnect-timer

fix(live): disarm sideband connect watchdog on the pre-opened path
…parts

fix(chat): accept Pi and Anthropic-shaped image parts on the chat wire
…view

Product tree is dev at eb81eaa. Only package.json differs, carrying the
preview channel version 2.53.0-preview.20260913.

This promotion follows a 364-commit regression audit (origin/main..981b53e)
by 15 parallel subagent lanes plus two audit-spawned fixes reviewed and merged
to dev: #4496 (live sideband connect watchdog) and #4497 (chat image part
shapes). Zero unresolved P0/P1 at promotion time. Exact-head hosted CI green
on eb81eaa (run 34750934849). Local suite NOT RUN per task rule; hosted
exact-head CI is the gate.
@lidge-jun
lidge-jun requested a review from Ingwannu as a code owner September 13, 2026 10:26
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 13, 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-13T10:40:21.186607Z b06e54c Draft marked ready
ℹ️ 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 13, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Too many files!

This PR contains 877 files, which is 577 over the limit of 300.

To get a review, reduce the PR to 300 files or fewer by splitting it into smaller PRs or changing its base branch.

Usage-priced reviews support at most 300 files.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Advanced

Run ID: 00e696bb-b4c2-49d0-9147-71d88d294651

📥 Commits

Reviewing files that changed from the base of the PR and between adb39cb and b06e54c.

⛔ Files ignored due to path filters (26)
  • devlog/_fin/260913_subagent_v1_default_encryption_guard/evidence/dashboard-advisory-en.png is excluded by !**/*.png
  • devlog/_fin/260913_subagent_v1_default_encryption_guard/evidence/dashboard-advisory-ko.png is excluded by !**/*.png
  • devlog/_plan/260912_accounts/screenshots/010_usage-incomplete.png is excluded by !**/*.png
  • devlog/_plan/260912_accounts/screenshots/011_usage-custom-range.png is excluded by !**/*.png
  • devlog/_plan/260912_accounts/screenshots/020_codex-plan-exclusion-reset-first.png is excluded by !**/*.png
  • devlog/_plan/260912_audio_apis_stack/screenshots/audio-1440-light.png is excluded by !**/*.png
  • devlog/_plan/260912_audio_apis_stack/screenshots/audio-320-ko.png is excluded by !**/*.png
  • devlog/_plan/260912_audio_apis_stack/screenshots/audio-390-light.png is excluded by !**/*.png
  • devlog/_plan/260912_audio_apis_stack/screenshots/transcription-layer-baseline.png is excluded by !**/*.png
  • devlog/_plan/260912_devin_hardening/logs-devin-cached-restored.jpg is excluded by !**/*.jpg
  • devlog/_plan/260912_remote_workspace_carry/assets/041_desktop_read_only.png is excluded by !**/*.png
  • devlog/_plan/260912_remote_workspace_carry/assets/042_desktop_files_only.png is excluded by !**/*.png
  • devlog/_plan/260912_remote_workspace_carry/screenshots/remote-workspace-hub-dashboard.png is excluded by !**/*.png
  • devlog/_plan/260912_remote_workspace_carry/screenshots/remote-workspace-pairing-code.png is excluded by !**/*.png
  • devlog/_plan/260912_stream_recovery/093_console_recovery.png is excluded by !**/*.png
  • devlog/_plan/260913_60plus_skipci_stack/screenshots/pairing-hub-1440.png is excluded by !**/*.png
  • devlog/_plan/260913_lane_stack_merge/screenshots/codex-account-pool.png is excluded by !**/*.png
  • devlog/_plan/260913_lane_stack_merge/screenshots/dashboard-overview.png is excluded by !**/*.png
  • devlog/_plan/260913_lane_stack_merge/screenshots/integrations-clients.png is excluded by !**/*.png
  • devlog/_plan/260913_lane_stack_merge/screenshots/remote-workspace.png is excluded by !**/*.png
  • docs-site/src/assets/subagent-v2-encrypted-task.svg is excluded by !**/*.svg
  • docs/pr-assets/codex-spark-retirement/desktop-paused.png is excluded by !**/*.png
  • docs/pr-assets/codex-spark-retirement/desktop-refreshed.png is excluded by !**/*.png
  • docs/pr-assets/codex-spark-retirement/desktop.png is excluded by !**/*.png
  • docs/pr-assets/codex-spark-retirement/mobile.png is excluded by !**/*.png
  • native/remote-workspace-helper/Cargo.lock is excluded by !**/*.lock
📒 Files selected for processing (877)
  • .gitignore
  • .npmignore
  • CREDITS.md
  • devlog/_fin/260906_release_243/000_plan.md
  • devlog/_fin/260906_release_243/002_audit.md
  • devlog/_fin/260906_release_243/010_promotion.md
  • devlog/_fin/260906_release_243/011_promotion_result.md
  • devlog/_fin/260906_release_243/012_registry_recovery.md
  • devlog/_fin/260906_release_243/019_done.md
  • devlog/_fin/260907_release_246/000_plan.md
  • devlog/_fin/260907_release_246/010_release.md
  • devlog/_fin/260907_release_246/011_audit.md
  • devlog/_fin/260907_release_246/020_progress.md
  • devlog/_fin/260907_release_246/090_delivery.md
  • devlog/_fin/260912_devin_acp_removal/000_plan.md
  • devlog/_fin/260912_devin_acp_removal/090_outcome.md
  • devlog/_fin/260913_subagent_v1_default_encryption_guard/010_roadmap.md
  • devlog/_fin/260913_subagent_v1_default_encryption_guard/020_runtime_default_and_advisory.md
  • devlog/_fin/260913_subagent_v1_default_encryption_guard/030_gui_approval_dialog.md
  • devlog/_fin/260913_subagent_v1_default_encryption_guard/040_docs_guide_and_visual.md
  • devlog/_fin/260913_subagent_v1_default_encryption_guard/050_verification_and_delivery.md
  • devlog/_fin/260913_subagent_v1_default_encryption_guard/060_upstream_evidence.md
  • devlog/_fin/260913_subagent_v1_default_encryption_guard/070_audit_followups.md
  • devlog/_fin/260913_subagent_v1_default_encryption_guard/080_outcome.md
  • devlog/_fin/260913_subagent_v1_default_encryption_guard/evidence/README.md
  • devlog/_fin/260913_unpriced_model_overlays/000_plan.md
  • devlog/_fin/260913_unpriced_model_overlays/001_inventory.md
  • devlog/_fin/260913_unpriced_model_overlays/010_wp2_research_and_registration.md
  • devlog/_fin/260913_unpriced_model_overlays/011_wp2_research_results.md
  • devlog/_fin/260913_unpriced_model_overlays/020_wp3_pr_merge.md
  • devlog/_fin/260913_unpriced_model_overlays/021_wp3_outcome.md
  • devlog/_fin/260913_xai_oauth_fast/010_plan.md
  • devlog/_fin/260913_xai_oauth_fast/020_probe-evidence.md
  • devlog/_plan/260905_open_work_closeout/006_dispositions.md
  • devlog/_plan/260905_open_work_closeout/011_wp1_execution.md
  • devlog/_plan/260905_open_work_closeout/012_wp1_delivery_record.md
  • devlog/_plan/260905_open_work_closeout/021_wp2_scope_amendment.md
  • devlog/_plan/260905_open_work_closeout/024_wp2_delivery_record.md
  • devlog/_plan/260905_open_work_closeout/031_wp3_reverify.md
  • devlog/_plan/260905_open_work_closeout/032_wp3_delivery_record.md
  • devlog/_plan/260905_open_work_closeout/041_wp4_reverify.md
  • devlog/_plan/260905_open_work_closeout/044_wp4_delivery_record.md
  • devlog/_plan/260905_open_work_closeout/051_wp5_reverify.md
  • devlog/_plan/260905_open_work_closeout/052_wp5_delivery.md
  • devlog/_plan/260905_open_work_closeout/053_residual_integration.md
  • devlog/_plan/260905_open_work_closeout/054_final_ci_pin.md
  • devlog/_plan/260905_open_work_closeout/055_linux_ci_repair.md
  • devlog/_plan/260905_open_work_closeout/056_second_ci_head.md
  • devlog/_plan/260905_open_work_closeout/057_coordinated_final_ci.md
  • devlog/_plan/260905_open_work_closeout/058_final_execution_result.md
  • devlog/_plan/260905_open_work_closeout/059_owner_directed_stop.md
  • devlog/_plan/260905_open_work_closeout/060_ledger.md
  • devlog/_plan/260908_provider_runtime_stack/000_plan.md
  • devlog/_plan/260908_provider_runtime_stack/010_layer_plan.md
  • devlog/_plan/260908_provider_runtime_stack/011_conflict_map.md
  • devlog/_plan/260908_provider_runtime_stack/012_mark_sourcing.md
  • devlog/_plan/260908_provider_runtime_stack/013_secondary_dispositions.md
  • devlog/_plan/260908_provider_runtime_stack/020_wp2_carry.md
  • devlog/_plan/260908_provider_runtime_stack/030_wp3_marks_docs.md
  • devlog/_plan/260908_provider_runtime_stack/040_wp4_publish_merge.md
  • devlog/_plan/260908_provider_runtime_stack/050_delivery_record.md
  • devlog/_plan/260908_provider_runtime_stack/060_ledger.md
  • devlog/_plan/260909_bulk_closeout_249/000_plan.md
  • devlog/_plan/260909_bulk_closeout_249/001_lane_bug_prs_a.md
  • devlog/_plan/260909_bulk_closeout_249/002_lane_bug_prs_b.md
  • devlog/_plan/260909_bulk_closeout_249/003_lane_small_nonbug.md
  • devlog/_plan/260909_bulk_closeout_249/004_lane_bug_issues.md
  • devlog/_plan/260909_bulk_closeout_249/005_lane_feature_issues_and_stale_prs.md
  • devlog/_plan/260909_bulk_closeout_249/006_dispositions.md
  • devlog/_plan/260909_bulk_closeout_249/007_bun_142_update.md
  • devlog/_plan/260909_bulk_closeout_249/008_lane_stale_tail.md
  • devlog/_plan/260909_bulk_closeout_249/010_wp1_luvs01_train.md
  • devlog/_plan/260909_bulk_closeout_249/020_wp2_bug_prs_b.md
  • devlog/_plan/260909_bulk_closeout_249/030_wp3_small_and_sponsors.md
  • devlog/_plan/260909_bulk_closeout_249/040_wp4_bug_issue_fixes.md
  • devlog/_plan/260909_bulk_closeout_249/050_wp5_close_batch.md
  • devlog/_plan/260909_bulk_closeout_249/060_wp6_bun_142.md
  • devlog/_plan/260909_bulk_closeout_249/070_wp7_closeout_ledger.md
  • devlog/_plan/260912_accounts/000_plan.md
  • devlog/_plan/260912_accounts/020_eligibility.md
  • devlog/_plan/260912_accounts/021_eligibility_delivery.md
  • devlog/_plan/260912_accounts/022_eligibility_ci_repair.md
  • devlog/_plan/260912_accounts/030_reset.md
  • devlog/_plan/260912_accounts/031_reset_delivery.md
  • devlog/_plan/260912_accounts/048_history_identity.md
  • devlog/_plan/260912_accounts/049_history_identity_delivery.md
  • devlog/_plan/260912_accounts/050_history.md
  • devlog/_plan/260912_accounts/051_history_delivery.md
  • devlog/_plan/260912_accounts/060_capacity.md
  • devlog/_plan/260912_accounts/061_capacity_delivery.md
  • devlog/_plan/260912_accounts/070_tun.md
  • devlog/_plan/260912_accounts/071_tun_delivery.md
  • devlog/_plan/260912_audio_apis_stack/000_plan.md
  • devlog/_plan/260912_audio_apis_stack/002_review_disposition.md
  • devlog/_plan/260912_audio_apis_stack/010_transcription.md
  • devlog/_plan/260912_audio_apis_stack/011_transcription_checks.md
  • devlog/_plan/260912_audio_apis_stack/020_streaming_voice.md
  • devlog/_plan/260912_audio_apis_stack/021_streaming_checks.md
  • devlog/_plan/260912_audio_apis_stack/030_connections.md
  • devlog/_plan/260912_audio_apis_stack/031_connections_checks.md
  • devlog/_plan/260912_beginner_pdf/000_plan.md
  • devlog/_plan/260912_codex_spark_retirement/000_plan.md
  • devlog/_plan/260912_codex_spark_retirement/001_source.md
  • devlog/_plan/260912_codex_spark_retirement/010_implementation.md
  • devlog/_plan/260912_codex_spark_retirement/020_review.md
  • devlog/_plan/260912_codex_spark_retirement/030_delivery.md
  • devlog/_plan/260912_devin_hardening/000_plan.md
  • devlog/_plan/260912_devin_hardening/010_cli_token_transition.md
  • devlog/_plan/260912_devin_hardening/020_cloud_direct_hardening.md
  • devlog/_plan/260912_devin_hardening/030_cached_token_display.md
  • devlog/_plan/260912_devin_hardening/040_stacked_delivery.md
  • devlog/_plan/260912_muse_device_oauth/000_plan.md
  • devlog/_plan/260912_muse_device_oauth/001_reference_measurements.md
  • devlog/_plan/260912_muse_device_oauth/002_design_decisions.md
  • devlog/_plan/260912_muse_device_oauth/010_wp2_device_core.md
  • devlog/_plan/260912_muse_device_oauth/020_wp3_login_integration.md
  • devlog/_plan/260912_muse_device_oauth/030_wp4_header_and_quota.md
  • devlog/_plan/260912_muse_device_oauth/040_wp5_tests_and_gate.md
  • devlog/_plan/260912_muse_device_oauth/050_delivery_record.md
  • devlog/_plan/260912_muse_tool_name_alias/000_plan.md
  • devlog/_plan/260912_operations/020_listeners.md
  • devlog/_plan/260912_operations/030_totals.md
  • devlog/_plan/260912_operations/040_client_usage.md
  • devlog/_plan/260912_operations/050_pairing.md
  • devlog/_plan/260912_operations/060_transport.md
  • devlog/_plan/260912_operations/070_verification.md
  • devlog/_plan/260912_operations/090_listener_diagnostic.md
  • devlog/_plan/260912_operations/100_usage_transport.md
  • devlog/_plan/260912_operations/110_resume_status.md
  • devlog/_plan/260912_operations/120_coordinator_probe.md
  • devlog/_plan/260912_reasoning_effort_downgrade/000_decision.md
  • devlog/_plan/260912_reasoning_metadata/000_decision.md
  • devlog/_plan/260912_remote_workspace_carry/020_executor_runtime.md
  • devlog/_plan/260912_remote_workspace_carry/030_integration.md
  • devlog/_plan/260912_remote_workspace_carry/041_resume_ci_repair.md
  • devlog/_plan/260912_stream_recovery/092_resume.md
  • devlog/_plan/260912_stream_recovery/094_console_fixture.md
  • devlog/_plan/260912_thinking_contract/000_plan.md
  • devlog/_plan/260912_thinking_contract/001_sources.md
  • devlog/_plan/260912_thinking_contract/010_presentation.md
  • devlog/_plan/260912_thinking_contract/020_transport_hint.md
  • devlog/_plan/260912_thinking_contract/030_spark.md
  • devlog/_plan/260912_thinking_contract/040_delivery.md
  • devlog/_plan/260912_thinking_contract/050_refresh.md
  • devlog/_plan/260912_unimplemented_trio_stack/000_plan.md
  • devlog/_plan/260912_unimplemented_trio_stack/001_baseline_revalidation.md
  • devlog/_plan/260912_unimplemented_trio_stack/010_l1_ws_stage_instrumentation.md
  • devlog/_plan/260912_unimplemented_trio_stack/020_l2_native_main_reauth_api.md
  • devlog/_plan/260912_unimplemented_trio_stack/030_l3_main_card_relogin_ui.md
  • devlog/_plan/260912_unimplemented_trio_stack/040_l4_native_paginated_writer.md
  • devlog/_plan/260912_v2_contracts/000_plan.md
  • devlog/_plan/260912_v2_contracts/010_plaintext.md
  • devlog/_plan/260912_v2_contracts/020_recovery.md
  • devlog/_plan/260912_v2_contracts/030_native_identity.md
  • devlog/_plan/260912_v2_contracts/040_verification.md
  • devlog/_plan/260912_v2_contracts/050_resume_evidence.md
  • devlog/_plan/260913_chat_refusal_translator/000_plan.md
  • devlog/_plan/260913_chat_refusal_translator/010_rootcause_evidence.md
  • devlog/_plan/260913_chat_refusal_translator/020_fix_refusal_scope.md
  • devlog/_plan/260913_devin_landing_and_caching/000_plan.md
  • devlog/_plan/260913_devin_landing_and_caching/010_wp1_swe2_effort_carry.md
  • devlog/_plan/260913_devin_landing_and_caching/020_wp2_devin_cli_fixture_carry.md
  • devlog/_plan/260913_devin_landing_and_caching/030_wp3_ttfb_generation_deadline.md
  • devlog/_plan/260913_devin_landing_and_caching/040_wp4_devin_prompt_cache_and_identity.md
  • devlog/_plan/260913_devin_landing_and_caching/050_wp5_effort_suffix_unification.md
  • devlog/_plan/260913_devin_landing_and_caching/060_wp6_assign_model_router.md
  • devlog/_plan/260913_devin_provider_merge/000_plan.md
  • devlog/_plan/260913_devin_provider_merge/010_wp1_core_merge.md
  • devlog/_plan/260913_devin_provider_merge/020_wp2_migration.md
  • devlog/_plan/260913_devin_provider_merge/030_wp3_surface_sync.md
  • devlog/_plan/260913_devin_provider_merge/040_wp4_pr.md
  • devlog/_plan/260913_godfile_round1/000_plan.md
  • devlog/_plan/260913_lane_stack_merge/000_plan.md
  • devlog/_plan/260913_lane_stack_merge/001_merge_topology.md
  • devlog/_plan/260913_lane_stack_merge/002_merge_mechanics.md
  • devlog/_plan/260913_lane_stack_merge/010_wave1.md
  • devlog/_plan/260913_lane_stack_merge/020_wave2.md
  • devlog/_plan/260913_lane_stack_merge/030_tip_and_regression.md
  • devlog/_plan/260913_lane_stack_merge/040_issue_closure.md
  • devlog/_plan/260913_lane_stack_merge/050_outcome.md
  • devlog/_plan/260913_missing_coauthor_credits/000_plan.md
  • devlog/_plan/260913_missing_coauthor_credits/001_scan_evidence.md
  • devlog/_plan/260913_missing_coauthor_credits/010_inventory_freeze.md
  • devlog/_plan/260913_missing_coauthor_credits/020_credits_update.md
  • devlog/_plan/260913_missing_coauthor_credits/030_pr_merge.md
  • devlog/_plan/260913_model_availability_errors/000_summary.md
  • devlog/_plan/260913_model_picker_grouping_and_effort/000_plan.md
  • devlog/_plan/260913_model_picker_grouping_and_effort/010_devin_effort_ladder.md
  • docs-site/astro.config.mjs
  • docs-site/src/content/docs/fr/guides/claude-code.md
  • docs-site/src/content/docs/fr/guides/codex-app-models.md
  • docs-site/src/content/docs/fr/guides/codex-integration.md
  • docs-site/src/content/docs/fr/guides/combos.md
  • docs-site/src/content/docs/fr/guides/providers.md
  • docs-site/src/content/docs/fr/guides/web-dashboard.md
  • docs-site/src/content/docs/fr/reference/adapters.md
  • docs-site/src/content/docs/fr/reference/architecture.md
  • docs-site/src/content/docs/fr/reference/cli/agents.md
  • docs-site/src/content/docs/fr/reference/cli/lifecycle.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/providers.md
  • docs-site/src/content/docs/fr/reference/configuration/routing.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/guides/claude-code.md
  • docs-site/src/content/docs/guides/codex-app-models.md
  • docs-site/src/content/docs/guides/codex-integration.md
  • docs-site/src/content/docs/guides/combos.md
  • docs-site/src/content/docs/guides/model-ordering.md
  • docs-site/src/content/docs/guides/opencode.md
  • docs-site/src/content/docs/guides/providers.md
  • docs-site/src/content/docs/guides/remote-hub.md
  • docs-site/src/content/docs/guides/remote-workspace.md
  • docs-site/src/content/docs/guides/sub-agent-surface.md
  • docs-site/src/content/docs/guides/subagent-v1-default.md
  • docs-site/src/content/docs/guides/web-dashboard.md
  • docs-site/src/content/docs/ja/guides/claude-code.md
  • docs-site/src/content/docs/ja/guides/codex-app-models.md
  • docs-site/src/content/docs/ja/guides/codex-integration.md
  • docs-site/src/content/docs/ja/guides/combos.md
  • docs-site/src/content/docs/ja/guides/providers.md
  • docs-site/src/content/docs/ja/guides/web-dashboard.md
  • docs-site/src/content/docs/ja/reference/adapters.md
  • docs-site/src/content/docs/ja/reference/architecture.md
  • docs-site/src/content/docs/ja/reference/cli/agents.md
  • docs-site/src/content/docs/ja/reference/cli/lifecycle.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/providers.md
  • docs-site/src/content/docs/ja/reference/configuration/routing.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/guides/codex-app-models.md
  • docs-site/src/content/docs/ko/guides/codex-integration.md
  • docs-site/src/content/docs/ko/guides/combos.md
  • docs-site/src/content/docs/ko/guides/opencode.md
  • docs-site/src/content/docs/ko/guides/providers.md
  • docs-site/src/content/docs/ko/guides/remote-hub.md
  • docs-site/src/content/docs/ko/guides/web-dashboard.md
  • docs-site/src/content/docs/ko/reference/adapters.md
  • docs-site/src/content/docs/ko/reference/architecture.md
  • docs-site/src/content/docs/ko/reference/cli/agents.md
  • docs-site/src/content/docs/ko/reference/cli/lifecycle.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/providers.md
  • docs-site/src/content/docs/ko/reference/configuration/routing.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/architecture.md
  • docs-site/src/content/docs/reference/cli.md
  • docs-site/src/content/docs/reference/cli/agents.md
  • docs-site/src/content/docs/reference/cli/lifecycle.md
  • docs-site/src/content/docs/reference/cli/providers-accounts.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/routing.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/guides/codex-app-models.md
  • docs-site/src/content/docs/ru/guides/codex-integration.md
  • docs-site/src/content/docs/ru/guides/combos.md
  • docs-site/src/content/docs/ru/guides/providers.md
  • docs-site/src/content/docs/ru/guides/web-dashboard.md
  • docs-site/src/content/docs/ru/reference/adapters.md
  • docs-site/src/content/docs/ru/reference/architecture.md
  • docs-site/src/content/docs/ru/reference/cli/agents.md
  • docs-site/src/content/docs/ru/reference/cli/lifecycle.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/providers.md
  • docs-site/src/content/docs/ru/reference/configuration/routing.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/guides/codex-app-models.md
  • docs-site/src/content/docs/tr/guides/codex-integration.md
  • docs-site/src/content/docs/tr/guides/combos.md
  • docs-site/src/content/docs/tr/guides/providers.md
  • docs-site/src/content/docs/tr/guides/web-dashboard.md
  • docs-site/src/content/docs/tr/reference/adapters.md
  • docs-site/src/content/docs/tr/reference/architecture.md
  • docs-site/src/content/docs/tr/reference/cli/agents.md
  • docs-site/src/content/docs/tr/reference/cli/lifecycle.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/providers.md
  • docs-site/src/content/docs/tr/reference/configuration/routing.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/guides/codex-app-models.md
  • docs-site/src/content/docs/zh-cn/guides/codex-integration.md
  • docs-site/src/content/docs/zh-cn/guides/combos.md
  • docs-site/src/content/docs/zh-cn/guides/providers.md
  • docs-site/src/content/docs/zh-cn/guides/sub-agent-surface.md
  • docs-site/src/content/docs/zh-cn/guides/web-dashboard.md
  • docs-site/src/content/docs/zh-cn/reference/adapters.md
  • docs-site/src/content/docs/zh-cn/reference/architecture.md
  • docs-site/src/content/docs/zh-cn/reference/cli/agents.md
  • docs-site/src/content/docs/zh-cn/reference/cli/lifecycle.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/providers.md
  • docs-site/src/content/docs/zh-cn/reference/configuration/routing.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/guides/codex-app-models.md
  • docs-site/src/content/docs/zh-tw/guides/codex-integration.md
  • docs-site/src/content/docs/zh-tw/guides/combos.md
  • docs-site/src/content/docs/zh-tw/guides/providers.md
  • docs-site/src/content/docs/zh-tw/guides/web-dashboard.md
  • docs-site/src/content/docs/zh-tw/reference/adapters.md
  • docs-site/src/content/docs/zh-tw/reference/architecture.md
  • docs-site/src/content/docs/zh-tw/reference/cli/agents.md
  • docs-site/src/content/docs/zh-tw/reference/cli/lifecycle.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/providers.md
  • docs-site/src/content/docs/zh-tw/reference/configuration/routing.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
  • docs/pr-assets/codex-spark-retirement/README.md
  • gui/public/provider-icons/README.md
  • gui/src/App.tsx
  • gui/src/account-pool-strategy.ts
  • gui/src/api.ts
  • gui/src/app-routing.ts
  • gui/src/audio-api-client.ts
  • gui/src/audio-api-examples.ts
  • gui/src/components/AccountPoolStrategyControls.tsx
  • gui/src/components/AddProviderModal.tsx
  • gui/src/components/CodexAccountPool.tsx
  • gui/src/components/CodexAutoSwitchSetting.tsx
  • gui/src/components/CodexPoolStrategySetting.tsx
  • gui/src/components/SubagentSurfaceWarningModal.tsx
  • gui/src/components/apikeys-workspace/ApiKeysListPanel.tsx
  • gui/src/components/apikeys-workspace/ApiKeysWorkspace.tsx
  • gui/src/components/apikeys-workspace/AudioApiPanel.tsx
  • gui/src/components/codex-account-pool-cards.tsx
  • gui/src/components/codex-account-pool-main-card.tsx
  • gui/src/components/provider-workspace/ProviderAccountQuota.tsx
  • gui/src/components/provider-workspace/ProviderAuthPanel.tsx
  • gui/src/components/provider-workspace/ProviderWorkspaceShell.tsx
  • gui/src/components/provider-workspace/types.ts
  • gui/src/components/section-tabs.tsx
  • gui/src/components/usage-incomplete-notice.tsx
  • gui/src/components/use-main-device-reauth.ts
  • gui/src/connect-pairing-transport.ts
  • gui/src/connect-pairing.ts
  • gui/src/connect-pairing.tsx
  • gui/src/hooks/useCodexAccountPool.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/zh-TW.ts
  • gui/src/i18n/zh.ts
  • gui/src/pages/ApiKeys.tsx
  • gui/src/pages/Dashboard.tsx
  • gui/src/pages/Logs.tsx
  • gui/src/pages/Models.tsx
  • gui/src/pages/RemoteWorkspace.tsx
  • gui/src/pages/Subagents.tsx
  • gui/src/pages/Usage.tsx
  • gui/src/pages/api-keys-utils.ts
  • gui/src/pages/dashboard-core-poll.ts
  • gui/src/pages/dashboard-dialogs.tsx
  • gui/src/pages/dashboard-overview-head.tsx
  • gui/src/pages/dashboard-overview-sections.tsx
  • gui/src/pages/dashboard-shared.ts
  • gui/src/pages/models-shared.ts
  • gui/src/pages/providers-shared.ts
  • gui/src/pages/use-dashboard-data.ts
  • gui/src/pages/use-subagent-delegation.ts
  • gui/src/provider-icons.ts
  • gui/src/remote-workspace-command.ts
  • gui/src/styles-apikeys-workspace.css
  • gui/src/styles-remote-workspace.css
  • gui/src/styles.css
  • gui/src/subagent-surface.ts
  • gui/src/usage-summary-resource.ts
  • gui/tests/account-pool-strategy.test.tsx
  • gui/tests/api-auth-memory.test.ts
  • gui/tests/apikeys-workspace.test.tsx
  • gui/tests/audio-api-client.test.ts
  • gui/tests/audio-api-panel.test.tsx
  • gui/tests/codex-account-pool-pinned-badge.test.tsx
  • gui/tests/codex-set-actions-relocation.test.ts
  • gui/tests/codex-set-page-head-wrap.test.ts
  • gui/tests/connect-pairing.test.ts
  • gui/tests/dashboard-connection-state.test.ts
  • gui/tests/dashboard-resource-deadline.test.tsx
  • gui/tests/fr-localization.test.ts
  • gui/tests/locale-parity.test.ts
  • gui/tests/main-account-hard-lock-setting.test.tsx
  • gui/tests/main-device-reauth.test.tsx
  • gui/tests/model-picker-order-editor.test.tsx
  • gui/tests/models-keep-native-v1-placement.test.ts
  • gui/tests/provider-account-quota-loading.test.tsx
  • gui/tests/provider-current-quota.test.tsx
  • gui/tests/remote-workspace.test.tsx
  • gui/tests/section-tabs-scroll-lock.test.tsx
  • gui/tests/sidebar-rows.test.ts
  • gui/tests/subagent-surface-warning.test.tsx
  • gui/tests/usage-custom-range.test.tsx
  • gui/tests/usage-incomplete-consumers.test.tsx
  • native/remote-workspace-helper/Cargo.toml
  • native/remote-workspace-helper/src/main.rs
  • native/remote-workspace-helper/src/protocol.rs
  • native/remote-workspace-helper/src/sandbox/macos.rs
  • native/remote-workspace-helper/src/sandbox/mod.rs
  • native/remote-workspace-helper/src/sandbox/windows.rs
  • native/remote-workspace-helper/tests/live_confinement.rs
  • package.json
  • scripts/test-layout/layout.json
  • skills/ocx/references/01_management_surface.md
  • src/adapters/anthropic-image-normalize.ts
  • src/adapters/anthropic.ts
  • src/adapters/base.ts
  • src/adapters/cursor.ts
  • src/adapters/cursor/cursor-errors.ts
  • src/adapters/cursor/thread-continuity.ts
  • src/adapters/devin-cli/acp.ts
  • src/adapters/devin-cli/adapter.ts
  • src/adapters/devin-cli/binary.ts
  • src/adapters/devin-cli/models.ts
  • src/adapters/devin.ts
  • src/adapters/devin/cloud-direct/chat.ts
  • src/adapters/devin/cloud-direct/metadata.ts
  • src/adapters/devin/live-models.ts
  • src/adapters/google-wire-compiler.ts
  • src/adapters/google.ts
  • src/adapters/kiro.ts
  • src/adapters/kiro/adapter.ts
  • src/adapters/kiro/conversation.ts
  • src/adapters/kiro/payload.ts
  • src/adapters/kiro/reasoning.ts
  • src/adapters/kiro/stream.ts
  • src/adapters/kiro/usage.ts
  • src/adapters/kiro/wire.ts
  • src/adapters/mimo-free.ts
  • src/adapters/openai-chat-images.ts
  • src/adapters/openai-chat.ts
  • src/adapters/openai-responses.ts
  • src/adapters/registry.ts
  • src/adapters/run-turn-queue.ts
  • src/bridge.ts
  • src/chat/inbound.ts
  • src/chat/outbound.ts
  • src/claude/desktop-profile.ts
  • src/cli/account-api.ts
  • src/cli/account-extended.ts
  • src/cli/account-history.ts
  • src/cli/account-main.ts
  • src/cli/account.ts
  • src/cli/capabilities.ts
  • src/cli/catalog.ts
  • src/cli/dispatch.ts
  • src/cli/help.ts
  • src/cli/index.ts
  • src/cli/observe.ts
  • src/cli/opencode.ts
  • src/cli/provider-runtime.ts
  • src/cli/provider.ts
  • src/cli/registry.ts
  • src/cli/remote-workspace.ts
  • src/cli/status.ts
  • src/cli/usage-report.ts
  • src/client/hub-client.ts
  • src/client/hub-state.ts
  • src/codex/account-store.ts
  • src/codex/auth-api.ts
  • src/codex/auth-context.ts
  • src/codex/catalog/effort.ts
  • src/codex/catalog/metadata.ts
  • src/codex/catalog/native-models.ts
  • src/codex/catalog/parsing.ts
  • src/codex/catalog/provider-fetch.ts
  • src/codex/catalog/remote.ts
  • src/codex/catalog/sync.ts
  • src/codex/convergence.ts
  • src/codex/history-manifest.ts
  • src/codex/history-provider.ts
  • src/codex/inject.ts
  • src/codex/main-account.ts
  • src/codex/main-device-reauth-api.ts
  • src/codex/main-device-reauth.ts
  • src/codex/native-residue.ts
  • src/codex/quota-auto-refresh.ts
  • src/codex/quota-capacity.ts
  • src/codex/quota-history.ts
  • src/codex/quota-types.ts
  • src/codex/quota.ts
  • src/codex/refresh.ts
  • src/codex/routing.ts
  • src/codex/sync.ts
  • src/combos/request.ts
  • src/config.ts
  • src/config/multi-agent-surface.ts
  • src/config/provider-validation.ts
  • src/images/loop.ts
  • src/lib/admission.ts
  • src/lib/redact.ts
  • src/lib/translator-budget.ts
  • src/lib/windows-atomic-replace.ts
  • src/lib/windows-elevation.ts
  • src/oauth/chatgpt-device.ts
  • src/oauth/devin-cli.ts
  • src/oauth/devin.ts
  • src/oauth/devin/cli-import.ts
  • src/oauth/index.ts
  • src/oauth/kiro.ts
  • src/oauth/login-cli.ts
  • src/oauth/meta-muse-device.ts
  • src/oauth/meta-muse.ts
  • src/oauth/pool-kernel.ts
  • src/oauth/pool-settings-capability.ts
  • src/oauth/store.ts
  • src/oauth/types.ts
  • src/providers/derive.ts
  • src/providers/devin-cli-authmode-migration.ts
  • src/providers/devin-provider-merge-migration.ts
  • src/providers/muse-key-quota.ts
  • src/providers/muse-subscription-usage.ts
  • src/providers/openai-sidecar.ts
  • src/providers/opencode-zen-rate-limit.ts
  • src/providers/provider-id-rewrite.ts
  • src/providers/quota-types.ts
  • src/providers/quota.ts
  • src/providers/reasoning-metadata.ts
  • src/providers/registry.ts
  • src/reasoning-effort.ts
  • src/remote-control/index.ts
  • src/remote-control/workspace-activation.ts
  • src/remote-control/workspace-agent-connection.ts
  • src/remote-control/workspace-claude-runtime.ts
  • src/remote-control/workspace-codex-runtime.ts
  • src/remote-control/workspace-codex-sandbox.ts
  • src/remote-control/workspace-command-runner.ts
  • src/remote-control/workspace-coordinator.ts
  • src/remote-control/workspace-device.ts
  • src/remote-control/workspace-executable.ts
  • src/remote-control/workspace-executor.ts
  • src/remote-control/workspace-hub.ts
  • src/remote-control/workspace-pi-runtime.ts
  • src/remote-control/workspace-process.ts
  • src/remote-control/workspace-rpc.ts
  • src/remote-control/workspace-runtime.ts
  • src/remote-control/workspace-secret-store.ts
  • src/remote-control/workspace-sessions.ts
  • src/remote-control/workspace-tool-bridge.ts
  • src/remote/hub-usage.ts
  • src/responses/code-mode-helper-compat.ts
  • src/responses/hosted-tool-policy.ts
  • src/responses/muse-tool-name-alias.ts
  • src/responses/plaintext-v2-agent-messages.ts
  • src/router.ts
  • src/routing/compatibility/behavior.ts
  • src/server/audio-client.ts
  • src/server/audio-dictation.ts
  • src/server/audio-live.ts
  • src/server/audio-transcriptions.ts
  • src/server/audio-upstream.ts
  • src/server/auth-cors.ts
  • src/server/chat-completions.ts
  • src/server/chat-native-sse.ts
  • src/server/chat-native.ts
  • src/server/hub-usage.ts
  • src/server/images.ts
  • src/server/index.ts
  • src/server/lifecycle.ts
  • src/server/live-call-bindings.ts
  • src/server/live.ts
  • src/server/management-api.ts
  • src/server/management/agent-settings-routes.ts
  • src/server/management/api-access.ts
  • src/server/management/api-key-usage.ts
  • src/server/management/config-routes.ts
  • src/server/management/context.ts
  • src/server/management/logs-usage-routes.ts
  • src/server/management/oauth-account-routes.ts
  • src/server/management/provider-routes.ts
  • src/server/management/remote-workspace-routes.ts
  • src/server/management/route-registry.ts
  • src/server/management/usage-aggregate-cache.ts
  • src/server/management/usage-summary-cache.ts
  • src/server/ports.ts
  • src/server/relay-eager.ts
  • src/server/relay.ts
  • src/server/request-decompress.ts
  • src/server/responses-reasoning-summary-rewrite.ts
  • src/server/responses-self-named-namespace-scrub.ts
  • src/server/responses-undeclared-tool-guard.ts
  • src/server/responses/agent-task-recovery.ts
  • src/server/responses/codex-auth-error.ts
  • src/server/responses/codex-ws-exchange.ts
  • src/server/responses/codex-ws-wire.ts
  • src/server/responses/compact.ts
  • src/server/responses/core.ts
  • src/server/responses/encrypted-payload.ts
  • src/server/responses/ws-upstream.ts
  • src/server/search.ts
  • src/server/sse-payload-rewrite.ts
  • src/server/ws-bridge.ts
  • src/service.ts
  • src/service/cli.ts
  • src/service/diagnostics.ts
  • src/service/guards.ts
  • src/service/health.ts
  • src/service/launchd.ts
  • src/service/orchestration.ts
  • src/service/repair.ts
  • src/service/state.ts
  • src/service/systemd.ts
  • src/service/windows-ops.ts
  • src/service/windows-scheduler.ts
  • src/service/windows-taskxml.ts
  • src/storage/cleanup.ts
  • src/storage/cleanup/db.ts
  • src/storage/cleanup/execute.ts
  • src/storage/cleanup/paths.ts
  • src/storage/cleanup/pending.ts
  • src/storage/cleanup/preview.ts
  • src/storage/cleanup/reconcile.ts
  • src/storage/cleanup/restore.ts
  • src/storage/cleanup/satellite.ts
  • src/storage/cleanup/staging.ts
  • src/storage/cleanup/types.ts
  • src/types.ts
  • src/types/accounts.ts
  • src/types/config.ts
  • src/types/provider.ts
  • src/types/request.ts
  • src/types/tools.ts
  • src/usage/expected-prices.ts
  • src/usage/log.ts
  • src/vision/eligibility.ts
  • src/web-search/loop.ts
  • structure/INDEX.md
  • structure/adapters/registry.md
  • structure/catalog.md
  • structure/clients/claude-desktop.md
  • structure/clients/integrations.md
  • structure/codex-home.md
  • structure/config.md
  • structure/data-planes/images.md
  • structure/data-planes/inbound-compat.md
  • structure/data-planes/search.md
  • structure/design-methodology.md
  • structure/gui-and-management-api.md
  • structure/manifest.json
  • structure/ops/docs-and-release.md
  • structure/ops/service-and-sidecars.md
  • structure/overview.md
  • structure/providers/chat-compat.md
  • structure/providers/cursor.md
  • structure/providers/google.md
  • structure/providers/kiro.md
  • structure/providers/openai-tiers.md
  • structure/providers/xai-grok.md
  • structure/remote-workspace.md
  • structure/runtime.md
  • structure/subagents.md
  • structure/transports/byte-accounting.md
  • structure/transports/inventory.md
  • structure/transports/responses.md
  • structure/transports/streaming-health.md
  • tests/adapters/adapter-registry-authority.test.ts
  • tests/adapters/adapter-tool-conformance.test.ts
  • tests/adapters/anthropic/anthropic-image-normalize.test.ts
  • tests/adapters/bridge-legacy-shell-normalization.test.ts
  • tests/adapters/bridge-nonstreaming-terminal.test.ts
  • tests/adapters/bridge-raw-reasoning-hidden.test.ts
  • tests/adapters/bridge.test.ts
  • tests/adapters/google/google-adapter.test.ts
  • tests/adapters/google/google-wire-compiler.test.ts
  • tests/adapters/openai/openai-chat-hardening.test.ts
  • tests/adapters/openai/openai-chat-image-normalization.test.ts
  • tests/adapters/openai/openai-chat-native-policy.test.ts
  • tests/adapters/openai/openai-chat-system-order.test.ts
  • tests/adapters/translator-budget.test.ts
  • tests/ci-workflows/repo-hygiene.test.ts
  • tests/claude-integration/claude-context-windows.test.ts
  • tests/claude-integration/claude-model-info.test.ts
  • tests/cli/cli-account.test.ts
  • tests/cli/cli-headless-parity.test.ts
  • tests/cli/cli-native-profile.test.ts
  • tests/cli/cli-provider.test.ts
  • tests/cli/cli-ready.test.ts
  • tests/cli/cli-start-auxiliary-bind.test.ts
  • tests/cli/cli-status-hub-state.test.ts
  • tests/cli/cli-status-json.test.ts
  • tests/cli/cli-usage-hub.test.ts
  • tests/cli/cli-usage-report.test.ts
  • tests/cli/uninstall.test.ts
  • tests/clients/client-connect.test.ts
  • tests/clients/client-hub-usage.test.ts
  • tests/clients/client-machine-listener.test.ts
  • tests/clients/desktop-profile.test.ts
  • tests/clients/remote-workspace-activation.test.ts
  • tests/clients/remote-workspace-agent-wire.test.ts
  • tests/clients/remote-workspace-app-server.integration.test.ts
  • tests/clients/remote-workspace-claude.integration.test.ts
  • tests/clients/remote-workspace-cli-runtimes.test.ts
  • tests/clients/remote-workspace-cli.test.ts
  • tests/clients/remote-workspace-codex-runtime.test.ts
  • tests/clients/remote-workspace-command-runner.test.ts
  • tests/clients/remote-workspace-device.test.ts
  • tests/clients/remote-workspace-hub.test.ts
  • tests/clients/remote-workspace-linux-confinement.test.ts
  • tests/clients/remote-workspace-management.test.ts
  • tests/clients/remote-workspace-platform.test.ts
  • tests/clients/remote-workspace-secret-store.test.ts
  • tests/clients/remote-workspace-server.test.ts
  • tests/clients/remote-workspace-session-binding.test.ts
  • tests/clients/remote-workspace-sessions.test.ts
  • tests/clients/remote-workspace-tool-bridge.test.ts
  • tests/clients/remote-workspace.test.ts
  • tests/codex-integration/catalog-remote-pull.test.ts
  • tests/codex-integration/catalog-vision-sidecar-modalities.test.ts
  • tests/codex-integration/codex-account-store.test.ts
  • tests/codex-integration/codex-auth-api.test.ts
  • tests/codex-integration/codex-auth-context.test.ts
  • tests/codex-integration/codex-catalog-golden.test.ts
  • tests/codex-integration/codex-catalog-model-picker-order.test.ts
  • tests/codex-integration/codex-catalog-restore.test.ts
  • tests/codex-integration/codex-catalog-sync-hardening.test.ts
  • tests/codex-integration/codex-catalog.test.ts
  • tests/codex-integration/codex-convergence-account-selectors.test.ts
  • tests/codex-integration/codex-cooldown-recovery.test.ts
  • tests/codex-integration/codex-gather-authority.test.ts
  • tests/codex-integration/codex-history-provider.test.ts
  • tests/codex-integration/codex-inject-integration.test.ts
  • tests/codex-integration/codex-metadata-integrity.test.ts
  • tests/codex-integration/codex-model-availability-error.test.ts
  • tests/codex-integration/codex-pool-plan-exclusion.test.ts
  • tests/codex-integration/codex-pool-rotation.test.ts
  • tests/codex-integration/codex-quota-auto-refresh.test.ts
  • tests/codex-integration/codex-quota-capacity.test.ts
  • tests/codex-integration/codex-quota-history.test.ts
  • tests/codex-integration/codex-quota-parser-parity.test.ts
  • tests/codex-integration/codex-routing.test.ts
  • tests/codex-integration/codex-spark-visibility.test.ts
  • tests/codex-integration/codex-sync-api.test.ts
  • tests/codex-integration/combos.test.ts
  • tests/codex-integration/main-device-reauth-api.test.ts
  • tests/codex-integration/main-device-reauth.test.ts
  • tests/codex-integration/main-quota-provenance.test.ts
  • tests/codex-integration/model-pinned-effort.test.ts
  • tests/codex-integration/multi-agent-keep-native-v1.test.ts
  • tests/codex-integration/reasoning-metadata.test.ts
  • tests/codex-integration/reserve-quota-scope.test.ts
  • tests/config/client-config-export.test.ts
  • tests/config/config-load-degrade.test.ts
  • tests/fake-codex-server.ts
  • tests/fixtures/fake-claude-stream.ts
  • tests/fixtures/test-layout-expected.json
  • tests/gui/main-device-reauth-ui.test.ts
  • tests/gui/rate-limit-reset-credits.test.ts
  • tests/helpers/management-route-scan.ts
  • tests/images/loop.test.ts
  • tests/lib/debug.test.ts
  • tests/lib/redact.test.ts
  • tests/oauth/chatgpt-device-auth.test.ts
  • tests/oauth/oauth-accounts-api.test.ts
  • tests/oauth/oauth-upsert-preserves-api-key.test.ts
  • tests/providers/cursor/cursor-adapter.test.ts
  • tests/providers/cursor/cursor-continuity-retention.test.ts
  • tests/providers/devin-adapter.test.ts
  • tests/providers/devin-cli-adapter.test.ts
  • tests/providers/devin-cli-authmode-migration.test.ts
  • tests/providers/devin-cli-login.test.ts
  • tests/providers/devin-effort-ladder.test.ts
  • tests/providers/devin-hardening.test.ts
  • tests/providers/devin-login.test.ts
  • tests/providers/devin-prompt-cache.test.ts
  • tests/providers/devin-provider-merge-migration.test.ts
  • tests/providers/devin-stream-deadline.test.ts
  • tests/providers/kiro/kiro-oauth.test.ts
  • tests/providers/kiro/kiro-review-regressions.test.ts
  • tests/providers/meta-muse-device.test.ts
  • tests/providers/meta-muse-login-order.test.ts
  • tests/providers/muse-key-quota.test.ts
  • tests/providers/muse-tool-name-alias.test.ts
  • tests/providers/opencode-cli.test.ts
  • tests/providers/opencode-go-luna-wire.test.ts
  • tests/providers/opencode-management-transport.test.ts
  • tests/providers/opencode-zen-rate-limit.test.ts
  • tests/providers/provider-account-quota.test.ts
  • tests/providers/provider-id-rewrite.test.ts
  • tests/providers/provider-quota.test.ts
  • tests/providers/provider-registry-parity.test.ts
  • tests/providers/xai/grok-lifecycle.test.ts
  • tests/responses/chat-completions-endpoint.test.ts
  • tests/responses/chat-json-sse-fallback.test.ts
  • tests/responses/chat-refusal-scope.test.ts
  • tests/responses/legacy-shell-compat.test.ts
  • tests/responses/openai-responses-passthrough.test.ts
  • tests/responses/passthrough-abort.test.ts
  • tests/responses/passthrough-headers.test.ts
  • tests/responses/plaintext-v2-agent-messages.test.ts
  • tests/responses/responses-account-label.test.ts
  • tests/responses/responses-compaction-routing.test.ts
  • tests/responses/responses-console-go-upload-retry.test.ts
  • tests/responses/responses-muse-tool-name-alias.test.ts
  • tests/responses/responses-reasoning-effort-downgrade.test.ts
  • tests/responses/responses-reasoning-summary-passthrough.test.ts
  • tests/responses/responses-reasoning-summary-rewrite.test.ts
  • tests/responses/responses-self-named-namespace-scrub.test.ts
  • tests/responses/responses-show-thinking-summary.test.ts
  • tests/responses/responses-undeclared-tool-guard.test.ts
  • tests/responses/sse-failed-tail.test.ts
  • tests/responses/sse-payload-rewrite.test.ts
  • tests/responses/ws-failure-stage.test.ts
  • tests/responses/ws-upstream-reuse.test.ts
  • tests/responses/ws-upstream.test.ts
  • tests/routing/fastwire-policy.test.ts
  • tests/routing/subagent-fallback-handle-responses.test.ts
  • tests/routing/subagent-model-fallback.test.ts
  • tests/server/account-pool-management-api.test.ts
  • tests/server/agent-task-recovery-security.test.ts
  • tests/server/agent-task-recovery.test.ts
  • tests/server/api-access-endpoints.test.ts
  • tests/server/api-key-attribution.test.ts
  • tests/server/api-usage.test.ts
  • tests/server/audio-client.test.ts
  • tests/server/audio-dictation.test.ts
  • tests/server/audio-transcriptions.test.ts
  • tests/server/config.test.ts
  • tests/server/hub-usage.test.ts
  • tests/server/live-call-bindings.test.ts
  • tests/server/loopback-listener-integration.test.ts
  • tests/server/management-provider-validation.test.ts
  • tests/server/management-route-registry.test.ts
  • tests/server/plaintext-v2-agent-messages-server.test.ts
  • tests/server/ports.test.ts
  • tests/server/server-auth.test.ts
  • tests/server/server-combo-failover-e2e.test.ts
  • tests/server/server-live.test.ts
  • tests/server/server-xai-chat-reasoning-streaming.test.ts
  • tests/server/startup-prompt.test.ts
  • tests/service/launchd-repair.test.ts
  • tests/service/service-tier-capability.test.ts
  • tests/service/service.test.ts
  • tests/service/systemd-install-cleanup-hardening.test.ts
  • tests/usage/request-decompress.test.ts
  • tests/usage/usage-aggregate-cache.test.ts
  • tests/usage/usage-cost.test.ts
  • tests/usage/usage-log-ws-stage.test.ts
  • tests/usage/usage-log.test.ts
  • tests/vision/vision-eligibility.test.ts
  • tests/vision/vision-routed.test.ts
  • tests/vision/vision-sidecar-e2e.test.ts
  • tests/vision/vision-text-only-predicate.test.ts
  • tests/web-search/web-search-passthrough-bridge.test.ts
  • tests/web-search/web-search.test.ts
  • tests/windows/windows-deploy-close-regressions.test.ts
  • tests/windows/windows-elevation.test.ts
  • tests/windows/windows-service-wrappers.test.ts

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.


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.

@github-actions github-actions Bot changed the title release: promote verified 2.53.0-preview.20260913 product tree to preview [WRONG BRANCH] release: promote verified 2.53.0-preview.20260913 product tree to preview Sep 13, 2026
@github-actions

github-actions Bot commented Sep 13, 2026

Copy link
Copy Markdown
Contributor

⏳ DRAFT

  • wrong target branch (preview); 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.

@github-actions
github-actions Bot marked this pull request as draft September 13, 2026 10:26
@lidge-jun lidge-jun changed the title [WRONG BRANCH] release: promote verified 2.53.0-preview.20260913 product tree to preview release: promote verified 2.53.0-preview.20260913 product tree to preview Sep 13, 2026
@lidge-jun
lidge-jun marked this pull request as ready for review September 13, 2026 10:30
@github-actions github-actions Bot changed the title release: promote verified 2.53.0-preview.20260913 product tree to preview [WRONG BRANCH] release: promote verified 2.53.0-preview.20260913 product tree to preview Sep 13, 2026
@github-actions
github-actions Bot marked this pull request as draft September 13, 2026 10:31
@lidge-jun

Copy link
Copy Markdown
Owner Author

Maintainer integration record: merging this preview promotion as repository owner. Exact-head verification: all required checks green on head b06e54c (ci aggregator, gates, test 1-4, macos 1-2, npm-global, keyring, docker smoke, hygiene, api usage; windows/macos-control skipped by changes-gate design). enforce-target fails as "wrong base (preview); missing UI screenshot" — a path-based false positive on the whole-product-tree promotion, identical to the failure on the 2.52.0 promotions #4406/#4407, which were merged the same way; title and body contain no UI keyword requiring a screenshot. Local suite NOT RUN per task rule; hosted exact-head CI is the gate. Tree invariant verified: the promoted tree differs from audited dev eb81eaa only in the package.json version line (independent reviewer Wegener, near-pass).

@lidge-jun
lidge-jun marked this pull request as ready for review September 13, 2026 10:38
@lidge-jun
lidge-jun merged commit 90ff8aa into preview Sep 13, 2026
34 of 37 checks passed
@lidge-jun
lidge-jun deleted the codex/release-2530-preview-20260913 branch September 13, 2026 10:38
@lidge-jun

Copy link
Copy Markdown
Owner Author

리뷰 · 우선순위 65 / 80

이 PR은 새 기능을 넣는 작업이 아닙니다. 이미 dev에서 검증해 둔 제품 트리 eb81eaaf8d를 **미리보기 채널 preview**로 올리는 출구입니다. 올리는 커밋 b06e54ca9는 그 검증 tip과 파일이 같고, package.json의 버전 한 줄만 2.53.0-preview.20260913으로 바꿉니다. 이 리뷰 컴퓨터에서 git diff --name-only eb81eaaf8d b06e54ca9를 다시 돌리면 나오는 파일은 정말 package.json 하나뿐입니다. 본문이 말한 “검증한 제품 트리와 같고 채널 버전만 다르다”는 말은 맞습니다.

감사 이야기도 본문과 맞습니다. origin/main..981b53e7d0 구간을 364커밋·15개 병렬 레인으로 훑었고, 승격을 막는 P0/P1은 없었다고 적혀 있습니다. 감사 중에 나온 수리 두 개는 이미 dev에 들어와 검증 tip에 포함되어 있습니다. #4496(라이브 사이드밴드 connect watchdog)과 #4497(채팅 이미지 파트 모양, Pi 어댑터 클라이언트의 스크린샷 읽기 복구)입니다. 승격을 막지 않는 후속 이슈 #4501·#4502·#4503도 열려 있고, 지금도 OPEN입니다. 호스티드 CI는 검증 tip eb81eaaf8d 런 34750934849가 success였고, 이 PR head도 필수 체크가 초록이었습니다. 로컬 suite는 메인테이너 규칙대로 안 돌린 상태입니다.

이 댓글을 쓰는 지금 이 PR은 이미 머지·태그·npm 발행까지 끝난 상태입니다. 머지 커밋은 90ff8aa1d(KST 2026-09-13 19:38), origin/preview tip도 그 머지입니다. GitHub 릴리스 v2.53.0-preview.20260913과 npm @bitkyc08/opencodex@2.53.0-preview.20260913이 보입니다. 짝인 #4507은 같은 검증 트리를 main2.53.0으로 올렸고, 태그 v2.53.0·npm 2.53.0도 있습니다. 지금 로컬 dev HEAD는 df7dc1be5이고 패키지 버전은 2.54.0입니다. 검증 tip eb81eaaf8d보다 약 28커밋 앞입니다. 그래서 이 컷은 지금 dev tip 전체를 미리보기로 미는 게 아니라, 어제 찍어 둔 2.53.0 미리보기 트리를 채널에 고정한 일입니다.

제목의 [WRONG BRANCH]enforce-target 빨간불은 이전 2.52.0 승격(#4406/#4407)과 같은 경로 게이트 오탐입니다. 기여 PR은 dev로 보내라는 규칙이, 채널 승격이 preview/main을 쓰는 경우를 잘못 막습니다. 오너가 통합 기록 댓글에서 그 점을 이미 적었고, UI 스크린샷 요구도 제품 트리 통째 승격에는 해당 없습니다. 봇 안내대로 base를 dev로 바꾸면 이번 승격이 깨집니다.

라인 - package.json 버전 줄 - 검증 tip 2.53.0 → 채널 2.53.0-preview.20260913만 바뀝니다. 트리 동일성 주장은 로컬에서 재확인했습니다.
경로/심볼 - 제목 [WRONG BRANCH] / enforce-target - preview 타깃 승격에 대한 게이트 오탐입니다. #4406/#4407과 같고, dev로 리타깃하면 안 됩니다.
경로/심볼 - #4501·#4502·#4503 - 감사 후속이며 승격 블로커는 아니라고 본문에 적혀 있습니다. 세 이슈 모두 아직 OPEN이라, 2.54 dev 작업과 별도로 추적이 남습니다.
경로/심볼 - 현재 dev df7dc1be5 (2.54.0) - 이 PR이 고정한 미리보기 컷보다 약 28커밋 앞습니다. 미리보기 채널을 다시 tip으로 끌어올릴지는 다음 승격 열차 문제입니다.
경로/심볼 - npm/태그 - 2.53.0-preview.20260913과 안정 2.53.0이 이미 보입니다. “발행 전” 상태가 아닙니다.

메인테이너의 판단이 필요한 지점

너의 추천
이미 preview에 머지·태그·npm까지 끝난 상태라 추가 머지 액션은 없습니다. 봇의 retarget-to-dev 안내는 무시하는 판단이 맞았습니다. 다음은 열린 후속 #4501/#4502/#4503 처리와, 필요하면 2.54 dev tip을 다음 미리보기 컷으로 올리는 열차입니다. 이 PR을 되돌리거나 닫을 이유는 없습니다.

이 댓글은 grok-bot이 작성했습니다

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.

6 participants