Rules
Duel timing
- One duel runs from `[00:00, 00:00)` UTC: the full named UTC date, closing at midnight at the start of the next date. - Each new duel contains exactly one matchup between two distinct, editor-curated memes. - Historical eight-entry brackets keep their original round timings and published results.
The catalog is the primary product. A missing or paused duel never closes the library.
Eligibility and finality
- A matchup is open only while the scheduled window is open in UTC.
- Matchup states are explicit: `upcoming`, `open`, `closed_pending`, `counting`, `final`, `paused`, `cancelled`, `day_off`.
- Voting is one vote per anonymous voter token per matchup.
- If a vote is accepted it cannot be switched.
- Tallying is performed by finalizer tasks after closure.
- Results are hidden while a matchup is `open` or `closed_pending`.
- After closure completion, results become visible as `counting` → `final`.
- Cross-day continuity is not inferred; every UTC duel is independent.
- Public uploads are disabled for MVP.
Tie and delay behavior
- Ties use a deterministic published tie-break digest using competition seed + matchup + entry IDs.
- If finalization is delayed, the round remains closed and the interface reports `closed_pending` or `counting`.
- If required media are missing, organizers can pause/cancel with a timestamped audit note.
Outage and emergency cases
- Day-off: if two valid, rights-current entries are not available, no duel for that date is published.
- Paused voting: route behavior continues to show the current state with a recovery ETA.
- Emergency takedown: admin can remove the affected content immediately; removed items stop appearing in API, pages, sitemap, and media responses.
Validity statements
- Founding assumption: no public uploads and no cross-day user accounts in MVP.
- No result is interpreted as user identity or behavior tracking.