Skip to content

jev-pr-labeler

Labels GitHub pull requests with Jev via OpenRouter: type, area, platform, attention and a size based on conceptual scope.

Projectbeta

Overview

Jev PR Labeler applies semantic labels to GitHub pull requests using Jev through OpenRouter's Decisions API. Its key idea is that size means conceptual scope, not lines changed: a small protocol change can be broader than a large mechanical rename. Labels cover one primary type (bug, feature, refactor, docs, performance, maintenance), multiple areas, a platform only when specific, attention labels (breaking-change, security) only on positive evidence, and size from XS (trivial correction) to XL (architectural redesign). The model can only select from the taxonomy, never invent names.

It runs locally as a dry run that reports per-question choice, confidence and cost, or applies labels explicitly. As a GitHub Action it triggers after a Greptile review completes, validates the app and PR head, and never checks out PR code, downloads artefacts or executes PR text. The README recommends pinning the action to a full commit SHA and using a dedicated, spend-capped key on a fresh hosted runner.

What the decision model decides

TypeQuestionAnswers
ChoiceWhat is the primary type of this PR?bug · feature · refactor · docs · performance · maintenance
ChoiceWhat is the conceptual size of this PR?XS · S · M · L · XL
Yes / noIs this a breaking change?yes · no

How it works

  1. Fetch PR metadata and diff without checking out code
  2. Ask Jev typed questions for each label group
  3. Select labels from the fixed taxonomy
  4. Dry-run report, or apply labels and create missing ones

Strengths

  • Size reflects scope, not line counts
  • Cannot invent label names
  • Careful CI security posture
  • No runtime dependencies

Caveats

  • Taxonomy tailored to the Jcode project; needs adapting
  • Dry runs still make paid calls
  • Action workflow depends on Greptile completion events

Getting started

export OPENROUTER_API_KEY=..., authenticate gh, then python3 -m jev_labeler --repo owner/repo --pr 123

At a glance

Type
Project
Status
beta
Language
Python
Runtime
CLI and GitHub Action
Has code
yes

Use cases and integrations

How curated lists describe it

  • Semantic GitHub PR labels using Jev's typed decisions, with conceptual scope instead of line counts.

    hellogumbo/awesome-jev

Frequently asked questions

What does Jev decide?

PR type, areas, platform, attention flags and conceptual size from a fixed taxonomy.

Does it run PR code?

No. The workflow never checks out PR code or executes PR text.

Which provider does it use?

OpenRouter's Decisions API with an OpenRouter key.

Related projects

  • Glue that turns one Linux machine into a team of coding agents, with Jev making typed calls like who builds a task and whether it may merge.

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

    ProjectbetaPython
  • Configurable GitHub Action where Jev reviews catalog submissions or classifies PRs under a JSON policy and updates one templated comment.

    ProjectbetaTypeScript
  • Local software factory running YAML pipelines of coding agents and shell steps, with a typesafe step for typed Jev judgments.

    ProjectbetaPython
  • Config-driven IMAP inbox classifier with a terminal UI where Jev answers yes/no per category to tag, move, flag or notify.

    ProjectbetaPython
  • Agent harness for long-running jobs that survive across sessions; listed for a Jev-backed table that routes requests to models.

    ProjectbetaTypeScript