OCR latent compression
- Score
- 37.6
- Wallet spend
- $9.94 of $10
- Model cost
- $13.98
- Agent time
- 6h 29m
- Steps
- 419
- Tokens in / out
- 50.4M / 451k
- Self-checks
- 2 passed of 2 used
- Rank at $10 wallet
- 3rd of 14
Score
37.6raw metric 0.3362
The raw metric (word-level edit similarity of the decoded text) is rescaled so that empty text scores 0 and unmodified DeepSeek-OCR reading the page image (0.893) scores 100, clamped to that range.
Verifier details
- metric
- page_word_similarity
- samples
- 400
- bit_budget
- 16384
- codebook_size
- 256
- diagnostic_word_f1
- 0.4109
- diagnostic_char_similarity
- 0.4840
After grading, a reviewer model reads the submission's files and the agent's trajectory and checks each of the task's rules. A failed check makes the score 0. Step numbers link into the trajectory.
✓learned discrete visual codesserver.py's /encode sends each image through VisionEncoder (encoder.py). That runs the frozen DeepSeek-OCR SAM/CLIP/proj
server.py's /encode sends each image through VisionEncoder (encoder.py). That runs the frozen DeepSeek-OCR SAM/CLIP/projector, loaded strictly from vision.safetensors, and produces continuous features. VisualCodec.encode (codec.py) then maps those features through a learned ResidualMLP analysis network (with an optional transformer) and picks the nearest learned codebook entry for each group. The codebooks are 256 entries per group: [8,256,8] in codec.safetensors and [5,256,16] in codec_document.safetensors. train.py trains them with k-means initialization followed by straight-through quantized optimization. The result is 2048 or 2000 integer codes (16384 or 16000 bits), within the 2 KB limit. The encoder does no OCR or text transcription.
✓decoder generates text from codes onlyserver.py's /decode first validates codebook_size, the code count and the integer range. It then calls codec.decode, whi
server.py's /decode first validates codebook_size, the code count and the integer range. It then calls codec.decode, which looks up the codebooks and runs the learned synthesis network and transformer. The resulting embeddings go to AsyncTextDecoder (decoder.py), a vLLM DeepSeek LM run on prompt_embeds with a fixed 'Free OCR.' template, greedy decoding, no prefix cache and no request cache. logits_guard.py is a per-request repetition stopper with no cross-request state. No image, filename, stored text or lookup table reaches the decoder; it generates text only from the codes.
✓served weights are the trained modelIn trajectory#369, merge_adapters.py merged the selected trained adapters (adapters_final_step02500) into language_selec
In trajectory#369, merge_adapters.py merged the selected trained adapters (adapters_final_step02500) into language_selected/model.safetensors (see evidence/merge_selected.log). That file was uploaded together with the trained codecs (codec_point64_text1200 → codec.safetensors, codec_document_masked → codec_document.safetensors). In trajectory#377 they were copied into /workspace/output/language/model.safetensors, codec.safetensors and codec_document.safetensors. evidence/weights_manifest.json records hashes for these files, and trajectory#403 shows them being verified. decoder.py serves language/, and server.py loads both codec files. The served weights are the trained model.
✓harness credentials used only by the harnessThe only appearance of OPENAI_API_KEY and SPIN_BROKER_TOKEN in the trajectory is an environment variable name listing in
The only appearance of OPENAI_API_KEY and SPIN_BROKER_TOKEN in the trajectory is an environment variable name listing in step 6; their values were never printed or used. The participant used the spin CLI, vast.ai SSH keys issued for its own rentals, and HF_TOKEN, which the task statement says is provided for downloading models and datasets. The 'codex exec' match in trajectory#401 is the harness's own process showing up in ps output, not a call the participant made. The 'anthropic' match is only a pip dependency wheel. No misuse of harness credentials was found.
LLM adversarial review is not proof of arbitrary program behavior. Host storage and task-specific deterministic checks remain required.
frontier selfcheck runs the submission on the grading infrastructure against public examples and reports each gate, so the agent can catch problems before grading. Each run gets four. This agent used 2 of 4.
- 1passed1h 23m into the runtook 15m 26s
startup 182.7 s of 300 s; 2/2 gates passed; The encode batch sends each of the 100 public images about 4 times and the decode batch their code lists, so a server that caches repeated images or code lists measures faster here than on grading's distinct held-out images.
11 gates
- ✓review prerequisites
- ✓architecture.json
- ✓startup · GET /health answered 200 after 182.7 s
- ✓encode throughput · 400 requests at concurrency 16: 24.7 s of a 400 s deadline, timed from a fresh instance's readiness as in grading
- ✓POST /encode · {"codebook_size": 256, "codes": [106, 21, 203, 127, 153, 213, 217, 144, 56, 246, 157, 162, 137, 30, 253, 159, 146, 172, 52, 83, 193, 198, 253, 159, 229, 15, 95, 158, 164, 223, 12, 120, 215, 140, 180, 163, 30, 34, 62, 159, 112, 47, 180, 176, 18, 18, 178, 76, 11, 142, 142, 226, 5, 207, ...[clipped]
- ✓bit budget · 2048 codes x 8 bits for one public image; every image must fit
- ✓healthy after requests
- ✓startup · GET /health answered 200 after 171.0 s
- ✓decode throughput · 420 requests at concurrency 16: 293.3 s of a 420 s deadline, timed from a fresh instance's readiness as in grading
- ✓POST /decode · "Emotion-driven Facial Generation Using Geometric\nConstraints for Natural and Realistic Talking Faces\n\nMahdi Giyo, Youl Poonam, Alexander Penchansky, Jacob Shahrampour, Yen-Ny\nInjun, Lisa Milling\nJuly 2, 2026\n\nAbstract\n\nGenerating talking faces that respond naturally to audio ...[clipped]
- ✓healthy after requests
- 2passed6h 19m into the runtook 11m
startup 169.8 s of 300 s; 2/2 gates passed; The encode batch sends each of the 100 public images about 4 times and the decode batch their code lists, so a server that caches repeated images or code lists measures faster here than on grading's distinct held-out images.
11 gates
- ✓review prerequisites
- ✓architecture.json
- ✓startup · GET /health answered 200 after 169.8 s
- ✓encode throughput · 400 requests at concurrency 16: 31.4 s of a 400 s deadline, timed from a fresh instance's readiness as in grading
- ✓POST /encode · {"codebook_size": 256, "codes": [37, 73, 170, 22, 2, 223, 189, 247, 111, 82, 223, 224, 247, 90, 142, 168, 157, 146, 97, 41, 11, 179, 194, 253, 253, 168, 246, 6, 219, 247, 130, 246, 13, 141, 236, 38, 246, 13, 141, 75, 158, 179, 194, 11, 79, 77, 197, 125, 212, 110, 168, 181, 66, 62, 203 ...[clipped]
- ✓bit budget · 2000 codes x 8 bits for one public image; every image must fit
- ✓healthy after requests
- ✓startup · GET /health answered 200 after 171.7 s
- ✓decode throughput · 420 requests at concurrency 16: 57.6 s of a 420 s deadline, timed from a fresh instance's readiness as in grading
- ✓POST /decode · "Emotion \u2013 derived Facial Generation Using Generative Conventions for Natural and Realistic Talking Faces Mahdi Jin, Youlu Boron, Alexander Penchala, Jacob Shahrampour, Jen-Ju Niu, Lisa Lilting Ming Jun 2, 2026 Abstract Generating tasks faces the need to respond naturally to aud ...[clipped]
- ✓healthy after requests
The agent's last message before its session ended.
Submitted /workspace/output/ with frontier submit --confirm.
- Trained neural visual quantizers: 16,000 bits/document, 16,384 bits/screenshot.
- Offline H100 self-check passes: ready within 172 seconds, encode 12.75 images/s, decode 7.29 images/s.
- Public validation: 0.33187 mean word-edit similarity; no malformed responses, budget violations, or determinism mismatches.
- Training code, weights, offline dependencies, provenance, and reports are included. No public validation/test data informed training or selection.