• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

philihp / kennerspiel / 26010439109
96%

Build:
DEFAULT BRANCH: main
Ran 18 May 2026 02:34AM UTC
Jobs 1
Files 116
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

18 May 2026 02:33AM UTC coverage: 96.158% (-0.09%) from 96.246%
26010439109

push

github

web-flow
feat(game): add encode() for ML-friendly state representation (#1704)

* feat(game): add encode() for ML-friendly state representation

Adds a flat Float32Array encoder for GameState intended as input to a
heuristic value/policy network for MCTS guidance. Encodes per-player
tableaus (with perspective rotation so the active player is always
slot 0), a multi-channel H×W landscape grid, frame, rondel deltas, and
shared state. Exposes featureSpec so training code can index into the
vector reliably as new enum members are appended.

https://claude.ai/code/session_012g8vWmxD3NfWGedLs6YqpK

* chore(game): clean up unnecessary type assertions flagged by typescript-eslint 8.59

Drive-by: eslint --fix on the 27 no-unnecessary-type-assertion errors
that landed with the typescript-eslint bump in #1702. No behavior change;
all 1323 tests still pass.

https://claude.ai/code/session_012g8vWmxD3NfWGedLs6YqpK

* test(game): cover settlement-tile and unplaced-laybrother paths in encode

Raises encode.ts statement coverage from 96% to 99% by adding two tests
flagged as uncovered patches by Coveralls.

https://claude.ai/code/session_012g8vWmxD3NfWGedLs6YqpK

* fix(game): anchor encode landscape grid by landscapeOffset

The previous encoding wrote landscape[r] straight into output row r,
but r is a raw array index that shifts as players buy districts/plots
above their starting board. Two semantically identical boards could
land in different rows of the tensor, forcing the model to learn an
unnecessary symmetry.

Now: each cell is written to output row (raw_row - landscapeOffset)
+ gridAnchor, so a player's logical row 0 always sits at the same
output row. H is enlarged to 38 with ANCHOR = 18 to cover up to 9
districts + 9 plots (each 2 rows tall) in either direction. The
landscapeOffset scalar is dropped since the anchored grid encodes
the same information implicitly. featureSpec gains a gridAnchor field
so consumers know where logical 0 lives.

https://claude.ai/code/ses... (continued)

1308 of 1499 branches covered (87.26%)

Branch coverage included in aggregate %.

93 of 94 new or added lines in 2 files covered. (98.94%)

3498 of 3499 relevant lines covered (99.97%)

611.31 hits per line

Uncovered Changes

Lines Coverage ∆ File
1
93.29
game/src/encode.ts
Jobs
ID Job ID Ran Files Coverage
1 26010439109.1 18 May 2026 02:34AM UTC 116
96.16
GitHub Action Run
Source Files on build 26010439109
  • Tree
  • List 116
  • Changed 2
  • Source Changed 0
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • 5f6512ae on github
  • Prev Build on main (#25962602960)
  • Next Build on main (#26010745217)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc