Classical ML: Degraded-document OCR
Train an OCR model for degraded text from scratch on CAPTCHA corpora generated inside the offline environment.
The task
The agent works fully offline. No hosted services, no models downloaded at inference time. It gets a large training corpus of synthetic text images spanning dozens of scripts, image previews of the evaluation sources, and general-purpose ML tooling, and it has to ship one executable: point it at a directory of images, and it writes a text file per image, in reading order.
Everything in between is the agent's call: how to extract and preprocess the corpus, what architecture to train, how to handle scripts it wasn't expecting, and how to stay fast enough to get through the evaluation set.
Background
OCR on clean scans is solved; OCR on degraded documents, skewed photocopies, stained pages, low-resolution photographs of print, is not, and that is where the archives that still need digitizing actually live. The usual shortcut is a hosted OCR API or a downloaded pretrained model. This task removes the shortcut.
Evaluation
The verifier runs the submitted executable on held-out degraded-document collections whose reference text the agent never sees, and scores one minus the normalized edit distance between the output and the reference. Corrupted and adversarial inputs are part of the set; a system that crashes on them forfeits those documents.
Results
Every graded run converged on the same system: a small from-scratch line detector feeding a recurrent CTC recognizer. Each trained it on synthetic pages rendered from the twenty-odd fonts found on the machine and degraded procedurally. None tried a transformer, an attention decoder, or anything structurally different. The gains each run reported came from data realism rather than modeling. Runs matched the synthetic degradations to the real previews at the right text scale. They trained the recognizer on the crops its own detector emits and self-trained on pseudo-labeled previews.
The best run pressed hardest on the scarcest resource, judging font diversity the binding constraint. It gave every glyph of a font variant its own fixed warp, minting six times as many typefaces that read as unfamiliar faces. It spent its inference budget re-reading only the lines its recognizer was unsure of. It also recovered the most text. Its output came within a few percent of the reference volume, while the weakest systems dropped a tenth or more of it.