Skip to content

Commit 87053b2

Browse files
authored
Document SCML and CybORG smoke checks (#103)
1 parent 4263ffe commit 87053b2

2 files changed

Lines changed: 77 additions & 0 deletions

File tree

docs/reference/arenas/cyborg.md

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,4 +71,43 @@ The runtime pins CybORG to the upstream `v3.0` code and installs it editable fro
7171
repository because the upstream package expects data files such as `CybORG/version.txt` to be present
7272
next to the source tree.
7373

74+
## Smoke Test
75+
76+
From the repository root, run the dummy-player example:
77+
78+
```bash
79+
uv run python main.py configs/examples/CybORG__dummy__r1__s2.yaml -o /tmp/codeclash-cyborg-smoke
80+
```
81+
82+
Use a fresh `-o` directory when rerunning the smoke check.
83+
84+
Expected shape:
85+
86+
- the command exits with status 0;
87+
- both players pass submission validation;
88+
- stdout includes `In round 0, the winner is ...` and `In round 1, the winner is ...`;
89+
- each round summary contains floating-point average rewards for `alpha` and `beta`;
90+
- per-episode details have `status: "ok"` and `steps_completed: 5`;
91+
- the output directory contains `metadata.json`, `game.log`, `tournament.log`, and
92+
`rounds/round_0.tar.gz` / `rounds/round_1.tar.gz`.
93+
94+
A representative `metadata.json` round contains a `scores` object with one floating-point episode
95+
reward per player:
96+
97+
```json
98+
"scores": {
99+
"alpha": -27.0,
100+
"beta": -33.5
101+
}
102+
```
103+
104+
Exact values can change with simulator randomness and configuration; the smoke check is meant to
105+
verify the Docker/runtime adapter path, player-name mapping, and score/log artifact shape.
106+
107+
The exact tournament directory name includes a timestamp, so inspect the metadata with:
108+
109+
```bash
110+
find /tmp/codeclash-cyborg-smoke -maxdepth 3 -name metadata.json -print
111+
```
112+
74113
--8<-- "docs/_footer.md"

docs/reference/arenas/scml.md

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,4 +66,42 @@ across those worlds.
6666
The runner rotates player ordering across simulations to reduce positional bias from factory
6767
assignment.
6868

69+
## Smoke Test
70+
71+
From the repository root, run the dummy-player example:
72+
73+
```bash
74+
uv run python main.py configs/examples/SCML__dummy__r1__s2.yaml -o /tmp/codeclash-scml-smoke
75+
```
76+
77+
Use a fresh `-o` directory when rerunning the smoke check.
78+
79+
Expected shape:
80+
81+
- the command exits with status 0;
82+
- both players pass submission validation;
83+
- stdout includes `In round 0, the winner is ...` and `In round 1, the winner is ...`;
84+
- each round summary contains floating-point average scores for `alpha` and `beta`;
85+
- the output directory contains `metadata.json`, `game.log`, `tournament.log`, and
86+
`rounds/round_0.tar.gz` / `rounds/round_1.tar.gz`.
87+
88+
A representative `metadata.json` round contains a `scores` object with one floating-point SCML
89+
profit score per player:
90+
91+
```json
92+
"scores": {
93+
"alpha": 1.0447501220885806,
94+
"beta": 0.9783875910335903
95+
}
96+
```
97+
98+
Exact values can change with simulation order and configuration; the smoke check is meant to verify
99+
the Docker/runtime adapter path, player-name mapping, and score/log artifact shape.
100+
101+
The exact tournament directory name includes a timestamp, so inspect the metadata with:
102+
103+
```bash
104+
find /tmp/codeclash-scml-smoke -maxdepth 3 -name metadata.json -print
105+
```
106+
69107
--8<-- "docs/_footer.md"

0 commit comments

Comments
 (0)