From c31ac7088c8091642dc532ecf115a8115d9b5de0 Mon Sep 17 00:00:00 2001 From: Ilia Denisov Date: Wed, 10 Jun 2026 17:02:48 +0200 Subject: [PATCH] =?UTF-8?q?R6(b):=20reconcile=20docs=20with=20code=20?= =?UTF-8?q?=E2=80=94=20restore=20guest-reaper=20mention?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Pass (a) removed a stale "(reaping abandoned guest rows is deferred — TODO-3)" note from ARCHITECTURE §3, but guest reaping is implemented (the background reaper, BACKEND_GUEST_REAP_INTERVAL / BACKEND_GUEST_RETENTION, covered by inttest). State the current behaviour instead. A full section-by-section review of ARCHITECTURE / FUNCTIONAL (+_ru) / TESTING / UI_DESIGN against the code found no other drift — each R-phase baked its own docs, and FUNCTIONAL/TESTING already describe the reaper correctly. --- docs/ARCHITECTURE.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/docs/ARCHITECTURE.md b/docs/ARCHITECTURE.md index b4cc9ef..0e4e361 100644 --- a/docs/ARCHITECTURE.md +++ b/docs/ARCHITECTURE.md @@ -168,8 +168,11 @@ arrive from a platform rather than completing a mandatory registration). row is a technical necessity (the `sessions` and `game_players` foreign keys require one, the same way the robot pool is durable), not a profile: no friends, statistics or history are kept for it, and it is restricted to - auto-match. Platform and email users are auto-provisioned **durable** accounts - with an identity. + auto-match. A background **guest reaper** deletes an abandoned guest — flagged + `is_guest`, holding no game seat, older than `BACKEND_GUEST_RETENTION` — on a + `BACKEND_GUEST_REAP_INTERVAL` sweep, so transient guest rows do not accumulate. + Platform and email users are auto-provisioned **durable** accounts with an + identity. ## 4. Accounts, identities, linking & merge