Skip to content

feat: privacy-safe routed stream diagnostics and xAI catalog classification - #2516

Closed
yansigit wants to merge 216 commits into
lidge-jun:devfrom
yansigit:codex/routed-model-diagnostics
Closed

yansigit wants to merge 216 commits into
lidge-jun:devfrom
yansigit:codex/routed-model-diagnostics

Conversation

@yansigit

@yansigit yansigit commented Aug 25, 2026 •

Copy link
Copy Markdown
Contributor

Summary

  • Adds privacy-safe structural stream diagnostics across routed adapters and the Responses bridge (stage: "adapter" | "bridge").
  • Emits process-local HMAC fingerprints for content deltas without retaining raw text, prompt, reasoning, or secrets.
  • Classifies xAI tool-catalog omissions (declared, emitted, omitted, xai_schema_not_lossless) without leaking schema structures.
  • Deduplicates adapter-stage diagnostic logging across image runTurn sidecar queues and consumeIterationEvents.
  • Correctly propagates attempt and recovery kind (connection-reset, rate-limit-429, etc.) through continuation and retry paths.
  • Documents diagnostic capture CLI flow and the 5-way root-cause decision matrix in docs-site/src/content/docs/reference/cli/agents.md.

Verification

  • bun test tests/images/loop.test.ts tests/web-search.test.ts tests/bridge.test.ts tests/debug.test.ts tests/openai-chat-hardening.test.ts tests/terminal-continuation-owner-rotation.test.ts tests/core-lab-boundary.test.ts (252 passed, 0 failed)
  • bun run typecheck (strict pass across proxy and integration gateway)
  • bun run privacy:scan (passed, zero secrets or raw logs detected)
  • cd docs-site && bun run build (401 pages rendered)

Checklist

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

Review readiness checklist

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

  • All CI tests are green on my local testing.

  • I pushed my PR to the latest dev commit.

  • I resolved all correct Codex and CodeRabbit findings.

  • My PR is ready for review.

yansigit and others added 30 commits August 20, 2026 16:47
Probe retrieveUserQuota with catalog fallback, skip http Bearer
destinations, and surface Cloud Code Assist location blocks before
generic 403s.

Co-authored-by: Cursor <cursoragent@cursor.com>
Prevent quota probes from following redirects or promoting daily summaries as weekly usage, and interpret explicit percentage fields without converting small percentages into fractions.

Co-authored-by: Cursor <cursoragent@cursor.com>
Treat unreadable daily quota JSON as an RPC failure while allowing the optional summary call to fail without discarding the daily window.

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Restrict host failover to known Google daily/prod endpoints, require
explicit model identifiers for Gemini window parsing, and abort live
quota plus catalog probing on 401/403/429 instead of leaking tokens
to production peers.

Co-authored-by: Cursor <cursoragent@cursor.com>
…eekly on the leaf path

Co-authored-by: Cursor <cursoragent@cursor.com>
Key 429/quota/geoblock cooldowns by OAuth account, fail closed when a
rotated Cloud Code Assist credential has no project id, and sweep
expired entries with the state store.

Co-authored-by: Cursor <cursoragent@cursor.com>
Validate a cooldown-selected account's Cloud Code Assist project before promoting it, so missing project metadata cannot change the active account state.

Co-authored-by: Cursor <cursoragent@cursor.com>
Record provider-attributed geo blocks, quota exhaustion, and rate limits at
 the retry boundary so account rotation can actually avoid unhealthy accounts.

Co-authored-by: Cursor <cursoragent@cursor.com>
Store AntigravityCooldownReason on account health, expose getAntigravityAccountCooldown,
and stop retrying the same account inside fetchGoogleWithRetry after recording cooldowns
so outer account rotation can switch credentials immediately.

Co-authored-by: Cursor <cursoragent@cursor.com>
Image and web-search loops now forward AdapterFetchContext.accountId so a
429/403 records the cooled account and the next eligible one is selected.

Co-authored-by: Cursor <cursoragent@cursor.com>
Operators can declare named specialists in config and manage them via
GET/PUT /api/subagent-roles and `ocx agent roles`, instead of stuffing
child prompts into argv. v2 guidance renders the catalog through {{roles}}.

Co-authored-by: Cursor <cursoragent@cursor.com>
Treat slash gpt-* models as routed unless the prefix is a configured
account selector, keep the five-slot roster unique, render only roles
inside the live v2 window, cap {{roles}} to the 700-char budget, and
remove roles atomically on the server so CLI delete cannot clobber a
concurrent save.

