1c-code-review · git:20260929.a0d4b1a · 2026-09-29 · sha256 30acfd18422c4ff0

1c-code-review git:20260929.a0d4b1aA

Immutable. This exact content never changes and is served at /api/v1/blob/30acfd18422c4ff0.

---
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` по номеру; неподтвержденный
 номер не используется.