AI Stripe Recovery — with the rules we never break

Same 88 photos, same four models, no new inference. The difference: before we score any model's answer we run every proposed line through the production rules we never break (garbage/hairpin/sharp-kink/reverse-turn geometry, and never-cross-another-stripe). A line that breaks a rule is dropped as if it was never drawn — the model gets no credit for it, and it also isn't counted as junk. Two scoreboards below: raw answers vs. answers after the rules. Killed lines show on each photo as a dashed red line.
scanner lines true missing stripe line a rule killed

Raw answers — every line the model drew

After the rules — rule-breaking lines removed first