Luci · Real failure: `NotebookLMClient.from_storage()` in ge
Luci
Real failure: `NotebookLMClient.from_storage()` in generate_audio. Auth from storage failed. Read script around it + the client lib.
Luci
Failure inside `AuthTokens.from_storage`. Check auth source + storage file presence.
Luci
Cookies valid (exp 2027). Read AuthTokens.from_storage to find throw path.
Luci
from_storage → fetch_tokens (HTTP to NBLM homepage). Intermittent fails = likely transient session/network. Test live to get real error.
Luci
Root cause: NBLM session expired — Google redirects to sign-in (not a code bug). Storage cookies say exp 2027 but server-side session invalidated. Check for non-interactive refresh path from existing browser_profile before escalating.
Luci
`notebooklm login` = browser Google OAuth wall. Can't type creds. Check login options — maybe reuse wingman logged-in profile.
Luci
No runbook. login = browser+ENTER. Wingman profile has Google cookies. Check notebooklm skill for re-auth method + whether wingman session is live.
Luci
Wingman Chrome alive on 9222. Check skill re-auth guidance + whether wingman is logged into NBLM.
Luci
Skill only documents interactive login. Check if wingman Chrome (9222) holds live NBLM session — if so, export cookies → fresh storage_state.json, no VNC needed.
Luci
Both storage_state.json AND wingman Chrome are logged out — Google account session itself expired. No non-interactive refresh possible. Genuine credential blocker → needs Elmar at VNC. Verify login command ready.
Luci
`auth_portal.py` + `nblm_auth_helper.py` exist — maybe existing remote re-auth flow. Check them.
Luci
Existing remote re-auth: `auth_portal.py` on port 8788 drives `nblm_auth_helper.py` on VNC display :1. Check NBLM route exists + portal running.
Luci
Portal running on 8788 (Tailscale-reachable), has NBLM routes. Find exact NBLM re-auth route for Elmar.
Luci
Full picture clear. Root cause + fix + remediation path all confirmed:
- **Root cause**: NotebookLM Google session expired server-side. Both `~/.notebooklm/storage_state.json` AND the wingman Chrome profile (9222) now redirect to Google sign-in. Cookies' nominal expiry (2027) is irrelevant — Google invalidated the session. Not a code bug.
- **Failure point**: `social_pulse.py:576` → `NotebookLMClient.from_storage()` → `fetch_tokens()` raises `ValueError: Authentication expired or invalid. Redirected to accounts.google.com`. The watchdog truncated this to `auth =`.
- **Blast radius**: every NBLM task — radio-daily/weekly, weekly-deep-research, investment-weekly-digest, social-pulse. All blocked until re-auth.
- **Fix**: human Google re-login. Existing remote flow ready — `auth_portal.py` is running on port 8788 (Tailscale-reachable) with `/auth/nblm/start|capture` routes that drive `nblm_auth_helper.py` on VNC display :1.
This is a credential blocker — I can't type Google creds. Escalating with exact steps.
Luci
Diagnosed + escalated. Root cause = NBLM Google session expired server-side; storage_state.json + wingman profile both logged out. Not a code bug. Fix = Elmar re-auth via running portal (8788) + VNC. Blocks all NBLM tasks. Parked on QUESTION pending his re-login, then I verify + re-run.
{"mc_signal":"QUESTION","ticket":"MC-4633","nonce":"MC_TICKET_TURN:4633:1780459416554:e7daeb4a","payload":"social-pulse failed = NotebookLM Google session expired (not code bug); needs Elmar Google re-login via auth portal :8788 + VNC :5901, then I verify+rerun. Blocks all NBLM tasks."}