---
name: 1c-code-review
description: "Ревью BSL-кода по каталогу дефектов: каждая находка получает идентификатор карточки, важность и ключ локации. Триггеры: ревью BSL, проверь код по антипаттернам, code review 1С, проверь код перед коммитом, а также вызов из команды закрытия задачи."
---

# 1c-code-review - ревью BSL по каталогу дефектов

Каталог дефектов - данные: карточки `references/catalog/<ИДЕНТИФИКАТОР>.md`, каждая с триггером,
законной формой и фикстурой. Ревью идет от измененного кода к каталогу, а не пересказом
карточек.

## Порядок работы

1. **Архетипы правки.** Определи архетипы измененного кода по списку: транзакция, блокировка,
   права, запрос, модуль формы, событие объекта, новый общий модуль, перехват в расширении,
   изменение метаданных, любой BSL. Архетипы задают, какие группы каталога просматривать
   в первую очередь.
2. **Находки инструментов.** Прогони доступные инструменты и собери их находки до прохода по
   каталогу: `code_review`, `diagnostics` (`get_project_errors` с фильтром по измененным
   объектам), `validate_query` для запросов (AI-EDT), `ask_1c_ai` / `check_1c_code`
   (1c-naparnik). Состав и порядок обязательных проверок - `code-review-checklist.md`, раздел
   "Автоматические проверки". Инструменты недоступны - фиксируй это в разделе "Не проверено"
   отчета и продолжай проход по каталогу чтением.
3. **Проход по индексу.** Открой `references/catalog/INDEX.md`. Для каждой строки таблицы
   проверь: есть ли триггер в измененном коде. Карточку читай ТОЛЬКО при попадании триггера -
   за формулировкой триггера, законной формой и способом чинить. Законная форма отсекает
   ложное срабатывание: код, совпадающий с ней, находкой не является.
4. **Отчет.** Оформи по `references/report-format.md`: ключ находки `<путь>::<Метод>:<строка>`,
   одна локация - одна находка, важность по `references/severity.md`, разделы "Проверено" и
   "Не проверено" обязательны.

## Границы

- Вердикт "чисто" требует выполненных обязательных проверок: непроверенное - "с пробелами",
  не "чисто".
- Детекторы карточек (раздел "Детекторы") описывают автоматическую проверку с уровнем
  доказательности (semantic, static, llm, read); значение "чтение" означает, что
  детерминированного детектора нет, дефект ловится проходом по индексу. Сводная матрица
  детекторов и пороги покрытия - `references/detectors.md`; гейтовый конфиг
  bsl-language-server с диагностиками карточек - `assets/bsl-ls-gate.json` (передача -
  `assets/README.md`).
- Номера стандартов в карточках подтверждаются источником `v8std` по номеру; неподтвержденный
  номер не используется.
