Repository navigation
Support invocation-scoped custom request headers for UG and Codex - #610
andy-xu-db wants to merge 11 commits into
Conversation
18cde60 to
3516bf0
Compare
8f296e0 to
5b5bf2a
Compare
5b5bf2a to
27a4495
Compare
Live LiteSwap + Actual TUI Validation (2026-09-21)Validated the combined #610/#687 stack at Deployed a harmless AI Gateway marker change to
All four TUIs exited normally with code 0. Server marker evidence was collected at 22:18:49 UTC (Claude, request Scope limitation: staging smart-router selection returned HTTP 400 both with and without custom headers. The TUIs fell back successfully to their current models. This verifies actual inference header propagation through that fallback path, not a successful live smart-router model switch. MCP tool execution was not exercised. No additional header-code fix was needed. The temporary container/token were removed and LiteSwap teardown succeeded. The marker change was not added to these PRs. |
🥞 Stacked PR
Use this link to review incremental changes.
ug --header "Name: value" usageapplies repeatable custom headers to the invocation, including itsrecommendModelrequest. Agent launches accept the global option or the existingug codex --header ...form. Headers reach UG's prelaunch discovery and managed-config reads, Codex requests, and smart-routing helpers.Codex receives launch-only environment-backed header configuration. Header-specific catalogs are temporary; ordinary model/config caches and saved discovery values remain separate. Scoped managed-config reads fail rather than falling back to the ordinary cache. Protected credential/transport headers and administrator-header collisions are rejected, and UG requests carrying custom headers reject cross-origin redirects. Use non-secret header values.
Merged
mainat7deeaf7a.Validation on the full stack (2026-10-07):
uv run --frozen pytest -q --ignore=tests/test_e2e.py --ignore=tests/test_e2e_user_agent.py.git diff --checkpassed.Native-agent capture validation remains unverified: four Claude/Codex capture checks failed because no request reached the local capture server. Live LiteSwap validation was not completed. Component tests verify request construction and launch configuration; they do not establish a live agent or gateway pass.