REPOSITORY ANALYSIS

jev-commit

A commit-msg hook that scores the message against the staged diff with one Jev request of five Nouls and warns by default. Default blocking is a local regex belt on high-precision added-line hits; the secret_shaped Noul blocks only with --strict.

E2 · source reviewedPublic material or source evidence was reviewed. A fixed-version source review requires checking a pinned revision; this is not a reproduction, performance endorsement, or safety guarantee.
Stars
11
Forks
0
License
MIT
Last commit
2026-09-19

What Jev does here

Five Noul questions in one request: checkable message, hunk match, debug leftovers, unmentioned work, and credential-shaped added lines. Default blocking is the regex belt; secret_shaped participates only under --strict.

Turns commit-message review into thresholded probabilities instead of prose; API failures still allow the commit.

Fixed-version documentation and implementation material were inspected on 2026-10-24. No hooks were installed or commits attempted. Author false-alarm labels and latency measurements were not independently reproduced.

What task does this project fit?

Check whether a commit message matches the staged work without making semantic advice an unavoidable commit block.

Material analysed:

From input to action

  1. Code gathers and budgets a staged diff plus the commit message.
  2. Five Nouls assess message quality, hunk agreement, leftovers, unmentioned work and secret-shaped additions.
  3. Local regex rules and optional --strict determine blocking; API failures allow the commit.

Implementation details that matter

Default and strict have different authority

The default high-precision credential belt is deterministic; semantic secret_shaped participates in blocking only under --strict. Do not present ordinary warning mode as a comprehensive security gate.

Inspect the supporting source ↗

The deadline bounds the whole request

jev.py checks a monotonic deadline while reading response chunks, addressing the difference between a socket timeout and a total wall-clock budget.

Inspect the supporting source ↗

When to choose it

Useful as an advisory commit-msg hook. Combine it with deterministic secret scanning and server-side checks, especially because --no-verify and some Git workflows bypass the hook.

How to inspect it yourself

Read the README exit-code/default-mode sections and jev.py _read_by/ask. Compare normal mode, --strict and missing-key behavior; check that a slow streaming response is constrained by the deadline, not only per-read timeout.

Limits of this review

  • No hooks were installed or commits attempted.
  • Author false-alarm labels and latency measurements were not independently reproduced.
Primary material used in this analysis