Нарезать тикеты этапа 2 по принятой спеке #34

Closed
opened 2026-08-01 15:46:14 +03:00 by ddmitry · 2 comments
Owner

Part of #26.

Вопрос

Нарезать этап 2 на тикеты по принятой спеке: самодостаточные постановки по правилам AGENTS.md (цель, критерии приёмки чекбоксами, границы, «сначала прочитать», команды проверки) и чек-лист - [ ] #NN в корневом issue этапа #4. После этого закрыть мандат #14.

Part of #26. ## Вопрос Нарезать этап 2 на тикеты по принятой спеке: самодостаточные постановки по правилам AGENTS.md (цель, критерии приёмки чекбоксами, границы, «сначала прочитать», команды проверки) и чек-лист `- [ ] #NN` в корневом issue этапа #4. После этого закрыть мандат #14.
ddmitry added the wayfinder:task label 2026-08-01 15:46:52 +03:00
ddmitry self-assigned this 2026-08-01 21:11:03 +03:00
Author
Owner

Этап 2 нарезан на семь тикетов по принятой спеке (docs/specs/2026-08-01-generator.md), чек-лист — в корневом issue #4, мандат #14 закрыт.

Цепочка блокировок (нативные зависимости Gitea):

  • #36 «Каркас генератора и контракт схемы события» — фронтир, единственный без блокеров: контракт задаёт форму и DDL, и генератору.
  • #37 «DDL событий ON CLUSTER и приём hits» ← #36 (DDL пишется по рендеренному описанию выгрузки; сюда же — решение по пути keeper из комментария к #4).
  • #38 «План состава мира» ← #36; после #36 идёт параллельно с #37.
  • #39 «День-функция: трафик, сессии, pageview» ← #38.
  • #40 «Торговые события и каталог товаров» ← #39.
  • #41 «Сериализатор, приёмники и проигрыватель с CLI» ← #40 и #37 (первый конец-в-конец: генератор → Kafka → ODS).
  • #42 «Зерновой мир: мини-манифест, заливка при make up, перф-порог» ← #41 — замыкает этап.

Вопросы раздела 9 спеки («решается при нарезке») разложены по тикетам, каждый фиксирует решение в спеке тем же PR: числа притока, D0 и формат конфигурации — #38; интерфейс запуска (CLI/make) и контейнер — #41; форма фиксации зернового мира (мини-манифест) — #42. Отдельных тикетов-развилок не понадобилось: все вопросы легли в тикеты, где живёт их код.

Все семь — самодостаточные постановки (цель, критерии чекбоксами, границы, «сначала прочитать», проверка), метка ready-for-agent.

Этап 2 нарезан на семь тикетов по принятой спеке (docs/specs/2026-08-01-generator.md), чек-лист — в корневом issue #4, мандат #14 закрыт. Цепочка блокировок (нативные зависимости Gitea): - #36 «Каркас генератора и контракт схемы события» — фронтир, единственный без блокеров: контракт задаёт форму и DDL, и генератору. - #37 «DDL событий ON CLUSTER и приём hits» ← #36 (DDL пишется по рендеренному описанию выгрузки; сюда же — решение по пути keeper из комментария к #4). - #38 «План состава мира» ← #36; после #36 идёт параллельно с #37. - #39 «День-функция: трафик, сессии, pageview» ← #38. - #40 «Торговые события и каталог товаров» ← #39. - #41 «Сериализатор, приёмники и проигрыватель с CLI» ← #40 и #37 (первый конец-в-конец: генератор → Kafka → ODS). - #42 «Зерновой мир: мини-манифест, заливка при make up, перф-порог» ← #41 — замыкает этап. Вопросы раздела 9 спеки («решается при нарезке») разложены по тикетам, каждый фиксирует решение в спеке тем же PR: числа притока, D0 и формат конфигурации — #38; интерфейс запуска (CLI/make) и контейнер — #41; форма фиксации зернового мира (мини-манифест) — #42. Отдельных тикетов-развилок не понадобилось: все вопросы легли в тикеты, где живёт их код. Все семь — самодостаточные постановки (цель, критерии чекбоксами, границы, «сначала прочитать», проверка), метка ready-for-agent.
Author
Owner

Хвост: разбиение прошло холодное ревью (свежая сессия без контекста автора) — APPROVED_WITH_FINDINGS, 13 находок, из них два блокера в постановке #37. Внесено:

  • #37 расколот по шву STG/ODS — был неподъёмен для одной сессии и опирался на несуществующую инфраструктуру. Теперь #37 — механизм применения DDL при make up, явное создание топика hits с 2 партициями (автосоздание дало бы одну — KAFKA_NUM_PARTITIONS в compose), приём сырья в STG с колонкой _consumer_host (виртуальные колонки Kafka ноду-потребителя не несут). Новый #43 — типизированный ods.event, строгий приём, contract-тест в make smoke-cluster, учебные DDL-комментарии (Sign, партиции по дням, вырождение ключа). Цепочка: #36#37#43#41.
  • Решения владельца (2026-08-01): зерновой мир — 8 модельных дней, понедельник–понедельник (полная неделя с выходными + первый замкнутый цикл окна K=7); D0 = 2026-06-01. Внесены в #42 и #38; тикеты фиксируют их в спеке своими PR.
  • Мелочи: #38 чинит отставшую шапку спеки (Proposed → Accepted) и пополняет CONTEXT.md; #42 закрывает раздел 9 спеки; проверки тикетов переведены с голого uv run pytest на make test (её заводит #36); критерий масштаба #39 — порядок величины, итоговое число за #40 и манифестом.

Находки перенесены в тикеты целиком; чек-лист #4 дополнен (#43).

Хвост: разбиение прошло холодное ревью (свежая сессия без контекста автора) — APPROVED_WITH_FINDINGS, 13 находок, из них два блокера в постановке #37. Внесено: - **#37 расколот по шву STG/ODS** — был неподъёмен для одной сессии и опирался на несуществующую инфраструктуру. Теперь #37 — механизм применения DDL при make up, явное создание топика hits с 2 партициями (автосоздание дало бы одну — KAFKA_NUM_PARTITIONS в compose), приём сырья в STG с колонкой `_consumer_host` (виртуальные колонки Kafka ноду-потребителя не несут). Новый #43 — типизированный ods.event, строгий приём, contract-тест в make smoke-cluster, учебные DDL-комментарии (Sign, партиции по дням, вырождение ключа). Цепочка: #36 → #37 → #43 → #41. - **Решения владельца (2026-08-01)**: зерновой мир — 8 модельных дней, понедельник–понедельник (полная неделя с выходными + первый замкнутый цикл окна K=7); D0 = 2026-06-01. Внесены в #42 и #38; тикеты фиксируют их в спеке своими PR. - **Мелочи**: #38 чинит отставшую шапку спеки (Proposed → Accepted) и пополняет CONTEXT.md; #42 закрывает раздел 9 спеки; проверки тикетов переведены с голого `uv run pytest` на `make test` (её заводит #36); критерий масштаба #39 — порядок величины, итоговое число за #40 и манифестом. Находки перенесены в тикеты целиком; чек-лист #4 дополнен (#43).
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Reference: ddmitry/clickstream-data-platform#34