Skip to content

Make Verified Feed refresh repeatable and demo-safe #30

Description

@azizu06

Parent

#25

What to build

Make the Verified Feed refresh safe to demonstrate one or two times in front of judges. Two consecutive refreshes must remain idempotent, show truthful progress and counts, preserve the existing catalog when external services fail, and end with a newly accepted video when a suitable candidate is available.

Acceptance criteria

  • A unique YouTube video constraint and upsert behavior prevent duplicate cards across consecutive refreshes.
  • Only one refresh may run at a time; duplicate clicks are disabled and explained.
  • Refresh runs persist started/completed/failed state and discovered, analyzed, kept, rejected, and duplicate counts.
  • YouTube quota, Gemini rate-limit, timeout, no-acceptable-candidate, and Supabase failure paths preserve the last good catalog and offer safe retry guidance.
  • Fixture-backed E2E runs twice and proves idempotency without live credentials.
  • One opt-in local integration test uses real YouTube discovery plus Gemini analysis and records evidence without making live credentials a CI requirement.
  • Browser QA covers desktop/mobile layout, every button/link/route, keyboard focus, embed behavior, console health, and absence of framework overlays.
  • README and demo notes explain exactly how to seed, refresh, retry, and fall back to the persisted catalog.

Blocked by

Metadata

Metadata

Assignees

Labels

blocked-by-dependencyCannot start until the referenced blocker is closedfeature-verified-feedYouTube discovery and CapCheck-vetted finance feedlane-sharedShared integration or presentation workplaywright-requiredUI behavior and routes require Playwright E2E coveragepriority-post-mvptdd-requiredImplementation must follow red-green-refactortype-afkCan be completed by an agent from the issue alone

Projects

Status
Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions