Skip to content

Document and Test Provider Fallback Capabilities via Iterative Request Router - #730

Open
usize wants to merge 2 commits into
praxis-proxy:mainfrom
usize:conformance/fallback
Open

Document and Test Provider Fallback Capabilities via Iterative Request Router#730
usize wants to merge 2 commits into
praxis-proxy:mainfrom
usize:conformance/fallback

Conversation

@usize

@usize usize commented Aug 13, 2026

Copy link
Copy Markdown
Member

Summary

Provider fallbacks, along with model rewriting and api translation, are now feasible via the iterative request router. Because this functionality exists as an emergent property of our existing filters and filter pipeline, we should document it. These changes document it via a new integration test and example config.

Related issue

Ref: #249, #109

Validation

  • [ x] Unit tests
  • [ x] Integration or functional tests
  • [ x] make lint

Checklist

  • [ x] I reviewed every changed line and can explain the change.
  • [x ] New capabilities include an example config and functional example test.
  • [ x] User-facing behavior and generated documentation are updated.
  • [ x] Performance-sensitive changes include appropriate benchmark or load-test evidence.
  • [ x] Commits are signed and include a Signed-off-by trailer.

usize added 2 commits August 12, 2026 07:28
First conformance test for the AI gateway. Validates that an
iterative_request_router composes correctly with
responses_to_chat_completions protocol translation and
credential_injection across a failover boundary.

Two tests exercise the example config:
- fallback_on_primary_503: primary returns 503, fallback
  receives the translated Chat Completions request with
  isolated credentials, client gets a Responses API resource.
- primary_succeeds_no_fallback: primary returns 200, fallback
  receives no requests.

Each IRR step re-runs openai_responses_format and
openai_responses_validate because the IRR resets per-step
metadata for credential isolation while preserving extensions.

Assisted by Opus 4.6

Signed-off-by: usize <mofoster@redhat.com>
Move the metadata/extension persistence explanation into the
example config header comments, where someone building a
pipeline encounters it. Add a one-liner to ai-inference.md
pointing to the example. Document real-world adaptation
(model rewrite, TLS/SNI, env_var credentials, Host header)
in the "Adapting for real providers" section.

Assisted by Opus 4.6

Signed-off-by: usize <mofoster@redhat.com>
@usize
usize requested review from a team, alexsnaps and leseb August 13, 2026 04:41
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