You are given a small crawler frontier implementation.
Across the interview, you will fix heap ordering, implement push/pop on a
custom priority queue, add support for delayed tasks that are not ready yet,
and finally requeue failed crawl tasks with a cooldown.
The queue uses a custom heap comparator.
Higher-priority tasks should come out first. When two tasks have the same
priority, the one inserted earlier should win.
The current comparator violates that second rule. Fix it without changing
the public interface.
test_earlier_sequence_wins_when_priority_matches