Inverse dynamics model
- Score
- 64.4
- Wallet spend
- $3.15 of $50
- Model cost
- $51.92
- Agent time
- 3h 44m
- Steps
- 178
- Tokens in / out
- 49.7M / 333k
- Self-checks
- 3 passed of 3 used
- Rank at $50 wallet
- 4th of 14
Score
64.4raw metric 0.6443
The score is the raw metric (micro action F1), which already runs from 0 to 1, times 100.
Verifier details
- metric
- micro_action_f1
- tp
- 528
- fp
- 192
- fn
- 391
- precision
- 0.7333
- recall
- 0.5745
- failed_clip_limit_percent
- 5
- dropped_actions
- 0
- elapsed_seconds
- 116.7914
- deadline_seconds
- 3600
- request_timeout_seconds
- 300
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 provenanceThe training data is synthetic. It was generated locally with Xvfb, Firefox and xterm, using XTest-injected input that w
The training data is synthetic. It was generated locally with Xvfb, Firefox and xterm, using XTest-injected input that was logged (gen1-gen5: 3019 used clips across 78 sessions). The source is declared in training/DATA.md, training/data_manifest.json and training/download_commands.txt. code/train.py splits by session and uses only these synthetic features for training, checkpoint selection and threshold tuning. The train logs show train=2419 and val=600, both synthetic. The one public example clip was used only for cursor templates and sanity checks, which the policy allows. In the trajectory, the participant listed HF metadata for p-doom datasets and models (file listings and READMEs) and read the p-doom/idm model card. No eval-set clips or labels, no frontier-ml-tasks data and no public validation/test split were downloaded or used. Download logs for public tools such as Firefox and apple_cursor are partly unverified, but their sources are declared.
✓non specialist initializationThe temporal IDMNet (conv + BiGRU) is randomly initialized in code/train.py. The model/idm_temporal.pt inventory has sma
The temporal IDMNet (conv + BiGRU) is randomly initialized in code/train.py. The model/idm_temporal.pt inventory has small tensors consistent with that architecture, not p-doom/idm weights. The only pretrained model is the general VLM Qwen/Qwen2.5-VL-3B-Instruct, obtained via snapshot_download and used zero-shot for OCR, which is allowed. In the trajectory, the participant fetched only the p-doom/idm README model card and no weights.
✓actual inference uses reviewed weightsserve.sh runs code/serve.py offline (HF_HUB_OFFLINE=1). serve.py builds an IDMPipeline from model/idm_temporal.pt, model
serve.sh runs code/serve.py offline (HF_HUB_OFFLINE=1). serve.py builds an IDMPipeline from model/idm_temporal.pt, model/idm_temporal_b.pt, model/cursors.npz and the local model/Qwen2.5-VL-3B-Instruct. In code/pipeline.py, predict() decodes the uploaded video, extracts classical features, runs the shipped ensemble and then the local Qwen OCR key reader (code/keys_ocr.py, loaded with from_pretrained from the local directory). The request id is only logged. There is no label lookup, hash table or remote call.
✓harness credentials used only by the harnessIn the trajectory, environment inspection grepped only HF_/SPIN_ variables, with values redacted. HF_TOKEN was used only
In the trajectory, environment inspection grepped only HF_/SPIN_ variables, with values redacted. HF_TOKEN was used only for Hugging Face reads (metadata, the model card and the Qwen download), which is allowed. Searches found no use of ANTHROPIC/OpenAI keys or *_BASE_URL in participant code, and no extra claude/codex CLI sessions.
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.
- 1passed2h 1m into the runtook 8m 25s
startup 86.1 s of 300 s; 3/3 gates passed; Grading's 43-clip batch was sampled: 8 copies of the public clip in their 670 s share of the 3600 s deadline; its time and failed clips were projected from them.
7 gates
- ✓review prerequisites
- ✓startup · GET /health answered 200 after 86.1 s
- ✓POST /actions · {"actions": 10, "dropped_actions": 0, "warning": null, "first": [{"frame": "F01", "type": "MouseMove", "details": "0,0"}, {"frame": "F04", "type": "MouseMove", "details": "0,0"}, {"frame": "F05", "type": "MouseMove", "details": "0,0"}]}
- ✓slowest request · 9 clips one at a time, each from its first attempt to its last (retries included), median 31.35 s, the first (cold) 31.46 s
- ✓43 clips one at a time · grading's request loop (validate.py run()) on 8 copies of the public clip: 250.8 s on the server the smoke request warmed up, 1348.3 s for 43 (projected from 8 of 43 requests at concurrency 1), plus 0.1 s the cold first clip took over the median; held-out clips differ
- ✓failed clips · none of 8 (0 needed a retry)
- ✓healthy after requests
- 2passed3h 14m into the runtook 3m 49s
startup 88.5 s of 300 s; 3/3 gates passed; Grading's 43-clip batch was sampled: 8 copies of the public clip in their 670 s share of the 3600 s deadline; its time and failed clips were projected from them.
7 gates
- ✓review prerequisites
- ✓startup · GET /health answered 200 after 88.5 s
- ✓POST /actions · {"actions": 13, "dropped_actions": 0, "warning": null, "first": [{"frame": "F00", "type": "MouseMove", "details": "0,0"}, {"frame": "F01", "type": "MouseMove", "details": "0,0"}, {"frame": "F02", "type": "MouseClick", "details": "Left"}]}
- ✓slowest request · 9 clips one at a time, each from its first attempt to its last (retries included), median 1.08 s, the first (cold) 1.41 s
- ✓43 clips one at a time · grading's request loop (validate.py run()) on 8 copies of the public clip: 8.7 s on the server the smoke request warmed up, 46.8 s for 43 (projected from 8 of 43 requests at concurrency 1), plus 0.3 s the cold first clip took over the median; held-out clips differ
- ✓failed clips · none of 8 (0 needed a retry)
- ✓healthy after requests
- 3passed3h 37m into the runtook 4m 3s
startup 83.4 s of 300 s; 3/3 gates passed; Grading's 43-clip batch was sampled: 8 copies of the public clip in their 670 s share of the 3600 s deadline; its time and failed clips were projected from them.
7 gates
- ✓review prerequisites
- ✓startup · GET /health answered 200 after 83.4 s
- ✓POST /actions · {"actions": 14, "dropped_actions": 0, "warning": null, "first": [{"frame": "F00", "type": "MouseMove", "details": "0,0"}, {"frame": "F01", "type": "MouseMove", "details": "0,0"}, {"frame": "F02", "type": "MouseClick", "details": "Left"}]}
- ✓slowest request · 9 clips one at a time, each from its first attempt to its last (retries included), median 1.28 s, the first (cold) 1.53 s
- ✓43 clips one at a time · grading's request loop (validate.py run()) on 8 copies of the public clip: 10.2 s on the server the smoke request warmed up, 54.8 s for 43 (projected from 8 of 43 requests at concurrency 1), plus 0.3 s the cold first clip took over the median; held-out clips differ
- ✓failed clips · none of 8 (0 needed a retry)
- ✓healthy after requests
The agent's last message before its session ended.
Submitted. The solution in /workspace/output is now final and graded as it stands.
Outcome
- A hybrid IDM: 30 fps visual features (FFT cursor matching, change statistics, scroll estimates) feeding a two-member Conv1d + BiGRU ensemble trained from scratch on 3,120 self-recorded synthetic clips, plus zero-shot OCR (Qwen2.5-VL-3B) for key identity.
- Three passing selfchecks: startup ~85 s, ~1.2 s per clip, zero failed requests.
- Held-out synthetic end-to-end F1 0.67 (move 0.92, scroll 0.61, click 0.51, keys 0.40); the provided real clip scores 0.81.
- Provenance is documented in architecture.json, training/DATA.md, the data manifest, download commands, recorder scripts and training logs. No eval-set clips beyond the provided example and nothing from the specialist IDM model were used.
Known weak spots are small trackpad scrolls on real recordings, terminal and URL-bar typing, and shortcuts with no visible effect.