diff --git a/.scratch/handoffs/2026-07-04-generator-backlog-triage.md b/.scratch/handoffs/2026-07-04-generator-backlog-triage.md new file mode 100644 index 0000000..32f9d2d --- /dev/null +++ b/.scratch/handoffs/2026-07-04-generator-backlog-triage.md @@ -0,0 +1,73 @@ +# 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 (артефакт) поменяны местами. + +## Следующий шаг + +Дооформить до `ready-for-agent` два независимых issue (можно параллельно с +остальной очередью): + +1. **09 — баг браузерной фактуры на стыке.** Нет секции Acceptance criteria; + зафиксировать выбор направления фикса (сериализация фактуры в state против + выбора по абсолютному `event_index`; второе не трогает схему state) и + требование теста по per-event полям `dds.event`, включая crash-recovery + (гипотеза: тот же restore-механизм). Режим ревью — гейт (state). +2. **10 — гео-карта.** Прописать способ приёмки (Playwright-скриншоты, что + считать «читаемо»); учесть, что стенд с 14 июня мог умереть, а полная + пересборка регенерирует backfill. + +После этого весь бэклог готов к передаче Codex (`/goal` на задачу или +`/coordinator-loop` на цепочку 07 -> 08 / 07 -> 11 -> 12). + +## Не забыть (вне бэклога) + +Открытые пробелы независимого ревью от 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.