Some checks failed
QA Gate (P0/P1) / Test affected app (pull_request) Has been cancelled
A captured slot now lives in Redis under `pcat:jwt:slot` for the JWT's remaining lifetime (minus a 60s safety buffer). On module init we try Redis before launching Playwright — if a fresh slot is there we adopt it and schedule its refresh, skipping the ~5s capture entirely. After every successful capture+validation we publish to Redis so the next restart (or any sibling pod) can inherit. invalidateSession deletes the Redis copy because a 401/403 means the cached IP-binding is dead. Token is still IP-bound to its proxyPort. If a hydrating container reads the slot but the proxy has rotated away from the captured IP, the next upstream call 401s and the existing invalidateSession fallback re-captures locally — so worst case = today's cold-capture behavior, never worse. Note: dev and prod use separate Redis instances. This patch reaches PL24 parity (same-env redeploy hydration); a true dev↔prod shared cache would need either an external Redis or an internal-token bridge.