--- name: hnefatafl-pulse description: The weekly Hnefatafl operations pulse — game server health, errors, the last week of traffic and rooms from the rollup, backup status, and the box's vitals. Use when Eric asks how the server is doing, wants an ops check, or says "run the pulse". --- # Hnefatafl pulse One command on the droplet prints everything; read it as a short report. ssh root@209.97.148.244 hnefatafl-pulse.sh - **game server**: whether the service and Caddy are up, restarts and journal errors in the last seven days with the last three error lines. - **rollup, last 7 days**: one line a day from /var/lib/hnefatafl/rollup.jsonl, written nightly at 00:12 UTC by hnefatafl-rollup.sh: people (addresses with a browser user agent), page requests, rooms opened, started and with turns, turns played, bot addresses, and referrers. A missing day means the rollup did not run; run it by hand with the date. - **ledgers**: rooms on disk, touched in the last day, and their size. - **backup**: the last start and done lines of the nightly backup to Spaces (07:23 UTC), or "never run". "skipped" means rclone is not configured. - **box**: disk, memory, load, and the access log's size and rotation. Lead with anything wrong (service down, errors, backup skipped, disk over 80%). Then the trend: are people coming, and are games being played? For who exactly, use the hnefatafl-visitors skill. Before an engine change ships, deploy/verify-ledgers.sh replays every production ledger locally; deploy.sh runs it, and a "DIFFERS" or "REFUSED" line stops the deploy.