Pokémon Random Battle
- Score
- 3.1
- Wallet spend
- $55.47 of $200
- Model cost
- $156.09
- Agent time
- 6h 22m
- Steps
- 640
- Tokens in / out
- 89.8M / 709k
- Self-checks
- 3 passed of 3 used
- Rank at $200 wallet
- 1st of 14
Score
3.1raw metric 0.5153
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
- 1546
- draws
- 0
- losses
- 1454
- capped_games
- 0
- opponent_forfeits
- 0
- 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 provenanceEvery reused component is declared with its pinned revision: - Foul Play 6c467c08, taken from /task/public. - poke-engin
Every reused component is declared with its pinned revision: - Foul Play 6c467c08, taken from /task/public. - poke-engine 0.0.48. The wheel's sha b91209b2... matches the trusted audit and architecture.json. - Pokemon Showdown ea822f88. - Laplace 4053b5f9. The served critic is models/categorical_native_real4k.safetensors (sha 76c73b03...). The training logs record its full initialization chain: - categorical_native_real4k.log names its base as categorical_native8k (sha 814b4a52...). - categorical_native8k.log names its base as structured100k (sha bef8ac12...). - structured100k.log has no base parameter, so it was trained from scratch. None of the logs in this chain inherits the Laplace checkpoint. The converted Laplace weights were only used for earlier, discarded finetune experiments (finetuned*.log, which have a laplace_value base) and are not served. The corpora feeding this chain are declared in research/DATA.md with matching hashes: - native_large shards, seed 59017283; - v4 native 8k, ad1ce74e...; - v4 actual-game features from seed 80731429, eb4bf99a... Raw corpora and download commands are not retained, so these sources are recorded as unverified but declared.
✓actual served policyserve.sh installs the bundled wheels offline and runs server.py. server.py serves POST /act through policy.decide in a p
serve.sh installs the bundled wheels offline and runs server.py. server.py serves POST /act through policy.decide in a process pool. Timeouts or errors fall back to a fallback policy that only returns legal actions. policy.decide runs these steps: 1. Rebuilds the state using the vendored Foul Play parser. 2. Samples opponent sets with the stratified sampler, using the local public prior data/foul-play-priors.json. 3. Runs the audited poke-engine MCTS for each sampled world. 4. Applies the Rage Fist adjustment. 5. Selects by value. 6. Reranks with value_model. value_model loads the safetensors file at BOT_VALUE_PATH with NumPy and uses the categorical structured path. Its tensors (emb_*, mon1/2, query/key/value, context, head1/2, out) match the weight inventory of the declared checkpoint. The server makes no remote calls and uses no cached answers. Vendored Foul Play's randbats network fetch is never invoked, because datasets.initialize is not called.
✓permitted informationpolicy.reconstruct uses only these observation fields: public_log, the player's own request, legal_actions and turn. sam
policy.reconstruct uses only these observation fields: public_log, the player's own request, legal_actions and turn. sampling.py, mechanics.py and rage_fist.py use only the public prior, public mechanics and visible events. Nothing reads battle IDs, opponent private requests, RNG or latent teams. DATA.md and PROVENANCE.md state that public validation and test schedules were not used for training or selection. All development schedules are independently seeded, and no contrary evidence was found.
✓harness credentials used only by the harnessI searched the trajectory for OPENAI, API_KEY, ANTHROPIC, curl and codex exec. Nothing shows the participant using harne
I searched the trajectory for OPENAI, API_KEY, ANTHROPIC, curl and codex exec. Nothing shows the participant using harness credentials: - curl was only used to install uv on rental hosts. - The single codex exec match is the harness's own process, which appeared in a participant `ps` listing at trajectory#529. The participant did not run it. - BASE_URL matches are only vendored foul-play source text. SSH to rental hosts used the participant's own dev keys.
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.
- 1passed1h 7m into the runtook 3m 21s
startup 3.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 3.3 s
- ✓POST /act, round 1 · 32 opening decisions answered with legal actions, 1.11 s round trip on this side with the transport: [5, 7, 1, 7, 5, 5, 7, 11, 10, 9, 7, 0, 9, 11, 1, 5, 9, 11, 5, 7, 5, 11, 11, 9, 0, 11, 5, 0, 5, 11, 8, 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), 90 finished games replaced by further development-seed matchups, against the pinned Foul Play: 3564 observations, 24-32 per batch, up to 341 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 341 KB; the first a cold batch of 32) on the trusted in-sandbox move timer; median 0.832 s, p95 0.839 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.825 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
- 2passed4h 31m into the runtook 3m 47s
startup 3.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 3.2 s
- ✓POST /act, round 1 · 32 opening decisions answered with legal actions, 1.21 s round trip on this side with the transport: [1, 7, 3, 7, 0, 5, 7, 11, 10, 11, 7, 0, 9, 11, 1, 11, 9, 9, 6, 7, 5, 11, 11, 9, 0, 11, 5, 0, 9, 11, 8, 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), 77 finished games replaced by further development-seed matchups, against the pinned Foul Play: 3543 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.912 s, p95 0.927 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.913 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
- 3passed6h 15m into the runtook 3m 21s
startup 3.7 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 3.7 s
- ✓POST /act, round 1 · 32 opening decisions answered with legal actions, 1.17 s round trip on this side with the transport: [1, 7, 3, 7, 5, 5, 7, 11, 10, 11, 7, 0, 9, 11, 1, 11, 9, 11, 5, 7, 5, 11, 11, 9, 0, 11, 5, 0, 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), 82 finished games replaced by further development-seed matchups, against the pinned Foul Play: 3531 observations, 22-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 (22-32 observations, up to 342 KB; the first a cold batch of 32) on the trusted in-sandbox move timer; median 0.893 s, p95 0.911 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.892 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.
Submitted /workspace/output.
- Offline H100 self-check passed: maximum batch response 942 ms.
- Full local validation completed with a relaxed timer; timing overruns caused fallbacks.
- Policy frozen before validation; source, checkpoint, and provenance included.