Eric WagonerandClaude Opus 5.5 57ae338cdb The rollup and the backup check in once, when they end, with the run's duration
The rollup finishes in two seconds on the shared host, and its "in progress"
and "ok" check-ins reached Sentry in either order; when "ok" landed first,
the late start was never closed and the monitor reported a timeout ten
minutes later. One check-in at the end cannot race, and a run that hangs
still shows: nothing arrives and the night is marked missed.

Fixes TAFL-1

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GwFKMuQnPAEHJ5yA1q4orh
2026-10-10 17:44:43 -04:00
2026-09-23 12:45:44 -04:00

Hnefatafl

The Viking board game, in the browser: the attackers must take the king, the king must reach the edge. Tablut, the nine-by-nine game Linnaeus wrote down in 1732, by default, on a board that shows its age; Copenhagen rules on the eleven-by-eleven board, where the king needs a corner, as an option.

Built on the game kit: src/lib/game/ is the game (rules as data in rules.ts, the board's mechanics in board.ts, the engine in index.ts, a short alpha-beta bot in bot.ts), src/lib/components/Board.svelte is the board, and everything else is the kit's hall, tables, gallery, ledgers, reports desk and ops tools. docs/conventions.md is the house style; the guide here departs from it in one way, walking the page in words and one drawn figure rather than screenshots.

npm install && (cd server && npm install)
npm run dev:all     # server and site together; Ctrl-C stops both
npm run server      # the game server on port 8789
npm run dev -- --host

Tests: npm test. Deploy: deploy/deploy.sh <ip> after deploy/README.md.

S
Description
Hnefatafl, the Viking board game, in the browser: Copenhagen rules and Linnaeus's Tablut, on the game kit.
Readme
1.3 MiB
Languages
TypeScript 46.9%
Svelte 36.6%
Shell 10.6%
Python 2.9%
CSS 1.4%
Other 1.6%