Conversation
Переход #1420 доведён до конца. В обязательных проверках защиты `main` остаётся один `ci-complete`; четырнадцать прежних имён — джобы и ячейки матрицы — убраны из `EXPECTED_CHECKS`. ЗАЧЕМ. Имя ячейки несёт версию Python и флаг эксперимента, то есть меняется от ЧУЖОГО календаря. Выход 3.14 из предрелиза добавил сюда три строки (#1529), выход 3.15 добавил бы ещё три и убрал другие. Каждый такой сдвиг правится в ДВУХ местах сразу — в дереве и во внешней настройке репозитория, — а расходятся они молча: PR начинает ждать проверку, которой больше нет, и ни один прогон об этом не говорит. Ровно это правило 168 и не велит держать в обязательных. ЧТО НЕ ПОТЕРЯНО. Защита от переименования ячейки остаётся: состав выводит `ci_aggregate.expected_checks` из того же `ci.yml`, поэтому поймает её прогон, а не память. Предрелизные ячейки агрегатор отличает сам — по суффиксу `, true)`. ПОЧЕМУ СЕЙЧАС. Порядок перехода менять было нельзя, и он пройден целиком: агрегатор появился (#1456) → владелец добавил его в обязательные, ничего не убирая → PR мержились при нём. Последний шаг доказан на живых случаях, а не обещан: на #1537 и #1540 `ci-complete` зелёный при красных ячейках 3.15, на #1528 и #1530 — красный, потому что там красна обязательная (`windows-latest, 3.13` и `ubuntu-latest, 3.14`). То есть он и пропускает верное, и держит неверное. СМЕНИЛСЯ ПРЕДМЕТ ОДНОЙ ПРОВЕРКИ. `check_matrix_names` держала список в соответствии с матрицей, пока имена перечислялись. Теперь находкой считается ВОЗВРАЩЕНИЕ матричного имени в обязательные: это шаг назад, к состоянию, где каждый выпуск CPython правится дважды. ВЛАДЕЛЬЦУ: те же четырнадцать имён нужно убрать из ruleset, оставив `ci-complete`. Пока они там, ночная сверка назовёт расхождение — «обязательных проверок больше заявленного». Это и есть сигнал доделать, а не поломка гейта. Closes #1420 Co-Authored-By: Artem Markitanov <86671904+ArtVsMark@users.noreply.github.com> Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Wqpt9etxi7Hz6dNyhmYfx1
ArtVsMark
enabled auto-merge (squash)
September 9, 2026 11:54
ArtVsMark
disabled auto-merge
September 9, 2026 14:10
ArtVsMark
enabled auto-merge (squash)
September 17, 2026 10:26
ArtVsMark
disabled auto-merge
September 18, 2026 11:11
ArtVsMark
enabled auto-merge (squash)
September 19, 2026 11:33
ArtVsMark
disabled auto-merge
September 21, 2026 11:06
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Переход #1420 доведён до конца. В обязательных проверках защиты
mainостаётся один
ci-complete; четырнадцать прежних имён — джобы и ячейкиматрицы — убраны из
EXPECTED_CHECKS.ЗАЧЕМ. Имя ячейки несёт версию Python и флаг эксперимента, то есть
меняется от ЧУЖОГО календаря. Выход 3.14 из предрелиза добавил сюда три
строки (#1529), выход 3.15 добавил бы ещё три и убрал другие. Каждый
такой сдвиг правится в ДВУХ местах сразу — в дереве и во внешней
настройке репозитория, — а расходятся они молча: PR начинает ждать
проверку, которой больше нет, и ни один прогон об этом не говорит.
Ровно это правило 168 и не велит держать в обязательных.
ЧТО НЕ ПОТЕРЯНО. Защита от переименования ячейки остаётся: состав
выводит
ci_aggregate.expected_checksиз того жеci.yml, поэтомупоймает её прогон, а не память. Предрелизные ячейки агрегатор отличает
сам — по суффиксу
, true).ПОЧЕМУ СЕЙЧАС. Порядок перехода менять было нельзя, и он пройден
целиком: агрегатор появился (#1456) → владелец добавил его в
обязательные, ничего не убирая → PR мержились при нём. Последний шаг
доказан на живых случаях, а не обещан: на #1537 и #1540
ci-completeзелёный при красных ячейках 3.15, на #1528 и #1530 — красный, потому
что там красна обязательная (
windows-latest, 3.13иubuntu-latest, 3.14). То есть он и пропускает верное, и держитневерное.
СМЕНИЛСЯ ПРЕДМЕТ ОДНОЙ ПРОВЕРКИ.
check_matrix_namesдержала список всоответствии с матрицей, пока имена перечислялись. Теперь находкой
считается ВОЗВРАЩЕНИЕ матричного имени в обязательные: это шаг назад, к
состоянию, где каждый выпуск CPython правится дважды.
ВЛАДЕЛЬЦУ: те же четырнадцать имён нужно убрать из ruleset, оставив
ci-complete. Пока они там, ночная сверка назовёт расхождение —«обязательных проверок больше заявленного». Это и есть сигнал доделать,
а не поломка гейта.
Closes #1420
Работа сделана вместе: @ArtVsMark — постановка, решения и приёмка; Claude Code — реализация.