Production: the tafl droplet at 209.97.148.244, tafl.kestrelsnest.social, and the Sentry project

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Jm2auWk6RP71CjaAb4FMoG
This commit is contained in:
Eric Wagoner
2026-09-23 13:17:09 -04:00
co-authored by Claude Fable 5.1
parent 0d2f54fe02
commit fc62034290
13 changed files with 29 additions and 27 deletions
+5 -5
View File
@@ -7,7 +7,7 @@ description: Work the Hnefatafl reports desk — fetch players' bug reports, sho
Players file reports from the Report button in a room's masthead (seated
or from the gallery). Each lands in `/var/lib/hnefatafl/feedback.jsonl`
on the droplet (__IP__) pinned with `roomId`, `turn` (the turn
on the droplet (209.97.148.244) pinned with `roomId`, `turn` (the turn
being written when it was filed) and `seq` (the ledger's length then),
enough to replay the game to the moment. Replies live in the same file
and appear under the report in the player's hall. This desk fetches,
@@ -34,7 +34,7 @@ Every report and every player's answer rings a Sentry issue (project
hnefatafl, fingerprinted per report or per line); the desk's own
replies ring nothing.
Fetch: `ssh root@__IP__ 'cat /var/lib/hnefatafl/feedback.jsonl'`
Fetch: `ssh root@209.97.148.244 'cat /var/lib/hnefatafl/feedback.jsonl'`
## a) Fetch and b) display
@@ -47,7 +47,7 @@ to hear his players' voices; never compress their words into a table.
## c) Process an unanswered report
1. **Replay to the pin.** `scp root@__IP__:/var/lib/hnefatafl/rooms/<roomId>.jsonl <scratchpad>/`
1. **Replay to the pin.** `scp root@209.97.148.244:/var/lib/hnefatafl/rooms/<roomId>.jsonl <scratchpad>/`
and replay it with the engine as `deploy/replay-ledgers.ts` does:
`game.create(names, start.seed, start.rules ?? 1)` then
`game.resolve(state, line.inputs)` per turn line, printing the state
@@ -70,8 +70,8 @@ to hear his players' voices; never compress their words into a table.
passing `rules` to `createGame`). Old ledgers then replay as their
players saw them; new games get the fix.
Either way add a test in `src/lib/game/*.test.ts` pinning the
corrected behaviour. Deploy with `deploy/deploy.sh __IP__`.
5. **Reply.** `bash deploy/report-reply.sh __IP__ <reportId> <status> "text"`.
corrected behaviour. Deploy with `deploy/deploy.sh 209.97.148.244`.
5. **Reply.** `bash deploy/report-reply.sh 209.97.148.244 <reportId> <status> "text"`.
Pass the id as ONE clean argument. Write to the PLAYER: name what you
replayed, cite the rule, and say plainly what was wrong or why nothing
was. The desk's voice is warm and specific.