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.
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.
WHY IT HELPS
Turns commit-message review into thresholded probabilities instead of prose; API failures still allow the commit.
SOURCE NOTE
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.
Check whether a commit message matches the staged work without making semantic advice an unavoidable commit block.
Material analysed:
From input to action
Code gathers and budgets a staged diff plus the commit message.
Five Nouls assess message quality, hunk agreement, leftovers, unmentioned work and secret-shaped additions.
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.
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.