- Зачем:
- три случая одной формы за месяц: правило стоит на месте, а
рассуждение берёт себе исключение — отказ стоит описать до того, как
он повторится в четвёртый раз.
- Что:
- запись 2026-08-04 в lessons.md: песочница ревьюера и лечение
значением, восстановление скретчпада из транскрипта сессии с ценой
и границами приёма, диагноз владельца про краткость исполнителя.
- третий открытый вопрос handoff'а закрыт решением владельца и заменён
ссылкой на журнал.
- Проверка:
- git log --oneline c18472e.. ; новых строк длиннее 80 символов нет.
- Зачем:
- индексы находок жили в скретчпаде и умирают вместе с сессией; из
прозы handoff'а нельзя было понять, какая находка закрыта, а какая
ещё ждёт решения.
- Что:
- FIT-5 убрана из списка оставленных: закрыта коммитом 10f55f3.
- открытым проставлены номера и довод линии — TECH-3, FIT-4, FIT-11,
FIT-12; вопросы владельцу помечены как FIT-3 и FIT-10.
- счётчик коммитов заменён командой: HEAD с тех пор уехал.
- Проверка:
- git log --oneline c18472e.. ; строк длиннее 80 символов в handoff нет.
- Зачем:
- находка FIT-5 холодного ревью: развилка, сжатая до открытого вопроса,
не даёт принять решение — кода нет в контексте ни у координатора, ни у
владельца, а исполнитель в этот момент единственный держит картину.
- Что:
- NEEDS_DECISION в triage-header.md требует варианты и рекомендацию
исполнителя, а не только формулировку вопроса.
- требование «понятно без чтения кода» адресовано обеим меткам
координатора сразу — вместе с OUT_OF_SCOPE.
- раздел «Пользователь в петле» SKILL.md обязывает координатора нести
решение владельцу тем же составом.
- Проверка:
- первым боевым прогоном конвейера: у NEEDS_DECISION в отчёте
исполнителя есть варианты, их цена и рекомендация.
- Зачем:
- индексы находок и промпты обеих слепых линий жили в скретчпаде
сессии и её не переживут; открытые вопросы и неотработанные боем
механики надо было вынести в долговечное место рядом с прежними
handoff'ами скилла.
- Что:
- добавлен handoffs/20260803-kholodnoe-revyu-skilla-i-pravki.md:
устройство холодного ревью, три вопроса к владельцу, находки
оставленные сознательно (с доводами), пять пунктов «не обкатано
боем» и список подсказанных скиллов.
- содержимое коммитов не дублируется — диапазон назван ссылкой
c18472e..HEAD.
- Проверка:
- строки ≤80 символов, объём сопоставим с соседними handoff'ами.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
- Зачем:
- в буллете про эффорт одна и та же ситуация предписывалась дважды:
`high` за нетривиальную реализацию и тут же `medium` за неё же по
отревьюированному тикету. При вчерашнем сжатии разрешение 07-21
превратилось в правило равного ранга.
- архив уроков оставался связан ссылкой прямо из живого этапа 3, хотя
его шапка объявляет файл вне пути прогона: 549 строк устаревших
правил в одном клике от исполняющего агента.
- после разреза уроков в записи 07-31 осталось «запись выше» про
вкусовую линзу — сама запись уехала в архив.
- Что:
- разрешение 07-21 помечено исключением и вернуло слово «допустима».
- ссылка на архив в SKILL.md заменена ссылкой-цитатой (запись
2026-07-06); живых markdown-ссылок на архив вне уроков не осталось.
- висячий указатель в lessons.md получил адрес: запись 2026-07-31 в
архиве.
- Проверка:
- grep по markdown-ссылкам архива: остались только шапка lessons.md и
библиография codex-sandbox-apparmor.md; все ссылки скилла резолвятся.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
- Зачем:
- запрет «read-only ревьюеру не режь» стоял в двух местах и всё равно
был нарушен при сборке команды для холодного ревью этой же сессии:
отступление обосновали тем, что у ревью документа руки не нужны.
Третья копия запрета делу не помогла бы — нужен не запрет, а
отсутствие выбора.
- Что:
- правило переписано значением: песочница ревьюера — workspace-write,
как у исполнителя; линии различает свежесть треда и мандат, а не
привилегия. Оговорка про руки ушла внутрь обоснования, и там же
сказано, что ревью документа не исключение.
- добавлена строка, что ветка та же для любого слепого ревью — кода,
постановки, документа, самого скилла: рецепт копируют целиком, линзу
задают файлом линии. Повод собирать команду руками снят.
- Проверка:
- рецепт ветки ревьюера содержит -s workspace-write и штатную связку
approval_policy/approvals_reviewer; прочитан целиком после правки.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
- Зачем:
- сторож был зашит на task-result.md и task-stdout.jsonl, то есть на
артефакты этапа 3. На ревью и на починке отчёт исполнителя уже лежит
рядом, цикл не делал ни одного тика и выходил молча — страховка
отсутствовала ровно там, где прогон длиннее всего.
- отсутствующий лог был неотличим от неростущего: `|| echo 0` выдавал
ноль два тика подряд, и неверный путь читался как застой.
- Что:
- пара файлов вынесена в переменные REPORT и LOG первой строкой, с
указанием подставлять их от страхуемой ветки.
- отсутствие лога стало отдельным сигналом NOLOG (редирект создаёт лог
сразу, так что через тик его не быть не может).
- дописано, что выход из цикла снимает страховку: после STALLED сторож
перезапускают руками.
- поправлено описание ловушки bfs: он ругается в stderr, а пустым
отдаёт только stdout — «молча» было неверно.
- Проверка:
- симуляция четырёх исходов: штатное завершение, зависание, неверный
путь к логу (NOLOG) и ветка ревью при лежащем рядом отчёте этапа 3 —
последняя как раз и не работала до правки.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
- Зачем:
- вчера в шапку перепроверки дописано требование судить лечение, а
места под ответ в формате строки нет: перетянувшая правка, которая
находку закрывает, не ложится ни в CLOSED, ни в NOT_CLOSED, ни в
статусы отклонения. Обе линии холодного ревью нашли это независимо,
и тот же долг записан в lessons.md:99-102 («статус вешается на
находку, не на лечение; механизма по-прежнему нет»).
- оговорка про «размен свойства на защиту от умысла» обобщила один
случай на весь класс безопасности — защита от умысла и есть этот
класс.
- Что:
- в спецификацию строки добавлен второй вердикт для ID со статусом
FIXED: PROPORTIONATE или OVERREACH с указанием, что вышло за
находку; OVERREACH не переводит прогон в ISSUES_REMAIN.
- оговорка про NOT_CLOSED вернулась к взвешиванию цены и получила
границу: так закрываются инварианты своего кода, но не находки про
доступ, данные и деньги.
- OVERREACH выносится в финальную строку, а prompt-templates.md
разрешает читать файл перепроверки и по нему — иначе сообщение
наверх не дошло бы: файл читается только при ISSUES_REMAIN.
- Проверка:
- FIXED сверен с вокабуляром triage-header.md; статусы перепроверки
и условие чтения файла согласованы между тремя файлами.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
- Зачем:
- вчерашнее переименование `review-<task|code>-*` встало на неверную
ось: `task` и `code` — это две линии этапа 4 (уместность и дефекты),
а не этапы. Межэтапная коллизия, ради которой всё делалось, осталась
открытой: у ревью постановки имени вердикта не было вовсе.
- сборка триажа при этом называла оба вердикта «линия code», хотя один
из них — вердикт линии уместности.
- Что:
- вердикты и параметрический блок этапа 4 — `review-impl-*`, этапа 2 —
`review-spec-*`; общий блок снова один на обе линии этапа.
- логи ревьюера тоже несут этап (`review-impl-stdout.jsonl`) — раньше
этап 4 молча затирал лог этапа 2, единственное доказательство для
проверки «вердикт без находок: работа или отписка».
- в prompt-templates.md названы имена файлов этапа 2 и добавлено
предупреждение, что `task` — линия уместности, а не постановка.
- SKILL.md этапа 5 показывал `вердикт-A.md вердикт-B.md`; заменено на
реальные имена, комментарий в рецепте ревьюера исправлен.
- Проверка:
- grep по обменным именам: старых не осталось вне уроков, новые
согласованы между SKILL.md, prompt-templates.md и codex-exec.md.
- все markdown-ссылки скилла резолвятся.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
- Зачем:
- рецепт Кодекса читают в момент сборки команды; пересказы, хеджи и
копии уроков внутри него дают место для импровизации — прогон
2026-07-30 взял `danger-full-access` «на всякий случай» при верном
рецепте.
- вердикты звались по семейству (`review-codex.md`), а Codex ревьюирует
и постановку, и код в одном `$D` — упавший этап 4 оставлял файл этапа
2, и триаж молча чинил по чужому вердикту.
- Что:
- codex-exec.md: удалены копия урока про эффорт (экономика xray, казус
`.dgst`), причинная механика bwrap, повтор про companion и битая
ссылка «в уроках ниже»; три пересказа эскалации сведены в один;
ветка ревьюера стала полноценным рецептом; правила одной ветки
переехали в свои ветки.
- codex-exec.md: сторож зависшего треда — признак жизни это рост
stdout.jsonl, а не статус (урок 2026-07-07 в рецепт не доезжал).
- prompt-templates.md: имена вердиктов и параметров несут этап —
`review-<task|code>-<codex|claude>.md`, `review-<этап>-params.md`.
- model-matrix.md: критерий «цена тихой ошибки этапа» стал единым
источником, claude-agents.md и codex-exec.md на него ссылаются.
- lessons-archive.md: датированное уточнение — ключи `resume` сверены
на 0.145.0, `-m`/`-o`/`--json` доступны вопреки записи 2026-07-21.
- Проверка:
- сверка 51 клаузы по инвентарю (scratchpad), 24 ключевые — grep'ом;
все markdown-ссылки скилла резолвятся.
- сторож прогнан на симуляции трёх исходов: штатное завершение,
зависание на середине, смерть без отчёта.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
- Зачем:
- lessons.md вырос до 830 строк, и записи до рефакторинга 31 июля
описывают другую редакцию скилла — прежнюю эффорт-карту, другой
состав ролей, заготовку adversarial-reviewer, которой больше нет.
- Что:
- записи с 2026-07-06 по «казусы координации» 2026-07-31 перенесены в
references/lessons-archive.md без изменений; живой файл сократился с
830 до 300 строк.
- шапка lessons.md объясняет разрез и как двигать границу дальше;
архив вне пути чтения прогона, ссылка на него только из lessons.md.
- три указателя на переехавшие записи переведены на архив: казус
форвардера в SKILL.md и codex-exec.md, sandbox-инцидент в
codex-sandbox-apparmor.md.
- Проверка:
- все markdown-ссылки скилла разрешаются в существующие файлы.
- Зачем:
- два отказа вызова из прогона #39 повторялись оттого, что правило
лежало не там, где собирают команду: -s дописывали в resume по
образцу exec, а < /dev/null закрывал вход у вызова, который сам
получает промпт через stdin.
- Что:
- в codex-exec рецепт resume снабжён строкой о том, что среда треда
задана при создании, а перечень ручек хода уточнён по проверке на
codex-cli 0.145.0.
- к правилу «промпт через stdin» добавлено, что вход этого вызова
должен оставаться открытым.
- в SKILL.md этап 6 правило < /dev/null сужено условием «фоновой
команде, которой нечего читать со входа».
- в lessons исправлен неверный хвост записи #39 про смену песочницы
ключом -c sandbox_mode.
- Проверка:
- codex exec resume <любой-id> -s workspace-write → exit 2.
- echo "say hi" | codex exec - < /dev/null → No prompt provided via stdin.
- Зачем:
- после разворота ролей (реализация Опусом, ревью Кодексом) ревьюер
продавливает исполнителя формальными решениями: за прогоны #39, #40 и
#50 около 28 находок и ноль отклонений.
- Что:
- в triage-header добавлен блок «ревью — свидетельство, а не приказ»:
отклонение равноправно починке, маршрут ревьюера — предложение.
- определение NEEDS_DECISION расширено случаем, когда выбор делает сама
починка, независимо от объёма правки.
- в recheck-header добавлен суд над лечением: перебор — тоже дефект, а
NOT_CLOSED требует существующего закрывающего состояния и цены
альтернативы.
- в lessons закрыт долг четырёх прогонов и сведена очередь на механизм.
- Проверка:
- следующий полный прогон плейбука: в триаже должны появиться
отклонения или закрытия своим маршрутом с доводом.
- Зачем:
- две записи прогонов остались незакоммиченными; без них теряется фактура,
ради которой журнал и ведётся, — и повторяющийся долг скилла нечем
подтвердить.
- Что:
- запись по #40: шапки соразмерности лечения сработали в третий раз;
пересечение слепых линий — одно явление, описанное двумя способами.
- запись по #50: сломанный прибор доезжает до коммита — ошибка измерения
всплыла трижды на трёх уровнях, и ни разу её не поймал тот, кто мерил.
- там же уточнение наблюдения владельца про дрейф Кодекса к букве и
кандидат в механизм; долг с шапками отмечен четвёртым прогоном подряд.
- Проверка:
- git show --stat; записи читаются как фактура для доработки скилла.
Зачем: два прошлых прогона оставили долг — статус вешался на находку, а
лечение проезжало без суда. В прогоне #39 долг закрыт шапками триажа и
перепроверки, и это стоит помнить вместе с ценой: ручку пришлось собирать
руками в каталоге прогона.
Что: секция от 2026-08-02 про тикет #39 — как сработала ручка соразмерности
(трижды за прогон), почему «10 FIXED, 0 REJECTED» не доказательство, зачем
проверять единственный MAJOR своим зондом при тонком логе перепроверки, и два
отказа вызова Кодекса: закрытый stdin убивает промпт, а `codex exec resume`
не принимает `-s`.
Проверка: чтением; правка только в lessons.md, поведение скилла не менялось.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- Зачем:
- прогон тикета #38 повторил конфигурацию 08-01 (оркестратор он же
исполнитель, Кодекс третьей линией) и показал у той же дыры вторую
сторону, а заодно класс сбоя, которого в файле не было.
- Что:
- перепроверка тем же ревьюером не судит соразмерность лечения ни в
одну сторону: после ALL_CLOSED на своё предписание — NOT_CLOSED с
требованием недостижимого; приём — проверять существование
закрывающего состояния и мерить цену альтернативы.
- долг 08-01 назван неисправленным: статус вешается на находку, не на
лечение; здесь лечение судилось только по требованию владельца.
- новый класс: сломан не код, а измерительный прибор — устаревший .pyc
в цикле мутаций; линии ревью такого не ловят.
- Проверка:
- запись прочитана целиком, повторов предыдущих записей нет.
Прогон 2026-08-01 (clickstream v2, тикет #36) дал редкую конфигурацию:
оркестратор и есть исполнитель, плейбук позвали третьей линией поверх
готовой работы. Отсюда три факта для будущих доработок: триаж судит
находку, но не лечение; NEEDS_DECISION не сработал, потому что дешевизна
починки замаскировала, что это решение чужого слоя; перепроверка тем же
ревьюером перебор в лечении не ловит структурно. Записано фактами, правки
самого скилла не делались.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Скиллом пользуются не только на машинах с глобальным словарём — он должен
быть самодостаточным. Шаг 7 называет перечитывание hot review с глоссой
оси (полный контекст автора: дёшево, но слепота общая), stop_condition
предлагает cold review свежей сессией как следующий шаг при высоких
ставках. Тёплое ревью не внесено: скилл им не пользуется.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Текстовые огрехи горячее ревью правит молча по месту; находку уровня
решений (противоречие, дыра в охвате) предъявляет владельцу, не исправляя
и не замалчивая. Довод владельца: текстовые находки видны и неопасны, а
противоречия при перечитывании не раз оказывались важными — плоский запрет
переоткрывать решения заставлял бы молчать или чинить мимо владельца.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Самопроверка уехала до записи и работает по плану артефакта (уровень
решений; может вернуть в интервью, пока файла нет) — сверено с апстримом
Мэтта: валидация до записи, запись линейна. После записи — дешёвое
перечитывание готового файла глазами читателя, правки по месту, решения
не переоткрываются. Критерий конца интервью оставлен мягким (решение
владельца, в Rejected), версионный хвост в шаблоне context.md вычищен.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
README перестал объявлять скилл ручным: model-invocation — намеренное
текущее состояние (триггер — форма задачи, не область). Жёсткий гейт
получил исключение для глоссария (спорил с шагом 4) и стал единственным
владельцем запрета на реализацию; дубли правил схлопнуты к владельцам.
Отложенные находки (шов self_review, критерий конца интервью, версионные
пометки в шаблонах) — в Pending decisions ROADMAP.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Приземлён блок дивергенции из ROADMAP по итогам второго живого теста
(wayfinder-карта #26 стенда): шаг 5 разделён на веер и конвергенцию,
ширина веера — по весу решения, развилки решаются по месту в интервью.
Триггер «развилка» в description; описание и правила подрезаны по ревью
writing-great-skills. Свидетельства и доводы — в ROADMAP.md.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Зачем.
Фидбек пользователя после дня работы старой редакции с Opus 5-координатором —
готовый список для следующего структурного захода, чтобы не потерялся.
Что.
Запись 2026-07-31 с четырьмя наблюдениями: повторное ревью отревьюенной
постановки и переоценка сложности (правила есть — не держат; кандидат:
перевернуть дефолт на opt-in), код Кодекса не для учеников (боевое
подтверждение оси вкуса), вызов скилла ради механики субагентов вне
конвейера (кандидат: отдельная лёгкая точка входа). Помечено открытым
вопросом следующего захода.
Проверка.
Правка журнала, прогонять нечего.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Зачем.
Отдельный осознанный заход, закрывающий открытые вопросы 2026-07-26 и
2026-07-31: две ручки выбора (модель, эффорт) были про силу, вкус ими не
выражался; константы линий дрейфовали через перепечатку; правила
координации прогона #18 жили только в журнале; у Agent-тула нет ручки
effort — карта была нереализуема разовым вызовом.
Что.
- Третья ось выбора — вкус: references/model-matrix.md (матрица Тео с
поправкой пользователя под gpt-5.6-sol/Opus 5); разрез по подзадачам
на этапе 1, сначала вкусовая часть.
- «Родословная» разведена на семейство (классы находок) и свежесть
(независимость); линия дефектов — по различию, уместности — по умению.
- Ступень эффорта выбирается выбором агента: определений столько,
сколько пар (модель, ступень) — deep-reasoner (high), craftsman
(medium, исполнение брифов: реализация/ревью/перепроверки; поглотил
adversarial-reviewer), fast-worker; карта с обоснованиями — SSOT в
claude-agents.md.
- Константы — файлами в prompts/: line-task/code/rev, self-review;
line-taste — вкусовая линза с 12 запахами Фаулера из /code-review.
- Правила #18 — в механизм: инкрементальная запись индекса, глубина
один и проверка среды в мандате, признак жизни / другой путь вердикта
замене / среда своими глазами в «Сбоях», стенд одной линии, stdin фона.
- lessons дистиллирован (586→533), handoff захода — в handoffs/.
Проверка.
Слепое ревью Опусом по writing-great-skills: CHANGES_REQUIRED
(7 MAJOR, 17 MINOR, 3 NIT) — все закрыты или отклонены с доводом в
lessons; ссылки пакета проверены скриптом, битых нет. Боевой прогон
новой структуры — следующим заходом (чек-лист в handoff).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Зачем.
Разговор о том, кому отдавать вкусовую линию ревью, упирался в ложный
выбор между независимостью и компетентностью. Причина — склейка: различие
семейств нужно для покрытия классов ошибок, свежая сессия для
независимости от рассуждений автора, а называлось это одним словом.
Что.
Заметка в открытый вопрос о рефакторинге: два основания назначения линий,
названная плата и указание решить при рефакторинге, переносить ли это в
этап 4 и эффорт-карту. В репозитории стенда решение уже принято.
Проверка.
Правка документации, прогонять нечего.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Зачем.
Прогон #18 показал, чего не хватает: обе наши ручки выбора (эффорт,
модель) про силу, вкус ими не выражается. Решения приняты, но структурные
правки скилла отложены — чтобы не потерялись, они записаны в открытый
вопрос, который читается при следующем заходе.
Что.
- Третья ось выбора: разрез по подзадачам на этапе планирования, вкусовое
Опусу, руки Кодексу, ось ревью переворачивается. С требованием спросить
у пользователя матрицу и примеры.
- Набор запахов Фаулера из /code-review Мэтта Покока — сильнее самодельных
примеров в блоке Taste; оттуда же правило не сливать находки двух осей.
- Разбор журнала Codex-ревьюера: восстановление стенда ловушкой без
проверки, самовольные subagent-ы вопреки правилу «глубина один».
Проверка.
Правка документации, прогонять нечего.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Зачем.
Запись о прогоне была без раздела «Цифры», которого требует конвенция
файла, и без урока, ради которого прогон и запомнился.
Что.
- Цифры прогона #18: находки по линиям, приёмка на чистых томах.
- Урок: проверка, зелёная из терминала, может виснуть навсегда под
фоновым запуском — приёмка оркестратора нашла то, чего не нашли обе
линии ревью.
Проверка.
Правка документации, прогонять нечего.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- Зачем:
- решение 2026-07-23 «в линзу Клод-ревьюера — осмысленность кода» жило только в уроках и в памяти другого проекта, в заготовки промптов не попало: прогон #18 собрал старую линзу, и ревьюер не был обязан спрашивать, не дичь ли решение.
- общий вывод прогона: решение, записанное только в уроки, следующим прогоном не исполняется — ехать может лишь механизм, который подшивается в промпт.
- Что:
- prompt-templates.md: в заготовку line-task.md добавлен блок Taste — формально верное, но по сути неправильное считается находкой, три примера и правило оценки серьёзности по цене жизни с кодом; разрез по родословной переведён с цитаты фразы на именованный блок.
- SKILL.md: описание линии «по задаче» больше не расходится с заготовкой — названа уместность решения и дана отсылка за точными словами.
- lessons.md: две датированные записи (вкусовая линза; казусы координации прогона #18) и открытый вопрос о рефакторинге заготовок линий.
- Проверка:
- слепое ревью правок Опусом по критериям /writing-great-skills: CHANGES_REQUIRED, 5 MAJOR — сокращение списка примеров, ведущее слово, разрез блоком, устаревшая копия в SKILL.md; все замечания по своим правкам закрыты, структурные вынесены в открытый вопрос по решению пользователя.
- подтверждено ревью: расширение линзы не пустышка — прежний текст был целиком про соответствие постановке.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- Зачем:
- боевой прогон 2026-07-30 (тикет #12 v2) закрыл открытый вопрос: расширенный доступ Codex не нужен, штатной связки достаточно.
- Что:
- codex-exec.md: пункт про блок классификатора начинается с проверки песочницы; в рецепт исполнителя добавлено «шире не бери»; снят кавеат «боем не обкатано» — сеть и docker-сокет работают при штатной связке on-request + auto_review.
- lessons.md: датированный урок 2026-07-30 с дополнением по итогам прогона.
- Проверка:
- чтение обновлённых разделов; факты — из JSONL-логов прогона тикета #12 (docker manifest inspect и make up завершились completed под workspace-write).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- Зачем:
- скилл писался под Opus 4.8; у Opus 5 усилия распределены иначе, high —
верхняя рабочая ступень, xhigh дефолтить смысла нет.
- Что:
- карта в SKILL.md сдвинута на ступень вниз (high — ревью постановок,
medium — слепое ревью и узкие перепроверки, default — механика),
нижняя граница ревью опущена с high до medium.
- добавлены оговорки: неравномерность сдвига, deep-reasoner остаётся на
high, механика едет на Sonnet и эффорт там не крутится.
- в lessons.md записано решение 2026-07-26, помечена как пересмотренная
запись 2026-07-21 и заведён открытый вопрос: чем координатор вообще
выставляет effort (у Agent-тула такого параметра нет).
- пункт про вспомогательных субагентов переписан активно: нет в репо —
предложить создать по заготовке и работать ими.
- Проверка:
- git diff HEAD~1 -- agents/.agents/skills/claude-subagent-playbook/;
сверить, что xhigh в SKILL.md больше не упоминается.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
- Зачем:
- навык должен автоматически вызываться по описанию, а не только вручную.
- Что:
- удалена опция disable-model-invocation: true из frontmatter.
- Проверка:
- git diff — изменения только в SKILL.md.
- Зачем:
- привести игнор-список в соответствие с текущим набором навыков.
- Что:
- добавлен игнор для find-skills/.
- исправлены записи claude-team-review и adversarial-review (убраны лишние слеши).
- Проверка:
- git status — изменён только .gitignore.
- Зачем:
- раздел «Возможности хоста» обещает reasoning_effort в схеме
spawn_agent, а кавеат о его неприменении жил двумя разделами ниже —
координатор поверил бы в ручку, которой сейчас нет.
- Что:
- в пункт «Управляемая стоимость» добавлена ссылка на кавеат в
«Выборе уровня».
- Проверка:
- перечитка roles.md свежим взглядом после сверки близнецов.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- Зачем:
- близнецы развивались порознь и разошлись: проверенные боем правила
клодовского плейбука отсутствовали в кодексовом, и наоборот; промах
скиллом 2026-07-22 показал цену дрейфа.
- Что:
- в кодексовый: одно ревью на версию артефакта, саморевью исполнителя и
сквозная проверка до внешних линий, «Партнёр в петле», цена тихой
ошибки как критерий уровня (заменой, класс задачи — иллюстрация),
проверка внешних фактов первоисточником, кавеат про неработающий
reasoning_effort субагентов;
- в клодовский: «Пределы параллельности» (обратная пара), карта
прогресса поглощена в «Пользователь в петле», автовызов моделью
(описание с триггерами вместо disable-model-invocation);
- lessons обоих: датированные записи сверки, урок 07-13 сжат до
указателя.
- Проверка:
- перечитка диффа свежим взглядом; следующий прогон конвейера — по
автовызванному claude-subagent-playbook.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- Зачем:
- вчерашний патч 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>
- Зачем:
- боевой прогон 2026-07-22 (конвейер issue #5 в демо-стенде) прошёл
через плагин-обёртку Codex и воспроизвёл её известные баги; ресёрч
2026-07-07 давно рекомендовал прямой CLI, но в скилл не был поглощён.
- Что:
- roles.md: третий режим «Канал командной строки» — codex exec фоном
у координатора, resume треда, плагин только для интерактива;
- SKILL.md: передача владения только после остановки прежнего
владельца; проверка команд сценария на живом объекте до прогона;
- lessons.md: два датированных наблюдения 2026-07-22, вопрос №9
переориентирован на проверку CLI-канала боем.
- Проверка:
- перечитка трёх файлов на связность и отсутствие дублей;
следующий прогон конвейера — по CLI-каналу.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- Зачем:
- правила для внешних плагинов теперь хранятся локально, в самой директории skills.
- Что:
- в корневом .gitignore правила claude-team-review/adversarial-review заменены на .skill-lock.json.
- в agents/.agents/skills/.gitignore добавлены claude-team-review/ и adversarial-review/.
- Проверка:
- git status не показывает untracked файлы skills-плагинов.
- Зачем:
- в origin/master опубликованы правила разбиения задач и ревью постановки.
- Что:
- объединены правила /to-tickets и шкала ревью с локальной картой effort.
- сохранены уроки headless-xray-proxy и yantar-dags.
- Проверка:
- выполнены трёхсторонняя сверка SKILL.md и git diff --cached --check.
- Зачем:
- прогон предразметки показал два сбоя: тикеты созданы мимо критериев /to-tickets, а текст тикета трижды проходил через контекст оркестратора.
- Что:
- этап 1: разбиение по критериям /to-tickets, мерка «тикет берётся в отдельной сессии без общего контекста».
- этап 2: правило «одно ревью на версию артефакта» и шкала риска вместо безусловного ревью постановки.
- согласованы шапка скилла, роли, критерии закрытия этапов и список соседних скиллов; урок записан в references/lessons.md.
- Проверка:
- вычитка SKILL.md: новые правила не противоречат этапам 3-6.
- Зачем:
- зафиксировать решения пользователя 2026-07-21 и эмпирику effort/кэша после двух боевых прогонов.
- Что:
- явная карта effort для Claude-субагентов: xhigh — постановки/планы, high — слепое ревью, medium — перепроверки (SKILL.md);
- уточнение критерия выбора effort по цене тихой ошибки этапа и эмпирика смены effort при resume (codex-exec.md);
- сводка прогонов 03–04 с казусами: гонки конкурентности, выдумка формата .dgst, экономика конвейера (lessons.md).
- Проверка:
- git diff HEAD~1 --stat.
- Зачем:
- зеркальный codex-subagent-playbook ушёл вперёд по договорам ревью и
экономии контекста координатора; согласованный с пользователем список
находок перенесён в этот скилл.
- Что:
- SKILL.md: установка «оптика, не конвейер», гейт и ручки эскалации для
субагентов, саморевью исполнителя, шкала риска ревью с линзами
TASK/CODE, статусы триажа с предохранителем кругов, постепенная
приёмка с саморефлексией, раздел «Сбои координации».
- prompts/: устойчивые ID находок, четыре статуса триажа, резолюции — в
файл отчёта вместо тикета (лечит эхо файла задачи); новые
result-contract.md и runtime-language.md.
- prompt-templates.md: файлы линий ревью, сборка промптов с хвостом
языка, вердикт перепроверки из task-notification; lessons.md — гейт
на дистилляцию и датированная отмена урока про доводы в файле задачи.
- Проверка:
- проверка относительных ссылок и git diff --check — чисто.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- Зачем:
- решение пользователя 2026-07-19: sol на medium закрывает обычные
задачи, прежнее правило дефолтило high почти всюду.
- Что:
- в codex-exec.md переписано сквозное правило эффорта: medium — обычные
задачи, high — нетривиальная реализация, ревью кода, диагноз.
- к примеру запуска исполнителя добавлена пометка о выборе эффорта.
- Проверка:
- вычитка references/codex-exec.md.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- Зачем:
- origin/master обновился во время отправки локальных коммитов.
- Что:
- добавлена удалённая эмпирика Claude-плейбука.
- сохранены локальные изменения Codex-плейбука и handoff.
- Проверка:
- отсутствие конфликтов и последующая проверка состояния ветки.
- Зачем:
- ревью высокоуровневых документов могло требовать преждевременных деталей и постоянно блокировать одобрение.
- Что:
- находки ограничены дефектами на уровне самого документа.
- существенные отложенные риски отделены от блокирующих замечаний.
- уточнено, что APPROVED допускает открытые вопросы будущей реализации.
- Проверка:
- quick_validate.py, git diff --check и проверка локальных Markdown-путей.
- Зачем:
- нужно сохранить контекст координатора и устранить расхождения с зеркальным playbook.
- Что:
- закреплены делегирование, маршрутизация моделей и ограничение кругов ревью.
- добавлены файловый договор ревью и согласованная эмпирика прогонов.
- исправлены сборка слепых линий и компактные статусы находок.
- Проверка:
- quick_validate.py, git diff --check и проверка локальных Markdown-ссылок.
- Зачем:
- зафиксировать уроки прогона тикета 06 (t2-presale) до их поглощения
в SKILL.md.
- Что:
- главный урок: карта прогресса для пользователя на границах этапов.
- блок «Модели»: переоценка Sol, боевое подтверждение medium,
роли Опус/Codex, наводка gpt-5.6-terra с пометкой «не обкатано».
- Проверка:
- чтение references/lessons.md, запись «Прогон 2026-07-13».
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>