hush
GitHub Action that triages issues with Jev, applying label, spam, needs-info and duplicate tags only above set thresholds.
Overview
hush is a GitHub Action and CLI for issue and pull request triage that stays quiet when unsure. For each new issue it makes one Jev request covering a best-fit label, spam, needs more information, and possible duplicate. Each verdict is applied only if its probability clears a threshold you configure, and the label also needs to clear a separate confidence threshold; otherwise hush abstains and reports why.
It is for maintainers who have turned off LLM triage bots after confident wrong labels. The README shows real output at 202-530 ms per issue and estimates about $0.00002 per request, roughly twenty cents per ten thousand issues. A read-only mode, npx hush-triage owner/repo, runs on an existing backlog and writes nothing, showing what would be labelled. The project has a test workflow, an npm package and a Marketplace listing.
What the decision model decides
| Type | Question | Answers |
|---|---|---|
| Choice | Which label best fits this issue? | bug · feature · none · ... |
| Yes / no | Is this issue spam? | yes · no |
| Yes / no | Does this issue need more information? | yes · no |
| Yes / no | Is this a duplicate of an existing issue? | yes · no |
How it works
- New issue triggers the Action
- One Jev request answers label, spam, needs-info and duplicate
- Each verdict is compared to its own threshold
- Apply labels that clear; stay silent and log reasons for the rest
Strengths
- Abstains below threshold instead of guessing
- README reports 202-530 ms per issue and about $0.00002 per request
- Dry-run CLI previews results on any public backlog
- All thresholds are user-configurable
Caveats
- Requires a TypeSafe API key as a repository secret
- Default thresholds may need tuning per repository
Getting started
`export TYPESAFE_API_KEY=...` then `npx hush-triage owner/repo` to preview; add the Action from the GitHub Marketplace to enable it.At a glance
- Type
- Project
- Status
- beta
- Language
- TypeScript
- Runtime
- GitHub Action, Node CLI
- Has code
- yes
- Has tests
- yes
Use cases and integrations
How curated lists describe it
GitHub Action for issue triage that abstains: label, spam, needs-info and duplicate in one call, each applied only above a threshold you set, and nothing at all below it.
hellogumbo/awesome-jev
Frequently asked questions
What does hush decide?
Which label fits a new issue and whether it is spam, needs info or a duplicate, each with its own threshold.
What happens when it is unsure?
It does nothing and records why the probability fell below the threshold.
Can I try it without installing anything in my repo?
Yes, npx hush-triage owner/repo reads a backlog and writes nothing.
Related projects
One YAML task to classify, route, score or verify text with rules, Jev, NanoJev or an OpenAI-compatible model, with cost records.
CLIbetaPythonProbot GitHub app that classifies, scores, checks completeness and dedupes issues and PRs with Jev, routing uncertain ones to humans.
ProjectbetaTypeScriptMultiplayer GitHub triage dashboard where Jev answers kind, severity, urgency, duplicate and next step per issue.
AppbetaCLI, MCP server and skill for issue triage where Jev predicts issue kind, affected module and whether information is sufficient.
MCP serverprototypePythonPython sandbox turning Jev issue-category and reproduction judgments into testable routing proposals, with offline replay.
ProjectprototypePythonPortuguese-language Go proof of concept that tests whether Jev's confidence is calibrated enough to auto-route support tickets.
DemoprototypeGo