Fetching metadata from the HF Docker repository...
May 31 03:57 fix:fetch-page-image-urls-for-existing-records Running 03:49 fix:populate-page-image-urls-in-fetch-latest-endpoint 03:43 fix:add-OCR-deps-and-Dockerfile-system-libs 00:34 feat: scrape all cities every 2h add /api/scrape-all cron endpoint enable Sulphur Springs May 30 21:02 fix: add asyncio timeouts to prevent Vercel 502 on slow Laserfiche fetches 19:50 fix: replace paid Google Vision with free Hugging Face OCR (TrOCR + Nougat) 19:46 fix: 502/503 errors, add Google Vision OCR, improve geo-locate robustness 19:41 fix: complete OCR pipeline rewrite - 3-tier, all pages, all engines 19:36 fix: OCR async, connector fetch_page_images, lambda closures, parsers init 17:38 fix: force re-summarize with force parameter, remove broken _execute import 17:23 feat: add force parameter to fetch-latest to clear cached summaries 17:09 fix: OCR.space during document fetch (not summarization) to stay within Vercel 10s timeout 16:46 fix: prefer existing raw_text over OCR to avoid Vercel 10s timeout 16:40 fix: reduce OCR.space to 1 page to fit within Vercel free plan 10s timeout 16:28 fix: add traceback logging for Groq httpx calls to debug deployment failure 16:17 fix: replace OpenAI SDK with direct httpx calls to Groq API to avoid SDK compatibility issues on Vercel 16:08 fix: use AsyncOpenAI consistently with await for all Groq API calls 05:22 fix: wrap Groq API call in try/except to catch async exceptions and surface error reason 05:19 fix: use AsyncOpenAI with await for non-blocking Groq API calls in async context 05:15 fix: sync Groq call directly in async context, removed asyncio.to_thread that was causing silent failures 05:11 fix: run Groq API call in thread via asyncio.to_thread to avoid blocking event loop 05:06 fix: remove failing Groq Vision API, use only free OCR.space API for scanned document OCR 05:02 fix: reuse event loop across requests in ASGI bridge, make OCR.space sync to avoid loop issues 04:56 fix: use Groq Vision API (llama 3.2 11B) to read text from scanned images, fallback to OCR.space, then text 04:53 fix: use free OCR.space API as primary OCR on Vercel Lambda, Groq Vision removed to avoid circular import 04:47 fix: Vision API now extracts text first (no JSON mode), falls back to free OCR.space API, added httpx dep 04:43 fix: always try free Groq Vision API for OCR first on Vercel Lambda, fallback to local OCR only if Vision fails 04:06 feat: add server-side Groq Vision API for OCR on Vercel Lambda — reads text from images directly, no local OCR needed 03:57 fix: combine ASGI-to-WSGI bridge with direct lifespan init for connectors/DB/summarizer 03:54 fix: use Mangum lifespan=auto so DB, connectors, and summarizer initialize on first request 03:07 fix: replace Mangum with custom ASGI-to-WSGI bridge for Vercel experimentalServices 03:03 fix: set Mangum handler to Handler.HTTP explicitly for Vercel experimentalServices 03:01 fix: add cryptography to requirements - missing Fernet import 02:59 fix: add back numpy and Pillow deps required by social card generation 02:58 fix: remove uvicorn[standard] native deps - use bare uvicorn for Lambda compatibility 02:55 fix: absolute minimal WSGI entry point - imports only inside handler 02:48 fix: replace psycopg2-binary with pg8000 (pure Python) to avoid Vercel Lambda 250MB native dep crash 02:43 fix: make Vercel entry point lazy-load FastAPI on first request to prevent cold-start crash 02:20 fix: wrap lifespan startup in try/except so health endpoint works even if DB init fails 01:53 fix: lazy import psycopg2 inside _get_pg_conn() to prevent Vercel Lambda crash on module load 01:09 fix: remove stale backend/vercel.json that was conflicting with top-level experimentalServices May 29 23:29 feat: Vercel-ready OpenCouncil with 3 cities connected (Paris, Sulphur Springs, Frisco) May 10 02:06 Add PG migration for big_picture and what_you_can_do columns 02:04 Implement Three P's framework: Life-Centric categories, Big Picture TL;DR, What You Can Do 01:02 fix: align DeepSeek JSON output schema with frontend TypeScript interfaces 00:02 feat: improve OCR preprocessing pipeline with upscaling, deskew, Otsu threshold, morphology, and multi-PSM Tesseract strategy May 9 23:50 Add /api/minutes/seed endpoint for pushing pre-computed OCR data to HF Space PostgreSQL 23:47 Add pre-computed OCR database for Paris city council minutes 22:25 Fix: detect stub text in _summarize_with_text and return _build_unreadable_response before calling DeepSeek (prevents LLM from echoing 'not available' message as summary) 22:07 Fix HF deployment: handle missing OCR engines + stub text detection