Files
clickstream-ch-kafka-supers…/.scratch/handoffs/2026-07-04-generator-backlog-triage.md
T
ddadminandClaude Fable 5 ee4c9f5857 docs(generator): порядок бэклога «пульт вперёд» и граф задач в PRD
- Зачем:
  - узкое место — время человека на ручную приёмку: без DAG-пульта проверять
    миграцию курса пришлось бы через консоль.
- Что:
  - PRD, раздел «Задачи»: номер файла объявлен идентификатором (не порядком),
    порядок задан ветками и mermaid-графом; основная цепочка 07 -> 11 -> 12,
    миграция курса 08 — последней.
  - issue 08: добавлена мягкая зависимость от 12 (приёмка уроков через пульт).
  - handoff триажа: раздел «Следующий шаг» обновлён под новый порядок.
- Проверка:
  - mermaid-диаграмма проверена валидатором Mermaid; статусы задач не менялись.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-04 17:12:13 +03:00

7.6 KiB
Raw Blame History

Handoff: триаж бэклога генератора и целеполагание стенда

Дата: 2026-07-04 Жанр: одноразовый handoff по ADR-0003.

Рабочая форма (зафиксирована сегодня)

С Claude — обсуждение проекта, планы, проектные документы и независимые ревью. Исполнение кода — Codex, предпочтительно через /goal или /coordinator-loop. Сохранено в памяти Claude (memory), новая сессия подхватит автоматически.

Что решено и зафиксировано

  • Целеполагание сверено и записано в docs/course/PRD.md §1 (поправка 2026-07-04): три части трека ClickHouse (теория — внешние курсы, лабы — clickhouse-learning-cluster, этот стенд — интеграции «как в жизни»); иерархия целей: курс -> стенд-носитель -> генератор как скрытая инфраструктура.
  • Развилка «урок про генератор» закрыта: урока не будет, генератор — скрытая инфраструктура (PRD §7).
  • Демо-употребление устарело: docs/DEMO_CHEATSHEET_5MIN.md и docs/DEMO_SCRIPT_10_15MIN.md удалены, демо выросло в отдельный проект.
  • Новая открытая развилка в PRD §7: кластерная конфигурация ClickHouse (пользователь склоняется к «всё в одном», решение не принято).
  • Конвенция трекера: завершённая задача — Status: done (docs/agents/issue-tracker.md); задачи 01–06 фичи переведены в done (стояли ошибочные ready-for-human от глючившего координатора).

Бэклог фичи generator-model-time-startup-history

Список задач и порядок — в PRD фичи (раздел «Задачи», дополнен сегодня):

  • 07 (артефакт + runbook, ready-for-agent) — импорт строго через Kafka (напрямую в ClickHouse не пишет — решение пользователя), громкий отказ при несовместимом state (пересмотр правила спеки), граница runbook «использование, не устройство». Режим ревью — гейт.
  • 08 (миграция курса, ready-for-agent) — после 07; make data вплетён во все уроки 00–05, объём больше, чем кажется; тонкое место — урок 00.
  • 11 (глаголы/длительность/профили, ready-for-agent) — после 07, до 12.
  • 12 (DAG-пульт, needs-triage) — дооформить после 07 и 11; приоритет поднят пользователем: будущий основной человеческий интерфейс стенда.
  • 13 (доливка, needs-triage) — без приоритета, после фикса 09.
  • Перестановка: бывший 07 (миграция) и 08 (артефакт) поменяны местами.

Следующий шаг

Весь бэклог готов к передаче Codex. Порядок пересмотрен (решение 2026-07-04, «пульт вперёд»): узкое место — время человека на ручную приёмку, поэтому основная цепочка теперь 07 -> 11 -> 12 (пульт появляется раньше), а миграция курса 08 идёт последней — её приёмку (проход по урокам) человек ведёт уже через пульт. 09 и 10 независимы, можно параллельно; 13 — после фикса 09. Граф и подробности — в PRD фичи, раздел «Задачи»; там же зафиксировано, что номер файла — идентификатор, а не порядок.

Дооформление 09 и 10 — что изменилось против прежнего понимания

Сделано в этот же день, вторым заходом. 09 и 10 переведены в ready-for-agent; детали — в самих issue, здесь только сдвиги в понимании:

  • Гипотеза по 09 не подтвердилась. Дело не в рассинхроне event_index, а в источнике фактуры: при рождении визита браузерные строки берутся у случайного «донора» из словаря, при восстановлении — у seed_click_id пользователя. Прежняя развилка «выбор по абсолютному индексу, не трогая схему state» оказалась нерабочей — restore не знает донора. Решение пользователя: хранить base_click_id донора в state (альтернативы и причины отказа — в issue).
  • Дефект 09 шире браузера (нашло ревью): per-event поля location (referer, utm) расходятся на стыке так же — критерии приёмки расширены, иначе частичный фикс «только браузер» прошёл бы приёмку. Расхождение event_id (uuid4 при рождении, uuid5 при restore) зафиксировано как известное и вне скоупа.
  • По 10 сняты две мины: пересборка по умолчанию даёт 6 часов истории, а не 2 суток (профиль «2 суток одной командой» — это ещё не сделанная задача 11); legacy-виз world_map, похоже, вообще не умеет легенду и tooltip — основной путь, вероятно, смена типа визуализации, а не настройка (проверить через Context7 при реализации).
  • Процессная заметка: дооформленные issue прогнаны через тройное ревью (самопроверка + два свежих агента, адверсарно, с проверкой каждого утверждения по коду). Улов оправдал затраты — см. пункты выше; для issue с режимом «гейт» так стоит делать и дальше.

Не забыть (вне бэклога)

Открытые пробелы независимого ревью от 2026-06-14 (см. handoff 2026-06-14-generator-model-time-verification-review.md): ×K не гоняли, live-crash recovery не воспроизводили, распределения не сверяли с коридорами мат-спеки, воспроизводимость checksum не перепроверяли.

Suggested skills

  • conventional-commits — перед коммитами.
  • tdd — для фикса issue 09 (тест на однородность браузера через стык, затем минимальная правка).
  • coordinator-loop — на цепочки 07 -> 08 и 07 -> 11 -> 12.