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