Amend ADR 0016: a vacated Seat replaces the 60-second left timer #244

Closed
opened 2026-10-05 08:19:12 +00:00 by root · 6 comments
root commented 2026-10-05 08:19:12 +00:00 (Migrated from gitlab.core-project.space)

Imported from GitHub amaurycoudr/chess-project#244, opened by @amaurycoudr on 2026-10-05 08:19 UTC.
Closed on GitHub on 2026-10-05 12:11 UTC as completed.


Parent

#243

What to build

Amend ADR 0016 so it matches the presence model #243 decided. The bullet "Opponent left is a 60-second client timer; the server keeps the Seat for the full TTL" is replaced:

  • a disconnected Seat is still its Player's for the whole TTL, and the front says so ("Your opponent lost connection.") with no client timer;
  • a Seat freed through room.leave is vacated, a third state distinct from a never-taken Seat, and the snapshot carries it. A later join makes it taken again.

Record the rejected alternative: the 60-second timer, which told the Player a lie while the Seat was still held.

This is a rule edit, done in its own PR as CLAUDE.md requires; the owner asked for it in the conversation that produced #243.

Seam: none (documentation only).

Acceptance criteria

  • ADR 0016 describes the three Seat states and drops the 60-second timer.
  • The rejected timer is listed under Rejected, with why.
  • The ADR index still points at it correctly.
> _Imported from GitHub [amaurycoudr/chess-project#244](https://github.com/amaurycoudr/chess-project/issues/244), opened by [@amaurycoudr](https://github.com/amaurycoudr) on 2026-10-05 08:19 UTC._ > _Closed on GitHub on 2026-10-05 12:11 UTC as completed._ <!-- github-issue:244 --> --- ## Parent #243 ## What to build Amend ADR 0016 so it matches the presence model #243 decided. The bullet "Opponent left is a 60-second client timer; the server keeps the Seat for the full TTL" is replaced: - a disconnected Seat is still its Player's for the whole TTL, and the front says so ("Your opponent lost connection.") with no client timer; - a Seat freed through `room.leave` is **vacated**, a third state distinct from a never-taken Seat, and the snapshot carries it. A later `join` makes it taken again. Record the rejected alternative: the 60-second timer, which told the Player a lie while the Seat was still held. This is a rule edit, done in its own PR as CLAUDE.md requires; the owner asked for it in the conversation that produced #243. Seam: none (documentation only). ## Acceptance criteria - [ ] ADR 0016 describes the three Seat states and drops the 60-second timer. - [ ] The rejected timer is listed under Rejected, with why. - [ ] The ADR index still points at it correctly.
root commented 2026-10-05 08:19:12 +00:00 (Migrated from gitlab.core-project.space)

GitHub issue relations, imported as "related" links (GitLab CE has no sub-issues or blocking links).

  • Parent (sub-issue of): #243
  • Blocking: #248
> _GitHub issue relations, imported as "related" links (GitLab CE has no sub-issues or blocking links)._ <!-- github-relations --> - Parent (sub-issue of): #243 - Blocking: #248
root (Migrated from gitlab.core-project.space) closed this issue 2026-10-05 12:11:21 +00:00
root commented 2026-10-13 08:39:15 +00:00 (Migrated from gitlab.core-project.space)

mentioned in issue #248

mentioned in issue #248
root commented 2026-10-13 08:40:52 +00:00 (Migrated from gitlab.core-project.space)

mentioned in issue #243

mentioned in issue #243
root commented 2026-10-13 08:41:53 +00:00 (Migrated from gitlab.core-project.space)

marked this issue as related to #243

marked this issue as related to #243
root commented 2026-10-13 08:41:54 +00:00 (Migrated from gitlab.core-project.space)

marked this issue as related to #248

marked this issue as related to #248
root commented 2026-10-13 10:19:26 +00:00 (Migrated from gitlab.core-project.space)

mentioned in commit 7e9e3a0d47

mentioned in commit 7e9e3a0d4771d0fb303e85c32462bafaac6f0f78
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Reference
amaurycoudr/chess-project#244
No description provided.