Realtime Session Activation Hydration Boundary
Realtime session activation consumes a pending ticket, constructs authoritative session state, hydrates runtime data, writes resume ledger state, initializes visibility, and sends bootstrap.
How It Works
Activation copies data from the lifecycle projection, restores resume authority state and pending transfer state when present, hydrates dungeon encounter runtime when needed, initializes scene combat and AOI visibility, and writes a resume ledger record before welcome/bootstrap.
If Redis resume-ledger persistence fails, activation can record degraded resume-ledger backlog and still proceed to welcome/bootstrap.
How To Use It
Keep pending-ticket expiry separate from stream activation failure. Add new activation-owned state at this boundary only when it must exist before bootstrap. Record degraded side effects explicitly instead of blocking world entry unnecessarily.
Invariants
Activation must not reuse expired pending tickets. Bootstrap should reflect the hydrated authoritative state. Degraded resume-ledger state should be observable and retryable. Visibility buckets should be initialized before snapshot flow.
Debugging
If activation succeeds but reconnect later fails, inspect degraded resume-ledger records. If bootstrap misses combat or dungeon state, inspect hydration warnings. If stream activation fails, distinguish network stream setup from pending-ticket ownership.
Examples
An activation can continue after a temporary Redis write failure, but it should queue degraded resume-ledger work before sending welcome so operators can see the risk.