Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 9 additions & 4 deletions src/submission_checker/cohorts.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@

MLCommons publishes results on a bi-weekly cadence, two cohorts per calendar month,
identified as ``YYYY-MM-C0`` and ``YYYY-MM-C1`` (§4.2). §4.6 then counts in cohorts:
a seed set is adoptable for "its publication cohort and the following three", which
only means something if a cohort has a well-defined successor. That successor lives
a seed set is adoptable "until 4 cohort dates have passed", which only means
something if a cohort has a well-defined successor. That successor lives
here rather than in the seed-set loader, because it is a property of the publication
calendar and the next rule to count in cohorts will want it too.
"""
Expand Down Expand Up @@ -71,8 +71,13 @@ def next(self) -> Cohort:
def adoption_window(published: Cohort, length: int = 4) -> tuple[Cohort, ...]:
"""The cohorts during which a set published in *published* may be adopted.

§4.6: "Each published seed set is available for adoption by new submissions for
**four consecutive cohorts** — its publication cohort and the following three."
§4.6: "Each published seed set is available for adoption by new submissions until
4 cohort dates have passed and is then dropped from the sets available for
adoption."

§9.1 checks this per submission: the set "must have been published for
``target_cohort`` or one of the three immediately preceding cohorts". So the
window is *published* and the three cohorts after it.

Args:
published: The cohort the set was published for.
Expand Down
4 changes: 2 additions & 2 deletions src/submission_checker/data/seed_sets.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
# Mirrored from `mlcommons/endpoints_policies` `seedset.yaml` as published on `main`
# in PR #155 (`aa7537c`, 2026-11-04). Set A was first published in PR #117.
#
# Each set carries its own `cohorts:` adoption window (§4.6: its publication cohort
# and the three following it). Sets are never removed, so a submission stays bound
# Each set carries its own `cohorts:` adoption window: its publication cohort and the
# three cohorts after it (§4.6, §9.1). Sets are never removed, so a submission stays bound
# to its set for the full Pareto-update window. The file-level `cohort-id` is the
# newest set's first adoptable cohort; the window derived from it applies only to a
# set that lists no `cohorts:` of its own — see `submission_checker.seed_sets`.
Expand Down
Loading