Co-authored-by: Cursor <cursoragent@cursor.com>
Write only $CODEX_HOME/agents/ocx-<id>.toml with allowed keys, never
model_fallback. User same-name agents win; owned files prune on disable
or remove. Unset syncCodexAgentRoles follows the catalog; GET reports
the stored tri-state separately from the effective flag so a status echo
cannot persist false.

Co-authored-by: Cursor <cursoragent@cursor.com>
Give operators a dashboard catalog for named specialists, parent guidance, child instructions, and Codex agent-file sync without echoing the effective flag back as stored false.

Co-authored-by: Cursor <cursoragent@cursor.com>
Probe retrieveUserQuota with catalog fallback, skip http Bearer
destinations, and surface Cloud Code Assist location blocks before
generic 403s.

Co-authored-by: Cursor <cursoragent@cursor.com>
Prevent quota probes from following redirects or promoting daily summaries as weekly usage, and interpret explicit percentage fields without converting small percentages into fractions.

Co-authored-by: Cursor <cursoragent@cursor.com>
Treat unreadable daily quota JSON as an RPC failure while allowing the optional summary call to fail without discarding the daily window.

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Restrict host failover to known Google daily/prod endpoints, require
explicit model identifiers for Gemini window parsing, and abort live
quota plus catalog probing on 401/403/429 instead of leaking tokens
to production peers.

Co-authored-by: Cursor <cursoragent@cursor.com>
…eekly on the leaf path

Co-authored-by: Cursor <cursoragent@cursor.com>
Send the interleaved-thinking header and preamble replacement, strip
trailing Claude prefills, repair orphan tool pairs, and parse unary CCA
as SSE with a pre-decode frame cap.

Co-authored-by: Cursor <cursoragent@cursor.com>
Keep unary Cloud Code Assist events charged to the translator budget and measure SSE limits per byte-delimited frame so valid frames sharing a transport chunk are accepted.

Co-authored-by: Cursor <cursoragent@cursor.com>
Decoded bufferBytes undercounts when TextDecoder holds a pending
multibyte sequence, so a 33-byte line split mid-character could pass a
32-byte cap. Cap on the raw incomplete line instead.

Co-authored-by: Cursor <cursoragent@cursor.com>
Keep the CCA wire regression aligned with the upstream Claude prefill guard after restacking onto current dev.
Co-authored-by: Cursor <cursoragent@cursor.com>
Track whether stripTrailingClaudePrefill removed a model tail so the
continuation nudge is appended after stripping, while histories already
ending on user or tool-result turns stay unchanged. Pin distinct SSE vs
plain-JSON error expectations in google-hardening and document Claude on
Antigravity wire behavior in providers guide.

Co-authored-by: Cursor <cursoragent@cursor.com>
…A URLs

Co-authored-by: Cursor <cursoragent@cursor.com>
The wire allocator maps a raw tool-call id to a single wire id, so a second complete duplicate pair would serialize as a colliding CCA exchange.
Gate dropping unmatched trailing calls to CCA only so Direct Gemini still
emits an in-flight functionCall, while orphan results stay omitted.

Co-authored-by: Cursor <cursoragent@cursor.com>
…kend

fix: clarify Cursor metadata and session affinity
- Implement trusted Google Jules dispatcher and reconciler workflow (.github/workflows/agent-maintenance.yml)
- Add agent maintenance client, state validation, and repair digest (.github/scripts/agent-maintenance.cjs)
- Enforce exact-head Cursor Bugbot verification in PR gating (.github/workflows/enforce-pr-target.yml)
- Add comprehensive contract & unit tests for maintenance lifecycle (.github/scripts/agent-maintenance.test.cjs)
- Add Cursor Bugbot guidelines (.cursor/BUGBOT.md) and fork Dependabot config (.github/dependabot.yml)
- Update governance, AGENTS.md, MAINTAINERS.md, and docs/fork/AGENT-MAINTENANCE.md
feat: hardened Google Jules and Cursor automation control plane
feat: route fork upstream sync and PRs through dev branch
@github-actions github-actions Bot added the intake: hygiene-blocked Deterministic PR hygiene checks failed label Aug 25, 2026
@github-actions

Copy link
Copy Markdown
Contributor

