typesafe-triage-guard
R&D repo with three Jev pipelines (ticket triage, alert triage, deploy-risk gate) built from four reusable patterns.
Overview
triage-guard is a worked example, not a product, that tests what Jev's Noul, Choice and Score primitives are good for across three domains with one shared architecture. Support-ticket triage routes and prioritizes tickets behind a safety guardrail; observability alert triage attributes alerts to a service and root cause, deduplicates and decides between paging and a ticket; and a deploy or PR risk gate screens a diff and description before merge or auto-deploy.
Each pipeline is about 120 lines built from four patterns taken from TypeSafe's docs: batched parallel questions over one state, a generic hazard-battery engine (independent Noul questions plus a severity Score resolved through a code-owned policy table), composite scoring weighted in code, and confidence handling. The README cites TypeSafe's cookbook figure of about 10 to 12 times cost and latency savings from batching a 13-question battery.
What the decision model decides
| Type | Question | Answers |
|---|---|---|
| Yes / no | Does this hazard fire? (battery of independent checks) | yes · no |
| Score | How severe is this ticket, alert or change? | — |
| Choice | Which service or team does this alert or ticket belong to? | — |
| Choice | Should this alert auto-page or become a ticket?(inferred) | page · ticket |
How it works
- Send the ticket, alert or PR with all questions in one call.
- Run the hazard battery and severity score.
- Resolve to an action with a code-owned policy table.
- Apply composite scoring and confidence checks for routing.
Strengths
- One architecture reused across three domains.
- Policies are explicit code tables.
- Batching reduces cost and latency.
Caveats
- R&D example, not a product.
- Requires a TypeSafe key.
Getting started
triage-guard ticket run (also: alert run, deploy-gate run)At a glance
- Type
- Project
- Status
- research
- Language
- Python
- Runtime
- CLI
- Has code
- yes
Use cases and integrations
How curated lists describe it
Three composable judgment pipelines on TypeSafe's Jev: support-ticket triage, observability alert triage, and a deploy-risk gate.
hellogumbo/awesome-jev
Frequently asked questions
What are the three pipelines?
Support-ticket triage, observability alert triage and a deploy or PR risk gate.
What is a hazard battery?
A set of independent yes/no checks plus a severity score, mapped to actions by a policy table.
Is it production-ready?
No, it is described as R&D and a worked example.
Related projects
Probot GitHub app that classifies, scores, checks completeness and dedupes issues and PRs with Jev, routing uncertain ones to humans.
ProjectbetaTypeScriptSmall Python framework and GitHub Action for Jev-powered workflows, with issue triage and PR screening built as examples.
ProjectbetaPythonTwo small Python apps: Jev triages failed pipeline tasks into review, retry, page or ticket, and routes support messages to agents.
ProjectprototypePythonData-incident router and use-case guide: registry facts first, then Jev Choice, Score and Noul with confidence-gated human review.
ProjectprototypePythonThree Spanish-language demos where Jev decides and Claude reasons: Jira triage, code pre-flight and a PR review router.
AppprototypeTypeScriptCLI, MCP server and Claude Code plugin for closed-form yes/no, choice, score and rank decisions via Jev, OpenAI Decisions or Claude.
MCP serverbetaTypeScript