Pokémon Random Battle
- Score
- 0.0
- Wallet spend
- $2.63 of $200
- Model cost
- $10.43
- Agent time
- 5h 7m
- Steps
- 297
- Tokens in / out
- 27.5M / 364k
- Self-checks
- 2 passed of 2 used
- Rank at $200 wallet
- 4th of 14
Score
0.0raw metric 0.4623
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
- 1387
- draws
- 0
- losses
- 1613
- capped_games
- 0
- opponent_forfeits
- 0
- move_timeout_forfeits
- 0
- paired_standard_error
- 0.0081
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 declare every reused component with a pinned version. Foul Play is pmariglia commit
architecture.json and PROVENANCE.md declare every reused component with a pinned version. Foul Play is pmariglia commit 6c467c08, copied verbatim from /task/public/foul-play.tar.gz with its SHA-256 recorded. Two empty cache directories are pre-created and documented. The other components are the organizer-built poke_engine 0.0.48 wheel (approved by trusted audit), PyPI dependency wheels (approved by digest audit), and the task adapter, which was re-implemented in server/worker.py. base_model is 'none' and no learned weights are shipped. The only tuned knobs were selected on development-seed games, and that corpus is declared in training_evidence/data_manifest.md and README.md.
✓actual served policyserve.sh installs the bundled wheels offline and runs server/server.py. That server forks worker processes (server/worke
serve.sh installs the bundled wheels offline and runs server/server.py. That server forks worker processes (server/worker.py). Each worker rebuilds the Foul Play battle from the observation, samples determinizations, runs poke_engine MCTS on each, combines the results according to config.json, and maps the choice onto legal_actions. If the deadline is hit, server/fallback.py picks a move with a local heuristic. There are no remote or model API calls on the serving path. The Foul Play requests.get code is never reached because the priors are injected locally from data/foul-play-priors.json.
✓permitted informationAt inference time the bot reads only the observation fields request, public_log, legal_actions and action_features, plus
At inference time the bot reads only the observation fields request, public_log, legal_actions and action_features, plus public random-battle set priors copied from /task/public. Evaluation and knob selection used schedule(..., 'dev') development seeds (training_evidence/run_eval.py; the trajectory shows source development_seed). Nothing reads hidden opponent state or held-out seeds.
✓harness credentials used only by the harnessTrajectory searches for API_KEY, BASE_URL, ANTHROPIC, OPENROUTER, openai, printenv, codex and 'claude -p' found no use o
Trajectory searches for API_KEY, BASE_URL, ANTHROPIC, OPENROUTER, openai, printenv, codex and 'claude -p' found no use or copying of harness credentials and no extra harness CLI sessions. The participant used only the permitted Spin compute CLI to rent a machine, along with the SSH key that Spin issued for it, and copied task files to the rental (trajectory#40, #41, #43).
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.
- 1passed4h 24m into the runtook 2m 38s
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.91 s round trip on this side with the transport: [1, 7, 3, 7, 5, 5, 7, 11, 9, 9, 7, 0, 9, 8, 1, 5, 9, 9, 5, 7, 11, 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: 3550 observations, 24-32 per batch, up to 333 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 333 KB; the first a cold batch of 32) on the trusted in-sandbox move timer; median 0.719 s, p95 0.763 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.706 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 51m into the runtook 2m 24s
startup 2.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 2.7 s
- ✓POST /act, round 1 · 32 opening decisions answered with legal actions, 0.92 s round trip on this side with the transport: [1, 7, 3, 7, 5, 5, 7, 11, 11, 9, 7, 0, 9, 11, 1, 5, 9, 9, 5, 7, 11, 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), 85 finished games replaced by further development-seed matchups, against the pinned Foul Play: 3546 observations, 22-32 per batch, up to 324 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 324 KB; the first a cold batch of 32) on the trusted in-sandbox move timer; median 0.728 s, p95 0.766 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.711 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.
Everything verified. Submitting: