docs(skill): двойное слепое ревью постановки и связка с /to-tickets

- Зачем:
  - прогон 2026-07-10 (mws-data-test-t2-presale) дал новую эмпирику
    этапов 1–2, не отражённую в скилле.
- Что:
  - этап 2: для крупной постановки — второе слепое ревью Кодексом с
    рамкой «постановку, не реализацию»; классы находок родословных;
  - этап 1: постановка через /to-tickets, когда репозиторий настроен
    под скиллы Мэтта Покока;
  - lessons.md: запись прогона с цифрами и ретро-оговоркой про
    companion-канал (issue #158).
- Проверка:
  - вычитка диффа свежим взглядом; ссылки ведут на существующие
    файлы references/.
This commit is contained in:
Dmitry Dementiev committed 2026-07-10 13:07:08 +03:00
1 parent db6271f0f7
commit 6e767d13ff
2 files changed
+42 -3

No files matched your search

@@ -61,8 +61,12 @@ description: >-
контекста; всё нужное — в файле: цель, критерии приёмки чекбоксами,
границы («что трогать нельзя»), «сначала прочитать» (спека, ADR, README с
командами), команды проверки. Формат и место — по конвенции репозитория
(например, `.scratch/<feature>/issues/`). Не хватает фактуры по внешним
библиотекам/API — сначала `/research` и Context7 MCP, выжимку — в
(например, `.scratch/<feature>/issues/`; репозиторий настроен под скиллы
Мэтта Покока — постановка через `/to-tickets` в сконфигурированный трекер:
тикеты-срезы с рёбрами блокировок вместо ad-hoc файла, конвенции — в
`docs/agents/`, настройка — `/setup-matt-pocock-skills`). Не хватает
фактуры по внешним библиотекам/API — сначала `/research` и Context7 MCP,
выжимку — в
«сначала прочитать». Задача просится под test-first — сошлись в ней на
`/tdd` (скиллы у Codex те же — общий каталог), ключевые требования
продублируй текстом. Готово, когда исполнитель может сделать задачу,
@@ -71,7 +75,15 @@ description: >-
твоего контекста проверяет задачу против кода: фактические ошибки, скрытые
решения-«однострочники», недостающие критерии. Окупается: ловит блокеры,
которые исполнитель молча реализовал бы (эмпирика: «русские названия из
`name_ru`» — а в данных `name_ru` английский). Этап закрыт, когда каждая
`name_ru`» — а в данных `name_ru` английский). Постановка крупная или
цена ошибки высока — сделай ревью двойным и слепым, как для кода: вторая
линия — Codex свежим тредом с явной рамкой «ревьюируй постановку, не
реализацию; детали реализации — только если постановка молча предрешает
решение» (без рамки зарывается в детали). Родословные и тут ловят разное:
Codex — уровень требований (недостающие критерии, наблюдаемость,
«формально отчитаться можно»), Клод — механику кода (нереализуемые
формулировки, мёртвые стабы; эмпирика 2026-07-10: пересечение — 2 темы
из ~15). Этап закрыт, когда каждая
находка внесена в задачу **решением** или письменно отклонена — «пусть
решит исполнитель» решением не считается.
3. **Реализация Кодексом.** Промпт: «задача самодостаточна, следуй буквально,
@@ -166,3 +166,30 @@ bwrap+userns, AppArmor Ubuntu 24.04 блокирует его до запуск
отказах Codex первым делом — `codex --version` и дата обновления.
Подробности — references/codex-sandbox-fix-handover-2026-07-10.md
(принесено из ветки `codex-sandbox-fix-20260710`).
## Прогон 2026-07-10: mws-data-test-t2-presale, постановка FTP/CSV DQ (этапы 1–2 без реализации)
Постановка велась не файлом-задачей, а `/to-tickets` (репозиторий настроен
`/setup-matt-pocock-skills`): 5 тикетов-срезов с рёбрами блокировок; связка
с конвейером легла без трения — тикет и есть файл-задача этапа 1. Урок
поглощён SKILL.md (этап 1).
**Двойное слепое ревью постановки — впервые, окупилось:** Клод (Опус,
9 находок) поймал механику кода — нереализуемый контракт «таблица под именем
из `table`» (поле недоступно коннектору в момент создания соединения),
мёртвый стаб-ловушку `dataframe`, `load_config` = API-эндпоинт, а не CLI.
Codex (8 находок) поймал уровень требований: параметр из спеки, пропавший в
тикетах; критерий, который можно закрыть формально; поведение при
неподдерживаемом FTP `SIZE`; ненаблюдаемость «понятных ошибок» за общим
`SourceQueryException`. Пересечение — 2 темы из ~15 (Django-противоречие в
тестах, несамодостаточность smoke). Рамка мандата Codex обязательна:
«ревьюируй постановку, не реализацию» — наблюдение пользователя: без неё
зарывается в детали. Урок поглощён SKILL.md (этап 2).
**Ретро-оговорка:** Codex-ревью этого прогона шло ещё через companion-канал
(обновление скилла с прямым exec приехало позже) — с учётом issue #158
чистота родословной второй линии не гарантирована; находки от этого не
обесценились, но эмпирику «2 из 15» читать с этой поправкой.
**Наблюдение пользователя (в память проекта тоже записано):** Codex хорошо
ревьюит планы/постановки, не только код — при явной рамке уровня.