Files
dotfiles/agents/.agents/skills/claude-subagent-playbook/references/lessons.md
T
Dmitry Dementiev 145ac75a09 docs(skill): claude-subagent-playbook — урок о смерти фонового ревьюера
- Зачем:
  - ревью скилла Опус-ревьюером не состоялось: субагент дважды ушёл в
    idle без отчёта и исчез; урок должен остаться в эмпирике.
- Что:
  - в references/lessons.md добавлен инцидент и вывод: критичный отчёт
    ревьюера писать в файл (двухканальный протокол), сообщение — указатель.
- Проверка:
  - зеркало ~/.claude/skills синхронно (rsync + diff).
2026-07-06 18:35:53 +03:00

52 lines
4.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Эмпирика прогонов
Датированные факты: что поймал каждый этап конвейера, казусы, цифры.
Дописывай после каждого прогона — это и есть «выжимка опыта», ради которой
скилл существует.
## 2026-07-06 — t2-ml-forecast, задача 05 «полировка витрины под демо»
Первый прогон конвейера. Задача: ~200 строк правок в ядре отчёта + ноутбук.
**Свежий взгляд на постановку (Клод, adversarial-reviewer) — окупился:**
- блокер: постановка требовала «русские названия из `report.name_ru`», а в
данных `name_ru` — английские имена из Excel-книги; исполнитель молча
сделал бы английские заголовки. Решение внесено в задачу: словарь
«статья → русское имя» как явная поставка;
- две «одностроки», прятавшие проектные решения: поворот отрицательного ряда
(правило, пересчёт коридора, единый хелпер) и согласованность
«график по модулю vs таблица со знаком»;
- процессная дыра: без явных двух шагов регенерации `.ipynb` остался бы без
выводов, и тест ноутбука его бы завернул.
**Казус форвардера:** субагент `codex:codex-rescue`, получив постановку
вместо команды, реализовал задачу сам (+1227 строк). Настоящий Codex стартовал
на уже изменённом дереве — столкновения избежали везением (форвардер успел
закончить). Урок в SKILL.md и codex-companion.md.
**Слепое двойное ревью — родословные поймали разное:**
- Клод (Опус): APPROVE; подтвердил математику поворота/коридора
(алгебраическое тождество), краевые случаи (ряд через ноль, нули),
неизменность метрик и таблиц; посмотрел картинки из `.ipynb`; один nit.
- Codex (свежий тред): needs-attention; две дыры в тестах — раздел ноутбука
не закреплён в required_snippets, нет регрессионного теста «таблица
отрицательного ряда остаётся со знаком». Оба — про то, что зелёный прогон
не докажет готовность; Клод этих дыр не нашёл.
- Пересечения находок — ноль. Слепота и разность родословных работают.
**Точечная починка:** Codex `--fresh` с промптом «добавь только два теста,
продуктовый код не трогай» — чисто, 148 → 150 passed.
**Цифры для калибровки:** ревью Клода на Фабуле (этап постановки) — ~60k
токенов; конвейер целиком — ~3 часа настенного времени, из них реализация
~20 минут; остальное — ревью и оркестрация. На мелочь такое не разворачивать.
**Смерть ревьюера (тот же день, ревью самого скилла по /claude-team-review):**
Опус-ревьюер дважды ушёл в idle без доставленного отчёта (одно напоминание
по idle-гарду — снова тишина), пользователь подтвердил: субагент исчез из
интерфейса. Спасти отчёт из транскрипта не удалось — jsonl тиммейтов не
нашлись в каталоге проекта. Урок: отчёт фонового ревьюера — скоропортящийся;
если он критичен, проси ревьюера сначала писать результат в файл
(двухканальный протокол раннера из /adversarial-review), а сообщение слать
как указатель. Ревью скилла не состоялось — отложено до боевого прогона.