diff --git a/agents/.agents/skills/claude-subagent-playbook/references/lessons.md b/agents/.agents/skills/claude-subagent-playbook/references/lessons.md index ab5011b..33c6371 100644 --- a/agents/.agents/skills/claude-subagent-playbook/references/lessons.md +++ b/agents/.agents/skills/claude-subagent-playbook/references/lessons.md @@ -643,3 +643,38 @@ compose down`); отдельных событий эскалации в `--json` - Цифры: ревью 68 команд, 3 находки (1 MAJOR завышен — сценарий требует сознательно снять флаг у массива, 2 MINOR); перепроверка на medium — 12 команд; батарея 17 мутантов, выживших нет. + +## 2026-08-02: долг «суда над лечением» закрыт шапками (clickstream v2, тикет #39) + +Штатная конфигурация: реализация — Опус-мастеровой, линия кода — Кодекс (high) +свежим тредом, линия задачи и вкуса — свежий Опус. Долг двух прошлых прогонов +закрыт руками: в шапку триажа и в шапку перепроверки дописаны абзацы про +соразмерность лечения (заготовки прогона; кандидат — перенести в +`prompts/triage-header.md` и `prompts/recheck-header.md`). + +- **Ручка сработала трижды за один прогон.** Перепроверка вкусовой линии + сама оценила правку спеки на перебор (вышла за границу промпта — принята + с доводом: четыре фразы без поведения, чинят противоречие, внесённое этим + же изменением), приняла закрытие маршрутом, отличным от подсказанного + («запрет был не той половиной, которую надо чинить»), и обосновала + соразмерность нового модуля. Без ручки всё три проехали бы молча, как в #36. +- **10 FIXED, 0 REJECTED — повод посмотреть на лечения, а не приговор.** + Перебора не нашлось, но узнал я это проверкой, а не по отсутствию отказов. +- **Пересечение линий — ноль из десяти, и каждая принесла свою дыру в + честности тестов.** CODE-1: слепок детерминизма не включал ни порядок + колонок, ни публичные швы для соседнего тикета — перестановка колонок через + вызов проходила все три сторожа. TASK-4: сторож правил нарезки ловил склейку + двух визитов, но не разрез одного. Разные тесты, разные механизмы. +- **Тонкий лог перепроверки — повод проверить MAJOR самому.** 8 команд против + 58 в самом ревью; закрытие единственного MAJOR перепроверил своим зондом + (перестановка колонок, правка каждого шва, стабильность того же дня) — закрыт + честно. Цена приёма — один скрипт оркестратора. +- **Два отказа вызова Кодекса, оба от чтения правил без разбора.** + `< /dev/null` по правилу «фоновому запуску закрывай stdin» убивает промпт, + который сам идёт через stdin (`No prompt provided via stdin`), — правило не + про этот случай. И `codex exec resume` (0.145.0) не принимает `-s`: песочница + только через `-c sandbox_mode="workspace-write"`, остальные ключи (`-m`, `-c`, + `-o`, `--json`) те же, что у `exec`. +- Цифры: два ревью — 58 и 36 команд/инструментов, 10 находок (1 MAJOR, + 8 MINOR, 1 NIT); триаж — 10 FIXED; перепроверки на medium — 8 и 12; тесты + 297 → 353.