Skip to content

refactor(examples): unify full-flow configs into B-shaped gateway - #975

Draft
leseb wants to merge 1 commit into
praxis-proxy:mainfrom
leseb:leseb/merge-full-flow-configs
Draft

refactor(examples): unify full-flow configs into B-shaped gateway#975
leseb wants to merge 1 commit into
praxis-proxy:mainfrom
leseb:leseb/merge-full-flow-configs

Conversation

@leseb

@leseb leseb commented Sep 7, 2026

Copy link
Copy Markdown
Contributor

Summary

Merge the standalone full-flow.yaml gateway into full-flow-agentic.yaml as a single "B-shaped" config: POST /v1/responses runs through the terminal iterative_request_router for server-side file_search, while the Responses WebSocket (GET /v1/responses) and the non-Responses paths (/v1/prompts, /v1/embeddings, /v1/files, /v1/vector_stores) branch around the IRR via a conditions-gated headers host, and a format-first guard rejects Chat Completions / Anthropic Messages bodies on /v1/responses with 404. This is the smallest complete change because it deletes the now-redundant full-flow.yaml, migrates every test and doc reference to the unified config in one pass, and regenerates the examples README. The config is a draft gated on #313 (file_search SSE streaming lifecycle); an #[ignore]d streaming placeholder test marks the post-#313 expectation.

Related issue

Refs #313

Validation

  • Unit tests — no production code changed (example-config + test/doc migration only)
  • Integration or functional tests — cargo test -p praxis-tests-integration --test suite green for full_flow (12), full_flow_agentic (6 + 1 ignored, file_search: SSE event emission for progress streaming #313), session_replay (9), codex_websocket (2); cargo xtask lint-example-tests → 41 configs covered
  • make lint (exit 0) and make build (exit 0)

Checklist

  • I reviewed every changed line and can explain the change.
  • New capabilities include an example config and functional example test.
  • User-facing behavior and generated documentation are updated.
  • Performance-sensitive changes include appropriate benchmark or load-test evidence. (N/A — no production/perf code changed)
  • Commits are signed and include a Signed-off-by trailer.

Breaking changes

Deletes the full-flow.yaml example config; external references must switch to full-flow-agentic.yaml. This is a draft — do not merge until #313 lands and validates the file_search SSE streaming lifecycle.

Merge full-flow.yaml into full-flow-agentic.yaml as a single B-shaped gateway: POST /v1/responses runs through the terminal iterative_request_router for server-side file_search, while the Responses WebSocket (GET /v1/responses) and the non-Responses paths (/v1/prompts, /v1/embeddings, /v1/files, /v1/vector_stores) branch around the IRR via a conditions-gated headers host. A format-first guard rejects Chat Completions and Anthropic Messages bodies on /v1/responses with 404. The now-redundant full-flow.yaml is deleted.

Migrate all full_flow, full_flow_agentic, session_replay, codex_websocket, and vLLM SDK references to the unified config; regenerate the examples README table; drop the stale skip-list entry. The config is a DRAFT gated on praxis-proxy#313 (file_search SSE streaming lifecycle): an ignored streaming placeholder test marks the post-praxis-proxy#313 expectation.

Signed-off-by: Sébastien Han <seb@redhat.com>
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