docs(generator): handoff сессии — задача 13 закрыта, дальше расписание
- Зачем:
- передать контекст новой сессии: конвейер задачи 13 завершён, следующие
шаги — задача про расписание, HITL-проверка пути менти, уроки плейбука.
- Что:
- добавлен handoff 20260712-2359 (итоги конвейера, состояние стенда,
план и отклонения процесса).
- убран отработанный handoff 20260712-2015 (одноразовый по ADR-0003).
- Проверка:
- вычитка handoff'а; ссылки на задачу 13 и коммиты f5dee26/540989d.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -1,76 +0,0 @@
|
|||||||
# Handoff: задача 20 закрыта конвейером, дальше — задача 13
|
|
||||||
|
|
||||||
Дата: 2026-07-12 20:15.
|
|
||||||
Жанр: handoff по ADR-0003 после сессии «фикс флаки-гейта (задача 20) по
|
|
||||||
/claude-subagent-playbook».
|
|
||||||
|
|
||||||
## Что закрыто
|
|
||||||
|
|
||||||
- **Задача 20 — done.** Полный конвейер плейбука: ревью постановки (Opus,
|
|
||||||
CHANGES_REQUIRED, 6 находок — все внесены решениями, коммит `55a3feb`) ->
|
|
||||||
реализация Codex (`gpt-5.6-sol`, high, тред
|
|
||||||
`019f56f3-ab1e-7563-8e29-27d4e570a1ef`) -> два слепых ревью
|
|
||||||
(Codex: CHANGES_REQUIRED 2 MAJOR; Claude: APPROVED_WITH_MINORS) -> триаж
|
|
||||||
исполнителем -> узкие перепроверки -> стендовая приёмка. Коммит `dab120a`.
|
|
||||||
- Суть фикса, находки приёмки (гейт жил на SIGTERM-переработке; таймзона в
|
|
||||||
STG-запросах), принятый риск grace-периода и эмпирика прогонов — в самой
|
|
||||||
задаче `.scratch/generator-model-time-startup-history/issues/20-*.md`,
|
|
||||||
здесь не дублируются.
|
|
||||||
- Приёмка: 3 подряд зелёных `make generated-history-runtime-check`
|
|
||||||
(19:25/19:28/19:30), красный сценарий ловится прежним сообщением при
|
|
||||||
нулевых непарных счётчиках.
|
|
||||||
|
|
||||||
## Состояние
|
|
||||||
|
|
||||||
- Ветка `feature/data-generator`, дерево чистое после `dab120a`.
|
|
||||||
- Стенд поднят и рабочий после зелёного прогона (ClickHouse+Kafka живы,
|
|
||||||
генератор остановлен штатно).
|
|
||||||
- `13-backfill-top-up-from-snapshot.md` — **ready-for-agent, блокеров нет**
|
|
||||||
(снят в этом же коммите). Вариант реализации решён пользователем ранее:
|
|
||||||
вариант 2 — генерация следующего дня от слепка; критерии в задаче.
|
|
||||||
- Память сессии: модель Codex — `gpt-5.6-sol` (medium/high, xhigh почти не
|
|
||||||
окупается); перед каждым фоновым запуском сообщать пользователю, что
|
|
||||||
запускается и какой этап (см. memory-файлы `codex-model-choice`,
|
|
||||||
`announce-launches-and-stage`).
|
|
||||||
|
|
||||||
## Что дальше
|
|
||||||
|
|
||||||
1. **Задача 13** тем же конвейером `/claude-subagent-playbook`: постановка
|
|
||||||
уже переписана под глагол `next-day`, но перед реализацией — свежее
|
|
||||||
адверсарное ревью постановки (этап 2), как показал прогон задачи 20,
|
|
||||||
оно окупается.
|
|
||||||
2. Ручная HITL-проверка пути менти пользователем всё ещё не сделана
|
|
||||||
(Airflow UI, Superset глазами, Kafka UI) — переносится третий handoff
|
|
||||||
подряд.
|
|
||||||
3. Рефлексия по расходу контекста мастера в плейбуке проведена в сессии
|
|
||||||
2026-07-12 (см. итоговое сообщение сессии); выводы согласовать с
|
|
||||||
пользователем и внести в
|
|
||||||
`~/.claude/skills/claude-subagent-playbook/references/lessons.md` —
|
|
||||||
ключевые кандидаты: делегировать диагноз падений приёмки, boilerplate
|
|
||||||
промптов собирать cat'ом из одного файла на прогон, обменные файлы в
|
|
||||||
`$SCRATCH` вести на английском (в проект не попадают — правило AGENTS.md
|
|
||||||
не нарушается), находки в задачу вносить одной правкой.
|
|
||||||
|
|
||||||
## Проверки этой сессии
|
|
||||||
|
|
||||||
- Тесты: 192 passed (generator), 21 passed (контракты корня) — прогнаны
|
|
||||||
и мной, и исполнителем, и ревьюерами независимо.
|
|
||||||
- Стенд: 3 зелёных прогона + красный сценарий (лог приёмки одноразовый в
|
|
||||||
session-scratchpad, сводка — в задаче 20).
|
|
||||||
- Песочница Codex на этой машине (WSL2) здорова: bwrap работает,
|
|
||||||
workspace-write пишет, AppArmor-ограничения нет.
|
|
||||||
|
|
||||||
## Отклонения процесса
|
|
||||||
|
|
||||||
- Один запуск `codex exec resume` ушёл с лишним `&` (двойной фон):
|
|
||||||
уведомление пришло от обёртки при живом процессе; починено
|
|
||||||
процессом-ожидателем `kill -0` под run_in_background.
|
|
||||||
- Красный сценарий приёмки сначала не находил жертву: таймзонная ошибка
|
|
||||||
была и в приёмочном скрипте координатора (наивная конвенция DDS против
|
|
||||||
`+00:00`) — приведено к образцу `clickhouse_datetime_literal`.
|
|
||||||
|
|
||||||
## Suggested skills
|
|
||||||
|
|
||||||
- `claude-subagent-playbook` — задача 13 тем же конвейером.
|
|
||||||
- `conventional-commits` — коммиты.
|
|
||||||
- `tdd` — словарь для test-first-постановки в задаче 13.
|
|
||||||
@@ -0,0 +1,82 @@
|
|||||||
|
# Handoff: задача 13 закрыта конвейером, дальше — задача про расписание и HITL
|
||||||
|
|
||||||
|
Дата: 2026-07-12 23:59.
|
||||||
|
Жанр: handoff по ADR-0003 после сессии «задача 13 (глагол next-day) по
|
||||||
|
/claude-subagent-playbook».
|
||||||
|
|
||||||
|
## Что закрыто
|
||||||
|
|
||||||
|
- **Задача 13 — done.** Полный конвейер плейбука: двойное слепое ревью
|
||||||
|
постановки (оба CHANGES_REQUIRED, 9 решений внесены, коммит `540989d`)
|
||||||
|
-> реализация Codex (`gpt-5.6-sol`, high, тред
|
||||||
|
`019f57d2-ff7b-70d3-8143-3740324309d9`) -> два слепых ревью кода
|
||||||
|
(Codex: CHANGES_REQUIRED 3 MAJOR; Claude: APPROVED_WITH_MINORS) ->
|
||||||
|
триаж в 2 круга + узкий диагноз нулевого стыка -> перепроверки
|
||||||
|
ALL_CLOSED у обоих -> моя приёмка. Коммит `f5dee26`.
|
||||||
|
- Суть решений, диагноз нулевого стыка (естественный ночной провал, не
|
||||||
|
дефект restore) и аргументы отклонений — в самой задаче
|
||||||
|
`.scratch/generator-model-time-startup-history/issues/13-*.md`, здесь
|
||||||
|
не дублируются.
|
||||||
|
- Приёмка своими глазами: `make test` 204+31; `generated-history-chain-check`
|
||||||
|
зелёный (граница 1: crossing=1, граница 2: crossing=0 с явным статусом,
|
||||||
|
непарные — нули); регрессия `generated-history-runtime-check` задачи 20
|
||||||
|
зелёная (19 переходящих визитов). Учебный цикл: DM 322 -> 10 026 ->
|
||||||
|
19 196 за два next-day.
|
||||||
|
|
||||||
|
## Состояние
|
||||||
|
|
||||||
|
- Ветка `feature/data-generator`, дерево чистое после `f5dee26`
|
||||||
|
(+ handoff-коммит следом), запушено в origin.
|
||||||
|
- Стенд поднят, в мире 3 модельных дня (артефакт + два next-day от
|
||||||
|
прогонов исполнителя); live-генератор остановлен.
|
||||||
|
- Модель Codex — `gpt-5.6-sol` (high для реализации/ревью; xhigh не
|
||||||
|
окупается). Перед каждым фоновым запуском — сообщать пользователю, что
|
||||||
|
запускается и какой этап.
|
||||||
|
|
||||||
|
## Что дальше
|
||||||
|
|
||||||
|
1. **Завести задачу про расписание** («имитация жизни»): включение
|
||||||
|
`next-day` по расписанию. Обязана решить: как расписание задаёт
|
||||||
|
`operation=next-day` (дефолт DAG — `backfill`, планового запуска с
|
||||||
|
дефолтом быть не должно) и retention/формат накопительного состояния
|
||||||
|
манифеста (см. отклонение «полная перечитка Kafka» в задаче 13 —
|
||||||
|
оно блокирует её по записи в тикете).
|
||||||
|
2. **Ручная HITL-проверка пути менти** (Airflow UI, Superset глазами,
|
||||||
|
Kafka UI) — переносится пятый handoff подряд; исполнитель задачи 13
|
||||||
|
отметил, что Airflow UI руками не гонял (проводка next-day проверена
|
||||||
|
контрактными тестами и реальными запусками через `run_batch.sh`).
|
||||||
|
3. **Внести уроки в плейбук**: рефлексия по расходу контекста мастера
|
||||||
|
проведена в конце сессии 2026-07-12/13 (см. итоговое сообщение) —
|
||||||
|
согласовать с пользователем и записать в
|
||||||
|
`~/.claude/skills/claude-subagent-playbook/references/lessons.md`.
|
||||||
|
Ключевые кандидаты: ограничить раздел confirmations у ревьюеров
|
||||||
|
(одна строка на пункт); самый большой неконтролируемый расход —
|
||||||
|
эхо всего файла задачи в контекст мастера, когда исполнитель правит
|
||||||
|
файл, который мастер недавно писал сам.
|
||||||
|
|
||||||
|
## Проверки этой сессии
|
||||||
|
|
||||||
|
- `make test`: 204 (генератор) + 31 (контракты корня) — прогнаны мной,
|
||||||
|
исполнителем и ревьюерами независимо.
|
||||||
|
- Стенд: chain-check и runtime-check зелёные (лог приёмки одноразовый в
|
||||||
|
session-scratchpad, сводка — в задаче 13).
|
||||||
|
- Дерево сверялось с baseline после каждого ревью/перепроверки —
|
||||||
|
ревьюеры исходники не трогали.
|
||||||
|
|
||||||
|
## Отклонения процесса
|
||||||
|
|
||||||
|
- Перепроверка Codex принесла новую находку (MAJOR про микросекунды) —
|
||||||
|
это не нарушение узости, штатный случай из prompt-templates.md;
|
||||||
|
закрыта вторым кругом триажа тем же тредом исполнителя.
|
||||||
|
- Требование «громкий отказ на нулевом стыке» из обоих ревью покраснело
|
||||||
|
на честном стенде; решён диагнозом по данным (ветка «естественный
|
||||||
|
провал») и сменой семантики на явный статус — класс «артефакт
|
||||||
|
верификатора», как в задаче 20.
|
||||||
|
|
||||||
|
## Suggested skills
|
||||||
|
|
||||||
|
- `claude-subagent-playbook` — задача про расписание тем же конвейером
|
||||||
|
(постановку писать с нуля — этапы 1–2).
|
||||||
|
- `conventional-commits` — коммиты.
|
||||||
|
- `research` — если для задачи про расписание понадобится фактура по
|
||||||
|
Airflow (params при scheduled runs) — через Context7.
|
||||||
Reference in New Issue
Block a user