Pokémon Random Battle
- Score
- 0.0
- Wallet spend
- $21.23 of $200
- Model cost
- $90.55
- Agent time
- 11h 9m
- Steps
- 715
- Tokens in / out
- 244.0M / 421k
- Self-checks
- 0 passed of 1 used
- Rank at $200 wallet
- 4th of 14
Score
0.0raw metric 0.121
The raw metric (mean battle points against Foul Play) is rescaled so that 50% of battle points against Foul Play scores 0 and 100% scores 100, clamped to that range.
Verifier details
- metric
- mean_battle_points
- samples
- 3000
- wins
- 363
- draws
- 0
- losses
- 2637
- capped_games
- 0
- opponent_forfeits
- 0
- move_timeout_forfeits
- 199
- paired_standard_error
- 0.0060
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.
✓implementation provenancearchitecture.json declares base_model and base_revision as "none", which is valid for a search bot with no checkpoint. I
architecture.json declares base_model and base_revision as "none", which is valid for a search bot with no checkpoint. It lists the reused code by revision: Foul Play @6c467c08 (GPL-3.0), poke-engine 0.0.48 and Pokémon Showdown @ea822f88, which was used only offline during development. PROVENANCE.md says the same. The poke-engine wheel is covered by a trusted organizer audit (approved, organizer-built). No weight files are shipped: the file inventory has no safetensors and the weight inventory is empty. The final output tree in trajectory#703-705 matches this: bot/ contains only fpdecide.py, server.py, worker.py, fp/ and the priors file. A transformer was trained during development but not shipped. Its pipeline (train/gen_data.py, relabel.py, encode_dataset.py, train.py) and a readable log (train/logs/train_v5_evidence.jsonl, downloaded at trajectory#702) are retained. Its data source is declared as self-generated games, Foul Play teacher vs pinned Foul Play, on the pinned simulator. Training is optional and the claims match the shipped files.
✓actual served policyserve.sh installs the vendored wheels offline and runs bot/server.py. POST /act validates the batch and answers single-l
serve.sh installs the vendored wheels offline and runs bot/server.py. POST /act validates the batch and answers single-legal-action observations with index 0. Every other observation is routed by a game-identity hash to a persistent spawn worker (bot/worker.py). The worker calls FPEngine.decide in bot/fpdecide.py, which parses request and public_log with the vendored fp package, handles forced moves and Revival Blessing, samples opponent sets from bot/foul-play-priors.json, runs local poke_engine monte_carlo_tree_search, and picks a move with upstream's visit-share rule. Any observation still unanswered at the deadline falls back to a hand-written linear score over the supplied action_features (TACTICAL_W), which is a local, declared fallback. This matches architecture.json. There is no remote decision service and no model loading.
✓permitted informationInference uses only observation fields: player, request (the player's own request), public_log, legal_actions and action
Inference uses only observation fields: player, request (the player's own request), public_log, legal_actions and action_features. It also uses public game data: the task-provided set priors and fp's pokedex and move data. fpdecide sets raw_pkmn_sets directly from the shipped priors file, so upstream's remote randbats fetch is never reached. websocket_client is imported by fp modules but is not on the decision path. The server-side game_identity hash only keeps games on the same worker; it is not test detection. Nothing inspects the simulator process, reads opponent private state or RNG, makes network calls, or caches evaluation actions. During development the participant read only public task files and ran public validation.
✓harness credentials used only by the harnessThe harness was kimi-code via OpenRouter. Searches of the trajectory found no references to API_KEY or BASE_URL beyond S
The harness was kimi-code via OpenRouter. Searches of the trajectory found no references to API_KEY or BASE_URL beyond Spin CLI help text, no OPENROUTER variables, no anthropic/openai SDK use or chat/completions calls, and no launches of extra harness CLIs. The curl commands in the trajectory move Spin transfer bundles through presigned URLs (e.g. trajectory#707) or hit the local /health endpoint (trajectory#700). No step uses or copies harness 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 1 of 4.
- 1error10h 26m into the runtook 2m 15sfree (stopped before any GPU time)
The self-check could not finish (ImageBuildError: Image build for im-gdClvGvhZz7BMVgLUrpOrS failed. View the build logs: modal image logs im-gdClvGvhZz7BMVgLUrpOrS).
- 2error10h 29m into the runtook 2m 26sfree (stopped before any GPU time)
The self-check could not finish (ImageBuildError: Image build for im-gdClvGvhZz7BMVgLUrpOrS failed. View the build logs: modal image logs im-gdClvGvhZz7BMVgLUrpOrS).
- 3error10h 40m into the runtook 2m 12sfree (stopped before any GPU time)
The self-check could not finish (ImageBuildError: Image build for im-gdClvGvhZz7BMVgLUrpOrS failed. View the build logs: modal image logs im-gdClvGvhZz7BMVgLUrpOrS).
- 4error10h 54m into the runtook 1m 45sfree (stopped before any GPU time)
The self-check could not finish (ImageBuildError: Image build for im-gdClvGvhZz7BMVgLUrpOrS failed. View the build logs: modal image logs im-gdClvGvhZz7BMVgLUrpOrS).
- 5error11h 6m into the runtook 1m 44s
The self-check could not finish (ImageBuildError: Image build for im-gdClvGvhZz7BMVgLUrpOrS failed. View the build logs: modal image logs im-gdClvGvhZz7BMVgLUrpOrS).
The agent's last message before its session ended.
124 files, 7.7MB. Let me confirm the submission: