Portfolio Intelligence Platform operator view · observability and the measurement contract
Market: live
News: half-open
LLM: closed
PortfolioMarket dataNews & InsightsAdvisorOptimisationSystem
System status · the measurement contract, live · last CI run #212 at 08:40 all gates green
Eval harness pass rate (golden set v7)
96.5 %
threshold ≥ 95 % · ok
Cost per advisor request, p95 (today)
CHF 0.31
budget ≤ 0.40 · ok
Latency per advisor request, p95
14.2 s
budget ≤ 20 s · ok
Module-boundary violations (import-linter)
0
no LLM call outside the gateway · ok
Circuit breakers every external call
| Dependency | State | Fails/10m | Fallback |
| Market price API | closed | 0 | snapshot |
| News API | half-open | 4 | last ingestion |
| LLM API (gateway) | closed | 1 | fallback model · then pause insights |
timeouts: 3 s / 5 s / 30 s · retries: 3 with backoff · degraded mode announced in the UI
Token spend today LLM gateway
| Extraction (ResearchAgent) | 184 k tokens | CHF 2.10 |
| Advisor requests (31) | 199 k tokens | CHF 3.42 |
| Eval harness run | 62 k tokens | CHF 0.71 |
CI gates, run #212 main branch
| Unit tests, deterministic services | 128 / 128 |
| Reference vectors (perf / risk / opt) | 42 / 42 |
| Module boundaries (import-linter) | 0 violations |
| Eval harness (prompt v12, model pinned) | 96.5 % ≥ 95 % |
| Cost budget per request (replay) | p95 0.31 ≤ 0.40 |
| Threat checks (prompt-injection set) | 21 / 21 blocked |
Last failed gate: run #207 — eval 93.8 % after prompt v11 → change rejected, rolled back (a contract that never fails has never been tested).
1Basic observability of cost and latency per request is mandatory (§5); budgets are CI-gated fitness functions (M2).
2Eval harness as a CI gate with accuracy and failure modes, not "it works" (§4.3, M5).
3Threat model incl. prompt injection via news; basic hardening (M5).
SKETCH 6/7 · wireframe, not a specification