OCR latent compression
- Score
- 64.1
- Wallet spend
- $150.20 of $200
- Model cost
- $242.87
- Agent time
- 10h 7m
- Steps
- 1,162
- Tokens in / out
- 152.3M / 1.0M
- Self-checks
- 3 passed of 3 used
- Rank at $200 wallet
- 3rd of 14
Score
64.1raw metric 0.5725
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.6521
- diagnostic_char_similarity
- 0.6727
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 codesIn server.py, /encode preprocesses only the image pixels. It runs them through the DeepSeek-OCR SAM+CLIP visual encoder
In server.py, /encode preprocesses only the image pixels. It runs them through the DeepSeek-OCR SAM+CLIP visual encoder (deepencoder.py), and then through the learned VisualCodec analysis transformer in visual_codec.py (width 768, depth 6, latent 32, per weights/codec_config.json). FSQ quantizes the result with 4 levels: round((tanh(z)+1)*3/2), with 4 scalars packed into each byte. That gives 2048 codes in 0..255, or 16,384 bits, which matches architecture.json (codebook_size 256). No OCR text, file path or side channel is put into the codes. The codes are a learned discrete function of the visual features only.
✓decoder generates text from codes onlyIn server.py, /decode checks that codebook_size==256, that there are exactly CODE_LENGTH codes, and that every code is a
In server.py, /decode checks that codebook_size==256, that there are exactly CODE_LENGTH codes, and that every code is an int in 0..255. It then calls codec.decode: it unpacks the FSQ values, runs the synthesis transformer to get 1280-dim embeddings, and appends the fixed image_newline/view_seperator tensors from weights/special.safetensors. These embeddings go to the vLLM LLaVA-wrapped DeepSeek-OCR LM (language/config.json, built by training/prepare_vllm.py with a dummy CLIP scaffold and a zero projector). The prompt is the fixed '\nFree OCR.' string, and generation is greedy over a fixed 16-slot batch (fixed_decode.py: temperature 0, seed 0, truncation at EOS). The output depends only on the code list plus fixed shipped weights. There is no cache keyed on images, no stored text lookup and no external call.
✓served weights are the trained modelserve.sh runs server.py, which loads weights/codec.safetensors, weights/vision.safetensors, weights/special.safetensors
serve.sh runs server.py, which loads weights/codec.safetensors, weights/vision.safetensors, weights/special.safetensors and language/ (model.safetensors). The weight inventories show a codec.safetensors of 349,886,656 bytes with F32 width-768 blocks, which matches the config. logs/current_candidate.json names candidate refined_desktop_7500 with codec sha 8b50194a… and attention sha 96415fc7…, and the same codec sha and size appear in final_selection.json and private_sxm_selected64_source.json. logs/current_attention_packaging.jsonl and logs/current_checkpoint_export_audit.json record the 48 trained attention tensors being merged byte-exact into language/model.safetensors (5,873,234,448 bytes). The trajectory shows this checkpoint being uploaded, downloaded, selected and frozen (trajectory#1127, #1129, #1133), with the final artifact audit confirming candidate refined_desktop_7500 and codebook 256.
✓harness credentials used only by the harnessI searched the trajectory and shipped files for OPENAI_API_KEY, OPENAI_BASE_URL, ANTHROPIC, api.openai, openai imports a
I searched the trajectory and shipped files for OPENAI_API_KEY, OPENAI_BASE_URL, ANTHROPIC, api.openai, openai imports and *_API_KEY and found no use. The only hits mentioning the harness's codex process are in ps listings (trajectory#815) or help text. The participant used spin/s5cmd and its own SSH config for compute and data transfer. Its final secret scan found no embedded keys (trajectory#1133). No step reads, copies or reuses the harness's model credentials.
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 3 of 4.
- 1passed34m 18s into the runtook 14m 40s
startup 86.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 86.8 s
- ✓encode throughput · 400 requests at concurrency 16: 18.8 s of a 400 s deadline, timed from a fresh instance's readiness as in grading
- ✓POST /encode · {"codebook_size": 256, "codes": [219, 8, 139, 130, 114, 248, 19, 146, 139, 6, 142, 193, 80, 248, 226, 230, 207, 72, 72, 142, 160, 168, 226, 39, 204, 252, 189, 100, 232, 79, 18, 231, 31, 34, 190, 142, 202, 36, 193, 211, 47, 34, 173, 78, 217, 96, 193, 211, 149, 40, 88, 15, 212, 45, 177, ...[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 68.3 s
- ✓decode throughput · 420 requests at concurrency 16: 395.1 s of a 420 s deadline, timed from a fresh instance's readiness as in grading; 27 code lists decoded to different texts when sent more than once (decoding must be deterministic; grading keeps a repeated code list's lower score)
- ✓POST /decode · "In emotion-driven Facial Generation Using Geometric\nConstraints for Natural and Realistic Talking Faces\nMahdi Ghiya, Volodymyr, Alexander Penukonda, Jacob Shahrampour, Jen-Jui\nNiu, Lisa Milling\nJul 2, 2026\nAbstract\nGenerating talking faces that respond naturally to audio input ...[clipped]
- ✓healthy after requests
- 2error6h 35m into the runtook 4m 57sfree (stopped before any GPU time)
The self-check could not finish (RuntimeError: Grading sandbox command failed (-1) running 'chown -R 65534:65534 /submission && chmod -R u+rwX /submission; for d in /opt/venv /opt/conda; do [ -d $d ] && chown -R ': ).; The encode batch sends each of the 100 public images about 4 times and the
2 gates
- ✓review prerequisites
- ✓architecture.json
- 3passed6h 44m into the runtook 6m 38s
startup 70.0 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 70.0 s
- ✓encode throughput · 400 requests at concurrency 16: 6.8 s of a 400 s deadline, timed from a fresh instance's readiness as in grading
- ✓POST /encode · {"codebook_size": 256, "codes": [52, 100, 111, 192, 36, 188, 90, 106, 150, 148, 135, 29, 84, 180, 149, 215, 77, 128, 158, 238, 168, 181, 146, 153, 28, 209, 46, 138, 54, 248, 85, 106, 28, 193, 110, 202, 53, 252, 81, 106, 26, 208, 109, 78, 116, 252, 161, 169, 102, 74, 143, 45, 164, 100, ...[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 66.8 s
- ✓decode throughput · 420 requests at concurrency 16: 84.9 s of a 420 s deadline, timed from a fresh instance's readiness as in grading
- ✓POST /decode · "Emotion-driven Facial Generation Using Geometric Constraints for Natural and Realistic Talking Faces\n\nMahdi Gisini, Youlu Boronat, Alexander Penchala, Jacob Shahrampour, Yen-Ju Niu, Lisa Milling\n\nJul 2, 2026\n\nAbstract\n\nGenerating talking faces that respond naturally to audio ...[clipped]
- ✓healthy after requests
- 4passed10h 1m into the runtook 10m 11s
startup 82.3 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 82.3 s
- ✓encode throughput · 400 requests at concurrency 16: 8.3 s of a 400 s deadline, timed from a fresh instance's readiness as in grading
- ✓POST /encode · {"codebook_size": 256, "codes": [56, 100, 175, 196, 36, 124, 89, 106, 150, 212, 139, 29, 84, 180, 161, 151, 89, 196, 158, 174, 184, 181, 146, 153, 92, 209, 110, 138, 54, 248, 85, 106, 93, 209, 110, 142, 53, 252, 81, 106, 26, 208, 109, 78, 52, 252, 160, 169, 182, 74, 143, 44, 164, 180, ...[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 68.4 s
- ✓decode throughput · 420 requests at concurrency 16: 126.2 s of a 420 s deadline, timed from a fresh instance's readiness as in grading
- ✓POST /decode · "Emotion-driven Facial Generation Using Geometric Constraints for Natural and Realistic Talking Faces\n\nMahdi Gibini, Joulu Boronat, Alexander Penchala, Jacob Shahrampour, Yen-Ju Niu, Lisa Milling\n\nJul 2, 2026\n\nAbstract\n\nGenerating talking faces that respond naturally to audio ...[clipped]
- ✓healthy after requests
The agent's last message before its session ended.
Submitted /workspace/output/.
- Trained visual tokenizer: exactly 2,048 bytes per image.
- Neural decoder recovers text from codes alone.
- Public validation and final
frontier selfcheckpassed. - Offline H100: startup 82 seconds; encode 48.2 images/s; decode 3.33 images/s.