Skip to content

fix: retry openai server errors - #3851

Closed
amitksingh1490 wants to merge 1 commit into
mainfrom
test/five-file-coverage
Closed

fix: retry openai server errors#3851
amitksingh1490 wants to merge 1 commit into
mainfrom
test/five-file-coverage

Conversation

@amitksingh1490

Copy link
Copy Markdown
Contributor

Summary

Treat OpenAI server_error responses as retryable alongside overloaded-server responses, while expanding unit coverage for release, configuration, domain, and retry behavior.

Changes

  • Classify both server_is_overloaded and server_error as transient OpenAI failures
  • Add release matrix tests for target uniqueness, runner selection, binary naming, cross-compilation, and JSON conversion
  • Add coverage for decimal conversion, ordering, serialization rounding, and deserialization
  • Add domain tests for file metadata, sync status, model defaults, setters, identifiers, modalities, and serialization
  • Add event source retry tests covering exponential, constant, and never-retry policies
  • Use pretty_assertions for clearer assertion output in the affected crates

Key Implementation Details

OpenAI retryable error codes are consolidated into a shared constant used by the provider error classifier. Other API error codes, including rate_limit, remain non-retryable through this classification path.

Testing

Exercise the unit tests added or updated in:

  • crates/forge_ci/src/release_matrix.rs
  • crates/forge_config/src/decimal.rs
  • crates/forge_domain/src/file.rs
  • crates/forge_domain/src/model.rs
  • crates/forge_eventsource/src/retry.rs
  • crates/forge_repo/src/provider/retry.rs

Co-authored-by: ForgeCode <noreply@forgecode.dev>
@github-actions github-actions Bot added the type: fix Iterations on existing features or infrastructure. label Aug 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

type: fix Iterations on existing features or infrastructure.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant