phase 2 single provider
Phase 2 exit gate — complete. Coherent single-provider proxy on main; handoff to Phase 3 memory.
Milestone 2.6.2 — Phase 2 Exit Gate and Handoff Document
Status: Complete
Goal: 2.6 — Phase 2 quality gate
Phase: 2 — Single Provider End-to-End
Estimated effort: 1 day
Completed: 2026-08-15 (docs/roadmap realignment series + implementation evidence on main)
Why This Milestone Exists
Phase 2 is complete when all deliverables function together as a coherent system. This milestone is the explicit completion gate. It consists of three artefacts:
- E2E smoke — local/compose smokes plus optional live path (
make dev-smoke,make dev-smoke-live, compose wave2b e2e). current-stateupdate — documents what Phase 2 delivered and what Phase 3 begins with.- Phase 2 exit checklist — signed off below against shipped code and CI.
Phase 2 Exit Checklist
Functionality:
-
POST /v1/chat/completionsreturns a completion for a valid request (mock default; live withIBEX_LLM_MODE=live+ API key) - Streaming returns SSE tokens (
stream=truepath; ADR-0027) - Agent directive injection before
Complete(2.3.3) - Session and checkpoint lifecycle on chat turns (2.4.x)
- ClickHouse async trace emitter (2.5.3; org-filtered)
Security:
- Phase 1
security-integrationsuite still green in CI - Revocation pub/sub invalidates auth cache (2.2.2)
- Cross-tenant agent access rejected in security matrix
Performance:
- 2.6.1 real warm-path latency benchmark + ADR-0034 methodology
- Streaming covered in provider/stream tests and load profiles
- Auth cache hit path on hot path (2.2.1)
Phase 2 applicable exit items:
- 2.1.6 Idempotency key complete
- 2.4.4 Session idle-timeout sweeper complete
Operations:
-
make dev-smokeexits 0 under default mock;make dev-smoke-livefor live OpenRouter - Graceful shutdown packages wired on auth/proxy
- Prometheus metrics + OTel spans on proxy critical path
Documentation:
-
web/content/roadmap/current-stateupdated for Phase 2 completion -
web/engineering/DEVELOPMENT_GUIDE.mdcovers Phase 2 local stores / env - ADRs through 0035 indexed under
/docs/adr -
services/proxy/.env.exampleincludes Phase 2 variables (LLM mode, OpenAI, ClickHouse, …)
Acceptance Criteria
- Mock and live smoke paths documented; chat happy path is HTTP 200 for registered models
- Phase 2 exit checklist signed off against
main - 2.6.1 benchmarks green; 2.1.6 and 2.4.4 complete
- current state summarizes Phase 2 completion and Phase 3 entry
- Public docs rebaselined (#481–#492) so Phase 2 is not described as “in progress”
Handoff to Phase 3
Start Phase 3: Memory Engine and Operator Platform. Do not invent Python services under services/ until those milestones land.
Edit on GitHub
Last updated on