⚠️ Deterministic hygiene checks failed.

  • unsponsored_surface — This changes an authentication, workflow, release-automation, or dependency surface. MAINTAINERS.md requires security review for these; ask a maintainer to apply maintainer-sponsored once they have reviewed it. Paths: .github/workflows/agent-maintenance.yml, .github/workflows/ci.yml, .github/workflows/enforce-pr-target.yml, .github/workflows/fork-auto-release.yml, .github/workflows/fork-pr-mergeable.yml, .github/workflows/fork-upstream-sync.yml, .github/workflows/release.yml, package.json, scripts/release.ts, src/oauth/anthropic-routing.ts, src/oauth/antigravity-routing.ts, src/oauth/cursor-routing.ts, src/oauth/index.ts, src/server/management-api.ts, src/server/management/oauth-account-routes.ts.

@coderabbitai

coderabbitai Bot commented Aug 25, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Too many files!

This PR contains 388 files, which is 88 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: Pro Plus

Run ID: a1cad5aa-c527-446a-817e-443c71f3f460

📥 Commits

Reviewing files that changed from the base of the PR and between bb89eaf and 83acf6c.

⛔ Files ignored due to path filters (3)
  • docs-site/public/pr-screenshots/subagent-roles-dashboard.png is excluded by !**/*.png
  • docs/fork/evidence/20260824-models-context-metadata.png is excluded by !**/*.png
  • integrations/replit-gateway/bun.lock is excluded by !**/*.lock
📒 Files selected for processing (388)
  • .cursor/BUGBOT.md
  • .cursor/skills/getting-opencodex-prs-review-ready/SKILL.md
  • .cursor/skills/opencodex-fork-sync/SKILL.md
  • .cursor/skills/opencodex-fork-sync/automation-prompt.md
  • .github/dependabot.yml
  • .github/scripts/agent-maintenance-workflow.test.cjs
  • .github/scripts/agent-maintenance.cjs
  • .github/scripts/agent-maintenance.test.cjs
  • .github/scripts/enforce-pr-target.test.cjs
  • .github/scripts/fork-auto-release.cjs
  • .github/scripts/fork-auto-release.test.cjs
  • .github/scripts/pr-sponsored-surface.cjs
  • .github/scripts/pr-sponsored-surface.test.cjs
  • .github/workflows/agent-maintenance.yml
  • .github/workflows/ci.yml
  • .github/workflows/enforce-pr-target.yml
  • .github/workflows/fork-auto-release.yml
  • .github/workflows/fork-pr-mergeable.yml
  • .github/workflows/fork-upstream-sync.yml
  • .github/workflows/release.yml
  • .superpowers/sdd/progress.md
  • README.md
  • bin/ocx.mjs
  • bin/package-main.mjs
  • docs-site/astro.config.mjs
  • docs-site/src/content/docs/fr/guides/providers.md
  • docs-site/src/content/docs/fr/guides/replit-gateway.md
  • docs-site/src/content/docs/fr/guides/sidecars.md
  • docs-site/src/content/docs/fr/guides/sub-agent-surface.md
  • docs-site/src/content/docs/fr/reference/adapters.md
  • docs-site/src/content/docs/fr/reference/configuration/providers.md
  • docs-site/src/content/docs/fr/reference/proxy-formats.md
  • docs-site/src/content/docs/getting-started/quickstart.md
  • docs-site/src/content/docs/guides/model-routing.md
  • docs-site/src/content/docs/guides/providers.md
  • docs-site/src/content/docs/guides/replit-gateway.md
  • docs-site/src/content/docs/guides/sidecars.md
  • docs-site/src/content/docs/guides/sub-agent-surface.md
  • docs-site/src/content/docs/guides/web-dashboard.md
  • docs-site/src/content/docs/ja/guides/providers.md
  • docs-site/src/content/docs/ja/guides/replit-gateway.md
  • docs-site/src/content/docs/ja/guides/sidecars.md
  • docs-site/src/content/docs/ja/guides/sub-agent-surface.md
  • docs-site/src/content/docs/ja/reference/adapters.md
  • docs-site/src/content/docs/ja/reference/configuration/providers.md
  • docs-site/src/content/docs/ja/reference/proxy-formats.md
  • docs-site/src/content/docs/ko/guides/providers.md
  • docs-site/src/content/docs/ko/guides/replit-gateway.md
  • docs-site/src/content/docs/ko/guides/sidecars.md
  • docs-site/src/content/docs/ko/guides/sub-agent-surface.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/configuration/providers.md
  • docs-site/src/content/docs/ko/reference/proxy-formats.md
  • docs-site/src/content/docs/reference/adapters.md
  • docs-site/src/content/docs/reference/cli/agents.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/proxy-formats.md
  • docs-site/src/content/docs/ru/guides/providers.md
  • docs-site/src/content/docs/ru/guides/replit-gateway.md
  • docs-site/src/content/docs/ru/guides/sidecars.md
  • docs-site/src/content/docs/ru/guides/sub-agent-surface.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/configuration/providers.md
  • docs-site/src/content/docs/ru/reference/proxy-formats.md
  • docs-site/src/content/docs/tr/guides/providers.md
  • docs-site/src/content/docs/tr/guides/replit-gateway.md
  • docs-site/src/content/docs/tr/guides/sidecars.md
  • docs-site/src/content/docs/tr/guides/sub-agent-surface.md
  • docs-site/src/content/docs/tr/reference/adapters.md
  • docs-site/src/content/docs/tr/reference/configuration/providers.md
  • docs-site/src/content/docs/tr/reference/proxy-formats.md
  • docs-site/src/content/docs/zh-cn/guides/providers.md
  • docs-site/src/content/docs/zh-cn/guides/replit-gateway.md
  • docs-site/src/content/docs/zh-cn/guides/sidecars.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/configuration/providers.md
  • docs-site/src/content/docs/zh-cn/reference/proxy-formats.md
  • docs-site/src/content/docs/zh-tw/guides/providers.md
  • docs-site/src/content/docs/zh-tw/guides/replit-gateway.md
  • docs-site/src/content/docs/zh-tw/guides/sidecars.md
  • docs-site/src/content/docs/zh-tw/guides/sub-agent-surface.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/configuration/providers.md
  • docs-site/src/content/docs/zh-tw/reference/proxy-formats.md
  • docs/fork/AGENT-MAINTENANCE.md
  • docs/fork/AUTOMATION-HANDOFF.md
  • docs/fork/MIXED-SPLIT.md
  • docs/fork/OWNED.md
  • docs/fork/README.md
  • docs/superpowers/plans/2026-08-21-fork-daily-main-pin.md
  • docs/superpowers/plans/2026-08-21-fork-sync.md
  • docs/superpowers/plans/2026-08-22-fork-main-daily-loop.md
  • docs/superpowers/plans/2026-08-22-fork-sync-automation.md
  • docs/superpowers/plans/2026-08-22-fork-sync-lane-health.md
  • docs/superpowers/plans/2026-08-22-shared-account-pool-kernel.md
  • docs/superpowers/plans/2026-08-24-dev-first-upstream-sync.md
  • docs/superpowers/plans/2026-08-24-fork-sync-action-merge.md
  • docs/superpowers/specs/2026-08-21-fork-daily-main-pin-design.md
  • docs/superpowers/specs/2026-08-21-fork-sync-design.md
  • docs/superpowers/specs/2026-08-22-fork-sync-automation-design.md
  • docs/superpowers/specs/2026-08-22-replit-gateway-design.md
  • docs/superpowers/specs/2026-08-22-shared-account-pool-kernel-design.md
  • docs/superpowers/specs/2026-08-23-cursor-native-exec-bridge-design.md
  • docs/superpowers/specs/2026-08-24-fork-sync-action-merge-design.md
  • docs/superpowers/specs/replit-gateway-contract-v1.json
  • gui/src/components/provider-workspace/AntigravityFailoverNote.tsx
  • gui/src/components/provider-workspace/CursorAccountPoolSettings.tsx
  • gui/src/components/provider-workspace/ProviderAuthPanel.tsx
  • gui/src/components/replit-gateway/ReplitGatewayWizard.tsx
  • gui/src/components/replit-gateway/replit-gateway-api.ts
  • gui/src/components/replit-gateway/replit-gateway-validation.ts
  • gui/src/components/subagents-workspace/SubagentDelegationSection.tsx
  • gui/src/components/subagents-workspace/SubagentRolesSection.tsx
  • gui/src/components/subagents-workspace/SubagentsWorkspace.tsx
  • 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/Models.tsx
  • gui/src/pages/Providers.tsx
  • gui/src/pages/Subagents.tsx
  • gui/src/pages/models-shared.ts
  • gui/src/pages/providers-page-modals.tsx
  • gui/src/pages/use-subagent-delegation.ts
  • gui/src/styles-subagents-workspace.css
  • gui/tests/locale-parity.test.ts
  • gui/tests/models-native-group-controls.test.ts
  • gui/tests/replit-gateway-wizard.test.tsx
  • gui/tests/subagents-classic.test.tsx
  • gui/tests/subagents-roles.test.tsx
  • integrations/replit-gateway/README.md
  • integrations/replit-gateway/package.json
  • integrations/replit-gateway/src/auth.ts
  • integrations/replit-gateway/src/body.ts
  • integrations/replit-gateway/src/cancel.ts
  • integrations/replit-gateway/src/config.ts
  • integrations/replit-gateway/src/constants.ts
  • integrations/replit-gateway/src/errors.ts
  • integrations/replit-gateway/src/gateway-key.ts
  • integrations/replit-gateway/src/health.ts
  • integrations/replit-gateway/src/index.ts
  • integrations/replit-gateway/src/limits.ts
  • integrations/replit-gateway/src/logging.ts
  • integrations/replit-gateway/src/models.ts
  • integrations/replit-gateway/src/origin.ts
  • integrations/replit-gateway/src/redirect.ts
  • integrations/replit-gateway/src/relay/anthropic-relay.ts
  • integrations/replit-gateway/src/relay/model-gate.ts
  • integrations/replit-gateway/src/relay/openai-relay.ts
  • integrations/replit-gateway/src/relay/relay-constants.ts
  • integrations/replit-gateway/src/relay/request-forward.ts
  • integrations/replit-gateway/src/relay/response-lifecycle.ts
  • integrations/replit-gateway/src/relay/sse-line-boundary.ts
  • integrations/replit-gateway/src/relay/sse-relay.ts
  • integrations/replit-gateway/src/relay/types.ts
  • integrations/replit-gateway/src/relay/upstream-headers.ts
  • integrations/replit-gateway/src/request-context.ts
  • integrations/replit-gateway/src/secrets.ts
  • integrations/replit-gateway/src/server/create-server.ts
  • integrations/replit-gateway/tests/anthropic-relay.test.ts
  • integrations/replit-gateway/tests/auth.test.ts
  • integrations/replit-gateway/tests/body-ingress.test.ts
  • integrations/replit-gateway/tests/body.test.ts
  • integrations/replit-gateway/tests/cancel.test.ts
  • integrations/replit-gateway/tests/config.test.ts
  • integrations/replit-gateway/tests/content-encoding.test.ts
  • integrations/replit-gateway/tests/contract.test.ts
  • integrations/replit-gateway/tests/core-boundary.test.ts
  • integrations/replit-gateway/tests/errors.test.ts
  • integrations/replit-gateway/tests/gateway-key.test.ts
  • integrations/replit-gateway/tests/health-models.test.ts
  • integrations/replit-gateway/tests/helpers/test-config.ts
  • integrations/replit-gateway/tests/helpers/upstream-fixture.ts
  • integrations/replit-gateway/tests/limits.test.ts
  • integrations/replit-gateway/tests/logging.test.ts
  • integrations/replit-gateway/tests/model-gate.test.ts
  • integrations/replit-gateway/tests/models.test.ts
  • integrations/replit-gateway/tests/openai-relay.test.ts
  • integrations/replit-gateway/tests/origin.test.ts
  • integrations/replit-gateway/tests/redirect.test.ts
  • integrations/replit-gateway/tests/relay-handoff.test.ts
  • integrations/replit-gateway/tests/request-context.test.ts
  • integrations/replit-gateway/tests/secrets.test.ts
  • integrations/replit-gateway/tests/server-lifecycle.test.ts
  • integrations/replit-gateway/tests/server.test.ts
  • integrations/replit-gateway/tests/sse-line-boundary.test.ts
  • integrations/replit-gateway/tests/sse-relay.test.ts
  • integrations/replit-gateway/tests/upstream-headers.test.ts
  • integrations/replit-gateway/tests/upstream-url.test.ts
  • integrations/replit-gateway/tsconfig.json
  • package.json
  • scripts/fork/sync/cli.ts
  • scripts/fork/sync/contained.ts
  • scripts/fork/sync/coordinators/cli.ts
  • scripts/fork/sync/coordinators/cursor-webhook.ts
  • scripts/fork/sync/coordinators/http.ts
  • scripts/fork/sync/detect.ts
  • scripts/fork/sync/lane.ts
  • scripts/fork/sync/notifiers/github-issue.ts
  • scripts/fork/sync/ownership.ts
  • scripts/fork/sync/pin.ts
  • scripts/fork/sync/prepare.ts
  • scripts/fork/sync/pull-request.ts
  • scripts/fork/sync/recipes/package-json.ts
  • scripts/fork/sync/registry.ts
  • scripts/fork/sync/types.ts
  • scripts/install.ps1
  • scripts/install.sh
  • scripts/release.ts
  • scripts/test.ts
  • src/adapters/base.ts
  • src/adapters/command-code-project-context.ts
  • src/adapters/command-code.ts
  • src/adapters/cursor.ts
  • src/adapters/cursor/cursor-errors.ts
  • src/adapters/cursor/live-models.ts
  • src/adapters/cursor/live-transport.ts
  • src/adapters/cursor/native-exec-bridge.ts
  • src/adapters/cursor/native-exec-desktop.ts
  • src/adapters/cursor/thread-continuity.ts
  • src/adapters/google-antigravity-hosts.ts
  • src/adapters/google-antigravity-tools.ts
  • src/adapters/google-errors.ts
  • src/adapters/google-http.ts
  • src/adapters/google-wire-compiler.ts
  • src/adapters/google.ts
  • src/adapters/openai-chat.ts
  • src/bridge.ts
  • src/cli.ts
  • src/cli/agent.ts
  • src/cli/help.ts
  • src/cli/index.ts
  • src/cli/provider-replit.ts
  • src/cli/provider.ts
  • src/cli/registry.ts
  • src/cli/replit-gateway-key-input.ts
  • src/codex/agent-roles-sync.ts
  • src/codex/agent-roles.ts
  • src/codex/catalog/aggregation.ts
  • src/codex/catalog/effort.ts
  • src/codex/catalog/model-metadata.ts
  • src/codex/catalog/parsing.ts
  • src/codex/catalog/provider-fetch.ts
  • src/codex/inject.ts
  • src/config.ts
  • src/config/process-state.ts
  • src/fork/register.ts
  • src/images/loop.ts
  • src/lab/subject/behavior-fingerprint.ts
  • src/lib/debug.ts
  • src/lib/state-store-registrations.ts
  • src/lib/windows-atomic-replace.ts
  • src/oauth/anthropic-routing.ts
  • src/oauth/antigravity-routing.ts
  • src/oauth/cursor-routing.ts
  • src/oauth/index.ts
  • src/providers/antigravity-quota.ts
  • src/providers/cursor-pool.ts
  • src/providers/openai-tiers.ts
  • src/providers/provider-id-rewrite.ts
  • src/providers/quota.ts
  • src/providers/registry.ts
  • src/providers/replit/constants.ts
  • src/providers/replit/derive.ts
  • src/providers/replit/headers.ts
  • src/providers/replit/origin.ts
  • src/providers/replit/pair-install-response.ts
  • src/providers/replit/probe.ts
  • src/providers/replit/setup.ts
  • src/routing/account-pool/affinity.ts
  • src/routing/account-pool/cooldown.ts
  • src/routing/account-pool/index.ts
  • src/routing/account-pool/resolve.ts
  • src/routing/account-pool/types.ts
  • src/routing/compatibility/behavior.ts
  • src/server/images.ts
  • src/server/index.ts
  • src/server/local-provider-reload-client.ts
  • src/server/management-api.ts
  • src/server/management/agent-settings-routes.ts
  • src/server/management/combo-routes.ts
  • src/server/management/config-routes.ts
  • src/server/management/context.ts
  • src/server/management/oauth-account-routes.ts
  • src/server/management/replit-provider-routes.ts
  • src/server/management/routing-profile-routes.ts
  • src/server/responses/collaboration.ts
  • src/server/responses/core.ts
  • src/types.ts
  • src/types/config.ts
  • src/types/provider.ts
  • src/types/request.ts
  • src/update/index.ts
  • src/update/job.ts
  • src/usage/log.ts
  • src/web-search/gemini-executor.ts
  • src/web-search/index.ts
  • src/web-search/loop.ts
  • structure/03_catalog-and-subagents.md
  • structure/04_transports-and-sidecars.md
  • tests/account-pool-kernel.test.ts
  • tests/agent-roles-sync.test.ts
  • tests/antigravity-project-bind.test.ts
  • tests/antigravity-quota.test.ts
  • tests/antigravity-routing.test.ts
  • tests/antigravity-session-affinity.test.ts
  • tests/bridge.test.ts
  • tests/catalog-llamacpp-capabilities.test.ts
  • tests/chat-completions-endpoint.test.ts
  • tests/ci-workflows.test.ts
  • tests/cli-provider-replit.test.ts
  • tests/codex-catalog.test.ts
  • tests/codex-convergence-contract.test.ts
  • tests/command-code-project-context.test.ts
  • tests/command-code-provider.test.ts
  • tests/commandcode-provider.test.ts
  • tests/config.test.ts
  • tests/cursor-account-pool.test.ts
  • tests/cursor-adapter.test.ts
  • tests/cursor-desktop-exec.test.ts
  • tests/cursor-hardening.test.ts
  • tests/cursor-native-exec-bridge.test.ts
  • tests/debug.test.ts
  • tests/fork/auto-release-workflow.test.ts
  • tests/fork/register.test.ts
  • tests/fork/sync-cli.test.ts
  • tests/fork/sync-contained.test.ts
  • tests/fork/sync-detect.test.ts
  • tests/fork/sync-generic-cli.test.ts
  • tests/fork/sync-generic-http.test.ts
  • tests/fork/sync-lane.test.ts
  • tests/fork/sync-notify.test.ts
  • tests/fork/sync-ownership.test.ts
  • tests/fork/sync-pin.test.ts
  • tests/fork/sync-pr-mergeable.test.ts
  • tests/fork/sync-prepare.test.ts
  • tests/fork/sync-pull-request.test.ts
  • tests/fork/sync-webhook.test.ts
  • tests/fork/sync-workflow.test.ts
  • tests/gemini-web-search.test.ts
  • tests/google-adapter.test.ts
  • tests/google-antigravity-errors.test.ts
  • tests/google-antigravity-wire.test.ts
  • tests/google-hardening.test.ts
  • tests/google-sse-frame-cap.test.ts
  • tests/google-vertex-http.test.ts
  • tests/google-wire-compiler.test.ts
  • tests/helpers/enforce-pr-target-harness.ts
  • tests/images/loop.test.ts
  • tests/images/z-handler-activation.test.ts
  • tests/install-scripts.test.ts
  • tests/key-login-live-update.test.ts
  • tests/model-metadata-resolver.test.ts
  • tests/multi-agent-compat.test.ts
  • tests/oauth-login-cli-live-update.test.ts
  • tests/oauth-upsert-preserves-api-key.test.ts
  • tests/openai-chat-hardening.test.ts
  • tests/provider-id-rewrite.test.ts
  • tests/provider-model-discovery-contract.test.ts
  • tests/provider-quota.test.ts
  • tests/reasoning-replay-scope-source.test.ts
  • tests/replit-pair-install-response.test.ts
  • tests/replit-provider-setup.test.ts
  • tests/routing-compatibility-auth-identity.test.ts
  • tests/server-combo-failover-e2e.test.ts
  • tests/server-images.test.ts
  • tests/sidecar-settings-web-search-gate.test.ts
  • tests/state-store-sweeper.test.ts
  • tests/subagent-roles-api.test.ts
  • tests/subagent-roles.test.ts
  • tests/system-routes.test.ts
  • tests/terminal-continuation-owner-rotation.test.ts
  • tests/test-runner.test.ts
  • tests/update-job.test.ts
  • tests/update-transactional.test.ts
  • tests/web-search.test.ts
  • tests/zz-pr-coderabbit-readiness-revalidation.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 github-actions Bot added the enhancement New feature or request label Aug 25, 2026
@github-actions

github-actions Bot commented Aug 25, 2026 •

Copy link
Copy Markdown
Contributor

⏳ DRAFT

  • UI screenshot required. hygiene: unsponsored_surface.

What to do

  • Add a screenshot of the UI change to the PR description.
  • Fix unsponsored_surface — This changes an authentication, workflow, release-automation, or dependency surface. MAINTAINERS.md requires security review for these; ask a maintainer to apply maintainer-sponsored once they have reviewed it. Paths: .github/workflows/agent-maintenance.yml, .github/workflows/ci.yml, .github/workflows/enforce-pr-target.yml, .github/workflows/fork-auto-release.yml, .github/workflows/fork-pr-mergeable.yml, .github/workflows/fork-upstream-sync.yml, .github/workflows/release.yml, package.json, scripts/release.ts, src/oauth/anthropic-routing.ts, src/oauth/antigravity-routing.ts, src/oauth/cursor-routing.ts, src/oauth/index.ts, src/server/management-api.ts, src/server/management/oauth-account-routes.ts.
  • Tick all four boxes in the PR description once you're done (currently 0/4).

Review readiness checklist

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

0/4 boxes ticked.

This pull request was already a draft. Its draft status will be preserved after every issue above is resolved.
@yansigit Tick the boxes once your local CI is green, your branch is on the latest dev commit, and every correct Codex and CodeRabbit finding is resolved.

@github-actions
github-actions Bot marked this pull request as draft August 25, 2026 02:44

@Ingwannu Ingwannu left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This cannot be reviewed or merged in its current form. The PR title describes routed stream diagnostics and xAI catalog classification, but the branch contains roughly 100 commits and a large fork-specific overlay: release/sync automation, repository workflows, Dependabot, installer/release changes, multilingual documentation, Replit gateway work, and many unrelated runtime files. The repository gates correctly fail hygiene and target enforcement on this head. Please close this PR and reopen only the intended change as a fresh branch from current dev, with a narrowly scoped diff and focused regressions. Do not rebase this contaminated branch and try to resolve it in place.

@yansigit yansigit closed this Aug 25, 2026
@lidge-jun

Copy link
Copy Markdown
Owner

리뷰 · 우선순위 31 / 80

설명: 이 풀의 제목은 라우트 스트림 진단과 엑스아이 카탈로그 분류다. 실제 디프는 개인 포크 더미다. 지금 CURRENT dev HEAD 는 bb89eaf 이다. origin/dev 는 이번 시간에 안 움직였다. 작성자는 yansigit 이다. 드래프트다. 베이스는 표기상 dev 이다. MERGEABLE 이다. 머지 상태는 BLOCKED 다. 라벨은 enhancement 와 intake: hygiene-blocked 다. 변경 391파일, +35546 / -839 이다. GitHub 디프는 300파일 한도를 넘겼다.

파일 목록이 제목과 다르다. .github/workflows 아래 fork-auto-release.yml, fork-upstream-sync.yml, release.yml, ci.yml, enforce-pr-target.yml 이 있다. scripts/release.ts 와 package.json 도 있다. src/fork/register.ts 가 있다. 안티그래비티 쿼터 RPC, 계정 쿨다운, CCA 와이어, 호스트 페일오버, 서브에이전트 롤 카탈로그, GUI 롤 편집기, Replit 게이트웨이, 포크 싱크 자동화, 슈퍼파워 스펙이 한 가지에 실려 있다. 커밋 메시지에 WRONG BRANCH 와 Merge pull request from yansigit 가 보인다. 위생 봇이 unsponsored_surface 로 인증, 워크플로, 릴리스, 의존성 표면을 가리켰다. MAINTAINERS.md 가 보안 리뷰를 요구하는 길이다.

types.ts/config.ts 가르기가 진행 중이다. 이 풀은 src/config.ts 와 src/config/process-state.ts 와 레지스트리와 라우팅 커널을 한 번에 만진다. 리베이스는 무효가 된다. 정책은 그런 풀을 닫고 다시 짜라고 한다. 진단 HMAC 과 엑스아이 카탈로그 분류만 원하면 그 두 길을 새 작은 풀로 열어야 한다. 지금 가지는 그 단위가 아니다. 프리뷰 배포도 아니다. 나는 합치지 않는다. 2462 를 메인에 합치지 말라는 기존 규칙과 같은 종류의 위험이다.

.github/workflows/fork-upstream-sync.yml - 포크 자동화 워크플로. 이 저장소 릴리스 표면이다
scripts/release.ts / package.json - 위생이 unsponsored_surface 로 찍었다
src/fork/register.ts - 개인 포크 슬롯. origin/dev 런타임에 넣으면 안 된다
src/oauth/antigravity-routing.ts 외 인증 길 - 보안 후원 없이 합치면 안 된다
391파일 / +35546 - 제목의 진단 단위가 아니다. 닫고 다시 짜라
intake: hygiene-blocked - 점검을 채워도 이 묶음은 한 리뷰 단위가 아니다

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

  • 이 풀을 닫고 작은 단위로 다시 열지. 닫는 편이 맞다. 리베이스하지 말 것
  • 진단 HMAC 만 새 풀로 받을지. 받을 수 있다. 워크플로와 포크 싱크는 빼야 한다
  • 보안 후원 없이 워크플로 변경을 볼지. 보지 말 것
  • 지금 머지할지. 하지 말 것

너의 추천
닫는다. 리베이스하지 말 것. 진단과 엑스아이 분류를 원하면 그 두 길만 새 풀로 연다. 워크플로, 포크 싱크, 안티그래비티 쿨다운, 롤 카탈로그는 각각 따로다. 라벨은 그대로 둔다. 프리뷰 배포가 아니다.

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

@yansigit
yansigit deleted the codex/routed-model-diagnostics branch August 25, 2026 02:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request intake: hygiene-blocked Deterministic PR hygiene checks failed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants