Recurring game identifiers were made deterministic so a known game keeps the same link when the shared backend is unavailable.
What changed
Offline materialisation now derives the same occurrence identifier as the seeded and shared-data paths.
That small invariant prevents bookmarked or shared game routes from changing simply because the application has fallen back to local data.
The change supports a broader design goal: discovery should degrade gracefully without breaking the address of an existing community game.
Engineering note
Stable identifiers are a recovery boundary. A recurring game should retain the same address whether its record came from shared storage or a local fallback.
Provenance
This note is based on verified project source at commit 645f372. It records a programming change, not a personal-status update.