Pokémon Random Battle
- Score
- 7.4
- Wallet spend
- $21.33 of $50
- Model cost
- $56.34
- Agent time
- 4h 59m
- Steps
- 473
- Tokens in / out
- 218.6M / 452k
- Self-checks
- 4 passed of 4 used
- Rank at $50 wallet
- 2nd of 14
Score
7.4raw metric 0.537
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
- 1611
- draws
- 0
- losses
- 1389
- capped_games
- 0
- opponent_forfeits
- 1
- move_timeout_forfeits
- 0
- paired_standard_error
- 0.0086
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 and PROVENANCE.md describe a search-only bot. It has no learned weights: base_model and base_revision
architecture.json and PROVENANCE.md describe a search-only bot. It has no learned weights: base_model and base_revision are both 'none', the weights list is empty and training_evidence_files is empty. It reuses two declared pieces of code. The first is Foul Play at revision 6c467c08…, vendored unmodified under vendor/foul-play and adapted only through import-time monkeypatches in bot/fpcore.py and bot/speedups.py. The second is the poke-engine 0.0.48 wheel, which a trusted audit approved; its sha256 matches. The set-prior data is the declared organizer file /task/public/foul-play-priors.json. In trajectory#458 and trajectory#459 the participant checked the wheel and priors hashes against the /task/public originals and ran a diff showing the vendored Foul Play is identical to the upstream copy. A value-network experiment was abandoned and is not shipped: there is no training directory and no weight files. No weight inventories or uninspected files are present.
✓actual served policyserve.sh installs the bundled wheels offline and runs server.py. server.py serves POST /act from a local pool of spawned
serve.sh installs the bundled wheels offline and runs server.py. server.py serves POST /act from a local pool of spawned worker processes. Each worker calls policy.decide. That function rebuilds a Foul Play Battle from the observation (fpcore.reconstruct), then runs poke-engine MCTS on a determinized opponent team, with a one-turn lookahead re-ranking (lookahead.py, oppmodel.py, evalport.py). Fallback paths are all local: revival_choice, the plain MCTS ranking, a feature heuristic (heuristic_action) for late or failed searches, and index 0. Every decision is made offline by the declared, shipped code. There are no remote services, and the behaviour matches the declared 'no learned weights' description.
✓permitted informationInference reads only the observation fields public_log, request, legal_actions, action_features and player, plus the pub
Inference reads only the observation fields public_log, request, legal_actions, action_features and player, plus the public priors and Foul Play mechanics data. The opponent model (oppmodel.own_reveals) uses only what the public log revealed about our own side. The priors are assigned directly from the shipped JSON, so Foul Play's remote set download (_load_raw_sets) is never called. Nothing inspects the simulator process, reads opponent RNG or private state, detects test cases or caches actions. According to the trajectory, development evaluation ran on the public simulator with the participant's own seeds.
✓harness credentials used only by the harnessSearching the trajectory for API_KEY, BASE_URL, anthropic, openrouter, claude -p, codex and printenv found no participan
Searching the trajectory for API_KEY, BASE_URL, anthropic, openrouter, claude -p, codex and printenv found no participant command that used, echoed or copied harness credentials, and no extra harness CLI sessions. Remote machines were rented and used only through the Spin CLI, set up with setup_box.sh and sync.sh, which install tooling and rsync /task and the output directory (trajectory#108). HF_TOKEN appears only in the task prompt.
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 4 of 4.
- 1passed49m 42s into the runtook 2m 43s
startup 2.2 s of 300 s; 2/2 gates passed; The speed gates were measured on a sample and the execution budget projected from it: 124 of a complete grade's 3,722 POST /act requests, from the first decision rounds of the public games rather than whole games.
7 gates
- ✓review prerequisites
- ✓startup · GET /health answered 200 after 2.2 s
- ✓POST /act, round 1 · 32 opening decisions answered with legal actions, 0.94 s round trip on this side with the transport: [1, 7, 2, 7, 0, 0, 7, 11, 10, 9, 7, 0, 9, 7, 1, 5, 1, 11, 6, 7, 11, 11, 11, 9, 5, 11, 5, 0, 9, 11, 3, 10]
- ✓battle slice · 124 POST /act batches over 124 decision rounds, 32 games at a time: the first 32 public games (teams from development seed 91827461), 79 finished games replaced by further development-seed matchups, against the pinned Foul Play: 3565 observations, 23-32 per batch, up to 355 KB per request, every answered action legal; not scored
- ✓move response within 1 s · slowest of 124 POST /act responses (23-32 observations, up to 355 KB; the first a cold batch of 32) on the trusted in-sandbox move timer; median 0.761 s, p95 0.772 s. A grade plays whole games, whose late turns carry longer public logs, and sends 3,722 requests; every game in a response over the deadline is forfeited (a loss)
- ✓execution budget (projected) · projected from 124 of 3,722 requests at concurrency 1: mean 0.762 s per request x 3,722, as many as one complete 3,000-game grade sent; grading sums every request's in-sandbox time
- ✓healthy after requests
- 2passed2h 34m into the runtook 3m 16s
startup 2.0 s of 300 s; 2/2 gates passed; The speed gates were measured on a sample and the execution budget projected from it: 124 of a complete grade's 3,722 POST /act requests, from the first decision rounds of the public games rather than whole games.
7 gates
- ✓review prerequisites
- ✓startup · GET /health answered 200 after 2.0 s
- ✓POST /act, round 1 · 32 opening decisions answered with legal actions, 1.14 s round trip on this side with the transport: [1, 7, 2, 7, 5, 5, 7, 11, 10, 9, 7, 0, 9, 5, 1, 9, 1, 9, 6, 7, 11, 11, 11, 9, 5, 11, 9, 3, 5, 11, 8, 10]
- ✓battle slice · 124 POST /act batches over 124 decision rounds, 32 games at a time: the first 32 public games (teams from development seed 91827461), 90 finished games replaced by further development-seed matchups, against the pinned Foul Play: 3577 observations, 24-32 per batch, up to 321 KB per request, every answered action legal; not scored
- ✓move response within 1 s · slowest of 124 POST /act responses (24-32 observations, up to 321 KB; the first a cold batch of 32) on the trusted in-sandbox move timer; median 0.881 s, p95 0.884 s. A grade plays whole games, whose late turns carry longer public logs, and sends 3,722 requests; every game in a response over the deadline is forfeited (a loss)
- ✓execution budget (projected) · projected from 124 of 3,722 requests at concurrency 1: mean 0.880 s per request x 3,722, as many as one complete 3,000-game grade sent; grading sums every request's in-sandbox time
- ✓healthy after requests
- 3passed3h 5m into the runtook 3m 7s
startup 2.2 s of 300 s; 2/2 gates passed; The speed gates were measured on a sample and the execution budget projected from it: 124 of a complete grade's 3,722 POST /act requests, from the first decision rounds of the public games rather than whole games.
7 gates
- ✓review prerequisites
- ✓startup · GET /health answered 200 after 2.2 s
- ✓POST /act, round 1 · 32 opening decisions answered with legal actions, 1.04 s round trip on this side with the transport: [5, 7, 3, 7, 5, 0, 7, 11, 10, 3, 7, 0, 7, 11, 1, 11, 1, 11, 6, 7, 5, 11, 11, 9, 0, 11, 5, 3, 9, 11, 3, 9]
- ✓battle slice · 124 POST /act batches over 124 decision rounds, 32 games at a time: the first 32 public games (teams from development seed 91827461), 85 finished games replaced by further development-seed matchups, against the pinned Foul Play: 3556 observations, 23-32 per batch, up to 342 KB per request, every answered action legal; not scored
- ✓move response within 1 s · slowest of 124 POST /act responses (23-32 observations, up to 342 KB; the first a cold batch of 32) on the trusted in-sandbox move timer; median 0.785 s, p95 0.797 s. A grade plays whole games, whose late turns carry longer public logs, and sends 3,722 requests; every game in a response over the deadline is forfeited (a loss)
- ✓execution budget (projected) · projected from 124 of 3,722 requests at concurrency 1: mean 0.786 s per request x 3,722, as many as one complete 3,000-game grade sent; grading sums every request's in-sandbox time
- ✓healthy after requests
- 4passed4h 6m into the runtook 2m 26s
startup 2.3 s of 300 s; 2/2 gates passed; The speed gates were measured on a sample and the execution budget projected from it: 124 of a complete grade's 3,722 POST /act requests, from the first decision rounds of the public games rather than whole games.
7 gates
- ✓review prerequisites
- ✓startup · GET /health answered 200 after 2.3 s
- ✓POST /act, round 1 · 32 opening decisions answered with legal actions, 0.90 s round trip on this side with the transport: [5, 7, 1, 9, 5, 2, 7, 2, 10, 2, 7, 0, 9, 11, 2, 11, 1, 7, 6, 7, 5, 2, 11, 9, 0, 11, 1, 0, 5, 11, 6, 9]
- ✓battle slice · 124 POST /act batches over 124 decision rounds, 32 games at a time: the first 32 public games (teams from development seed 91827461), 78 finished games replaced by further development-seed matchups, against the pinned Foul Play: 3570 observations, 23-32 per batch, up to 339 KB per request, every answered action legal; not scored
- ✓move response within 1 s · slowest of 124 POST /act responses (23-32 observations, up to 339 KB; the first a cold batch of 32) on the trusted in-sandbox move timer; median 0.796 s, p95 0.818 s. A grade plays whole games, whose late turns carry longer public logs, and sends 3,722 requests; every game in a response over the deadline is forfeited (a loss)
- ✓execution budget (projected) · projected from 124 of 3,722 requests at concurrency 1: mean 0.800 s per request x 3,722, as many as one complete 3,000-game grade sent; grading sums every request's in-sandbox time
- ✓healthy after requests
The agent's last message before its session ended.
Now update split_chunks/_own_selection/reconstruct to use line indices.