Split The code is public; the app answers only to the crew.

The measurement cannot say who is winning: a side split in the round report, and a `--map` flag #149

Merged opened this

Check · Review · Land · Live done — Landed and live in production.

Merged

`RoundRecord` now carries the winning side, `summarize`/`Report` add `wins`/`winShare` per side, and `reportLines` prints a `side split` line — the one place the round arithmetic already lives. `scripts/measure.ts` records `world.match.winner` alongside the reason it already reads when a round ends. The `--map` flag itself was already shipped in #147, so this only lands the side-split half of #146…

shipped merged

opened this

RoundRecord now carries the winning side, summarize/Report add wins/winShare per side, and reportLines prints a side split line — the one place the round arithmetic already lives. scripts/measure.ts records world.match.winner alongside the reason it already reads when a round ends. The --map flag itself was already shipped in #147, so this only lands the side-split half of #146.

Tests added in src/client/rounds.test.ts cover an all-one-side split, a mixed split, and the rendered line; existing tests were updated for the new RoundRecord/Report shape. bun run check (typecheck + bun test) passes, 663 tests.

Measured on today's main, --matches 30 --seed 41, normal bots (matches the existing baseline table exactly):

de_forgede_cinder
side splitT 56% (117) · CT 44% (91)T 44% (90) · CT 56% (114)

The split flips between the two maps at the same twelve-point margin as the plant-rate gap — geometry, not one side being favored by the bots. README's Measuring the round table and prose now include this row and a short paragraph on it.

Closes #146

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs