Phase 2.5 exit gate — observability pack-up, multi-service verify, roadmap sign-off, handoff to Phase 3.
Milestone 2.5.G7 — Phase 2.5 Exit Gate, Observability, and Handoff
Status: Complete
Goal: Track G — Exit / Ops pack-up
Phase: 2.5 — Provider Generalization & Foundation
Estimated effort: 1 week
Completed: 2026-08-25
ADR: ADR-0051
Why This Milestone Exists
Tracks A–F delivered provider generalization, embedder, schema pre-work, and the MCP skeleton. Phase 2.5 is complete when those seams work together as a coherent platform, observability is operable locally (Prometheus/Grafana/Tempo/Loki), and a single verify gate proves the exit criteria. This milestone is the explicit completion gate — analogous to 2.6.2.
Artefacts:
- Local LGTM stack —
make observability-upwith provisioned dashboards (ADR-0051). make verify-phase25— maps exit criteria to runnable checks + multi-service e2e.- Thin K8s observability chart — compose parity for kind/minikube (not full app Helm).
- Roadmap sign-off —
current-state+ phase status completed; Phase 3 entry clear.
Phase 2.5 Exit Checklist
Functionality (Tracks A–F):
- Anthropic adapter test depth parity with OpenAI (G1.M1)
-
Registry.For(model)resolves OpenAI + Anthropic without handler changes (G1.M2) -
ModelCapabilityqueryable (context window, tools, tokenizer family) (G1.M2) - Self-hosted OpenAI-compatible adapter (G1.M3)
- Tokenizer registry with metrics (G2.M1)
- Response pipeline zero-stage byte-identical; overhead budget documented (G3.M1–M2)
- Embedder ≥2 real backends: TEI + hosted (OpenAI/Cohere) same contract suite (G4; CPU MiniLM remains stub per ADR-0046)
- Schema migrations 14–16 (temporal, multi-label, relationship graph) via
make db-migrate(G5) - MCP skeleton + Auth gRPC resource-server boundary +
ibex.mcp_tool_callsaudit (G6.M1 / ADR-0050)
Operations / observability:
-
make observability-upstarts Prometheus, Grafana, Tempo, Loki, OTel Collector, Alertmanager - Grafana provisioned: System Overview, Proxy Critical Path, Auth, Embedder/MCP
- Prometheus scrapes proxy, auth, embedder, mcp-memory
/metrics - Proxy/auth OTLP traces appear in Tempo when
OTEL_EXPORTER_OTLP_ENDPOINTis set -
make observability-smokeexits 0 after traffic - Thin Helm chart under
infra/helm/observability/documented for kind/minikube
Verification:
-
make verify-phase25exits 0 (CI jobverify-phase25) - Multi-service e2e: auth + proxy + embedder + mcp-memory (
make e2e-phase25) - MCP stub conformance evidence (
make mcp-conformance) -
e2e-wave2b-token-fksasserts current Postgres migration head (16) - Phase 1 security-integration + Phase 2 smokes still green (CI)
Documentation:
- Exit criteria on phase index reconciled to shipped reality
- current-state reflects Phase 2.5 complete / Phase 3 next
- MONITORING.md / OPS_GUIDE / DEVELOPMENT_GUIDE cover observability compose
- ADR-0051 accepted; infra README timing updated
Acceptance Criteria
- Local LGTM stack + dashboards show live
ibex_*series after smoke traffic -
make verify-phase25green and documented - Exit checklist signed off against
main - Phase index + overview status → Complete; Phase 3 entry assumes 2.5 exit
- K8s observability chart bring-up documented (kind/minikube)
Handoff to Phase 3
Phase 3 builds the memory substrate on Track D/E seams and expands the MCP process (ADR-0050) with real write/search. Org-wide HA observability hardening remains later; local LGTM is the operator path for Phase 3 development.
Last updated on