launchCoreLearnerAdmission
Core-side learner admission for the server-core placement: whenever this node is the core leader and a connected session peer is neither a core voter nor already an admitted learner, commit a membership change adding it as a learner.
Launched by the game bootstrap on every core member; the role gate inside the combine ensures only the current leader acts, so leadership moving between core nodes hands the loop over automatically. Runs for the life of the bootstrap caller's scope.
The admission domain is seam's roster — the loop admits exactly the peers the seam can see. Under the game-per-room composition (the game-per-room bootstrap) that seam is one game's room, so each game admits only its own players: per-game admission falls out of the room's structural isolation rather than any bookkeeping here.
A failed membership change (leadership moved between observation and call, or the bounded retry gave up) is tolerated and re-attempted after CORE_ADMISSION_RETRY_BACKOFF — the surviving leader's own loop takes over, and a genuinely stuck cluster still surfaces as the session making no progress rather than a crashed bootstrap scope.