sts2-bot/dataset/states
0xrsydn 8fae007e50 feat(dataset): migrate game history and captures into a trainable corpus
Turn the data we already have into an open, educational dataset, so the trace we
are about to start collecting has somewhere to go.

`migrate.py` produces:
  * runs.jsonl          37 runs with outcome, killer, seed and final deck
  * decisions.jsonl     1052 decisions, each with its own outcome attached
  * states_index.jsonl  346 unique observations
  * states/             content-addressed gzipped blobs

Content addressing matters: measured, only 56% of captures are unique, so 44% of
storage is duplicates. 3.28 MB raw -> 0.42 MB stored.

The card-reward rows keep the REJECTED options, so this is a ranking dataset
rather than a classification one, and the per-fight `damage_taken` /
`turns_taken` pair is the dense reward signal a combat policy is judged on.

What it deliberately does NOT do: reconstruct per-step combat state/action pairs.
The session logs record the action but not the observation, and captures exist
only for combat, so a step has a state with no action or an action with no state
-- never both. Inventing them would poison the corpus. The gap is declared in
manifest.json instead, and collect.py will close it going forward.

Integrity checking is a separate entry point (`--check-only`) because `--verify`
alone rebuilds first and so can only ever see data that is correct by
construction -- a smoke test pretending to be a check. All six invariants were
verified by deliberately breaking the dataset and confirming the checker fails.
2026-09-22 06:09:16 +07:00
..
00 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
0b feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
0c feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
0d feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
0e feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
0f feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
1a feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
1b feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
1c feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
1d feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
1e feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
1f feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
02 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
2a feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
2b feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
2c feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
2d feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
2e feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
2f feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
03 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
3b feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
3d feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
3e feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
3f feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
04 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
4a feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
4b feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
4c feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
4e feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
4f feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
05 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
5a feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
5d feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
5f feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
06 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
6a feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
6b feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
6e feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
6f feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
07 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
7a feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
7b feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
7e feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
7f feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
08 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
8a feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
8b feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
8c feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
8d feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
8f feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
09 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
9a feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
9b feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
9c feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
9e feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
11 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
12 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
13 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
15 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
16 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
17 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
19 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
20 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
21 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
23 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
24 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
25 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
27 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
28 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
30 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
32 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
33 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
34 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
37 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
38 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
39 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
41 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
42 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
44 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
45 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
47 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
48 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
50 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
52 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
54 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
55 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
56 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
57 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
58 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
59 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
60 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
61 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
62 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
63 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
64 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
65 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
66 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
67 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
68 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
69 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
70 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
74 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
76 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
77 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
78 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
79 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
81 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
82 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
83 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
84 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
85 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
86 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
87 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
88 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
89 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
90 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
92 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
93 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
94 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
95 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
96 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
99 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
a0 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
a3 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
a5 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
a8 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
a9 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
ac feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
ad feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
ae feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
b0 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
b1 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
b4 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
b6 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
b7 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
b8 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
b9 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
ba feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
bc feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
bd feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
be feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
bf feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
c0 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
c3 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
c4 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
c5 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
c6 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
c7 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
c8 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
c9 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
cb feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
cc feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
cd feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
cf feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
d0 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
d1 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
d3 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
d4 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
d5 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
d6 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
d7 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
d9 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
db feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
dc feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
dd feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
df feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
e0 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
e1 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
e2 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
e5 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
e8 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
e9 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
ea feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
eb feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
ee feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
ef feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
f0 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
f1 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
f2 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
f3 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
f4 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
f5 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
f6 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
f7 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
f8 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
f9 feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
fa feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
fb feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
fc feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
fd feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
fe feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00
ff feat(dataset): migrate game history and captures into a trainable corpus 2026-09-22 06:09:16 +07:00