diff --git a/tests/test_kin_docs_002_regression.py b/tests/test_kin_docs_002_regression.py index 58aabf5..7a06bdd 100644 --- a/tests/test_kin_docs_002_regression.py +++ b/tests/test_kin_docs_002_regression.py @@ -25,18 +25,9 @@ REQUIRED_SECTIONS = [ ] # Files excluded from standard-structure checks (decision #917/#918) -# These files have anomaly-documenting tests that reference section headers -EXCLUDED_FROM_STRUCTURE_CHECK = [ - "reviewer.md", - "tester.md", - "constitutional_validator.md", - "pm.md", - "backend_dev.md", - "debugger.md", - "frontend_dev.md", - "analyst.md", - "smoke_tester.md", -] +# All 9 previously excluded files now contain all 5 required sections — list is empty. +# Guard-тест TestExclusionListIsEmpty (decision #929) не даст тихо добавить файлы обратно. +EXCLUDED_FROM_STRUCTURE_CHECK = [] def _prompt_files(): @@ -143,3 +134,28 @@ class TestPromptCount: f"Ожидалось 25 промптов, найдено {count}. " "Если добавлен новый промпт — обнови этот тест." ) + + +# --------------------------------------------------------------------------- +# Guard: exclusion list must stay empty (decision #929) +# --------------------------------------------------------------------------- + +class TestExclusionListIsEmpty: + """Регрессионный guard против молчаливого роста EXCLUDED_FROM_STRUCTURE_CHECK. + + Если нужно добавить файл обратно в exclusion — этот тест заставит явно + обосновать причину и обновить его (decision #929). + """ + + def test_exclusion_list_is_empty(self): + """EXCLUDED_FROM_STRUCTURE_CHECK должен оставаться пустым. + + Все 9 ранее excluded файлов содержат все 5 стандартных секций. + Добавление файла в exclusion лишает его регрессионной защиты (decision #921). + Чтобы добавить файл — сначала обоснуй причину и обнови этот тест. + """ + assert EXCLUDED_FROM_STRUCTURE_CHECK == [], ( + f"EXCLUDED_FROM_STRUCTURE_CHECK должен быть пустым, " + f"но содержит: {EXCLUDED_FROM_STRUCTURE_CHECK}. " + "Добавление файла в exclusion лишает его регрессионной защиты (decision #921)." + )