I have a scanner that grades my own projects. It reads the code, applies a list of rules, subtracts points per finding, and hands each project a letter grade. It exists because I build with AI and needed something that wasn't me deciding whether my work was fine.

Someone in a thread here pointed at a flaw in it that I couldn't argue with.

His point: my rules overlap. If two rules fire on the same underlying defect, the project is charged twice for one mistake. And — this is the part that made me sit up — that error can only land on projects that have the defect. A clean project is never double-charged, because there's nothing to charge. So the penalty is regressive: it pushes the worst projects further down and leaves the good ones untouched, which means my grade distribution is stretched at the bottom by a bug rather than by reality.

That's a real argument. My instinct was to fix it that evening.

What I did instead