From 0ec908db21c123fed2ef7a51b4f6533edc192030 Mon Sep 17 00:00:00 2001 From: anandhu-eng Date: Mon, 9 Nov 2026 16:27:24 +0530 Subject: [PATCH] =?UTF-8?q?docs:=20quote=20the=20current=20=C2=A74.6=20and?= =?UTF-8?q?=20=C2=A79.1=20text=20for=20the=20seed=20adoption=20window?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The adoption_window docstring quoted "four consecutive cohorts — its publication cohort and the following three", which is not in the rules. It now quotes §4.6 and the §9.1 check that sets the window. The module docstring and the seed_sets.yaml header are updated to match. No logic change. Co-Authored-By: Claude Opus 5.5 --- src/submission_checker/cohorts.py | 13 +++++++++---- src/submission_checker/data/seed_sets.yaml | 4 ++-- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/src/submission_checker/cohorts.py b/src/submission_checker/cohorts.py index f2a2ef3f..d281bd28 100644 --- a/src/submission_checker/cohorts.py +++ b/src/submission_checker/cohorts.py @@ -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. """ @@ -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. diff --git a/src/submission_checker/data/seed_sets.yaml b/src/submission_checker/data/seed_sets.yaml index 2317139c..ff8d0d79 100644 --- a/src/submission_checker/data/seed_sets.yaml +++ b/src/submission_checker/data/seed_sets.yaml @@ -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`.