Skip to content

Rubric packs ​

Rubrics are short, strict review questions. One LLM call returns lanes, findings and a verdict per criterion.

Built-in packs ​

security (on by default) ​

idseverityraises toquestion
sec.no-secretshighblockDoes the change avoid adding real credentials, tokens or private keys?
sec.no-exfiltrationhighblockDoes it avoid sending user, cookie, storage or environment data to unexpected external hosts?
sec.no-unsafe-exechighreviewDoes it avoid eval/new Function/shell execution of untrusted input, and piping remote scripts into a shell?
sec.input-handlingmedium–Is untrusted input validated or escaped (no innerHTML/XSS sinks)?

correctness (on by default) ​

idseverityscoringquestion
cor.logichighpass/failIs the changed logic plausibly correct with no obvious bugs?
cor.errorsmediumpass/failAre errors handled instead of silently swallowed where it matters?
cor.testslow1–5Is new or changed behaviour covered by tests?

maintainability (opt-in) ​

idseverityscoringquestion
mnt.readablelow1–5Is the code readable, with no dead or debug code left behind?
mnt.scopedlowpass/failIs the change focused on one purpose?

When a rubric changes the lane ​

Only a failed high-severity criterion raises the lane, to its raise_to (default review), and only when the model quotes evidence that actually appears in the diff. Everything else is reported in the comment and as line comments, without changing the lane.

Custom criteria ​

yaml
rubrics:
  packs: [security, correctness, maintainability]
  custom:
    - id: team.no-console
      question: Does the change avoid leaving console.log calls in production code?
      severity: low
    - id: team.migrations-reversible
      question: Does every new database migration include a down/rollback step?
      severity: high
      raise_to: review

Fields: id (letters, digits, ., _, -), question, severity (low | medium | high, default medium), scoring (pass_fail | 1-5), raise_to (review | block).

Rubrics are part of .mergejudge.yml on your main branch, so they change only through a reviewed PR. See How it works.

The MergeJudge runner is open source (MIT). MergeJudge never merges pull requests itself. MergeJudge is not affiliated with or endorsed by GitHub. Sign in · Impressum · Privacy · Terms