Первый проход очистки тестов 1.11
Основной прогон до изменений: 12 622 passed, 34 skipped, 9 failed, 143 deselected, 215,87 с. После: 12 622 passed, 34 skipped, 1 failed, 143 deselected, 125,26 с. Последний сбой относился только к форматированию четырёх изменённых файлов; после форматирования соответствующие 6 проверок прошли. Полный повтор после косметической правки не выдаётся за выполненный. Полная приёмка, включая slow, остаётся условием релиза.
Наблюдаемое сокращение времени основной группы — около 42%. Это один замер до/после на одной машине, без утверждения о статистической устойчивости, сокращении токенов или недельной квоты. Число выбранных случаев уменьшилось с 12 665 до 12 657; главная польза получена от устранения повторной работы.
Что изменено и какое доказательство осталось
| Семейство | Изменение | Сохранённая проверка |
|---|---|---|
| Coherence | Рабочая БД и многократные обходы всего проекта заменены маленьким настоящим git-репозиторием с намеренными дублями | 13 проверок запускают настоящие сборщики; искусственное отключение детектора дублей вызывает ожидаемое падение |
| Smoke coherence | Удалена проверка только типа list без утверждения о поведении | Общий проход всех сборщиков, обнаружение созданных дефектов и негативные проверки ошибок |
| Заметки 1.9 | Удалены 6 функций: дубли существования страниц, редакционные фразы, отношение количества заголовков, буквальное «шестой хост» и переписанные исторические числа | Breaking changes, границы обещаний, сверка чисел с протоколом и версии миграций сохранены; чтение страницы само проверяет её существование |
| Выбор документационных тестов | Вместо всего docs/ указаны реальные страницы/источники quickstart и заметок 1.9 | Новая страница не выбирает эти семейства; изменение их страницы или связанной команды выбирает их |
| Реестр выбора | Неотслеживаемый git новый исходник раньше делал его тест «недостижимым» | Добавлен настоящий тест unstaged/ignored-файлов; игнорируемые файлы не включаются |
Исторические записи закрытых задач не переписываются: удалённые символы относятся к прежней ревизии. Замена доказательства для дальнейших изменений названа выше; наличие старой ссылки не обязывает бессрочно сохранять бессодержательный тест.
Найденные ошибки сохранены как ошибки
Полный исходный прогон нашёл недостающую RU-страницу и переключатели языков, ошибки mypy в телеметрии, позиционный SQL INSERT локального кэша и ложное исключение неотслеживаемого исходника из реестра тестов. Эти проблемы исправлены, проверки не удалены. Пять сообщений линтера оказались следствием разных версий: тесты запускали Ruff 0.15.12 из venv, а gate — закреплённый в CI Ruff 0.16.5. Локальный venv приведён к ci-constraints.txt; добавленные было подавления отменены. Производственный код этих пяти обработчиков не изменён. Оба замера времени сделаны до выравнивания версии, на одном и том же окружении.
Первичная AST-инвентаризация: 8395 функций, из них 53 кандидата на проверки документов и 21 на свежесть генерации; 8321 требуют классификации поведения либо дополнительного просмотра. Это эвристика, не доказательство бесполезности. Параметризованные случаи считаются отдельно. Нет основания заявлять, что остальные тысячи тестов проверены и признаны лишними.
Артефакты локального замера: .tausik/planning/release-111/tests-before-run.txt, tests-after-run.txt, test-inventory.json, removed-test-families.json. Модельные повторы и токены этой очистки не имеют точной атрибуции; их экономия остаётся неизвестной. Правила облегчённого цикла записаны в EN/RU testing-principles.md, без общего отключения quality gates.