v1.0.0 — operable free-path edge
What shipped
- Quota policy as data:
config/quota_policy.jsondefaults to 30 requests / 60s per key
(matches historicalGATEWAY_RATE_LIMIT=30/min); per-key overrides; blank path falls back to env. - Audit export: journal
?format=jsonlwith meta + entry lines; saltedkey_idonly;
fixturedev-localnever appears in export body (tested). - Proxy honesty: offline respx fixtures for research compare, mao replay, repomind refs/history;
chaos for sibling 429 / application 502 / connect / timeout withrequest_idpreserved. - Preview discipline: dry-run script; production upstreams remain empty (ADR-0004).
- Operate: runbook (unconfigured / 401 storm / preview→prod), load artifact (health+401 only,
single isolate), CASESTUDY ≥1500 words, season ledgerdocs/SEASON.md.
Hosted honesty (must stay true)
- Public host: https://pax-ai-gateway.vercel.app — P5 only, four
unconfigured. - Status path:
/v1/platform/status(not/v1/status). - No global 429 claim (
rate_limiter.scope=processwithout Redis). - Fly remains PLANNED (billing blocks free deploy theater).
- Agents do not set production upstream env.
Verify
curl -s https://pax-ai-gateway.vercel.app/health
curl -s https://pax-ai-gateway.vercel.app/v1/platform/status # 401
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/platform/journal?format=jsonl&limit=5"
# no raw keysOffline: pytest (quota policy, audit export, proxy contracts, chaos).
Load: python scripts/load_public_edge.py --n 120 → docs/assets/load.json.
Still PLANNED after v1.0.0
- Fly.io multi-region gateway if billing unblocks.
- Deployment-wide 429 on public Vercel without intentional Redis.
- Durable multi-tenant audit / SIEM shipping.
- OAuth / enterprise IdP.
- Token-bucket limiter (shipped algorithm remains fixed window).
- P1 public host integration on production gateway.