From ba587293c9c87d8daba96b5e27214ce243699ec1 Mon Sep 17 00:00:00 2001 From: Dmitry Dementiev Date: Tue, 7 Jul 2026 19:03:41 +0300 Subject: [PATCH] =?UTF-8?q?docs(skill):=20claude-subagent-playbook=20?= =?UTF-8?q?=E2=80=94=20=D1=83=D1=80=D0=BE=D0=BA=D0=B8=20=D0=B1=D0=BE=D0=B5?= =?UTF-8?q?=D0=B2=D0=BE=D0=B3=D0=BE=20=D0=BF=D1=80=D0=BE=D0=B3=D0=BE=D0=BD?= =?UTF-8?q?=D0=B0=202026-07-07?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Зачем: - первый полный боевой прогон конвейера (наглядность витрины t2-ml-forecast) дал систематические уроки по ожиданию фоновых job и resume Codex-тредов. - Что: - в references/lessons.md добавлен разбор прогона: idle-уведомление ≠ отчёт, bash-поллер умирает на смене хода (нужен persistent Monitor), зомби-job со статусом «running» у мёртвого воркера и его диагностика. - урок про resume уточнён по опыту пользователя из /adversarial-review: resume — только по явному id треда; безадресный resumeLast подхватывает чужой тред; запасной путь — свежий write-тред с контекстом из файла задачи. - зафиксировано: ранжировать правила постановки (что главнее) и требовать вписывать доводы отклонений в файл задачи; цифры прогона (18 мин реализация, тесты 147 → 154, ноль пересечений находок двух ревью). - Проверка: - вычитка references/lessons.md. Co-Authored-By: Claude Fable 5 --- .../references/lessons.md | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/agents/.agents/skills/claude-subagent-playbook/references/lessons.md b/agents/.agents/skills/claude-subagent-playbook/references/lessons.md index 516683c..b70938d 100644 --- a/agents/.agents/skills/claude-subagent-playbook/references/lessons.md +++ b/agents/.agents/skills/claude-subagent-playbook/references/lessons.md @@ -49,3 +49,42 @@ если он критичен, проси ревьюера сначала писать результат в файл (двухканальный протокол раннера из /adversarial-review), а сообщение слать как указатель. Ревью скилла не состоялось — отложено до боевого прогона. + +## Прогон 2026-07-07: наглядность витрины (боевой, полный конвейер) + +Задача: витрина понятна финансисту без голоса (5 блоков, 5 файлов). Конвейер +отработал целиком: исследование двумя головами → постановка → свежий взгляд +(1 блокер + 9 находок, в т.ч. повторно поймана ловушка name_ru) → Codex 18 мин +→ два слепых ревью → триаж у исполнителя → две точечные правки → приёмка. +Пересечение находок ревьюеров — снова ~ноль (Клод смотрел артефакты глазами и +принял; Codex дал 4 «поправить» по букве задачи). Их прямое противоречие +(ослаблен ли тест) рассудил исполнитель по контракту — механизм работает. + +**Ожидание фоновых job:** +- Idle-уведомление субагента ≠ отчёт: почти каждый субагент уходил в idle ДО + доставки отчёта. Лечится немедленным явным «пришли отчёт на main». +- Фоновый bash-поллер (`until…sleep`) у раннера умирает при смене хода. + Надёжно: persistent Monitor без таймаута. +- Статус job — не истина: воркер финальной правки умер после успешных проверок, + статус завис «running» навсегда (зомби). Диагностика оркестратором: mtime + артефакта (showcase-check.ipynb дописан) + лог job (все проверки зелёные) + + pgrep (воркера нет) → забрать финал себе, раннера распустить. + +**Codex companion:** +- Безадресный `--resume`/resumeLast резолвится в «последний тред сессии» — при + параллельных тредах подхватывает чужой read-only ревью-тред. С ЯВНЫМ id тред + подхватывается свой (сэндбокс привязан к треду: у write-треда останется write) — + это же проходили в /adversarial-review. Правило: resume — только по id; если id + не сохранился, свежий write-тред дочитает контекст из файла задачи (решения + вписаны туда). + +**Постановка:** +- Правила задачи стоит ранжировать явно («правило A главнее буквы E»): + внутреннее противоречие (де-жаргон vs «заголовки не трогать») всплыло только + после починки по ревью и потребовало отдельной правки решением оркестратора. +- Требовать от исполнителя вписывать доводы отклонений в файл задачи — окупилось: + свежий write-тред продолжил работу без контекста предшественника. + +**Цифры:** реализация 18 мин; триаж-починка ~8 мин; финальная правка ~3 мин +работы + ~20 мин зомби-ожидания. Тесты 147 → 154. Панель конвенций дала демо +аргумент: 10 из 13 против 6 из 13 в зависимости от прочтения порога.