docs(generator): решена развилка задачи 13, handoff сессии

- Зачем:
  - диагноз задачи 20 снял страх швов (генератор на стыке не ломает),
    и пользователь выбрал вариант реализации next-day;
  - сессия завершается - нужен handoff для продолжения.
- Что:
  - задача 13: выбран вариант 2 (генерация следующего дня от слепка),
    вариант нарезки артефакта отклонён с обоснованием; статус
    ready-for-agent, blocked by задача 20;
  - handoff сессии в .scratch/handoffs/ - итоги проверки пути менти,
    состояние трекера, план (фикс 20 -> задача 13 -> HITL).
- Проверка:
  - чтение задачи 13 и handoff; git status чистый после коммита.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-07 22:40:29 +03:00
co-authored by Claude Fable 5
parent 98be722808
commit 515d5ef73b
2 changed files with 85 additions and 15 deletions
@@ -0,0 +1,70 @@
# Handoff: проверка пути менти, диагноз флаки-гейта, задача next-day
Дата: 2026-07-07 22:34.
Жанр: handoff по ADR-0003 после сессии «проверка пути менти + триаж 13/20».
## Что закрыто
- Проверка пути менти двумя субагентами (читатель документации на Opus,
прогонщик стенда на Sonnet):
- Документация: workable-with-friction, четыре мелких находки — все
исправлены. Коммит `900e949`.
- Стенд с нуля: clean -> generated-history-analytics -> up -> проверки ->
Superset (чарты с данными) -> Kafka (4 data-топика + служебные) ->
ClickHouse (ODS/DM непустые) — всё прошло, дубликатов ноль.
- Единственное падение: `make generated-history-runtime-check` красный
через раз — заведена задача 20.
- Диагноз задачи 20 (Codex, ключевой факт перепроверен по коду): генератор
фактуру на стыке НЕ ломает; корень — гонка остановки live-генератора в
самой проверке + seam-SQL, маскирующий непарные строки под «смену фактуры».
Детали и направление фикса — в задаче. Коммит `98be722`.
- Задача 13 переписана под глагол `next-day` в `generator_control`;
оба открытых вопроса закрыты; развилка реализации решена пользователем:
**вариант 2 — генерация следующего дня от слепка** (обоснование в задаче).
Коммиты `a3ac4b4`, `98be722`; решение развилки — в коммите с этим handoff.
- Созданы репо-локальные субагенты `.claude/agents/deep-reasoner.md` (Opus)
и `fast-worker.md` (Sonnet); `.gitignore` скрывает локальное в `.claude/`.
Коммит `984d6fc`.
## Состояние трекера
- `20-flaky-runtime-seam-check.md`**ready-for-agent**: диагноз есть,
направление фикса выбрано (управляемая остановка live после полного flush
всех топиков + precheck непарных строк в seam-check). Идти первым.
- `13-backfill-top-up-from-snapshot.md`**ready-for-agent**, blocked by 20.
Вариант реализации решён, критерии в задаче.
## Что дальше
1. Фикс задачи 20 по конвейеру `/claude-subagent-playbook`: постановка в
задаче самодостаточна, свежий адверсарный взгляд на неё до реализации,
реализация Кодексом (прямой `codex exec`, не плагин — см. handoff в
скилле), два слепых ревью.
2. После зелёного стабильного гейта (3+ прогона) — задача 13.
3. Ручная HITL-проверка пути менти пользователем всё ещё не сделана
(Airflow UI, Superset глазами, Kafka UI) — стенд остался в рабочем
состоянии после зелёного runtime-check.
## Проверки этой сессии
- `make generated-history-runtime-check`: красный (8/19), затем зелёный —
эмпирика флаки в задаче 20; полные логи в session-scratchpad (одноразовые,
сводка перенесена в задачу).
- Утверждение диагноза про запасную ветку перепроверено по
`generation.py:194-209`.
- Дерево чистое после каждого коммита; `.claude/settings.local.json`
в git не попал.
## Отклонения процесса
- Прогонщик стенда дважды засыпал без отслеживаемого фонового процесса и
в финале умер, не собрав отчёт, — вердикт собран координатором из логов.
- Диагност через плагин codex-rescue: форвардер отчитался «finished» при
живом фоновом вызове; результат забран напрямую из output-файла задания.
Уроки процесса — в handoff рядом со скиллом claude-subagent-playbook.
## Suggested skills
- `claude-subagent-playbook` — для фикса задачи 20 (одна нетривиальная
задача: постановка готова, нужен конвейер).
- `conventional-commits` — коммиты.