Status
The quality alert fires when the last 3 probe runs fail more often than the up to 14 runs before them, with a one-sided Fisher exact test at p < 0.01 and a fail-rate rise of at least δ = 0.083 (measured from 3 noise and scheduled runs).
Fisher’s exact test (p < 0.01) is the gate that decides. With these sample sizes the test already needs a rise of at least 3 failed questions of 24 (about 12.5 percentage points), so a δ at the 2-question floor never binds and a measured δ only matters above that.
Two more rules run alongside. Uptime needs no baseline: it fires after 2 consecutive runs in which any question has a status other than ok (HTTP errors, timeouts, rate limits, unusable replies). Latency fires when warm p95 stays above 2× the baseline median on 2 consecutive runs. Only the quality and latency rules wait for 7 baseline runs.
Probe pass rate
Share of the probe questions that passed in each run. A question passes when an answerable one is answered with citations from the right document, or an unanswerable one is refused. HTTP errors are not quality failures.
Questions passing per run
Question grid
Each row is one probe question, each column one run, oldest on the left.
- passed
- ✕failed
- !HTTP error, not scored
- no result
Latency
Seconds per probe request. Warm requests are alerted; the cold start after the demo scales to zero is shown but not alerted.
Warm latency per run
Cold-start latency per run
First request of each run. Not alerted.
Table view: probe runs
Real traffic low volume: not alerted
Daily summary of real requests to the demo, probe traffic excluded. Volumes are small, so no rule alerts on them; read the rates with each day’s n in mind. When the demo is down, failed probe calls can also appear in the error counts, because the demo’s error replies carry no trace id to exclude.
Requests per day
This is the n behind every rate below.
Error rate
Share of requests that ended in an error. Dot area is n requests.
Refusals by reason
Count of refused answers per day. n is the bar height.
Grounding-failure share
Share of refusals that came after retrieval found passages. Dot area is n refusals.
Latency per day
Median and 95th percentile of answered requests, in seconds.
Tokens and cost per request: not reported by the app.