Repository navigation
Conversation
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the
|
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.
Что и зачем
AGENTS.md §8требовал, что каждая правка документации ссылается на факт кода. Проверялось эточеловеком: два guard'а смотрят файл целиком (флаги —
check_docs_vs_installer.py,переменные —
check_docs_vs_config.py) и не видят, что именно изменилось в PR.Гейт делает правило механическим для изменения: изменённый
.mdобязан добавитьпроверяемую ссылку.
Что добавлено
scripts/check_docs_refs.py— режимы--base <sha>(PR),--staged(локально),--diff-file(тесты/отладка). Проверяется факт, не шаблон:src/…py,.githooks/…) — существует;path::symbol— символ объявлен (def/class/присваивание/поле), а не упомянут в комментарии;path:NNN— строка в пределах файла;install.py --flag— флаг известен установщику;install.py::symbol— функция объявлена;os.getenv/os.environ/process.env).строки не вносят новых утверждений. Перенесённая строка с уже существующей цифрой — не
новое утверждение (сравнение с текстом файла до правки).
docs/archive|blog|research/**,experiments/**, реестры по имени файла(
docs/{en,ru,zh}/CHANGELOG.mdтоже).exit 3(«refusing to pass»).Пустой дифф → явное сообщение; не-UTF-8 вход (PowerShell
>) →exit 3.Docs referencesв jobtest, база —github.event.pull_request.base.sha(checkout в job —
fetch-depth: 0).AGENTS.md§8 — описание гейта и его границ; §7.7 — шаг в списке CI.Независимое ревью (свежий контекст) — 4 блокера, все закрыты
MSCODEBASE_DOCS⊂MSCODEBASE_DOCS_MARGIN→ проходилtest_env_prefix_of_a_real_name_is_rejected+ мутация✗, негативные тесты «проходили» из-за крэшаstdout.reconfigure(utf-8, errors=replace)+ ASCII-маркерыPYTHONIOENCODING=cp1252 pytest …→ 35 passedrc=0unquote_git_path()+ тест с"b/docs/en/\320\244.md"test_quoted_non_ascii_path_in_diff_is_parsedtest_moved_line_with_existing_numbers_is_not_a_new_claimMajor'ы:
experiments/**иdocs/*/CHANGELOG.mdв исключениях; env больше не привязан к трёмпрефиксам (
ONNX_FIXED_PADDINGвалиден); неизвестный флаг больше не отбрасывает валиднуюссылку в той же строке;
::returnи символ «только в комментарии» отклоняются; bareinstall.pyбез флага перестал быть «ссылкой»; лимит строк покрыт тестом; тестыгерметичны (свой git-репозиторий, не HEAD репозитория).
Тесты и мутации
Мутации (каждая обязана красить тест):
Ложные блокировки на реальной истории
Матрица обхода (что гейт НЕ доказывает)
.md(.txt/.rst).md)⏳не проверено локально;resolve+is_relative_to, точка проверки — ubuntu-раннерinstall.pyбез флагаГраница записана в
AGENTS.md §8: гейт доказывает существование факта, не егорелевантность утверждению.
Риски
или расширением исключений отдельным PR.