feat(pr-triage): add optional Jev pre-filter wave before parallel review - #9
Merged
Merged
Conversation
Adds Wave 0.5: when the jev MCP server is connected, Jev reads each PR's diff server-side (never entering agent context) and answers three narrow questions (trivial? ready? risk 0-3). Trivial low-risk PRs get a light review on sonnet, drafts and unfinished PRs are deferred to SKIP (the operator can pull them back with "include <N>"), and the rest get the unchanged full review, dispatched riskiest first. Jev never assigns GREEN or BLOCKED and any Jev error falls back to a full review. On by default for public repos, off for private repos (diffs are sent to TypeSafe's API); --prefilter / --no-prefilter override. --auto-merge does not cover light-reviewed PRs.
Owner
Author
|
Mirrored in the standalone repo: griffinwork40/pr-triage#2 |
griffinwork40
added a commit
to griffinwork40/pr-triage
that referenced
this pull request
Sep 27, 2026
Adds Wave 0.5: when the jev MCP server is connected, Jev reads each PR's diff server-side (never entering agent context) and answers three narrow questions (trivial? ready? risk 0-3). Trivial low-risk PRs get a light review on sonnet, drafts and unfinished PRs are deferred to SKIP (the operator can pull them back with "include <N>"), and the rest get the unchanged full review, dispatched riskiest first. Jev never assigns GREEN or BLOCKED and any Jev error falls back to a full review. On by default for public repos, off for private repos (diffs are sent to TypeSafe's API); --prefilter / --no-prefilter override. --auto-merge does not cover light-reviewed PRs. Also refreshes README: documents the new wave and flags, and drops stale FOLLOW-UP bucket and compose mentions removed in earlier commits. Mirrors griffinwork40/agent-framework#9.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Adds an optional Wave 0.5 Jev pre-filter to
/pr-triage. Before the parallel review wave, Jev (TypeSafe AI's judgment engine, via thejevMCP server) reads each PR's diff server-side and answers three narrow questions:trivial: docs, comments, formatting, lockfiles or dep versions only?ready: finished work with no WIP markers or placeholder TODOs?risk: how sensitive is the touched code (0-3)?Routing:
/review --lightonsonnet.ready= no (never for PRs named in--prs), so not reviewed and listed as SKIP. The operator can replyinclude <N>at the triage gate.Safety properties
/review, and every merge keeps its gate.--auto-mergedoes not cover Light-routed PRs; each needs individual confirmation.text, since that would pull them into context.--prefilter, because diffs go to TypeSafe's API.--no-prefilterrestores the old behavior exactly..afk/tmp/pr-triage/under the working directory (the Jev server only reads below its start directory) and deleted at the end.Verification
Ran Wave 0.5 step by step against the 3 open PRs on the public
griffinwork40/agent-afkrepo (jev-1.13.0, onejev_triagecall, ~0.36s, 9,149 input tokens):#2217 only reached P(ready) = 0.23, just above the 0.2 defer cutoff. That is why the
isDraftflag was added as a deterministic defer signal, alongside Jev's judgment. The frontmatter parses as YAML. This is a prompt-only change with no code or tests in this repo.Not verified
/pr-triagesession using the new wave (the reviews themselves were not re-run).