fix(skills): уроки прогона 2026-07-22 перенесены в клодовский плейбук
- Зачем:
- вчерашний патч 43a93cd лёг не в тот скилл: уроки клодовского
координатора попали в codex-subagent-playbook — близнец для
координатора на стороне Codex; там «канал codex exec» — бессмыслица,
а правила канала давно живут в claude-subagent-playbook/codex-exec.md.
- Что:
- codex-subagent-playbook: три файла возвращены к состоянию до 43a93cd;
во фронтматтер добавлен disable-model-invocation и адресное описание
против повторного промаха;
- claude-subagent-playbook: запись прогона issue #5 в lessons.md (чужой
скилл, плагин вместо CLI, два писателя, приёмочный сценарий);
в SKILL.md — владение деревом после остановки прежнего владельца и
проверка команд приёмки на живом объекте.
- Проверка:
- git diff 43a93cd^ по трём файлам codex-плейбука — только фронтматтер;
перечитка lessons.md на связность.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
43a93cd3c3
commit
8312ef071e
5 files changed
+48
-34
No files matched your search
@@ -218,7 +218,9 @@ description: >-
|
|||||||
отдай исполнителю или разборщику; проверку, доступную только агенту в
|
отдай исполнителю или разборщику; проверку, доступную только агенту в
|
||||||
спецсреде, называй косвенным свидетельством. Ключевые артефакты проверь
|
спецсреде, называй косвенным свидетельством. Ключевые артефакты проверь
|
||||||
**своими глазами** (счётчик тестов, картинки, прогон CLI) — ревью не
|
**своими глазами** (счётчик тестов, картинки, прогон CLI) — ревью не
|
||||||
заменяет твою приёмку. Чекбоксы, статус и выжимку резолюций в тикет
|
заменяет твою приёмку. Команды нового приёмочного сценария проверь на
|
||||||
|
живом объекте до полного прогона; сложные вставки собирай файлами, не
|
||||||
|
экранированием. Чекбоксы, статус и выжимку резолюций в тикет
|
||||||
переносит fast-worker из файла отчёта исполнителя (не твой Write).
|
переносит fast-worker из файла отчёта исполнителя (не твой Write).
|
||||||
Коммит — по `/conventional-commits`, пользователю — выжимка: вердикты,
|
Коммит — по `/conventional-commits`, пользователю — выжимка: вердикты,
|
||||||
что принято/отклонено, что осталось — плюс короткая саморефлексия: что
|
что принято/отклонено, что осталось — плюс короткая саморефлексия: что
|
||||||
@@ -244,7 +246,8 @@ teammate-субагентов — шум, а не событие: не докл
|
|||||||
## Сбои координации
|
## Сбои координации
|
||||||
|
|
||||||
- Нет ожидаемого файла или отчёта: один запрос короткого итога в тот же
|
- Нет ожидаемого файла или отчёта: один запрос короткого итога в тот же
|
||||||
тред; повторная тишина — свежий агент от сохранённых артефактов.
|
тред; повторная тишина — свежий агент от сохранённых артефактов, владение
|
||||||
|
деревом — только после остановки прежнего владельца.
|
||||||
- Длинный рассказ пришёл сообщением: попроси сводку с путём к файлу,
|
- Длинный рассказ пришёл сообщением: попроси сводку с путём к файлу,
|
||||||
рассказ дальше не переноси.
|
рассказ дальше не переноси.
|
||||||
- Два писателя пересеклись в дереве: стоп обоим, назначь одного владельца,
|
- Два писателя пересеклись в дереве: стоп обоим, назначь одного владельца,
|
||||||
|
|||||||
@@ -276,3 +276,39 @@ git (`git show HEAD:path`) + повторным наложением право
|
|||||||
артефакта» (сверка с пользователем = первая линия); шкала риска этапа 2
|
артефакта» (сверка с пользователем = первая линия); шкала риска этапа 2
|
||||||
(срез по принятой спеке без новых решений — внешнюю линию пропустить с
|
(срез по принятой спеке без новых решений — внешнюю линию пропустить с
|
||||||
одной фразой обоснования).
|
одной фразой обоснования).
|
||||||
|
|
||||||
|
## Прогон 2026-07-22: clickstream-demo, issue #5 — счётчики стартовой истории
|
||||||
|
|
||||||
|
Полный конвейер (исполнитель → два слепых ревью → триаж → узкая
|
||||||
|
перепроверка → стендовая приёмка) дошёл до цели, но шёл под ЧУЖИМ скиллом:
|
||||||
|
вместо этого плейбука вызван codex-subagent-playbook — близнец для
|
||||||
|
координатора на стороне Codex, на тот момент единственный из пары видимый
|
||||||
|
модели для автовызова. Отсюда главный казус: канал запуска Codex
|
||||||
|
«унаследовался» из handoff — конвейер пошёл через плагин-обёртку вопреки
|
||||||
|
codex-exec.md и воспроизвёл её известные баги (ложный «started» с подменой
|
||||||
|
ответа — issue #158, потерянные уведомления, несбрасываемый статус
|
||||||
|
остановленной задачи, read-only песочница ревьюера — вердикт извлекали из
|
||||||
|
лога задачи). Спас файловый контроль: мандаты и отчёты жили в `$SCRATCH`,
|
||||||
|
дерево сверялось тестами. Поглощено 2026-07-23: близнецу поставлен
|
||||||
|
`disable-model-invocation` и адресное описание («со стороны Claude Code —
|
||||||
|
claude-subagent-playbook»); правила канала в codex-exec.md были и остаются
|
||||||
|
действующим договором.
|
||||||
|
|
||||||
|
Казус двух исполнителей: молчащего исполнителя заменили свежим без
|
||||||
|
остановки прежнего — в одном дереве оказались два писателя, дерево
|
||||||
|
пришлось перепроверять тестами. Поглощено: «Сбои координации» (владение —
|
||||||
|
только после остановки прежнего владельца).
|
||||||
|
|
||||||
|
Казус приёмки: сценарий стендовой приёмки трижды падал на непроверенных
|
||||||
|
командах (способ аутентификации Airflow, маскировка кода выхода, имя
|
||||||
|
колонки витрины), а инлайн-python с экранированием в heredoc сломался и
|
||||||
|
после проверки. Поглощено: SKILL.md этап 6 (команды нового сценария — на
|
||||||
|
живом объекте до полного прогона, сложные вставки — файлами). Попутно:
|
||||||
|
`pkill -f` в одной команде с запуском/ожиданием находит шаблон в
|
||||||
|
собственной командной строке и убивает свой же Bash — дисциплина фоновых
|
||||||
|
процессов зафиксирована в памяти проекта.
|
||||||
|
|
||||||
|
**Цифры:** триаж закрыл обе находки ревью (фрагментация наборов ID сняла
|
||||||
|
потолок Kafka: манифест 3 152 байта вместо ~0,81 МБ); приёмка — плоское
|
||||||
|
время next-day 716/718/716 с, мир 3 → 6 дней, 561 942 события; тесты
|
||||||
|
216 + 31 зелёные.
|
||||||
@@ -1,6 +1,7 @@
|
|||||||
---
|
---
|
||||||
name: codex-subagent-playbook
|
name: codex-subagent-playbook
|
||||||
description: "Оптика тонкого мастера для одной нетривиальной задачи: как выбирать делегирование, независимую проверку и файловый обмен, сохраняя контекст координатора для решений."
|
disable-model-invocation: true
|
||||||
|
description: "Оптика тонкого мастера для координатора на стороне Codex (spawn_agent, TOML-роли). Со стороны Claude Code используй claude-subagent-playbook."
|
||||||
---
|
---
|
||||||
|
|
||||||
# Тонкий мастер
|
# Тонкий мастер
|
||||||
@@ -101,8 +102,6 @@ description: "Оптика тонкого мастера для одной не
|
|||||||
3. полный diff, только когда его объём ограничен и чтение нужно для решения.
|
3. полный diff, только когда его объём ограничен и чтение нужно для решения.
|
||||||
|
|
||||||
Доступную детерминированную финальную проверку запускай сам с выводом в файл.
|
Доступную детерминированную финальную проверку запускай сам с выводом в файл.
|
||||||
Команды нового сценария проверь на живом объекте до полного прогона; сложные
|
|
||||||
вставки собирай файлами, не экранированием.
|
|
||||||
В контекст возьми точную команду, код возврата, итоговые счётчики, имена
|
В контекст возьми точную команду, код возврата, итоговые счётчики, имена
|
||||||
упавших тестов и путь к журналу. Зелёный журнал не читай. Красный журнал
|
упавших тестов и путь к журналу. Зелёный журнал не читай. Красный журнал
|
||||||
направь исполнителю или отдельному разборщику; сам открывай детали, когда они
|
направь исполнителю или отдельному разборщику; сам открывай детали, когда они
|
||||||
@@ -125,8 +124,7 @@ description: "Оптика тонкого мастера для одной не
|
|||||||
## Сбои координации
|
## Сбои координации
|
||||||
|
|
||||||
- Нет ожидаемого файла: один раз запроси короткий итог в том же треде; после
|
- Нет ожидаемого файла: один раз запроси короткий итог в том же треде; после
|
||||||
повторной тишины продолжи свежим агентом от сохранённых артефактов, передав
|
повторной тишины продолжи свежим агентом от сохранённых артефактов.
|
||||||
владение только после остановки прежнего владельца.
|
|
||||||
- Длинный рассказ пришёл сообщением: попроси повторить ответ сводкой и путём,
|
- Длинный рассказ пришёл сообщением: попроси повторить ответ сводкой и путём,
|
||||||
не переноси рассказ дальше.
|
не переноси рассказ дальше.
|
||||||
- Два исполнителя пересеклись в исходниках: останови их, установи одного
|
- Два исполнителя пересеклись в исходниках: останови их, установи одного
|
||||||
|
|||||||
@@ -24,18 +24,6 @@
|
|||||||
права ревьюера смешались с каналом результата; семь буквальных этапов
|
права ревьюера смешались с каналом результата; семь буквальных этапов
|
||||||
породили лишние проверки. Вывод поглощён в
|
породили лишние проверки. Вывод поглощён в
|
||||||
[основную оптику](../SKILL.md) и [договор ревью](review-and-triage.md).
|
[основную оптику](../SKILL.md) и [договор ревью](review-and-triage.md).
|
||||||
- 2026-07-22 — конвейер пошёл через плагин-обёртку вопреки ресёрчу
|
|
||||||
2026-07-07 и воспроизвёл её известные сбои: ложный старт с пустым
|
|
||||||
запросом, потерянные уведомления, несбрасываемый статус остановленной
|
|
||||||
задачи, read-only песочница ревьюера (вердикт извлекли из лога задачи).
|
|
||||||
Результаты спас файловый контроль координатора: мандаты и отчёты жили в
|
|
||||||
`$SCRATCH`, дерево сверялось тестами. Вывод поглощён в
|
|
||||||
[роли](roles.md): канал командной строки.
|
|
||||||
- 2026-07-22 — приёмочный сценарий трижды падал на непроверенных командах
|
|
||||||
(способ аутентификации, маскировка кода выхода, имя колонки), а
|
|
||||||
инлайн-python с экранированием в heredoc сломался и после проверки.
|
|
||||||
Вывод поглощён в [основную оптику](../SKILL.md): проверка команд на
|
|
||||||
живом объекте, сборка сценария из файлов.
|
|
||||||
|
|
||||||
## Проверить боем
|
## Проверить боем
|
||||||
|
|
||||||
@@ -54,8 +42,6 @@
|
|||||||
7. Доступны ли ревьюеру поиск и документация при текущих сетевых разрешениях.
|
7. Доступны ли ревьюеру поиск и документация при текущих сетевых разрешениях.
|
||||||
8. Достаточно ли файлового канала, чтобы координатор не открывал полный
|
8. Достаточно ли файлового канала, чтобы координатор не открывал полный
|
||||||
отчёт, diff и сырые журналы.
|
отчёт, diff и сырые журналы.
|
||||||
9. Работает ли канал командной строки (`codex exec` фоном у координатора)
|
9. Может ли будущая линия другого семейства читать и писать общий
|
||||||
на полном конвейере: запуск, resume треда ревьюера, чтение и запись
|
`$SCRATCH`. Пока адаптер запуска не проверен, он не является действующим
|
||||||
общего `$SCRATCH`. Прогон 2026-07-22 проверил только плагинный канал —
|
договором.
|
||||||
он забракован; при workspace-write запись в `$SCRATCH` работала,
|
|
||||||
read-only песочница — нет.
|
|
||||||
@@ -18,8 +18,7 @@
|
|||||||
## Возможности хоста
|
## Возможности хоста
|
||||||
|
|
||||||
Сначала установи, позволяет ли текущий хост выбрать пользовательского агента
|
Сначала установи, позволяет ли текущий хост выбрать пользовательского агента
|
||||||
и его конфигурацию, а для линии другого семейства — каким каналом её
|
и его конфигурацию.
|
||||||
запускать.
|
|
||||||
|
|
||||||
- **Управляемая стоимость.** Хост видит агентов из `~/.codex/agents` или
|
- **Управляемая стоимость.** Хост видит агентов из `~/.codex/agents` или
|
||||||
`.codex/agents` и схема `spawn_agent` открывает `agent_type`, `model` и
|
`.codex/agents` и схема `spawn_agent` открывает `agent_type`, `model` и
|
||||||
@@ -33,14 +32,6 @@
|
|||||||
имя треда. Передавай роль мандатом в промпте, но не утверждай, что выбрана
|
имя треда. Передавай роль мандатом в промпте, но не утверждай, что выбрана
|
||||||
дешёвая или сильная модель. `task_name` — идентификатор треда, а не выбор
|
дешёвая или сильная модель. `task_name` — идентификатор треда, а не выбор
|
||||||
конфигурации агента.
|
конфигурации агента.
|
||||||
- **Канал командной строки.** Хост другого семейства запускай напрямую:
|
|
||||||
`codex exec` в собственной фоновой команде координатора — pid, код выхода
|
|
||||||
и лог принадлежат координатору, а не посреднику. Модель и effort задавай
|
|
||||||
явно; тред продолжай через `codex exec resume <session-id>`.
|
|
||||||
Плагин-обёртку с фоновыми задачами для конвейера не используй: известные
|
|
||||||
сбои — ложный «started» с подменой ответа, зависшие фоновые ревью, воркеры
|
|
||||||
без признаков жизни (openai/codex-plugin-cc issues #279, #158, #49, #277);
|
|
||||||
она годится только для интерактива по явному запросу партнёра.
|
|
||||||
|
|
||||||
Если способ выбора роли не виден в доступном инструменте, считай стоимость
|
Если способ выбора роли не виден в доступном инструменте, считай стоимость
|
||||||
неуправляемой, отметь это в итоговом отчёте и не разделяй совместимую работу
|
неуправляемой, отметь это в итоговом отчёте и не разделяй совместимую работу
|
||||||
|
|||||||
Reference in new issue
Block a user