Analytics decision workflow with Jev
On-call already drowns in threshold alerts. Warehouses and anomaly detectors still own the math. Jev judges whether the written incident is actionable given numbers you already computed. It does not detect spikes or query the warehouse.
This unofficial page is the decision workflow slice of the analytics alert triage pack. Intent: apply the Jev (TypeSafe System One) decision model to analytics alert triage decision workflow. Primary search language: Analytics Jev decision workflow. Confirm patterns on docs.typesafe.ai. This site does not sell, issue, or proxy TypeSafe keys. Use a credential you already have from the console or a documented gateway.
Independent angle (cover ≠ clone): Alert-class + actionability on narrative + precomputed bands — not a clone of a BI-alert product or anomaly-SaaS IA.
Analytics use-case context
Analytics alert triage is a workflow, not a chat. Assemble a narrow state, ask the primitives below, and let the alert router branch. TypeSafe’s docs say a good question is a snap decision a knowledgeable person could make in a few seconds — not an open-ended analysis of the alert narrative + metric bands.
Hub: Use cases. Compare, when the other tool is the real job: analytics alerts.
Decision Workflow inputs
Keep only fields the questions name:
{
"alert": { "id": "a-991", "title": "Checkout p95 up", "body": "p95 2.1s vs 1.2s baseline; error rate flat." },
"bands": { "p95_ratio_band": "1.5-2x", "error_rate_delta_band": "flat" },
"runbook": { "page": "Page if latency ≥ 1.5× and user-facing checkout, unless error_rate also explains it." }
}
Point instructions at alert.title, alert.body, runbook.page, bands.p95_ratio_band. Drop raw time-series arrays for Jev to “eyeball”; the entire dashboard JSON.
Decision signals and actions
| Id | Type | Job |
|---|---|---|
klass |
Choice | latency / errors / data_quality / noise / other |
severity |
Score | ignore → user-facing outage language |
page_now |
Noul | Meets runbook.page given bands.*? |
All of these share state and run in parallel. Code owns the graph:
def alert_act(ans):
k = ans["klass"]
if k.confidence < FLOOR or k.choice == "other":
return "analyst_review"
if k.choice == "noise":
return "suppress_candidate"
if ans["page_now"].noul >= T_PAGE:
return "page_oncall"
return f"ticket:{k.choice}"
Do not treat a Noul of 0.5 as a “medium” analytics alert triage score — it means yes and no are equally likely. Conjunctions stay in your code.
Guardrails and escalation
TypeSafe’s confidence-gated examples use a lower bar for recoverable reads than for irreversible actions. Those numbers are illustrations. For analytics alert triage, treat page_oncall as the high bar (paging on-call or auto-suppressing a user-facing alert). Tune on labels — see offline evaluation.
Low confidence, klass == other, or a policy miss → human or safe default; do not page on-call from Jev alone, and do not auto-suppress user-facing alerts.
Evaluation and rollout notes
Shadow: Existing pages unchanged; log Jev klass + page_now.
Canary: Auto-suppress only on klass=noise with high confidence; pages stay human.
Pin jev-1.13.0 (the versioned id) after you fit thresholds. jev-latest and the marketing line jev-1.13 can move. Log the response model. TypeSafe’s published list price for jev-1.13 is $0.042 per million input tokens (vendor claim — confirm on the models page); output tokens are free on that same page. Unused distractors still bill as input.
Official Python and JavaScript SDKs read TYPESAFE_API_KEY and retry documented 429/529. This site does not sell, issue, or proxy TypeSafe keys. Use a credential you already have from the console or a documented gateway.
Pack map
| Slice | Page |
|---|---|
| Graph and primitives | you are here |
What may enter state |
input contracts |
| What to gather first | evidence collection |
| Atomic rules | policy checks |
| Act / review / abstain | confidence thresholds |
| Reviewer payload | human handoff |
| What to persist | audit trail |
| How it breaks | failure modes |
| Labeled replay | evaluation |
| Shadow → canary | production rollout |
FAQ
Does Jev execute the alert router action? No. It returns typed answers. Your alert router code calls queues, models, or humans.
Why several questions in one request? TypeSafe’s fan-out pattern: extra questions are cheap versus another HTTP call. Class + severity + page_now in one call per alert. Correlation across 50 alerts is your grouping job, not a 50-way Choice.
Where is the rest of the Analytics pack? Start with Analytics input contracts and Analytics confidence thresholds. Cluster hub: Use cases.
Can Jev replace the anomaly detector? No. Detectors emit numbers. Jev reads the write-up and your runbook excerpt.
Should we send the whole timeseries?
No. Summarize to bands in code. Distractors hurt jev-1.13 and still bill as input (vendor claim).
What this page does not claim
- Not a warehouse, detector, or APM.
- No MTTA/MTTD benchmarks.
- Not official TypeSafe.
- Official TypeSafe status, or that jev.pro issues API keys.
- That a schema-constrained answer is automatically factually correct.
Disclaimer
This is an independent unofficial site and is not affiliated with TypeSafe AI; official documentation is available at https://docs.typesafe.ai.
Primary documentation: https://docs.typesafe.ai. Hub: Use cases.
Sources
Public TypeSafe or adjacent documentation only. No private claims.