TLI Mail-/PDF-/Chart-Nachlauf nach GWS-Reauth
why
what
- Neuen gemeinsamen Helper gebaut: `openclaw/workspace/scripts/lib/gws-auth.mjs` entschlüsselt den GWS-Credential-Store, refreshed den Google-Access-Token und setzt `[secret-var]` für CLI-Aufrufe.
- `tli-file-link-indexer.mjs` und `tli-chart-extractor.mjs` auf diesen Helper gehärtet; der Chart-Extractor refreshed den GWS-Token jetzt vor Gmail-Listen-/Get-Aufrufen, damit lange Läufe nicht am einstündigen Access-Token sterben.
- Gmail direkt geprüft: `21d=387` TLI-Mails, `45d=876` TLI-Mails; in beiden Fenstern `unread=0` und `-label:TLI=0`.
- File-Link-Index vollständig über 45 Tage neu gebaut: `876` Mails gescannt, `71` relevante Items, `65` Mails mit Patreon-File-Links, `0` echte Gmail-PDF-Attachments.
- PDF-Downloader gegen den vollständigen Index gefahren: `63` PDFs liegen als Raw-PDF + Text vor; `64` Metas existieren, davon `1` 404/`not_pdf`-Meta.
- Chart-Nachlauf über das 21-Tage-Fenster abgeschlossen: letzter 500er-Scan sieht `387 scanned, 0 new, 0 queued`.
- Visual-Audit abgeschlossen: `331` Bilder, `331` Sidecars, `missingSidecars=0`, `nonChartToUpgrade=0`.
- Recap-Kontexte für KW15 bis KW21 neu gebaut; KW20 bleibt `129` Mails / `9` ResearchDocs / `89` Charts / `25` Non-Charts, KW21 `55` Mails / `5` ResearchDocs / `39` Charts / `10` Non-Charts.
caveat
verification
- `node --check `openclaw/workspace/scripts/lib/gws-auth.mjs`
- `node --check `openclaw/workspace/scripts/tli-file-link-indexer.mjs`
- `node --check `openclaw/workspace/scripts/tli-chart-extractor.mjs`
- `TLI_FILE_SCAN_MAX=900 node `openclaw/workspace/scripts/tli-file-link-indexer.mjs`
- `node `openclaw/workspace/scripts/tli-file-link-downloader.mjs` --limit 100`
- `TLI_MAX_MAILS=20 TLI_SCAN_MAX_RESULTS=500 node `openclaw/workspace/scripts/tli-chart-extractor.mjs`
- `node `openclaw/workspace/scripts/tli-visual-audit.mjs` --dry-run`
- `node `openclaw/workspace/scripts/tli-recap-context-builder.mjs` --week <15-21> --year 2026`