Screenshot generation
- Score
- 28.6
- Wallet spend
- $7.02 of $10
- Model cost
- $20.24
- Agent time
- 1h 14m
- Steps
- 96
- Tokens in / out
- 30.6M / 105k
- Self-checks
- 2 passed of 2 used
- Rank at $10 wallet
- 9th of 14
Score
28.6raw metric 0.6561
The raw metric (mean of quality (OCR text, OCR layout, judged faithfulness) and judged realism) is rescaled so that a baseline that draws each text line into its box on a white page (0.537) scores 0 and the real screenshots (0.954) scores 100, clamped to that range.
Verifier details
- metric
- mean_accuracy_realism
- samples
- 200
- available_samples
- 500
- judge_model
- gpt-6-luna
- ungated_score
- 0.6561
- invalid_images
- 0
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.
✓training data provenanceNothing in the submission is trained. architecture.json, DATA.md and logs/init.log all say it is a procedural renderer w
Nothing in the submission is trained. architecture.json, DATA.md and logs/init.log all say it is a procedural renderer with no training, calibration or selection corpus, and the shipped code agrees: ui.py and server.py only read the request and draw with Pillow. The one tuning loop in the session rendered the 25 shipped public examples from /task/public/validation.jsonl and had the judge model rate them through the Spin proxy. Those are the allowed shipped examples, not a public benchmark's validation or test split. Searches of the session found no Hugging Face download, no wget/curl fetch and no access to inductionlabs/frontier-ml-tasks or its private folder. The fonts are generic OFL assets with their licenses shipped.
✓non specialist initializationThe generator is a programmatic renderer with no starting weights (base_model 'none'). No weight files are shipped; the
The generator is a programmatic renderer with no starting weights (base_model 'none'). No weight files are shipped; the only binary files are four Inter and JetBrains Mono TTF fonts. No model is loaded anywhere: serve.sh runs server.py, which calls ui.paint, a pure Pillow drawing routine.
✓no reference image lookupThe POST /v1/images/generations handler in server.py checks the request and calls ui.paint(description, texts). That fun
The POST /v1/images/generations handler in server.py checks the request and calls ui.paint(description, texts). That function builds the image from scratch: theme and chrome from keywords in the description, shapes placed in the gaps between boxes, then each requested string drawn inside its box with the shipped fonts. It stores no screenshots, hashes, ids or images, uses no network, and the only files it reads are the fonts. Some heuristics are keyed to description phrases, but they draw generic shapes and do not look up stored references.
✓actual inference pathserve.sh sets the offline environment variables and runs `python server.py`. server.py imports paint from ui.py and uses
serve.sh sets the offline environment variables and runs `python server.py`. server.py imports paint from ui.py and uses it both for warm-up and in the generation handler. There are no checkpoints, no alternate code paths and no remote calls. The session's self-check log shows the server answering real generation requests with this code (trajectory#91).
✓harness credentials used only by the harnessThe harness is grok-build (xAI). The participant's judge script /tmp/judge_local.py used a Spin wallet key (spin_agent_w
The harness is grok-build (xAI). The participant's judge script /tmp/judge_local.py used a Spin wallet key (spin_agent_wal_...) against api.spin.inductionlabs.com, Spin's OpenAI-compatible inference billed to the participant's wallet (trajectory#5, trajectory#55, trajectory#56). That is the participant's own allowance and is permitted. No harness credential (xAI or other *_API_KEY or *_BASE_URL) was read, echoed or used, and no extra harness CLI sessions were started. A final scan confirmed no keys were written into the output (trajectory#92).
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.
- 1passed41m 42s into the runtook 58s
startup 0.4 s of 300 s; 3/3 gates passed; The speed gates were measured on a sample: 20 sequential public requests against their 720 s share of grading's 7,200 s for 200, the budget projected to all 200 and p95 and the failure limit taken over the 20.
7 gates
- ✓review prerequisites
- ✓startup · GET /health answered 200 after 0.4 s
- ✓failed requests · none of the 20 requests failed, timed out or answered anything but one 1280x720 8-bit RGB PNG
- ✓generation budget (projected) · projected from 20 of 200 requests at concurrency 1: they took 4.6 s of server time; at that rate grading's 200 take 46 s of the 7,200 s it allows
- ✓p95 latency · 20 sequential public requests, the first as soon as /health answered: mean 0.2 s, max 0.4 s; p95 of 20 allows 1 above 30 s as grading's p95 of 200 allows 10; clock: trusted HTTP client inside the serving sandbox; grading transport (provider transfer/exec) excluded
- ✓valid images · all 20 answers were valid 1280x720 RGB PNGs the scorer decodes
- ✓healthy after requests
- 2passed1h 12m into the runtook 48s
startup 0.3 s of 300 s; 3/3 gates passed; The speed gates were measured on a sample: 20 sequential public requests against their 720 s share of grading's 7,200 s for 200, the budget projected to all 200 and p95 and the failure limit taken over the 20.
7 gates
- ✓review prerequisites
- ✓startup · GET /health answered 200 after 0.3 s
- ✓failed requests · none of the 20 requests failed, timed out or answered anything but one 1280x720 8-bit RGB PNG
- ✓generation budget (projected) · projected from 20 of 200 requests at concurrency 1: they took 6.6 s of server time; at that rate grading's 200 take 66 s of the 7,200 s it allows
- ✓p95 latency · 20 sequential public requests, the first as soon as /health answered: mean 0.3 s, max 0.7 s; p95 of 20 allows 1 above 30 s as grading's p95 of 200 allows 10; clock: trusted HTTP client inside the serving sandbox; grading transport (provider transfer/exec) excluded
- ✓valid images · all 20 answers were valid 1280x720 RGB PNGs the scorer decodes
- ✓healthy after requests
The agent's last message before its session ended.
The screenshot generator is submitted. It is a procedural renderer: it draws the described chrome in the gaps between the requested boxes, then draws every requested line exactly inside its box.
The official self-check passed on the files that were submitted. Startup was 0.3 seconds, all 20 public requests returned valid 1280×720 RGB PNGs, and p95 latency was 0.65 seconds.