File size: 3,322 Bytes
40ec4c0
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
import unittest

from scoring import rank_leaderboard


def leaderboard_entry(
    *,
    team,
    contact,
    submission,
    submitted_at,
    answer_accuracy,
    evidence_exact_match,
    evidence_f1,
):
    return {
        "team": team,
        "contact": contact,
        "submission_name": submission,
        "submitted_at": submitted_at,
        "answer_accuracy": answer_accuracy,
        "evidence_exact_match": evidence_exact_match,
        "evidence_f1": evidence_f1,
        "examples": 217,
    }


class LeaderboardRankingTests(unittest.TestCase):
    def test_same_team_and_email_show_latest_attempt(self):
        rows = [
            leaderboard_entry(
                team="Example Team",
                contact="Lead@Example.org",
                submission="baseline",
                submitted_at="2026-07-30T01:00:00Z",
                answer_accuracy=0.75,
                evidence_exact_match=0.5,
                evidence_f1=0.7,
            ),
            leaderboard_entry(
                team="  example   team ",
                contact=" lead@example.org ",
                submission="improved",
                submitted_at="2026-07-30T02:00:00Z",
                answer_accuracy=0.8,
                evidence_exact_match=0.6,
                evidence_f1=0.75,
            ),
        ]

        ranked = rank_leaderboard(rows)

        self.assertEqual(len(ranked), 1)
        self.assertEqual(ranked[0]["submission_name"], "improved")
        self.assertEqual(ranked[0]["attempts"], 2)

    def test_same_team_with_different_email_is_a_separate_identity(self):
        rows = [
            leaderboard_entry(
                team="Example Team",
                contact="one@example.org",
                submission="one",
                submitted_at="2026-07-30T01:00:00Z",
                answer_accuracy=0.7,
                evidence_exact_match=1.0,
                evidence_f1=1.0,
            ),
            leaderboard_entry(
                team="Example Team",
                contact="two@example.org",
                submission="two",
                submitted_at="2026-07-30T02:00:00Z",
                answer_accuracy=0.8,
                evidence_exact_match=1.0,
                evidence_f1=1.0,
            ),
        ]

        ranked = rank_leaderboard(rows)

        self.assertEqual(len(ranked), 2)
        self.assertEqual([row["attempts"] for row in ranked], [1, 1])

    def test_evidence_f1_is_the_public_tie_breaker(self):
        rows = [
            leaderboard_entry(
                team="Exact Team",
                contact="exact@example.org",
                submission="higher-exact",
                submitted_at="2026-07-30T01:00:00Z",
                answer_accuracy=0.8,
                evidence_exact_match=1.0,
                evidence_f1=0.5,
            ),
            leaderboard_entry(
                team="F1 Team",
                contact="f1@example.org",
                submission="higher-f1",
                submitted_at="2026-07-30T02:00:00Z",
                answer_accuracy=0.8,
                evidence_exact_match=0.0,
                evidence_f1=0.9,
            ),
        ]

        ranked = rank_leaderboard(rows)

        self.assertEqual(ranked[0]["team"], "F1 Team")


if __name__ == "__main__":
    unittest.main()