Pokémon Random Battle
- Score
- 0.0
- Wallet spend
- $1.86 of $50
- Model cost
- $16.08
- Agent time
- 7h 40m
- Steps
- 756
- Tokens in / out
- 75.6M / 594k
- Self-checks
- 1 passed of 1 used
- Rank at $50 wallet
- 6th of 14
Score
0.0raw metric 0.461
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
- 1383
- draws
- 0
- losses
- 1617
- capped_games
- 0
- opponent_forfeits
- 0
- move_timeout_forfeits
- 0
- paired_standard_error
- 0.0085
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 sets base_model and base_revision to none and lists no training evidence files. It declares Foul Play
architecture.json sets base_model and base_revision to none and lists no training evidence files. It declares Foul Play at revision 6c467c08 (vendored as fp/, with only fp/data/scripts removed) and poke-engine 0.0.48. The poke-engine wheel is the organizer-built one, and a trusted audit approves its sha256 b91209b2.... The other vendored wheels (requests, certifi, websockets and so on) carry approved upstream-digest audits. No checkpoints or weight inventories exist, and nothing was trained, so there are no training data or logs to check. foul-play-priors.json is declared as the organizer-supplied public priors. PROVENANCE.md matches the code. Under the policy, reusing an existing bot as a search-only bot with no checkpoint is valid.
✓actual served policyserve.sh installs the vendored wheels offline and runs server.py. POST /act splits each batch across local bot.worker su
serve.sh installs the vendored wheels offline and runs server.py. POST /act splits each batch across local bot.worker subprocesses. Each worker parses the observation with the vendored fp code (bot/store.py), applies the three ported adapters (bot/adapters.py), and runs determinized poke-engine MCTS in-process (bot/search.py: prepare_random_battles, then monte_carlo_tree_search, then argmax). It maps the chosen move back to a legal action. Single-option turns return 0. When time runs out or an error occurs, the fallback is a local linear heuristic over action_features (bot/fpkey.py). There is no remote decision service and no undeclared decision path, and the code matches the declared search-only design.
✓permitted informationDecisions use only fields of the supplied observation: player, public_log, the player's own request, legal_actions and a
Decisions use only fields of the supplied observation: player, public_log, the player's own request, legal_actions and action_features. Opponent sets are sampled from the shipped public priors file. The worker loads priors directly and never calls datasets.initialize, so the remote randbats fetch in fp/data/sets/randbats.py is not on the serving path. The code does not inspect the simulator, read opponent private state or RNG, detect tests by hard-coded checks, or cache evaluation actions. The game cache in bot/store.py only memoizes parsing of the observation's own log prefix. In the trajectory, development used public seeds and the public validate tooling, which the policy allows.
✓harness credentials used only by the harnessSearches of the trajectory for API_KEY, ANTHROPIC, OPENROUTER, printenv, codex and claude -p found no participant comman
Searches of the trajectory for API_KEY, ANTHROPIC, OPENROUTER, printenv, codex and claude -p found no participant command that read, copied or used harness credentials. The only BASE_URL match is Foul Play's public randbats URL constant. Spin machines were used only through the spin compute CLI, to run local servers and evaluations (e.g. trajectory#74, trajectory#751). No extra harness sessions were launched.
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.
- 1passed7h 27m into the runtook 2m 29s
startup 1.9 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 1.9 s
- ✓POST /act, round 1 · 32 opening decisions answered with legal actions, 0.65 s round trip on this side with the transport: [5, 7, 1, 7, 5, 5, 7, 11, 10, 9, 7, 0, 9, 11, 1, 11, 1, 9, 5, 7, 11, 11, 11, 9, 0, 11, 5, 3, 9, 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), 79 finished games replaced by further development-seed matchups, against the pinned Foul Play: 3569 observations, 24-32 per batch, up to 331 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 331 KB; the first a cold batch of 32) on the trusted in-sandbox move timer; median 0.557 s, p95 0.727 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.578 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.
0.375 on the 32-game set (noise — σ±0.087; the decisive paired 128-game comparison stands at 0.531 capped vs 0.391 uncapped), and max_req 0.67s — a 33% margin under the 1s gate. The submission is in its final state. Submitting: