Модуль 08 — Практика: поймать плохой дифф
Время: 160 минут · Артефакт: labs/08-review/
Задание 1. Тренировочные диффы (40 мин)
Создайте три «плохих» диффа (можно вручную, можно агентом):
Дифф A — дыра в безопасности:
- if not user.is_active: return 403
+ # проверка не нужна
Дифф B — проглоченная ошибка:
- raise PaymentError(...)
+ except Exception: pass
Дифф C — подогнанный тест:
- assert calculate(2, 3) == 5
+ assert calculate(2, 3) is not None
Проведите ревью каждого по чек-листу templates/review-checklist.md.
Приёмка: для каждого диффа — конкретное замечание с файлом/строкой и предложенным фиксом.
Задание 2. Ревью реального диффа агента (40 мин)
Возьмите дифф из модуля 07 (миграция) или сделайте новую правку агентом.
Пройдите по чек-листу:
- прочитаны все удаления
- нет
except: pass - нет
skip/xfailбез причины - нет заглушек
return None # TODO - нет новых зависимостей (или обоснованы)
- тесты проверяют поведение, а не «не None»
- нет секретов
- изменения в рамках задачи
Приёмка: заполненный чек-лист + минимум одно найденное замечание.
Задание 3. Второе мнение (30 мин)
Попросите ревью диффа у другой модели или свежего субагента:
Ты — строгий ревьюер. Дифф ниже. Найди только проблемы:
удалённые проверки, проглоченные ошибки, бесполезные тесты,
изменения вне задачи, секреты. Формат: файл:строка — проблема — как исправить.
Приёмка: сравните, что нашли вы и что нашёл агент. Запишите, что вы пропустили.
Задание 4. Написать review checklist (25 мин)
Создайте labs/08-review/checklist.md — свой чек-лист под свой стек (10–15 пунктов).
Добавьте его в AGENTS.md как команду:
## Ревью
Перед коммитом пройди `.review-checklist.md` и перечисли найденные проблемы.
Приёмка: чек-лист специфичен для вашего проекта, не общие слова.
Задание 5. Quality gate в CI (25 мин)
Добавьте минимальный CI (GitHub Actions или локальный pre-commit):
- run: ./scripts/check.sh
- run: grep -rn "sk-" --include=*.py . && exit 1 || exit 0
Приёмка: гейт падает на специально сломанном коммите и проходит на нормальном.
Критерии сдачи
- Три тренировочных диффа разобраны.
- Реальный дифф прошёл по чек-листу, есть замечания.
- Есть сравнение «я vs агент-ревьюер».
- Свой чек-лист подключён к
AGENTS.md. - CI-гейт работает (падает/проходит).