jev #1 page: OrdersDbPoolExhausted: connection pool 1 p=1.00 753 msjev #2 quiet: StagingDiskFull: disk 97% full on stagin jev #3 ticket: SearchApiHighMemory: memory 88% of limit p=0.07 234 msjev #4 page: CheckoutApiErrorRate: 5xx rate 31% for 5 p=1.00 200 msjev #5 review: PaymentServiceErrors: payment authorizat p=1.00 221 msjev #6 review: TlsCertExpiringSoon: TLS certificate for p=0.47 257 msjev #7 ticket: ReportJobSlow: nightly revenue report fi p=0.00 228 msjev #8 page: HomepageLatencyHigh: p99 latency 2.4s ag p=1.00 178 msjev #1 page: OrdersDbPoolExhausted: connection pool 1 p=1.00 753 msjev #2 quiet: StagingDiskFull: disk 97% full on stagin jev #3 ticket: SearchApiHighMemory: memory 88% of limit p=0.07 234 msjev #4 page: CheckoutApiErrorRate: 5xx rate 31% for 5 p=1.00 200 msjev #5 review: PaymentServiceErrors: payment authorizat p=1.00 221 msjev #6 review: TlsCertExpiringSoon: TLS certificate for p=0.47 257 msjev #7 ticket: ReportJobSlow: nightly revenue report fi p=0.00 228 msjev #8 page: HomepageLatencyHigh: p99 latency 2.4s ag p=1.00 178 ms

jev-oncall

Sep 24, 2026, 14:04 UTC

Interactive demo · Staged alerts, real Jev judgments. Routing and review logic run in your browser. No notifications are sent.

How this demo works

The alerts are the Docker demo's staged incident. The model's answers are replayed from the real jev-1.13.0 run on 2026-09-23 (no model is called in your browser). Everything else is the real pipeline: routing, the dedup graph, the review clock, shadow mode and evaluation. Sending pages to PagerDuty, Slack or Jira isn't built yet.

Triage timing
2.07 s
8 decisions
8alerts
3 Page
2 Review
2 Ticket
1 Quiet
Latency per decision
p50228 ms
p1178 ms
p95753 ms
Demo clock
14:04 UTC
15× speed

Reviews waiting for an ack 2

Ack means someone is on it: the review closes and won't escalate to a page. It doesn't resolve the incident; the alert stays open until your monitoring clears it. If nobody acks before the deadline, the review escalates to a page.

3 paged; 2 in review.

3 ticketed, logged or dropped. Of 2 sent to review, 2 still waiting.
Page#1OrdersDbPoolExhausted: connection pool 100% used (500/500) on the orders-db primary→Paged753 ms
page 1.00
quiet 0.04
database
Quiet#2StagingDiskFull: disk 97% full on staging CI runner→Logged
triage-rotation env=staging: non-production never pages (rule, no model call)
Ticket#3SearchApiHighMemory: memory 88% of limit on search-api→Ticketed234 ms
page 0.07
act 0.31
quiet 0.62
compute probably noise, but P(actionable) > 0.05: ticket, not drop
Page#4CheckoutApiErrorRate: 5xx rate 31% for 5m→Paged now200 ms
page 1.00
quiet 0.03
database
Review#5PaymentServiceErrors: payment authorization failures 18%→Sent to review221 ms
page 1.00
quiet 0.06
Waiting for an ack since 14:03 UTC. If nobody acks by 14:18 UTC, it pages. 14m 45s
compute duplicate_of checkout (0.87); incident root checkout
Review#6TlsCertExpiringSoon: TLS certificate for api.example.com expires in 25 days→Sent to review257 ms
page 0.47
act 0.49
quiet 0.04
Waiting for an ack since 14:03 UTC. If nobody acks by 14:18 UTC, it pages. 14m 45s
network unsure whether to page (0.2 < P(page) < 0.8): a human decides within 15m or it pages
Ticket#7ReportJobSlow: nightly revenue report finished 12 minutes later than usual→Ticketed228 ms
act 0.22
quiet 0.78
compute probably noise, but P(actionable) > 0.05: ticket, not drop
Page#8HomepageLatencyHigh: p99 latency 2.4s against a 400ms SLO→Paged178 ms
page 1.00
quiet 0.04
compute

Inspector

Auto-cycling
Select an alert from the feed to see its analysis.

Against the labels

2 labeled alerts is a smoke test. Trust these numbers, and the calibration especially, only after replaying a few hundred labeled alerts.

Outcomes

What happenedjev-oncallYour current routing
Needed a human, reached no one00
Should have paged, got a ticket00
Should have paged, got a review00
Paged when it shouldn't have01
Paged twice for one incident00
Reached the wrong team0n/a
Linked to the wrong incident0n/a
Review that wasn't needed00
Ticket for noise10
Pages sent, all 8 alerts35
Reviews sent, all 8 alerts20

Rows above the line count the 2 labeled alerts; pages and reviews count every alert, as decided on arrival. Your current routing means configured severity only: critical pages, warning tickets, info logs, in every environment. jev-oncall also never pages for non-production alerts, which is part of the difference.

Agreement with labels

QuestionMatched95% interval
Actionable2 of 234% to 100%
Page or not2 of 234% to 100%
Severity1 of 29% to 91%
Owner2 of 234% to 100%
Cause2 of 234% to 100%

Calibration of P(page)

P(page)AlertsPredictedPaged by label
0.0 to 0.210.000.00
0.8 to 1.011.001.00

Brier score 0.000, calibration error 0.000. Lower is better for both.

About this run

Model
jev-1.13.0
Alerts
8: 7 judged by Jev, 1 by rule, 0 by fallback
Cost
$0.00000 for 0 input tokens
Latency per call
228 ms median, 753 ms p95
Policy
Page at 0.80, review above 0.20, drop at 0.05 actionable, link at 0.70
Safety checks
All invariants held

Compared with your current routing

Since Sep 24, 2026, 14:03 UTC: 8 alerts. Your current routing paged 5; jev-oncall paged 3 on arrival. 2 alerts labeled so far. Select any alert to label it in the inspector.

Your current routing means configured severity only: critical pages, warning tickets, info logs, in every environment. jev-oncall also never pages for non-production alerts, which is part of the difference. The evaluation below compares the same two.

  • 3Same as your current routing
  • 1Would page, your routing didn't
  • 1Would ask for a review, your routing didn't page
  • 1Your routing paged, would ask for a review instead
  • 2Your routing paged, would not page
Latest differencesYour routing → jev-oncall
StagingDiskFull: disk 97% full on staging CI runnerenv=staging: non-production never pages (rule, no model call)PAGE → LOG
PaymentServiceErrors: payment authorization failures 18%P(page)=1.00 P(actionable)=0.94 team=compute@0.99PAGE → REVIEW
TlsCertExpiringSoon: TLS certificate for api.example.com expires in 25 daysP(page)=0.47 P(actionable)=0.96 team=network@1.00TICKET → REVIEW
ReportJobSlow: nightly revenue report finished 12 minutes later than usualP(page)=0.00 P(actionable)=0.22 team=compute@1.00PAGE → TICKET
HomepageLatencyHigh: p99 latency 2.4s against a 400ms SLOP(page)=1.00 P(actionable)=0.96 team=compute@0.97TICKET → PAGE
#DecisionP(page)ms
#1page1.00753
#2quiet--
#3ticket0.07234
#4page1.00200
#5review1.00221
#6review0.47257
#7ticket0.00228
#8page1.00178