feat(api): add bounded Responses compatibility (#153) - #167
Draft
tcballard wants to merge 1 commit into
Draft
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds the bounded authenticated Responses API compatibility surface for #153.
Scope
Included
/v1/responsesand/responseson local and authenticated managed data-plane routersmodel,input,instructions,stream,max_output_tokens, andtemperatureresponse.completedorresponse.failedeventExcluded
Product / Architecture Decisions
wayfinder_router_unsupported_request.response.created, ordered text deltas, and exactly one terminal event. Duplicate[DONE]markers and late upstream events cannot create a second terminal or second accounting operation.User-Facing Contract
CLI / Human Output
No CLI command changes. OpenAI-shaped clients may POST to
/v1/responses(or/responses) using the documented bounded text/multi-turn contract.JSON Output
Buffered success returns
object: response,status: completed, a message output item, and normalizedusagewhen the provider supplies it. Unsupported fields returnwayfinder_router_unsupported_request; existing route headers and decision-only responses remain available.Exit Codes
No CLI exit-code changes.
Verification
Ran
cargo fmt --all -- --checkcargo clippy --workspace --all-targets --all-features --locked -- -D warningscargo test --workspace --all-targets --locked(242 gateway tests plus all workspace crates and live Redis tests)cargo +1.85.0 check --manifest-path rust/Cargo.toml --locked -p wayfinder-gatewaycargo +1.85.0 test --manifest-path rust/Cargo.toml --locked -p wayfinder-gateway responses_ -- --nocaptureCovered
Review Path
Stacked on #166 (bounded canary tripwires), targeting
codex/enterprise-canary-tripwires. Review after #166.Notes For Reviewer
This is compatibility, not a claim of full OpenAI Responses feature parity. Tools, background execution, stored conversations, previous-response references, and multimodal content are intentionally rejected until each has an explicit bounded contract. The existing Chat Completions route remains the sole execution and accounting path.