Skip to content

jev-triage

Probot GitHub app that classifies, scores, checks completeness and dedupes issues and PRs with Jev, routing uncertain ones to humans.

ProjectbetaMIT

Overview

jev-triage is an automated issue and pull-request triage app for open-source maintainers. Each incoming item is classified as bug, feature request, question, documentation, spam or other; scored on a four-level impact rubric to derive severity; checked for reproduction steps, version, environment and expected behaviour; and compared against open items for duplicates using a local lexical prefilter plus one Jev Noul per candidate. It then applies labels and leaves a single comment that it updates on re-runs, and can notify Slack, Discord or Telegram about critical or spam findings.

A Probot app verifies webhook signatures and routes events; a decision engine combines a composite spam risk with confidence gates to plan actions, and every uncertain decision goes to a human. Predictions, actions and maintainer corrections are stored in SQLite, so overrides become ground truth for an accuracy report. The README argues triage is a closed-set problem suited to typed answers rather than coercing an LLM into JSON, and writes all questions in English deliberately.

What the decision model decides

TypeQuestionAnswers
ChoiceWhat kind of item is this?bug · feature_request · question · documentation · spam · other
ScoreWhat is the impact of this issue (four levels)?—
Yes / noDoes the issue include reproduction steps / version / environment / expected behaviour?—
Yes / noIs this item a duplicate of this candidate?—

How it works

  1. Webhook arrives; Probot verifies and routes it
  2. Jev fan-out 1: category, impact, completeness, spam signals, needs-human-review
  3. Lexical prefilter then Jev fan-out 2: one duplicate Noul per candidate
  4. Decision engine applies confidence gates; label, comment, notify; store for accuracy reports

Strengths

  • Uncertain decisions go to humans instead of guesses
  • Learns from maintainer corrections for accuracy reporting
  • Single updatable comment avoids noise
  • CI and strict TypeScript

Caveats

  • Requires hosting a Probot app and a TypeSafe key
  • English-only questions by design

At a glance

Type
Project
Status
beta
Language
TypeScript
Runtime
Probot GitHub app
Has code
yes
Has tests
yes
License
MIT

Use cases and integrations

How curated lists describe it

Frequently asked questions

What does it do with uncertain cases?

Routes them to a human rather than guessing.

How are duplicates found?

A local lexical prefilter picks candidates, then Jev scores each with a yes/no duplicate question.

Does it measure its own accuracy?

Yes, maintainer overrides are stored as ground truth for an accuracy report.

Related projects

  • GitHub Action that triages issues with Jev, applying label, spam, needs-info and duplicate tags only above set thresholds.

    ProjectbetaTypeScript
  • One YAML task to classify, route, score or verify text with rules, Jev, NanoJev or an OpenAI-compatible model, with cost records.

    CLIbetaPython
  • Small Python framework and GitHub Action for Jev-powered workflows, with issue triage and PR screening built as examples.

    ProjectbetaPython
  • R&D repo with three Jev pipelines (ticket triage, alert triage, deploy-risk gate) built from four reusable patterns.

    ProjectresearchPython
  • Three Spanish-language demos where Jev decides and Claude reasons: Jira triage, code pre-flight and a PR review router.

    AppprototypeTypeScript
  • CLI, MCP server and Claude Code plugin for closed-form yes/no, choice, score and rank decisions via Jev, OpenAI Decisions or Claude.

    MCP serverbetaTypeScript