Inverse dynamics model
- Score
- 45.8
- Wallet spend
- $2.97 of $10
- Model cost
- $4.07
- Agent time
- 1h 16m
- Steps
- 115
- Tokens in / out
- 12.6M / 166k
- Self-checks
- 1 passed of 2 used
- Rank at $10 wallet
- 4th of 14
Score
45.8raw metric 0.4579
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
- 424
- fp
- 509
- fn
- 495
- precision
- 0.4544
- recall
- 0.4614
- failed_clip_limit_percent
- 5
- dropped_actions
- 0
- elapsed_seconds
- 584.9104
- 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 provenanceEvery training corpus is declared, and none comes from a forbidden source. CursorNet trains on procedurally generated cu
Every training corpus is declared, and none comes from a forbidden source. CursorNet trains on procedurally generated cursors, plus cursor templates and backgrounds taken from the single allowed example MP4. ActionRefinerNet trains on 6000 self-rendered GUI pairs, plus 400 augmentations from four windows of that same allowed example clip. All sources are listed in data_manifest.json and architecture.json. The trajectory shows the agent read only the allowed /task/public example (trajectory#11). The only s5cmd copy sends that one allowed clip to Spin storage for the dev GPU (trajectory step 22-43 chunk). Searches of the trajectory found no p-doom/idm-eval download, no frontier-ml-tasks access, no load_dataset call and no hf_hub_download of datasets. The Qwen base download is pinned and logged.
✓non specialist initializationThe only pretrained component is Qwen/Qwen3-VL-8B-Instruct, a general-purpose vision-language model rather than an IDM.
The only pretrained component is Qwen/Qwen3-VL-8B-Instruct, a general-purpose vision-language model rather than an IDM. It is pinned at revision 0c351dd01ed87e9c1b53cbc748cba10e6187ff3b, downloaded by download_base.py (trajectory#20, logs/base_download.log) and kept frozen. CursorNet (seed 42) and ActionRefinerNet (seed 123) are randomly initialized in train_cursor.py and train_action_refiner.py. No p-doom/idm or other specialist IDM checkpoint appears anywhere in the shipped code, the weights or the trajectory.
✓actual inference uses reviewed weightsserve.sh sets HF_HUB_OFFLINE=1 and TRANSFORMERS_OFFLINE=1 and installs packages only from the local wheels/ directory be
serve.sh sets HF_HUB_OFFLINE=1 and TRANSFORMERS_OFFLINE=1 and installs packages only from the local wheels/ directory before starting server.py. server.py loads models/cursor_net.pt through ScreenAnalyzer (weights_only state_dict) and loads the local Qwen weights through SemanticModel (local_files_only=True). semantic_model.py also loads models/action_refiner.pt. Actions come from cursor tracking, optical-flow scroll detection, Qwen generation on frame-difference crops, and refiner thresholds. The request id is ignored. There are no remote inference calls and no lookup of evaluation labels.
✓harness credentials used only by the harnessParticipant code never references the harness API keys or base URL. Trajectory searches for API_KEY, BASE_URL and OPENAI
Participant code never references the harness API keys or base URL. Trajectory searches for API_KEY, BASE_URL and OPENAI returned nothing. No other agent CLI was launched: searches for 'codex exec' and 'claude' returned nothing. The codex-secrets directory appears only in a directory listing and was never read. The session used only allowed tools: Spin compute, Spin s5cmd, Spin transfer credentials, HfApi model_info and HF model downloads (trajectory#4, trajectory#15, trajectory#19).
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.
- 1failed43m 59s into the runtook 9m 7s
failed startup: Server did not become healthy in 300s (last /health probe: RuntimeError: Submission HTTP request failed: ConnectionRefusedError: [Errno 111] Connection refused); end of its log: .16.0 typing-inspection-0.4.4 urllib3-2.8.0 uvicorn-0.38.0 Using `use_fast=True` but `torchvision`
2 gates
- ✓review prerequisites
- ✗startup · Server did not become healthy in 300s (last /health probe: RuntimeError: Submission HTTP request failed: ConnectionRefusedError: [Errno 111] Connection refused); end of its log: .16.0 typing-inspection-0.4.4 urllib3-2.8.0 uvicorn-0.38.0 Using `use_fast=True` but `torchvision` is not available. Falling back to the slow image processor. Traceback (most recent call last): File "/submission/server.py", line 30, in <module> semantic = SemanticModel(ROOT / "models" / "qwen3_vl_8b") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/submission/semantic_model.py", line 310, in __init__ self.processor = AutoProcessor.from_pretrained(path, local_files_only=True, min_pixels=256*32*32, max_pixels=576*32*32) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/tmp/action-model-deps/transformers/models/auto/processing_auto.py", line 396, in from_pretrained return processor_class.from_pretrained( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/tmp/action-model-deps/transformers/processing_utils.py", line 1394, in from_pretrained args = cls._get_arguments_from_pretrained(pretrained_model_name_or_path, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/tmp/action-model-deps/transformers/processing_utils.py", line 1453, in _get_arguments_from_pretrained args.append(attribute_class.from_pretrained(pretrained_model_name_or_path, **kwargs)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/tmp/action-model-deps/transformers/utils/import_utils.py", line 2157, in __getattribute__ requires_backends(cls, cls._backends) File "/tmp/action-model-deps/transformers/utils/import_utils.py", line 2143, in requires_backends raise ImportError("".join(failed)) ImportError: AutoVideoProcessor requires the Torchvision library but it was not found in your environment. Check out the instruction ...[clipped]
- 2passed59m 41s into the runtook 6m 53s
startup 63.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 63.1 s
- ✓POST /actions · {"actions": 14, "dropped_actions": 0, "warning": null, "first": [{"frame": "F00", "type": "MouseMove", "details": "-6,40"}, {"frame": "F01", "type": "MouseMove", "details": "-6,46"}, {"frame": "F03", "type": "MouseClick", "details": "Left"}]}
- ✓slowest request · 9 clips one at a time, each from its first attempt to its last (retries included), median 8.74 s, the first (cold) 11.13 s
- ✓43 clips one at a time · grading's request loop (validate.py run()) on 8 copies of the public clip: 69.3 s on the server the smoke request warmed up, 372.7 s for 43 (projected from 8 of 43 requests at concurrency 1), plus 2.4 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 successfully with frontier submit --confirm.
- Server:
/workspace/output/serve.sh:1, providingPOST /actions. - Trained cursor/action heads with a general pretrained Qwen backbone.
- Provided-example action F1: 1.0; not a held-out estimate.
- Offline H100 selfcheck passed: 63.1-second startup, 11.1-second slowest request.
- No other prohibited dataset clips or labels were used.