Skip to content

[WRONG BRANCH] release: 2.81.0 - #6771

Merged
lidge-jun merged 33 commits into
mainfrom
codex/promote-main-2.81.0
Oct 8, 2026
Merged

lidge-jun merged 33 commits into
mainfrom
codex/promote-main-2.81.0

Conversation

@lidge-jun

Copy link
Copy Markdown
Owner

Summary

Promote the dev candidate 53b83698480d7e09756131c75e57931d666fcab9 to main as stable 2.81.0. The candidate already carries 2.81.0 in all four version sources (package.json, desktop/src-tauri/Cargo.toml, Cargo.lock, tauri.conf.json), so the branch is the candidate plus an ours merge of origin/main; git diff 53b8369848 HEAD is empty and the branch tree equals the candidate tree bb97213376. Every dependency fix that main carried (MCP SDK 1.31.0, proxy-addr, fast-uri, ip-address, source-map-js) is already on the candidate at the same or newer version.

2.81.0 contents since v2.80.0 (32 first-parent landings):

Verification

  • Dispatched Cross-platform CI (lane=all) on the exact candidate 53b8369848: run 37823614163 (attempt 2 success, 31 success and 3 condition-skipped; attempt 1 failed only windows 8/9 on a teardown EPERM in server-management-auth.test.ts with the same signature as the scheduled main run 37668264606 on the published 2.80.0 code).
  • Each landing above passed exact-head PR CI before integration; fix(spend): preserve v1 pool history with bounded physical-send accounting #6763's last exact-head PR run is 37820522769.
  • Push-event Cross-platform CI and Service lifecycle on the merged main SHA, then the release.yml dry-run, gate publication.

Checklist

Release authorization: the repository owner asked on 2026-10-08 to finish the 2.81.0 train and complete the deployment.

github-actions Bot and others added 30 commits October 7, 2026 17:06
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
`ocx logs explain <id>` passed the pretty-printed route decision to
printData as a single entry. printData escapes control characters per
entry for terminal safety, so every line break was printed as a literal
`\x0a` and the whole decision came out on one line. Pass one entry per
line instead; values keep the same terminal-safety escaping, and --json
output is unchanged.
…6711)

* release: v2.33.0-preview.20260825

* release: v2.34.0-preview.20260827

* release: v2.36.0-preview.20260829

* fix(release): pass the bump job's permissions through the reusable-workflow call (#3262)

Both v2.40.0 release dispatches (33615174183 preview, 33615177849 main) died
at startup_failure: a workflow_call cannot grant its callee more than the
calling job holds, and dev-version-bump.yml's job declares contents+pull-
requests write. #3129 wired the call but never dispatched a release, so this
is its first live run. The caller job now declares exactly the callee's two
permissions; no other job in release.yml gains anything.

Co-authored-by: jun <jun@lidge.dev>
(cherry picked from commit 7ce0ba5)

* release: set preview channel version 2.48.0-preview.20260908

* release: set main channel version 2.48.0

* chore(release): promote 2.55.0-preview.20260914 to preview

Promotes the dev product snapshot 62f0222 to the preview train.

The 2.55.0 line carries the #4546 cost-guard work: one send budget per logical request with a
shared final-recovery reserve, zero-is-zero refusals with a typed error rather than a synthetic
502, compact and the Kiro inner retries admitted against that budget, a finite send ceiling per
root workflow with an interactive reserve a fan-out cannot take, and a healthy detour promoted on
transient-hold expiry instead of released cold.

The previous preview tip 2.54.0-preview.20260914 is already tagged and published and is outranked
by v2.54.0, so it could not be re-released; this is a new candidate rather than a re-cut.

* chore(release): promote the verified 2.55.0 product tree to main

Same product tree as preview 7bdd1b2 / 2.55.0-preview.20260914, which published successfully with its registry smoke green. Only package.json version differs.

* ci(release): expose Linux bundler diagnostics for stable artifacts

* fix(release): prepare stable platform bundles

