Reports are threads, and every turn of one rings the desk's bell
A player answers the desk under its reply from their lobby, proven by the seat the report was filed from; the lobby shows the exchange in order and says whose word is pending. A new report, a player's answer, and a desk reply each raise a Sentry issue on the keeper's phone — the first two from the server, the last from the reply script itself, straight to Sentry from the droplet. The Desktop digest lists the answers, and the desk's rule reads a report as reopened when the last word is the player's. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Jm2auWk6RP71CjaAb4FMoG
This commit is contained in:
co-authored by
Claude Fable 5.1
parent
ffbca5bfb9
commit
11e9f950c6
@@ -20,8 +20,12 @@ One JSONL line per entry:
|
||||
— `id` is 8 hex chars; legacy reports (before 2026-09-01) have none
|
||||
and are addressed by their `at` timestamp instead.
|
||||
- Reply: `{reportId, at, status, text}` — folds onto the matching report.
|
||||
A report is ANSWERED when any reply line names it; never re-answer one
|
||||
unless Eric asks for a revision.
|
||||
- Answer: `{reportId, from: "player", player, text, at}` — the player's
|
||||
word back, sent from their lobby under the desk's reply.
|
||||
A report is ANSWERED when the LAST line under it is the desk's; a
|
||||
player's answer reopens it. Never re-answer a settled one unless Eric
|
||||
asks for a revision. Every report, answer, and desk reply rings a
|
||||
Sentry issue on Eric's phone (fingerprinted per report or per line).
|
||||
|
||||
- Picture: `{reportId, image: "<id>.png", at}` — the player attached a
|
||||
screenshot; the file is `/var/lib/wizwar/feedback-images/<id>.<ext>`.
|
||||
|
||||
Reference in New Issue
Block a user