Skip to content

feat(reliability): add provider skip-error rules and retry policy#2588

Open
nguyenha935 wants to merge 9 commits into
decolua:masterfrom
nguyenha935:feat/provider-skip-rules-and-retry-policy
Open

feat(reliability): add provider skip-error rules and retry policy#2588
nguyenha935 wants to merge 9 commits into
decolua:masterfrom
nguyenha935:feat/provider-skip-rules-and-retry-policy

Conversation

@nguyenha935

Copy link
Copy Markdown
Contributor

Summary

  • Supersedes fix: handle Antigravity capacity and stream usage #2370 while preserving its Antigravity capacity fallback, stream usage, and Recent Requests fixes.
  • Adds request-scoped transport retry policy and configurable provider skip-error rules.
  • Adds a compact Settings UI, strict API validation, and an idempotent migration for the legacy Antigravity capacity behavior.

Behavior

  • maxTransportAttempts caps in-place transport attempts per request without mutating cached executor config.
  • providerSkipRules supports kind, status, and contains conditions with AND semantics and first-match ordering.
  • Rules can retry the current transport or skip to the next account/model; headerTimeoutMs customizes connect/header timeout and sweep opts a skip rule into a full account-pool resweep.
  • Connect timeout classification uses an attempt-local closure flag, so caller aborts, network failures, and real HTTP errors remain distinct.
  • Combo fail-fast metadata is kept in an in-process WeakMap; it is never serialized into response headers or bodies.
  • Transport retry policy does not change Codex SSE-overload retry, namespace compatibility retry, token refresh, or other higher-level retry loops.

Migration and UI

  • Schema migration v2 seeds the former Antigravity 503 + capacity behavior as an editable skip + sweep rule when it is not already covered, while respecting existing user rules.
  • Settings validation limits attempts to 1..5, rules to 100, and validates match/action/timeout/sweep combinations before writing.
  • The responsive Skip-error rules modal uses compact, clearly separated fields in light and dark themes and merges static providers with dynamic compatible provider nodes.

Test plan

  • 41 targeted skip-rule, fail-fast, routing metadata, no-auth, concurrency, modal, and Antigravity capacity tests passed with --unhandled-rejections=warn.
  • 32 inherited Antigravity Recent Requests, retry-hook, request-detail usage, migration-chain, and seed tests passed.
  • git diff --check passed.
  • npm run build passed.

Notes

  • No production patch, database, screenshot helper, or generated snapshot is included in this PR.

@nguyenha935
nguyenha935 force-pushed the feat/provider-skip-rules-and-retry-policy branch from 3944de0 to 078cad1 Compare July 17, 2026 07: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.

1 participant