legco_ai_assistant/.plans
Woody 284028bb1f feat: Phase 3.1 + 3.2 — YouTube config infra and URL extraction
Phase 3.1 — Configuration & Infrastructure:
- Add youtube_proxy_enabled, yt_dlp_timeout, yt_dlp_cache_ttl config fields
- Add yt-dlp and hls.js dependencies
- Create models/youtube.py (request/response schemas)
- Create service stubs (youtube_service, hls_proxy)
- Create router stub and register in main.py
- 11 config tests

Phase 3.2 — YouTube URL Extraction:
- yt-dlp wrapper with async extraction (run_in_executor)
- Format selection: ≤480p video-only + highest-bitrate audio (VOD)
- Combined format fallback: same URL for live streams
- In-memory URL cache: 5min TTL live, 30min VOD
- lru_cache singleton service for cache persistence
- Error handling: DownloadError → 200 with error field
- 18 extract tests, 82/82 total pass (zero regressions)

Real-URL verified: VOD (5bF3tkO5jAA) 24 formats, Live (fN9uYWCjQaw) 6 HLS
2026-05-09 15:53:04 +08:00
..
debug_2026-04-23_upload_500_error.md docs: add debug logs for upload 500 error investigation 2026-04-23 13:25:23 +08:00
debug_vllm_structured_output.md docs: add vLLM structured output fix plan 2026-04-29 16:42:23 +08:00
package2_enhancement_plan.md docs: mark sub-phase 2.6 complete — Package 2 all done 2026-04-24 17:53:56 +08:00
package3_enhancement_plan.md feat(frontend): Phase 3.6 — History page with timing bars, expandable cards, and pagination 2026-04-26 13:19:52 +08:00
package4_enhancement_plan.md docs(plan): add Phase PX profile export/import feature plan 2026-04-27 19:26:33 +08:00
package5_enhancement_plan.md feat: track highlight generation prompt, response, and timing in history (Phase 5.5) 2026-04-29 11:18:21 +08:00
package6_enhancement_plan.md docs: add Package 6 enhancement plan 2026-05-04 14:58:24 +08:00
package6_subquestions_config_plan.md docs: add plan for configurable SubQuestions format 2026-05-04 17:22:38 +08:00
phase1_backend_plan.md feat: Phase 1.4 acceptance tests, error handling, and polish 2026-04-22 17:45:50 +08:00
phase1_debug_plan.md docs: add debug logs for upload 500 error investigation 2026-04-23 13:25:23 +08:00
phase1_enhancement_plan.md feat: add chunk PDF serving endpoint and frontend clickable source links (1.5.6) 2026-04-24 11:49:39 +08:00
phase1_frontend_plan.md docs: update development plans with Phase 1 completion status 2026-04-23 13:27:52 +08:00
phase2_enhancement_delta_sse.md feat: delta-based ASR transcript — use text field, utterance boundaries, stash on pause 2026-05-07 11:26:19 +08:00
phase2_enhancement_use_text_field.md refactor: remove dead _merge_stash, add Phase 3 YouTube proxy plan 2026-05-09 15:14:01 +08:00
phase2_implementation_plan.md fix: text accumulation — stashes are sliding windows, merge via overlap detection 2026-05-06 20:06:39 +08:00
phase3_youtube_proxy_plan.md feat: Phase 3.1 + 3.2 — YouTube config infra and URL extraction 2026-05-09 15:53:04 +08:00
streaming_extracted_questions_plan.md feat(query): stream extracted questions immediately via SSE 2026-04-25 18:29:22 +08:00