* fix(desktop): carry native sidecar packaging repair to main (#5532)

* chore(ci): refresh main release verification (#5534)

* fix(release): carry lipo argument fix to main (#5537)

* fix(release): carry checksum and signature repair to main (#5546)

* fix(release): carry Windows checksum record support to main (#5552)

* fix(release): publish the GitHub release only after its verified assets attach (#5555) (#5558)

GitHub freezes a release when it is published, so the attach step's upload
came back HTTP 422 "Cannot upload assets to an immutable release". Every
release from v2.55.0 to v2.60.0 therefore shipped with zero assets and the
desktop updater had nothing to download.

Create the release as a draft and flip it to published in attach-release,
after the verified bundle is uploaded. Release notes still come from the
validated notes file written at creation.

* release: prepare 2.63.0 version metadata (#5612)

* release: prepare 2.69.0 version metadata

* fix(release): sign the packaged macOS keyring addons before notarization (#6271)

* fix(release): sign the packaged macOS keyring addons before notarization

Notarization rejected the 2.73.0 preview app: Resources/keyring/*.node, bundled
since #6161, were unsigned or ad-hoc and had no secure timestamp, and Tauri does
not sign files under Resources. Sign each darwin addon in place with the
Developer ID identity, hardened runtime and timestamp after the certificate
import and before tauri build, verify the result, and fail a real release that
lacks signing material.

* fix(release): match keyring signature fields without a pipe

(cherry picked from commit 11782ee)

* chore(release): 2.74.0

* fix: demote developer to user for OrcaSAQ-2 leading-system template

The OrcaSAQ-2-Cyber-27B GGUF pins the same chat-template contract as
Qwen3.8-27B — a non-leading `system` raises and `developer` is
unsupported — so translated requests carrying a mid-conversation
developer reminder failed upstream with a 500 template error. Widen
the leading-system matcher to the OrcaSAQ family (org prefix optional,
quant tag optional) so the reminder keeps its slot as `user`.

---------

Co-authored-by: JUN <bitkyc08@gmail.com>
Co-authored-by: jun <jun@junui-MacBookPro.local>
Co-authored-by: jun <jun@lidge.dev>
Co-authored-by: lidge-jun <243035832+lidge-jun@users.noreply.github.com>
Co-authored-by: t <a@b.com>
Co-authored-by: JUN <jun@lidgeai.com>
…arry #6655) (#6715)

Carry the optional Windows image-label omission and contract documentation from contributor PR #6655, with focused diagnostic and ownership regression coverage.

Co-authored-by: Epinephrine <luvs01@hanmail.net>
* fix(codex): renew main credit evidence before expiry

* test(codex): cover main credit evidence recovery

* fix(codex): distinguish stale credit evidence in refusal hints

* test(codex): use existing auth error response mapper

* test(codex): isolate main credit recovery generations

* docs(codex): explain historical credit spendability check

* fix(codex): renew opted-in main credits before expiry (#6692)

Restrict renewal to valid previously spendable identity-bound credit evidence
from three minutes of age. Prepare a token before WHAM and recheck eligibility.
Preserve reauth during passive renewal and identity retries, retaining pacing.
Remove the out-of-scope refusal-message and retry-hint changes from #6669.

Co-authored-by: AiriDea <28827642+AiriDea@users.noreply.github.com>

* fix(codex): preserve joiner auth behavior during passive renewal

---------

Co-authored-by: OpenCodex Tier Replay <opencodex-tier-replay@local.invalid>
Co-authored-by: JUN <jun@lidgeai.com>
Co-authored-by: AiriDea <28827642+AiriDea@users.noreply.github.com>
* fix(antigravity): rotate web-search validation refusals

* refactor(antigravity): share validation refusal predicate

* test(antigravity): assert cancelled refusal stays healthy

* fix: narrow Antigravity web-search rotation to structured refusals

Match ordinary dispatch gates, keep durable account health unchanged, and charge Antigravity sidecar rotations once per physical send.

Co-authored-by: 重音 <hi.baozheng@gmail.com>

* fix: preserve Antigravity search refusals and refund unsent hops

---------

Co-authored-by: JUN <jun@lidgeai.com>
* fix(claude): stop re-attaching the token footer as a user turn

* docs: align translated Claude token footer guidance
* fix(kiro): surface a dead refresh token as needing re-auth

* fix(oauth): project Kiro refresh attention in canonical health
…6724)

* fix(lifecycle): propose shorter restart drain grace

Separate the proposed two-second active/scoped-drain grace from the existing sixty-second cleanup watchdog and seventy-second replacement-readiness budget. Keep API and dashboard timing aligned, cover lifecycle timing and ownership with synthetic clocks, and document interrupted-execution uncertainty.

Proposal for owner review of the shared lifecycle default; does not authorize automatic replay or guarantee a two-second recovery.

Refs #6643

* feat(lifecycle): make shorter restart grace an explicit API option

Signed-off-by: BigHulk <happyhls@gmail.com>

* docs: describe explicit restart grace in localized API pages

Signed-off-by: BigHulk <happyhls@gmail.com>

* docs(api): clarify replacement readiness in French

* fix(lifecycle): cut turns at a sub-200ms restart grace without shortening the flush window

The restart drain always started 200ms after acceptance so the 202 response
could flush, which meant an explicit drainGraceMs below 200 cancelled active
turns late. Arm a separate early-cut timer at acceptance + grace for those
values; cleanup, listener stop and process exit still wait for the 200ms
flush window, and a pending veto cancels the timer. Default and >=200ms grace
arm nothing new.

Co-authored-by: Hulk <happyhls@gmail.com>

---------

Signed-off-by: BigHulk <happyhls@gmail.com>
Co-authored-by: Hulk <happyhls@gmail.com>
Map the upstream reasoning subset without changing inclusive output totals. Cover final cumulative SSE usage and buffered/streamed Chat and Responses projections.

Co-authored-by: Ingwannu <186453546+Ingwannu@users.noreply.github.com>
Co-authored-by: daehwanahn <31888220+daehwanahn@users.noreply.github.com>
… did not start (#6722)

* fix(server): serve the desktop bundle's dashboard from an ocx the app did not start

* test(server): cover every packaged dashboard layout, source fallback and absent resources
…ady revoked (#6707)

* fix(codex): stop refreshing pool accounts whose refresh grant is already revoked

A pool account whose refresh grant the token endpoint declared revoked or
expired is persisted with a terminal validation verdict, but passive quota
reads (dashboard polls, account listings, priming, recovery probes) still
called getValidCodexToken on every pass. With no cached quota, or with the
credits switch forcing a cache bypass, each pass POSTed the dead refresh token
again and logged the same `[codex] pool refresh: reauth status=401` line.

fetchPoolAccountQuota now answers those passive reads with the stored
`refresh_failed` reauthentication result and re-marks the generation-scoped
runtime flag, without a token request. An explicit dashboard refresh
(validatePending), a post-reset readback, and source-linked credentials still
probe. Any credential write or completed validation already drops the
terminal marker, so a re-login recovers the account as before.

* fix(codex): keep explicit admin refresh probing a dead pool grant

`POST /api/codex-auth/accounts/refresh` sets validatePending only for a
dashboard session, so `ocx account refresh` (a raw-admin POST) hit the new
dead-grant hold and made no token request. Thread a separate
explicitRefresh intent from that route through the account listing to
fetchPoolAccountQuota so any explicit refresh command retries the grant
once, without changing validatePending (inference consent stays GUI-only).

Passive reads stay held: GET listings including `?refresh=1`, dashboard
quota polls, priming, and recovery probes. Adds a raw-admin POST case next
to the GUI-session case.
Add opt-in `ocx message sessions` and `ocx message send` for exact loaded local Codex sessions (relates to #6478).

Submission sends one experimental `thread/queue/add` JSON-RPC over the same control-socket connection used for discovery and final revalidation, so message bodies never enter process arguments. The control socket and every ancestor directory must pass StrictModes-style ownership and permission checks. Receipts distinguish not_sent / queued / unknown (exit 1 / 0 / 3) and never replay an uncertain submission.

Also keeps scripts/test-layout/layout.json under the 2,000-line ratchet (dev was at 2,000) and normalizes Windows glob paths in the activation-boundary test.

Exact-head Cross-platform CI 37716039873 (attempt 2) passed at 7a39de1; independent security, correctness and final-head reviews approved.

Co-authored-by: JUN <jun@lidgeai.com>
Qoder can now return Codex-owned tool calls as Responses function_call and custom_tool_call items through a request-scoped stdio MCP catalog. Codex keeps approval, sandboxing and execution; Qoder's built-in tools stay disabled.

Maintainer hardening on top of the original bridge: Qoder-only history name projection (CodeBuddy unchanged), restricted store:false continuation for function and custom tool pairs that fails closed without valid provider-output provenance, init-handshake gating, translator-budget charging, one identity ledger for complete and partial tool calls, and independent bounds on distinct calls and open capture blocks.

Closes #5270
…atchet (#6733)

#6721 and #6724 each added one explicit registration and together took scripts/test-layout/layout.json to 2000 lines, over the 1999-line NEW_OVERSIZED ratchet, so file-size ratchet: repository fails on dev and on every PR's merge ref. Fold forty single-entry lines into four-per-line rows (the file's existing compact form). The parsed mapping is unchanged; the file drops to 1970 lines.
…ct (carry #6659) (#6725)

Carry #6659 without its new upload cap or idle/absolute deadlines. Close refused and early-replied unfinished uploads after the reply finishes: HTTP/1.1 discards remaining input and ends the socket gracefully (immediate destroy truncated large early replies), HTTP/2 sends RST_STREAM NO_ERROR after a complete response and CANCEL otherwise. Completed uploads and bodyless requests keep existing behavior, including keep-alive on generated 502s. Compact the claude-picker layout registrations to stay under the layout ratchet.

Co-authored-by: Epinephrine <luvs01@hanmail.net>
)

* feat: allow arbitrary HTTPS JEV decision endpoints

* fix(jev): keep exact HTTPS decision paths and refuse empty URL delimiters

Review follow-up on #6384:
- Reject URLs whose raw text carries an empty query, fragment, or userinfo
  delimiter; WHATWG URL drops those, so the parsed-field check missed them.
- Send an arbitrary HTTPS decision path exactly as configured (a trailing
  slash is significant); /systemone keeps its trailing-slash normalization.
  Discovery reports the same URL.
- Drop the runtime refusal of non-key authMode values. The decision request
  only ever carries the row's own apiKey, so the refusal protected nothing
  and made rows that the dashboard and save validation accept unusable at
  runtime. Cover oauth/local/forward rows sending only their own key.

* fix(jev): refuse control characters before the decision URL userinfo check

URL strips tab, CR and LF before parsing, so https:<TAB>//@host evaded the raw empty-userinfo check. Refuse any C0 control or DEL in the configured URL, and cover the validation and runtime send boundaries.

* chore(jev): drop the lint suppression on the control-character check

src/ is not linted for no-control-regex; src/protocols/dto.ts uses the same expression unsuppressed.

---------

Co-authored-by: Vadim Rogachyov <vadim.rogachyov@megafon.ru>
…(carry #6672) (#6729)

Stored API-key reveal now requires a dashboard session issued through pairing or a trusted Tailscale identity. Automatic loopback sessions and admin-token-only requests are refused, and the requirement is rechecked after the request body is read. The dashboard expires displayed values when the shared session is cleared or replaced, on browser or desktop-host hide, and on server switch. Successful create and rotate operations reconcile the key list through the sequenced resource refresh. The guides in all locales document the rules.

Carries and supersedes #6672.

Co-authored-by: luvs01 <27862058+luvs01@users.noreply.github.com>
)

* fix(runtime): pin Bun 1.4.2 so Windows streams survive Bun.fetch

* fix(ci): split Bun 1.4.2 runtime from 1.4.0 test runner

* fix(test): resolve pinned Bun runner outside package script PATH

* fix(test): cover remaining local Bun runner entrypoints

* fix(test): forward pinned runner termination signals

* fix(test): resync README manifest and keep layout.json under the ratchet
…nthropic inbound (#6732)

* fix(responses): relay undeclared passthrough tools for chat and anthropic

* test(layout): keep layout.json under the NEW_OVERSIZED cap after #6721

* test(responses): preserve CR framing coverage by inbound wire
…back to the task model (#6727)

* fix(catalog): keep Codex's auto-review model so reviews stop falling back to the task model

The canonical native catalog dropped codex-auto-review as an unsupported
bare Codex slug. Because model_catalog_json replaces Codex's entire catalog,
the approval reviewer could no longer find its preferred model and fell back
to the parent task model at Low effort.

Share the exact control-plane id set with routing and preserve or separately
backfill one hidden reviewer row whenever native OpenAI rows are included.
Keep its upstream reasoning metadata and exclude it from native synthesis,
account clones, picker ordering, public lists and override stamping. Preserve
provider/per-model/root reviewer precedence and non-OpenAI fallback behavior.

Cover all catalog writers, persisted duplicates, visibility, Low effort,
HTTP model lists, shared routing and override selection. Register the new
regression file in both layout inventories and document the contract.

* fix(catalog): skip the reviewer row when the pin lacks it

* fix(catalog): gate and version the hidden auto-review row

Project the internal reviewer before multi-agent mode normalization so
explicit v2 and native v1 exceptions apply in both catalog builders.
Keep it outside account clones, featured/picker ordering and effort synthesis.

Require an ordinary bare native OpenAI row in the final catalog before
preserving or backfilling a reviewer. Hidden natives count; Reserve,
account-only and native-less catalogs do not. Prune persisted orphan
reviewers after effort clamps and preserve the missing-pin skip fallback.

Add regression coverage for mode projection, suppressed/Reserve-only
native sets, account-only catalogs and orphan cleanup. Keep the three
CI-failing tests and their expectations unchanged.

* test(layout): compact two registrations to restore layout.json headroom
…carry #3833) (#6728)

Carries #3833 by @rrmlima onto current dev. Adds an opt-in Command Code client: `ocx commandcode` (alias `ocx cmd`), a Connect-page tab and `ocx export --client commandcode` write `provider.opencodex` into `~/.commandcode/providers.json` with `apiKey: false`, under whichever root the file already uses, with the existing snapshot, lock, drift, journal and restore guarantees.

On top of #3833: on Windows the store follows the client's `HOME ?? USERPROFILE` for the OS-default home; undoing a plural-root disable reports `current`; dashboard sync and Models-page saves refresh an owned block like `ocx sync`; Connect guide, CLI reference and Fast-row docs list Command Code in every locale; GUI keep-English allowlists and the reused provider mark are registered; test-layout registrations are compacted under the ratchet.

Supersedes #3833.

Co-authored-by: Rafael Moreira Lima <rrmlima@gmail.com>
…#6744)

* feat(anthropic): add Haiku 5.5 request contract

* feat(pricing): add Haiku 5.5 prompt bands and refresh Sonnet cache rates

* feat(catalog): seed Haiku 5.5 across Claude and harness providers

* chore(cursor): keep the Sonnet 5.5 note beside its own capability row

* docs(devlog): record the Haiku 5.5 plan, audit and live evidence
…tartup roots (#6748)

* test(claude): drain config-dir ACL hardening before removing picker-startup roots

* test(claude): attempt every picker-startup stop and root before rethrowing
…unt (#6753)

* docs: record 2.81.0 train recovery and publication gates

* docs-site: improve mobile homepage and keep GitHub stars visible
* fix(commandcode): bind restore requests to the selected client

* fix(commandcode): refuse unscoped restore on legacy proxies

* fix(cli): expose client-bound Command Code restore capability

* test(cli): assign Command Code capability to integration chapter
…6756)

* docs(commandcode): align home resolution and provider copy; clean test fixtures

* docs(commandcode): clarify validated Windows home in all affected notes
…l with a green Pool 2 mark (#6743)

Adds anthropic2 ("Anthropic · Pool 2"), a second builtin Anthropic OAuth provider that runs the same Anthropic implementation with its own account pool: separate credentials (browser OAuth only), pool settings, routing state, quota, usage labels and reset-grant journal. Helpers bind to an explicit or inherited pool and never fall back across pools; bare claude-* models stay on anthropic. Management API, CLI, catalog and dashboard accept the provider explicitly, and Pool 2 gets a green Claude mark.

Verified by hosted CI on 9445c48 (Cross-platform CI 37812949507) plus independent correctness, security and CodeRabbit reviews.
lidge-jun and others added 3 commits October 9, 2026 02:42
Moves devlog/_plan/261008_anthropic2_account_pool to devlog/_fin with an Outcome section recording #6743 (4222989), its exact-head CI, folded reviews and unverified scope.
…nting (#6763)

* fix(spend): keep OAuth logs out of pool identity

* fix(spend): preserve explicit historical pool continuity

Aggregate verified salted aliases without moving original balances; fail closed on unresolved pool history before dispatch. Preserve compatibility metadata in v1 checkpoints and document the supported rollback boundary.

Add synthetic cross-version, retention, durability, and rootless preflight coverage.

* fix(spend): honor verified pool merges and prepaid dispatches

Validate historical identity proposals atomically, retain exact reservation
ownership through child preflight, and record rooted continuity refusals once.

Add synthetic regressions for graph ordering, permit lifecycle and scope,
exact-limit recovery/combo dispatch, and refusal event accounting.

* fix(spend): attribute external reports to exact dispatch receipts

* fix(spend): report prepaid reset-only combo sends

* fix(spend): aggregate pool eviction once and sync locale guidance

* fix(spend): isolate legacy pool history and explain refusals

* wip(spend): checkpoint contract C carry of #6370

Recovery checkpoint of the in-progress contract C implementation so the lane
can continue from a managed worktree. Not review-ready; T1-T9, docs and
independent review remain.

Co-authored-by: Epinephrine <luvs01@hanmail.net>

* fix(spend): bind contract C accounting to physical executors

Preserve v1 ledger interpretation, durable seed settlement, actual transport coverage and one-invocation CLI accounting.

Co-authored-by: Epinephrine <luvs01@hanmail.net>

* test(kiro): provide complete retry permit cleanup stub

* fix(spend): isolate provider pools and completed tracker cleanup

Address the seven review threads with read-time provider self-binding, strict mapping destinations, owner-scoped reporter cleanup, deferred persistence recovery, reverse indexes, live roster refresh and compact refusal parity.

Co-authored-by: Epinephrine <luvs01@hanmail.net>

* fix(spend): retain accounting through policy activation and cleanup errors

Co-authored-by: Epinephrine <luvs01@hanmail.net>

* fix(spend): freeze request policy at first admission

Co-authored-by: Epinephrine <luvs01@hanmail.net>

* fix(spend): retain reported sends through ownership errors

Co-authored-by: Epinephrine <luvs01@hanmail.net>

* fix(spend): retry repair journal on observe-only admission

Flush pending ordinary repair records at each admission and preserve enforced durability refusal. Cover recovery through admission for settled and unknown usage with current and frozen readers.

Co-authored-by: Epinephrine <luvs01@hanmail.net>

---------

Co-authored-by: Epinephrine <luvs01@hanmail.net>
Co-authored-by: luvs01 <27862058+luvs01@users.noreply.github.com>
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, add credits to your account and enable them for code reviews in your settings.

@lidge-jun
lidge-jun requested a review from Ingwannu as a code owner October 8, 2026 19:24
@github-actions

github-actions Bot commented Oct 8, 2026

Copy link
Copy Markdown
Contributor

✅ Deterministic PR hygiene checks passed.

@coderabbitai

coderabbitai Bot commented Oct 8, 2026 •

Copy link
Copy Markdown
Contributor

Important

Review skipped

Too many files!

This PR contains 586 files, which is 286 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: Repository: lidge-jun/opencodex/.coderabbit.yaml
  • Review profile: ASSERTIVE
  • Plan: Advanced
  • Run ID: d04be3ba-9eeb-4876-9b7a-66c7009b1b79
📥 Commits

Reviewing files that changed from the base of the PR and between 250f17a and 54e6e26.

⛔ Files ignored due to path filters (4)
  • bun.lock is excluded by !**/*.lock
  • desktop/src-tauri/Cargo.lock is excluded by !**/*.lock
  • gui/public/provider-icons/claude-green.svg is excluded by !**/*.svg
  • src/generated/model-metadata.ts is excluded by !**/generated/**
📒 Files selected for processing (586)
  • .github/actions/setup-project-bun/action.yml
  • .github/workflows/ci.yml
  • .github/workflows/dev-version-bump.yml
  • CONTRIBUTING.md
  • Dockerfile
  • README.md
  • desktop/src-tauri/Cargo.toml
  • desktop/src-tauri/src/provider_icons.rs
  • desktop/src-tauri/tauri.conf.json
  • devlog/_fin/261008_anthropic2_account_pool/000_plan.md
  • devlog/_fin/261008_anthropic2_account_pool/010_identity_config_store.md
  • devlog/_fin/261008_anthropic2_account_pool/020_pool_runtime_dataplane.md
  • devlog/_fin/261008_anthropic2_account_pool/030_helpers_surfaces_gui.md
  • devlog/_fin/261008_anthropic2_account_pool/040_delivery.md
  • devlog/_fin/261008_anthropic2_account_pool/050_acceptance_map.md
  • devlog/_plan/261003_codex_local_messaging/000_scope_and_boundary.md
  • devlog/_plan/261003_codex_local_messaging/010_extraction_map.md
  • devlog/_plan/261003_codex_local_messaging/020_contract_and_test_matrix.md
  • devlog/_plan/261003_codex_local_messaging/030_foundation_implementation.md
  • devlog/_plan/261003_codex_local_messaging/040_command_implementation.md
  • devlog/_plan/261003_codex_local_messaging/050_cleanup_and_rebase_validation.md
  • devlog/_plan/261008_haiku_5_5_catalog/010_plan.md
  • devlog/_plan/261008_haiku_5_5_catalog/020_audit.md
  • devlog/_plan/261008_haiku_5_5_catalog/030_done.md
  • devlog/_plan/261008_haiku_5_5_catalog/030_implementation.md
  • devlog/_plan/261008_train_281_recovery/000_plan.md
  • devlog/_plan/261008_train_281_recovery/010_integration.md
  • devlog/_plan/261008_train_281_recovery/020_publication.md
  • docs-site/src/components/Header.astro
  • docs-site/src/components/Landing.astro
  • docs-site/src/content/docs/contributing.md
  • docs-site/src/content/docs/fr/contributing.md
  • docs-site/src/content/docs/fr/getting-started/quickstart.md
  • docs-site/src/content/docs/fr/guides/claude-code.md
  • docs-site/src/content/docs/fr/guides/integrations.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/cli/agents.md
  • docs-site/src/content/docs/fr/reference/configuration/providers.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/getting-started/quickstart.md
  • docs-site/src/content/docs/guides/claude-code.md
  • docs-site/src/content/docs/guides/codex-integration.md
  • docs-site/src/content/docs/guides/combos.md
  • docs-site/src/content/docs/guides/integrations.md
  • docs-site/src/content/docs/guides/providers.md
  • docs-site/src/content/docs/guides/remote-hub.md
  • docs-site/src/content/docs/guides/web-dashboard.md
  • docs-site/src/content/docs/ja/getting-started/quickstart.md
  • docs-site/src/content/docs/ja/guides/claude-code.md
  • docs-site/src/content/docs/ja/guides/integrations.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/cli/agents.md
  • docs-site/src/content/docs/ja/reference/configuration/providers.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/ko/getting-started/quickstart.md
  • docs-site/src/content/docs/ko/guides/claude-code.md
  • docs-site/src/content/docs/ko/guides/integrations.md
  • docs-site/src/content/docs/ko/guides/providers.md
  • docs-site/src/content/docs/ko/guides/web-dashboard.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/configuration/providers.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/reference/adapters.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/messaging.md
  • docs-site/src/content/docs/reference/cli/providers-accounts.md
  • docs-site/src/content/docs/reference/configuration.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/getting-started/quickstart.md
  • docs-site/src/content/docs/ru/guides/claude-code.md
  • docs-site/src/content/docs/ru/guides/integrations.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/cli/agents.md
  • docs-site/src/content/docs/ru/reference/configuration/providers.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/tr/contributing.md
  • docs-site/src/content/docs/tr/getting-started/quickstart.md
  • docs-site/src/content/docs/tr/guides/claude-code.md
  • docs-site/src/content/docs/tr/guides/integrations.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/cli/agents.md
  • docs-site/src/content/docs/tr/reference/configuration/providers.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/zh-cn/getting-started/quickstart.md
  • docs-site/src/content/docs/zh-cn/guides/claude-code.md
  • docs-site/src/content/docs/zh-cn/guides/codex-integration.md
  • docs-site/src/content/docs/zh-cn/guides/integrations.md
  • docs-site/src/content/docs/zh-cn/guides/providers.md
  • docs-site/src/content/docs/zh-cn/guides/web-dashboard.md
  • docs-site/src/content/docs/zh-cn/reference/cli/agents.md
  • docs-site/src/content/docs/zh-cn/reference/configuration/providers.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-tw/getting-started/quickstart.md
  • docs-site/src/content/docs/zh-tw/guides/claude-code.md
  • docs-site/src/content/docs/zh-tw/guides/integrations.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/cli/agents.md
  • docs-site/src/content/docs/zh-tw/reference/configuration/providers.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/data/github-stars.ts
  • docs-site/src/styles/custom.css
  • gui/package.json
  • gui/public/provider-icons/README.md
  • gui/src/api.ts
  • gui/src/app-routing.ts
  • gui/src/client-resource.ts
  • gui/src/components/apikeys-workspace/ApiKeysListPanel.tsx
  • gui/src/components/apikeys-workspace/ApiKeysWorkspace.tsx
  • gui/src/components/apikeys-workspace/client-config-clients.ts
  • gui/src/components/integration-marks.ts
  • gui/src/components/provider-workspace/AnthropicAccountPoolSettings.tsx
  • gui/src/components/provider-workspace/ProviderAuthPanel.tsx
  • gui/src/connect-pairing.tsx
  • gui/src/hooks/useAnthropicResetGrants.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/pt.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/oauth-tos-risk.ts
  • gui/src/pages/ApiKeys.tsx
  • gui/src/pages/Providers.tsx
  • gui/src/pages/api-keys-utils.ts
  • gui/src/pages/claude-code-sections.tsx
  • gui/src/pages/claude-code-sidecar.ts
  • gui/src/pages/claude-code-types.ts
  • gui/src/pages/claude-manual-env.ts
  • gui/src/pages/dashboard-overview-sections.tsx
  • gui/src/pages/dashboard-shared.ts
  • gui/src/pages/integrations/FileIntegrationPage.tsx
  • gui/src/pages/integrations/integration-api.ts
  • gui/src/pages/integrations/integration-tabs.ts
  • gui/src/pages/integrations/overview-clients.ts
  • gui/src/pages/providers-shared.ts
  • gui/src/pages/use-dashboard-data.ts
  • gui/src/pool-settings.ts
  • gui/src/provider-icons.ts
  • gui/src/provider-workspace/catalog.ts
  • gui/src/use-key-disclosure.ts
  • gui/tests/anthropic-instance-helper-controls.test.tsx
  • gui/tests/anthropic-reset-grants.test.tsx
  • gui/tests/anthropic2-provider-mark.test.ts
  • gui/tests/anthropic2-provider-surfaces.test.tsx
  • gui/tests/apikeys-actions.test.tsx
  • gui/tests/apikeys-reveal-pairing.test.tsx
  • gui/tests/apikeys-reveal-session.test.tsx
  • gui/tests/apikeys-row-actions.test.tsx
  • gui/tests/apikeys-workspace.test.tsx
  • gui/tests/claude-code-save.test.ts
  • gui/tests/claude-code-sidecar.test.ts
  • gui/tests/client-config-panel.test.tsx
  • gui/tests/client-resource-revalidate.test.tsx
  • gui/tests/fr-localization.test.ts
  • gui/tests/i18n-locales.test.ts
  • gui/tests/integrations-api.test.ts
  • gui/tests/integrations-overview-rows.test.ts
  • gui/tests/locale-parity.test.ts
  • gui/tests/provider-account-pause-refresh.test.tsx
  • package.json
  • readme/README.fr.md
  • readme/README.ja.md
  • readme/README.ko.md
  • readme/README.ru.md
  • readme/README.tr.md
  • readme/README.zh-CN.md
  • readme/README.zh-TW.md
  • readme/i18n-manifest.json
  • scripts/generate-ocx-skill-surface.ts
  • scripts/lib/test-runner-bun.ts
  • scripts/model-metadata.source.json
  • scripts/openai-provider-option-final-gates.ts
  • scripts/release.ts
  • scripts/test-layout/layout.json
  • scripts/test-layout/seeds.json
  • scripts/test-layout/verify.ts
  • scripts/test-with-pinned-bun.ts
  • scripts/test.ts
  • skills/ocx/references/01_management_surface.md
  • skills/ocx/references/01_surface_accounts.md
  • skills/ocx/references/01_surface_agents-routing.md
  • skills/ocx/references/01_surface_integrations.md
  • src/adapters/anthropic-model-contract.ts
  • src/adapters/anthropic.ts
  • src/adapters/codebuddy/mcp-server.ts
  • src/adapters/codebuddy/tool-bridge.ts
  • src/adapters/coding-agent/mcp-server.ts
  • src/adapters/coding-agent/protocol.ts
  • src/adapters/coding-agent/tool-catalog.ts
  • src/adapters/coding-agent/turn.ts
  • src/adapters/cursor/catalog.ts
  • src/adapters/cursor/effort-map.ts
  • src/adapters/devin/live-models.ts
  • src/adapters/kiro-retry.ts
  • src/adapters/openai-chat/messages.ts
  • src/adapters/physical-send.ts
  • src/adapters/qoder/adapter.ts
  • src/adapters/qoder/scaffold-guard.ts
  • src/adapters/zed.ts
  • src/claude/inbound-cache-stabilize.ts
  • src/claude/inbound.ts
  • src/claude/intercept/model-bindings.ts
  • src/claude/intercept/picker-listener.ts
  • src/cli/account-anthropic-threshold.ts
  • src/cli/account-api.ts
  • src/cli/account-extended.ts
  • src/cli/account-policy-dto.ts
  • src/cli/account-policy.ts
  • src/cli/account.ts
  • src/cli/capabilities-accounts.ts
  • src/cli/capabilities-agents-routing.ts
  • src/cli/capabilities-integrations.ts
  • src/cli/codex-shim-autorestore.ts
  • src/cli/dispatch.ts
  • src/cli/help.ts
  • src/cli/index.ts
  • src/cli/integration-plan-dto.ts
  • src/cli/integration-preview.ts
  • src/cli/integrations.ts
  • src/cli/message-args.ts
  • src/cli/message-command.ts
  • src/cli/message-runtime.ts
  • src/cli/observe.ts
  • src/cli/provider.ts
  • src/cli/registry.ts
  • src/clients/config-export.ts
  • src/clients/config-export/commandcode.ts
  • src/clients/config-export/contracts.ts
  • src/codex/auth-api/account-list.ts
  • src/codex/auth-api/main-account-probe.ts
  • src/codex/auth-api/pool-mode-gate.ts
  • src/codex/auth-api/pool-quota-probe.ts
  • src/codex/auth-api/routes.ts
  • src/codex/catalog/auto-review.ts
  • src/codex/catalog/build-entries.ts
  • src/codex/catalog/control-plane.ts
  • src/codex/catalog/effort.ts
  • src/codex/catalog/gather-capture.ts
  • src/codex/catalog/parsing.ts
  • src/codex/catalog/provider-models.ts
  • src/codex/control-plane-models.ts
  • src/combos/jev-decision-contract.ts
  • src/combos/jev.ts
  • src/combos/types.ts
  • src/config.ts
  • src/config/diagnostics.ts
  • src/config/load-degrade.ts
  • src/config/schema/anthropic-account-pool.ts
  • src/config/schema/config-schema.ts
  • src/config/schema/leaf-validators.ts
  • src/images/loop.ts
  • src/integrations/catalog-refresh.ts
  • src/integrations/mutation-plan.ts
  • src/integrations/registry.ts
  • src/integrations/state.ts
  • src/integrations/writer.ts
  • src/lib/lab-live-route-production.ts
  • src/lib/request-execution-budget.ts
  • src/lib/spend-pool-alias-validation.ts
  • src/lib/spend-pool-continuity.ts
  • src/lib/spend-reservation-ledger.ts
  • src/lib/state-store-registrations.ts
  • src/lib/upstream-retry.ts
  • src/lib/workflow-budget.ts
  • src/messaging/budget.ts
  • src/messaging/discovery.ts
  • src/messaging/envelope.ts
  • src/messaging/input.ts
  • src/messaging/rpc.ts
  • src/messaging/send.ts
  • src/messaging/socket.ts
  • src/messaging/types.ts
  • src/oauth/anthropic-account-refusal.ts
  • src/oauth/anthropic-account-threshold.ts
  • src/oauth/anthropic-continuity.ts
  • src/oauth/anthropic-model-quota.ts
  • src/oauth/anthropic-model-routes.ts
  • src/oauth/anthropic-oauth-definitions.ts
  • src/oauth/anthropic-pool-config.ts
  • src/oauth/anthropic-rate-limit-policy.ts
  • src/oauth/anthropic-routing.ts
  • src/oauth/anthropic-send-ownership.ts
  • src/oauth/anthropic.ts
  • src/oauth/generic-account-failover.ts
  • src/oauth/health.ts
  • src/oauth/index.ts
  • src/oauth/kiro.ts
  • src/oauth/login-cli.ts
  • src/oauth/model-discovery-auth.ts
  • src/oauth/pool-kernel.ts
  • src/oauth/pool-settings-capability.ts
  • src/oauth/store-anthropic-instance.ts
  • src/oauth/store.ts
  • src/oauth/token-guardian.ts
  • src/oauth/types.ts
  • src/protocols/plan-snapshot.ts
  • src/protocols/settings.ts
  • src/providers/anthropic-instance-id.ts
  • src/providers/anthropic-instance.ts
  • src/providers/anthropic-reset-grant-ledger.ts
  • src/providers/derive.ts
  • src/providers/kiro-models.ts
  • src/providers/label.ts
  • src/providers/model-rename-fields.ts
  • src/providers/quota.ts
  • src/providers/quota/account-cache.ts
  • src/providers/quota/anthropic-account-quota.ts
  • src/providers/quota/anthropic-cooldown-recovery.ts
  • src/providers/quota/report-cache.ts
  • src/providers/quota/vendor-probes-oauth.ts
  • src/providers/registry.ts
  • src/providers/registry/entries-core.ts
  • src/providers/registry/model-ids.ts
  • src/providers/registry/model-seeds.ts
  • src/providers/registry/types.ts
  • src/responses/spill-store.ts
  • src/responses/state.ts
  • src/responses/state/metrics.ts
  • src/responses/state/snapshot-codec.ts
  • src/responses/state/spill-queue.ts
  • src/responses/state/unforced-store-false.ts
  • src/router.ts
  • src/routing/compatibility/assemble.ts
  • src/routing/quota.ts
  • src/server/auth-cors.ts
  • src/server/chat-completions.ts
  • src/server/chat-native.ts
  • src/server/claude-messages.ts
  • src/server/gui-static.ts
  • src/server/index.ts
  • src/server/index/spend-ledger-lifecycle.ts
  • src/server/inference/context.ts
  • src/server/lifecycle.ts
  • src/server/management-auth.ts
  • src/server/management/agent-settings-routes.ts
  • src/server/management/anthropic-account-threshold.ts
  • src/server/management/anthropic-pool-settings.ts
  • src/server/management/anthropic-reset-grant-routes.ts
  • src/server/management/config-routes.ts
  • src/server/management/decision-routes.ts
  • src/server/management/integration-routes.ts
  • src/server/management/oauth-account-routes.ts
  • src/server/management/provider-instance-ownership.ts
  • src/server/management/provider-routes.ts
  • src/server/management/route-registry.ts
  • src/server/management/routing-profile-routes.ts
  • src/server/management/system-restart.ts
  • src/server/management/system-routes.ts
  • src/server/management/vision-sidecar-options.ts
  • src/server/management/web-search-sidecar-options.ts
  • src/server/messages-native-eligibility.ts
  • src/server/messages-native-oauth.ts
  • src/server/messages-native-selector.ts
  • src/server/messages-native.ts
  • src/server/request-log.ts
  • src/server/responses-undeclared-tool-guard.ts
  • src/server/responses/adapter-continuation.ts
  • src/server/responses/adapter-dispatch.ts
  • src/server/responses/antigravity-validation-refusal.ts
  • src/server/responses/compact.ts
  • src/server/responses/compaction-recovery.ts
  • src/server/responses/core-combo-native.ts
  • src/server/responses/core-combo.ts
  • src/server/responses/core-normalize.ts
  • src/server/responses/core-options.ts
  • src/server/responses/core-replay.ts
  • src/server/responses/passthrough-delivery.ts
  • src/server/responses/passthrough-dispatch.ts
  • src/server/responses/request-prepare.ts
  • src/server/responses/request-send-budget.ts
  • src/server/responses/request-spend.ts
  • src/server/responses/request-transport.ts
  • src/server/responses/run-turn-execution.ts
  • src/server/responses/sidecar-execution.ts
  • src/server/workflow-refusal.ts
  • src/service/ownership-mutation-lease.d.mts
  • src/service/ownership-mutation-lease.mjs
  • src/sidecar/anthropic-binding.ts
  • src/sidecar/auth.ts
  • src/types.ts
  • src/types/anthropic-account-pool.ts
  • src/types/config.ts
  • src/types/provider.ts
  • src/types/tools.ts
  • src/usage/cost.ts
  • src/usage/expected-prices.ts
  • src/vision/anthropic-describe.ts
  • src/vision/index.ts
  • src/vision/plan.ts
  • src/web-search/alpha-search.ts
  • src/web-search/anthropic-executor.ts
  • src/web-search/index.ts
  • src/web-search/loop.ts
  • src/web-search/passthrough-bridge.ts
  • src/web-search/sidecar-providers.ts
  • structure/INDEX.md
  • structure/catalog.md
  • structure/cli-management.md
  • structure/clients/claude-desktop.md
  • structure/clients/integrations.md
  • structure/config.md
  • structure/dashboard-and-usage.md
  • structure/data-planes/inbound-compat.md
  • structure/data-planes/protocol-paths.md
  • structure/decisions/ADR-6478-local-messaging-foundation.md
  • structure/decisions/ADR-6479-local-messaging-command.md
  • structure/gui-and-management-api.md
  • structure/local-messaging.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/jev-decision.md
  • structure/providers/kiro.md
  • structure/providers/openai-accounts.md
  • structure/providers/openai-tiers.md
  • structure/runtime.md
  • structure/transports/inventory.md
  • structure/transports/responses-failover.md
  • structure/transports/responses-spend.md
  • structure/transports/responses-wire-shapes.md
  • structure/transports/responses.md
  • tests/adapters/anthropic/anthropic-haiku-5-5-contract.test.ts
  • tests/adapters/anthropic/anthropic-instance-isolation.test.ts
  • tests/adapters/anthropic/anthropic-instance-pool-parity.test.ts
  • tests/adapters/anthropic/anthropic-instance-quota.test.ts
  • tests/adapters/anthropic/anthropic-instance-recovery.test.ts
  • tests/adapters/anthropic/anthropic-output-maxima.test.ts
  • tests/adapters/anthropic/anthropic-thinking-usage.test.ts
  • tests/adapters/anthropic/anthropic2-fast-parity.test.ts
  • tests/adapters/openai/openai-chat-qwen38-leading-system.test.ts
  • tests/adapters/physical-send.test.ts
  • tests/ci-workflows/ci-scope-gaps.test.ts
  • tests/ci-workflows/docs-bun-source-requirement.test.ts
  • tests/ci-workflows/docs-readme-memory-inventory.test.ts
  • tests/ci-workflows/install-scripts.test.ts
  • tests/ci-workflows/release-helper.test.ts
  • tests/ci-workflows/skill-ocx-generated.test.ts
  • tests/ci-workflows/test-runner-bun.test.ts
  • tests/claude-integration/anthropic2-native-routing.test.ts
  • tests/claude-integration/claude-inbound-cache-stabilize.test.ts
  • tests/claude-integration/claude-inbound-token-footer.test.ts
  • tests/claude-integration/claude-native-passthrough.test.ts
  • tests/claude-integration/claude-picker-startup.test.ts
  • tests/claude-integration/claude-picker-upload.test.ts
  • tests/claude-integration/claude-sidecar-override.test.ts
  • tests/claude-integration/messages-native-oauth.test.ts
  • tests/claude-integration/messages-native.test.ts
  • tests/cli/cli-anthropic2-account.test.ts
  • tests/cli/cli-dispatch.test.ts
  • tests/cli/cli-integration-preview.test.ts
  • tests/cli/route-explainability.test.ts
  • tests/clients/command-code-client-contract.test.ts
  • tests/clients/command-code-client.test.ts
  • tests/clients/integrations-state.test.ts
  • tests/clients/integrations-writer.test.ts
  • tests/clients/sync-client-integrations.test.ts
  • tests/codex-integration/anthropic2-catalog.test.ts
  • tests/codex-integration/catalog-auto-review-row.test.ts
  • tests/codex-integration/catalog-full-picker-order.test.ts
  • tests/codex-integration/codex-catalog-golden.test.ts
  • tests/codex-integration/codex-catalog-sync-hardening.test.ts
  • tests/codex-integration/main-account-credit-renewal.test.ts
  • tests/codex-integration/messaging-local-cli.test.ts
  • tests/codex-integration/messaging-local-discovery.test.ts
  • tests/codex-integration/messaging-local-envelope.test.ts
  • tests/codex-integration/messaging-local-lifecycle.test.ts
  • tests/codex-integration/messaging-local-send.test.ts
  • tests/codex-integration/messaging-local-socket.test.ts
  • tests/config/client-config-export-new-clients.test.ts
  • tests/config/client-config-export.test.ts
  • tests/config/config-anthropic-instance-pool.test.ts
  • tests/config/config-spend-ceilings.test.ts
  • tests/config/config-spend-pool-collision.test.ts
  • tests/fixtures/oauth-anthropic-instance-writer.ts
  • tests/fixtures/spend-ledger-2-80-0.ts.txt
  • tests/fixtures/test-layout-expected.json
  • tests/gui/combo-workspace-jev-decision.test.ts
  • tests/gui/gui-pair-http.test.ts
  • tests/gui/gui-static.test.ts
  • tests/gui/integrations-invariants.test.ts
  • tests/gui/provider-workspace-auth.test.ts
  • tests/helpers/anthropic-instance-fixture.ts
  • tests/helpers/messaging-local.ts
  • tests/helpers/pool-reauth-cause.ts
  • tests/helpers/shipped-spend-ledger.ts
  • tests/lib/ambiguous-resend-composition.test.ts
  • tests/lib/execution-budget-permits.test.ts
  • tests/lib/spend-ceiling-enforcement.test.ts
  • tests/lib/spend-contract-c.test.ts
  • tests/lib/spend-corruption-compat.test.ts
  • tests/lib/spend-experimental-history.test.ts
  • tests/lib/spend-pool-continuity.test.ts
  • tests/lib/spend-reservation-ledger.test.ts
  • tests/lib/spend-seed-overflow.test.ts
  • tests/lib/spend-unbound-expiry.test.ts
  • tests/lib/spend-zero-config-compat.test.ts
  • tests/lib/transient-budget-scope-source.test.ts
  • tests/oauth/anthropic2-discovery-ownership.test.ts
  • tests/oauth/generic-oauth-failover.test.ts
  • tests/oauth/oauth-anthropic-instance-health.test.ts
  • tests/oauth/oauth-anthropic-instance-multiprocess.test.ts
  • tests/oauth/oauth-anthropic-instance-refresh.test.ts
  • tests/oauth/oauth-anthropic-instance-registration.test.ts
  • tests/oauth/oauth-kiro-refresh-attention.test.ts
  • tests/oauth/state-store-sweeper.test.ts
  • tests/providers/claude-cli-adapter.test.ts
  • tests/providers/codebuddy-tool-bridge-turn.test.ts
  • tests/providers/cursor/cursor-catalog.test.ts
  • tests/providers/devin-adapter.test.ts
  • tests/providers/haiku-5-5-catalog.test.ts
  • tests/providers/kiro/kiro-adapter.test.ts
  • tests/providers/kiro/kiro-transport-parity.test.ts
  • tests/providers/provider-anthropic-instance-quota.test.ts
  • tests/providers/provider-anthropic-instance.test.ts
  • tests/providers/provider-registry-parity.test.ts
  • tests/providers/qoder-adapter.test.ts
  • tests/providers/qoder-mcp-server.test.ts
  • tests/providers/zed-hosted-provider.test.ts
  • tests/responses/anthropic2-responses-parity.test.ts
  • tests/responses/chat-native-combo.test.ts
  • tests/responses/chat-native-spend.test.ts
  • tests/responses/chat-sse-framing-guard.test.ts
  • tests/responses/passthrough-deferred-tools.test.ts
  • tests/responses/responses-compact-handoff-admission.test.ts
  • tests/responses/responses-compaction-recovery.test.ts
  • tests/responses/responses-core-modules.test.ts
  • tests/responses/responses-send-budget-errors.test.ts
  • tests/responses/responses-spend-anchor.test.ts
  • tests/responses/responses-spend-capacity-guard.test.ts
  • tests/responses/responses-spend-contract-c.test.ts
  • tests/responses/responses-spend-ledger-wiring.test.ts
  • tests/responses/responses-state-store-false.test.ts
  • tests/routing/always-on-429-failover.test.ts
  • tests/routing/fastwire-policy.test.ts
  • tests/routing/jev-decision-destination.test.ts
  • tests/routing/jev-decision-provider-combo.test.ts
  • tests/server/anthropic2-management.test.ts
  • tests/server/api-keys-routes.test.ts
  • tests/server/inference-send-budget.test.ts
  • tests/server/management-anthropic-reset-grants.test.ts
  • tests/server/management-integration-routes.test.ts
  • tests/server/management-sidecar-anthropic-instance.test.ts
  • tests/server/server-antigravity-web-search-validation.test.ts
  • tests/server/server-google-antigravity-oauth-429-budget.test.ts
  • tests/server/spend-ledger-lifecycle.test.ts
  • tests/server/system-restart-admission.test.ts
  • tests/service/ownership-mutation-lease-diagnostics.test.ts
  • tests/storage/storage-worker-teardown-isolate.test.ts
  • tests/test-layout-tooling.test.ts
  • tests/usage/anthropic2-usage-attribution.test.ts
  • tests/usage/usage-antigravity-55.test.ts
  • tests/usage/usage-cost.test.ts
  • tests/usage/usage-haiku-5-5-pricing.test.ts
  • tests/vision/vision-anthropic-instance-sidecar.test.ts
  • tests/vision/vision-anthropic.test.ts
  • tests/web-search/web-search-anthropic-instance.test.ts
  • tests/web-search/web-search-recovery-kind.test.ts

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

  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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

❤️ Share

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

@github-actions github-actions Bot changed the title release: 2.81.0 [WRONG BRANCH] release: 2.81.0 Oct 8, 2026
@github-actions

github-actions Bot commented Oct 8, 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.

@github-actions
github-actions Bot marked this pull request as draft October 8, 2026 19:24
Comment thread .github/workflows/ci.yml
Comment on lines +1299 to +1305
- name: Setup project Bun test runner
id: bun-test-runner
uses: ./.github/actions/setup-project-bun
with:
role: test-runner

- name: Require the test runner package.json declares
}

function tokenFingerprint(token: string): string | undefined {
return token.length > 0 ? createHash("sha256").update(token).digest("hex") : undefined;
@lidge-jun

Copy link
Copy Markdown
Owner Author

Maintainer release promotion evidence for 54e6e26d1e21d85421b079c150954bb2b8facda4 (tree bb97213376 = candidate 53b8369848).

  • Exact-head PR CI: Cross-platform CI 37831690195 attempt 3 success (35 success, 3 condition-skipped), Service lifecycle 37831690255 success, React Doctor 37831690308 success. Attempts 1 and 2 failed only on Windows shards: windows 8/9 on the server-management-auth.test.ts afterEach temp-tree removal (EPERM after the 16 s retry budget), windows 3/9 once on the picker metadata identity test (follow-up fix fix(claude): compare picker metadata file identity with BigInt stats #6772) and once on a catalog-remote-pull child that produced no output in 10 s. None of those files changed since v2.80.0; the same EPERM signature appeared on the 2026-10-07 scheduled main run 37668264606.
  • Candidate lane=all: Cross-platform CI 37823614163 attempt 2 success on 53b8369848.
  • enforce-target fails by design on a main promotion (same as [WRONG BRANCH] release: 2.80.0 #6706).
  • CodeQL reports 13 alerts not present on main: 10 actions/cache-poisoning/poisonable-step in .github/workflows/ci.yml (7 main instances of the same rule close on this head, so most are line moves; main already carries 77 open instances) and 3 js/insufficient-password-hash on SHA-256 fingerprints of OAuth tokens and API keys used for identity comparison in src/oauth/store-anthropic-instance.ts, src/responses/spill-store.ts and src/usage/failure-fingerprint.ts (main carries 42 open instances of that rule). They are the same rule classes main already tolerates and the fingerprints are not password storage; the CodeQL check is not required by the main ruleset. They remain open for normal triage.
  • bun run audit:high on the promotion tree: no high-severity advisories (root 144 packages, gui 81).
  • Independent fresh-context review (gpt-6-astra): NEAR-PASS; tree equality, retained main-only dependency fixes, version sources and the 32-landing summary verified; its one finding (GUI checklist wording) is fixed in the description.

Release authorization: the repository owner asked on 2026-10-08 to finish the 2.81.0 train and complete the deployment.

@lidge-jun
lidge-jun marked this pull request as ready for review October 8, 2026 20:34
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, add credits to your account and enable them for code reviews in your settings.

@lidge-jun
lidge-jun merged commit 19bd34a into main Oct 8, 2026
120 of 128 checks passed
@lidge-jun
lidge-jun deleted the codex/promote-main-2.81.0 branch October 8, 2026 20:34
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.

10 participants