Loading neural weights...
initializing attention layers
Loading neural weights...
initializing attention layers

The audit layer for AI-generated commits
git-to-doc reads a code diff and checks whether the commit message actually describes the change. Two auditor models from different families read the diff on their own, before either one sees the message. Anything the message leaves out or gets wrong becomes a divergence, and each one points to a file and line.
[ diff ] │ ├─▶ qwen2.5-coder:14b reads blind └─▶ deepseek-coder-v2 reads blind │ ▼ compare each reading against the commit message │ ▼ divergences, each citing file:line HIGH = both models agree · possible = one model
Two auditors from different families
Default pair: qwen2.5-coder:14b and deepseek-coder-v2. Different training data gives them different blind spots, so they rarely fail in the same way.
Each reads the diff blind
Both models describe what the diff does before either one sees the author's commit message.
Compare against the message
Each independent reading is checked against the actual commit message. Anything it leaves out or gets wrong becomes a divergence.
Cite a line, or get rejected
Every divergence must reference a file and a line number. If a model can't produce a valid citation, Pydantic schema validation drops the output.
Confidence by agreement
HIGH = both models flagged the same file:line, within three lines. possible = only one auditor flagged it.
Errors out when unsure
If neither auditor can produce a valid cited report, the tool errors out. It won't invent an “all clear.”

Full methodology and raw results are in BENCHMARKS.md.
Synthetic · n=168 · ground truth known
Real-world · n=95 · actual AI-authored commits
Divergence rate by authoring tool
Scope: one hardware tier (16GB RAM), one model pair. Only the default pair is benchmarked. Other pairs are open questions.
This didn't start as an auditor. It won 1st place at the GDG Cloud Boston hackathon as a commit message generator, which is a saturated space.
Mid-build I realized the more interesting problem: in 2026 most commits are written by AI, the person merging them often doesn't know exactly what changed, and the “reviewer” is often the same model family that wrote the code.
So I rewrote the tool to audit instead of generate. Then benchmarked it, hand-checked the results, and shipped it honestly.
