You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
meter-closeup: follow-ups from Codex review 5328852981 #103
These findings from Codex review 5328852981 on #16 were checked and are real. None changes a committed result or puts data at risk, so they wait until after #16 merges, per the manager's rule for this round.
Sweep inputs in the cache key (sweep.py). Rows are validated against the label and the code digest, not the image bytes or the clean-read box. Replacing a photo at the same size would reuse old rows. Add an input digest.
make q45 on a fresh data directory (locate.py). scan() opens ocr/scan.jsonl without creating ocr/; only make q1 creates it. Create the folder before writing.
Joining OCR lines needs a horizontal gap limit (match.py). Any two observations on one row are joined, however far apart. On the committed data, 7 agreed reads use a joined row; each joins to exactly the labelled number, so none is a false read. Limit the gap to a few line heights anyway.
Class labels by token, not substring (match.py). CL20 would match inside CL200. The one CL20 photo holds a genuine CL20 token, so the 20/22 result stands. Match a whole token.
Stale review verdicts (review.py). Saved verdicts are keyed by photo ID only, so a changed label keeps an old "keep". Store the reviewed number with each verdict and drop mismatches.
make q1 crash on a split read with no four-digit line (clean.py). tallest_digit_line can return None when the matched number is joined from short observations. The committed run does not hit it; guard it.
Activity
experiments(meter-closeup): human corrections in the leak digests, sa…
Clip coverage rays to the grid before sampling. (#103)