Skip to content

Commit 5da4d43

Browse files
committed
Document Bomberland smoke checks
1 parent 365a122 commit 5da4d43

2 files changed

Lines changed: 47 additions & 2 deletions

File tree

codeclash/arenas/bomberland/runtime/README.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,11 @@ Smoke command from the repository root:
2626
uv run python main.py configs/examples/Bomberland__dummy__r1__s2.yaml -o /tmp/codeclash-bomberland-smoke
2727
```
2828

29+
Use a fresh `-o` directory when rerunning the smoke check. Expected output:
30+
the command exits with status 0, both players pass validation, each round
31+
summary contains floating-point scores, and the output directory contains
32+
`metadata.json`, `game.log`, `tournament.log`, and compressed round logs.
33+
2934
Expected result shape:
3035

3136
```json
@@ -36,3 +41,7 @@ Expected result shape:
3641
"details": ["... per-simulation JSON strings ..."]
3742
}
3843
```
44+
45+
Each detail entry is a JSON string with `scores`, `stats`, `alive_units`,
46+
`alive_hp`, `ticks`, and `winner` fields. Per-player `stats` include
47+
`agent_errors` and `invalid_actions`.

docs/reference/arenas/bomberland.md

Lines changed: 38 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,13 +67,29 @@ player receives both starting sides for paired seeds. Each player receives an av
6767
from surviving health, surviving units, enemy damage, kills, destroyed blocks, invalid actions, and
6868
agent runtime errors.
6969

70-
Smoke command:
70+
## Smoke Test
71+
72+
From the repository root, run the dummy-player example:
7173

7274
```bash
7375
uv run python main.py configs/examples/Bomberland__dummy__r1__s2.yaml -o /tmp/codeclash-bomberland-smoke
7476
```
7577

76-
The arena writes `bomberland_results.json` with this shape:
78+
Use a fresh `-o` directory when rerunning the smoke check.
79+
80+
Expected shape:
81+
82+
- the command exits with status 0;
83+
- both players pass submission validation;
84+
- stdout includes `In round 0, the winner is ...` and `In round 1, the winner is ...`;
85+
- each round summary contains floating-point average scores for `alpha` and `beta`;
86+
- per-simulation details include `scores`, `stats`, `alive_units`, `alive_hp`, `ticks`, and
87+
`winner` fields;
88+
- per-player `stats` include `agent_errors` and `invalid_actions`;
89+
- the output directory contains `metadata.json`, `game.log`, `tournament.log`, and
90+
`rounds/round_0.tar.gz` / `rounds/round_1.tar.gz`.
91+
92+
The arena writes `bomberland_results.json` inside each round log with this shape:
7793

7894
```json
7995
{
@@ -84,4 +100,24 @@ The arena writes `bomberland_results.json` with this shape:
84100
}
85101
```
86102

103+
A representative `metadata.json` round contains a `scores` object with one floating-point average
104+
score per player:
105+
106+
```json
107+
"scores": {
108+
"alpha": 330.0,
109+
"beta": 330.0
110+
}
111+
```
112+
113+
Exact values can change with arena configuration; the smoke check is meant to verify the
114+
Docker/runtime adapter path, player-name mapping, paired starting sides, and score/log artifact
115+
shape.
116+
117+
The exact tournament directory name includes a timestamp, so inspect the metadata with:
118+
119+
```bash
120+
find /tmp/codeclash-bomberland-smoke -maxdepth 3 -name metadata.json -print
121+
```
122+
87123
--8<-- "docs/_footer.md"

0 commit comments

Comments
 (0)