hm_ai_qc_report_tool/modules/video_master
nickviljoen a3aee0de2e Video Master: async campaign search + correct UI labels
- /api/search-campaign now kicks off a background thread and returns
  immediately. The browser polls /api/progress/<session_id> and fetches
  the cached result via the new /api/search-campaign-result/<session_id>
  endpoint when complete. Box folder enumeration on a not-found campaign
  was taking >30s, exceeding the GCP load balancer's response timeout
  and surfacing as 'stream timeout' (not valid JSON) to the user.
- Result cached for 10 min via the existing reporting result_cache
  (filesystem-backed → safe across gunicorn workers).
- Form label/placeholder/hint updated: tool accepts a campaign NUMBER,
  not a campaign name. Placeholder shows '1993857' instead of
  '1011A Spring SS2025'.
2026-05-09 19:52:49 +02:00
..
matching Video Master: version grouping, 3-pass duration cascade, report download 2026-04-28 12:44:43 +02:00
templates/video_master Video Master: async campaign search + correct UI labels 2026-05-09 19:52:49 +02:00
__init__.py Add modular architecture, core framework, and web UI 2026-02-25 11:39:04 +02:00
blueprint.py Add modular architecture, core framework, and web UI 2026-02-25 11:39:04 +02:00
campaign_matcher.py Video Master: version grouping, 3-pass duration cascade, report download 2026-04-28 12:44:43 +02:00
routes.py Video Master: async campaign search + correct UI labels 2026-05-09 19:52:49 +02:00
scoring.py Add modular architecture, core framework, and web UI 2026-02-25 11:39:04 +02:00