From 54268b59335eb831af67e051a80cd8e4a99f5e39 Mon Sep 17 00:00:00 2001 From: Anton Vakhrushev Date: Thu, 13 Aug 2026 16:47:54 +0300 Subject: [PATCH] =?UTF-8?q?CLAUDE.md:=20=D0=B7=D0=B0=D0=BF=D1=80=D0=B5?= =?UTF-8?q?=D1=82=20=D0=BD=D0=B0=20=D0=BF=D1=80=D0=BE=D0=B2=D0=B5=D1=80?= =?UTF-8?q?=D0=BA=D0=B8=20=D0=BD=D0=B0=D0=B4=20=D0=BF=D1=80=D0=BE=D0=B2?= =?UTF-8?q?=D0=B5=D1=80=D0=BA=D0=B0=D0=BC=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Уровень проверки один: линтеры и тесты судят код сервиса, судить их самих проект не берётся; названы попавшие под запрет виды работ. - Пересказ решения в go-linters.md и review.md заменён ссылкой на дом. --- CLAUDE.md | 9 +++++++++ docs/conventions/go-linters.md | 7 +++---- docs/review.md | 6 +++--- 3 files changed, 15 insertions(+), 7 deletions(-) diff --git a/CLAUDE.md b/CLAUDE.md index a59213c..2fc89ac 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -192,6 +192,15 @@ task gate # весь набор проверок разом подставляй `internal/adapter/recognizer/memory.go`. - **Выкладку не запускать.** `inv pl -- transcriber` из `pet-project-server` запускает человек. +- **Проверок над проверками не заводить.** Уровень проверки один: линтеры и + тесты судят код сервиса, а судить их самих незачем. Под запрет попадают тесты + на шаги гейта и на свои скрипты проверок, стражи предмета у правил, + механизация покрытия изменённого кода, мутационная сверка оракулов и + требование мутировать тест, чтобы убедиться в его способности упасть. Решение + владельца 2026-08-13; им закрыты четыре задачи — причины и даты в + [tasks/REJECTED.md](tasks/REJECTED.md). Заведённое до решения остаётся: + двадцать сценариев шага сверки версий Go в `scripts/check_go_version_test.go` + работают и удалению не подлежат, новых таких файлов не появляется. - **`testdata` в проекте нет.** Тесты, которым нужен файл, создают его во временном каталоге и убирают за собой. - **Временное** — `t.TempDir()` в тестах, `/tmp` вне их. В `data/` временное не diff --git a/docs/conventions/go-linters.md b/docs/conventions/go-linters.md index 1685abc..6ac3ba1 100644 --- a/docs/conventions/go-linters.md +++ b/docs/conventions/go-linters.md @@ -43,10 +43,9 @@ `scripts/check_go_version_test.go`, и другого дома у неё нет. Второй самодельный шаг — `migrations` — не проверен и ими: он прогнан мутацией на трёх исходах (переписанный шаг, пустой каталог, чистое дерево), но регрессионных проверок у - него нет, и дрейф его собственного шаблона имени никто не поймает. Владелец - решил 2026-08-13 оставить это как есть: проверка над проверкой даёт много - механики и мало пользы. Долгом это больше не числится — задача - `migrations-step-norm-and-tests` закрыта без реализации. + него нет, и дрейф его собственного шаблона имени никто не поймает. Долгом это + не числится: проверок над проверками проект не заводит — + [CLAUDE.md](../../CLAUDE.md), «Запреты». ## Два круга: pre-commit и гейт diff --git a/docs/review.md b/docs/review.md index f110347..2a71a9f 100644 --- a/docs/review.md +++ b/docs/review.md @@ -71,9 +71,9 @@ никогда не был зелёным, обнуляет сигнал всего пакета: настоящий отказ в нём становится неотличим от привычного шума (журнал, запись 2026-08-10). -Свойств о годности самих проверок здесь больше нет: требования мутировать тест, -оракул критерия приёмки и норму сняты 2026-08-13 решением владельца — проверка -над проверкой стоит внимания каждого прогона и отвечает редко. +Свойств о годности самих проверок здесь больше нет — ни мутации теста, ни +мутации оракула критерия приёмки, ни требования сценария к норме. Запрет и его +границы — [CLAUDE.md](../CLAUDE.md), «Запреты». ### Типовые ложноположительные