v0.3.0
v0.3.0 — proxy contracts and preview-only upstreams
What shipped
- Week 1 · edge hygiene: security headers; Redis connect/command timeouts + port from URL;
journal never stores raw keys (including the publisheddev-localfixture); backend-neutral
429 docs; hostname-required upstream URLs; OpenAPI still documents/v1/platform/status. - Week 2 · proxy contracts:
respx+ committed fixtures undertests/fixtures/siblings/for
P2/v1/research, P3/v1/tasks, P4/v1/code/*. Empty URL → typedupstream_unconfigured.
Transport failure → typedupstream_down. Sibling 5xx body pass-through + request id.
Production stays empty: ADR-0004. - Week 3 · preview recipe: PREVIEW-UPSTREAMS.md. Production env
is not wired. Status UI keepsunconfiguredfirst-class and never claims four systems hosted.
Hosted honesty (unchanged)
- Public host: https://pax-ai-gateway.vercel.app — P5 only, four
unconfigured. - No global 429 claim. Fly remains PLANNED.
- No sibling URLs in committed deployment files.
Verify
curl -s https://pax-ai-gateway.vercel.app/health
curl -s https://pax-ai-gateway.vercel.app/openapi.json | head -c 200
curl -s -H "X-API-Key: dev-local" https://pax-ai-gateway.vercel.app/v1/platform/status
# four unconfigured
curl -s -H "X-API-Key: dev-local" https://pax-ai-gateway.vercel.app/v1/research
# 503 upstream_unconfiguredOffline: pytest (includes test_proxy_contracts and test_journal_never_contains_the_published_fixture_key).