Ghosts of bugs past
说明与用途
“Ghosts of bugs past”工具扫描git历史,识别未持久的bug修复,使用本地Gemma 3模型进行分类,并输出包含判决和git收据的墓碑页面。
问题
Identify bug fixes that did not persist and were later re‑fixed.
结果
Out of 14 flagged commits across click and requests, 1 was a clear ghost, 6 might be, and 7 were false positives. Git receipts were found for only 2 cases, confirming the real ghost and a fix that caused a new bug.
工作流
- Run git to find commits that mention "fix" and use git blame to see if the lines rewritten came from an earlier fix.
- For each suspect pair, feed both commit messages and diffs to a local Gemma 3 model via Ollama and ask it to choose between "same bug came back", "the fix caused a new bug", or "different problem".
- Apply plain checks: the model must quote both commit messages verbatim and cannot invent numbers; if it fails, retry once then discard the answer.
- Require a git receipt: the later commit must reference the earlier one (by ID, issue number, or words like "regression").
- Collect all verdicts and generate a graveyard page listing each suspect with dates, epitaph, and Gemma’s reason.
- Optionally hand‑check the results and publish a HAND_CHECK.md file.
证据
For every commit that says it fixes something, git blame checks whose lines it rewrote. If those lines came from an earlier fix, that fix may not have held.
A local Gemma 3 model, running on my own PC through Ollama, reads both commit messages and both diffs and picks one: "same bug came back", "the fix caused a new bug", or "different problem".
Gemma has to quote both commit messages word for word. If it can't, it gets one retry, then its answer is thrown out.
Only 2 of the 14 had a git receipt: the real ghost, and a fix that caused a different bug.
- 记录日期: 2026-11-01T02:59:05.516Z