docs: приёмка этапа 2 и порог, который оказался гигиеной #67

Merged
ddmitry merged 2 commits from docs/priyomka-etapa-2 into main 2026-08-07 20:56:36 +03:00
Owner

Два коммита, оба — следы приёмки этапа 2 в доках.

Решение по Kafka Engine и замеры

Раздел 11 мастер-спеки держал пункт «Kafka Engine на двух нодах: ребаланс
партиций между прогонами, отсутствие дублей», закрытый наполовину. Владелец снял
вторую половину: дубль здесь возможен по устройству движка, окно приёма названо
и разобрано в доке хранилища, а в ODS его схлопывает ReplacingMergeTree. Пункт
ушёл из списка, решение осталось абзацем с датой — чтобы «не проверяли» не
превратилось потом в «забыли».

Приёмка прогнана с нуля 7 августа: make clean && make up — 2 м 58 с (мир
доехал, 401 185 событий), смоук 9 с, check-clickhouse 8 с, check-services 59
и 48 с, make test 71 с, lint и typecheck чисто. В таблице цен
check-services подорожал с 44 до 59 секунд по прежнему правилу «в таблицу идёт
большее из замеренных»; причина подорожания не выдумана — между замерами разом и
стартовый мир в хранилище, и холодный подъём перед первым прогоном.

Порог приёмки — гигиена, и живёт он в карте проверок

Разговор начинался с того, что формулировка критерия в картах этапов отстала от
спеки после деления целей (#54/#56). Разбор показал, что синхронизировать
нечего — надо резать:

  • «make up работает» следует из зелёных проверок: все три требуют поднятого
    стенда. Пустое условие. Настоящее — «с нуля», и его в формулировке не было;
  • порог называл себя критерием приёмки этапа, хотя о предмете этапа молчит:
    дашборд Superset может быть не нарисован, а все три цели останутся зелёными;
  • строка, которая говорит это правильно, уже написана — в карте проверок, раздел
    «Какую проверку когда запускать», с тем самым «с нуля». Спека и восемь тикетов
    несли её кривую копию.

Тот же сюжет разобран в ADR 0004: гигиеническая цель уже надевала костюм
приёмки, тогда через числовой порог.

Поэтому раздел 9 спеки отсылает к карте проверок и называет вещь гигиеной.
Карта проверок не тронута — она верна.

Вне git

Тем же заходом в трекере: копия строки про критерий убрана из семи карт этапов
и карты #1, оттуда же вычтены семь текстовых копий связи «Блокируется: #N»
(источник истины — нативные зависимости Gitea). Карта #4 закрыта приёмкой этапа.

Проверка: make lint, make typecheck, make test — зелёные; правка
документная, кода не касается.

Два коммита, оба — следы приёмки этапа 2 в доках. ## Решение по Kafka Engine и замеры Раздел 11 мастер-спеки держал пункт «Kafka Engine на двух нодах: ребаланс партиций между прогонами, отсутствие дублей», закрытый наполовину. Владелец снял вторую половину: дубль здесь возможен по устройству движка, окно приёма названо и разобрано в доке хранилища, а в ODS его схлопывает `ReplacingMergeTree`. Пункт ушёл из списка, решение осталось абзацем с датой — чтобы «не проверяли» не превратилось потом в «забыли». Приёмка прогнана с нуля 7 августа: `make clean && make up` — 2 м 58 с (мир доехал, 401 185 событий), смоук 9 с, `check-clickhouse` 8 с, `check-services` 59 и 48 с, `make test` 71 с, `lint` и `typecheck` чисто. В таблице цен `check-services` подорожал с 44 до 59 секунд по прежнему правилу «в таблицу идёт большее из замеренных»; причина подорожания не выдумана — между замерами разом и стартовый мир в хранилище, и холодный подъём перед первым прогоном. ## Порог приёмки — гигиена, и живёт он в карте проверок Разговор начинался с того, что формулировка критерия в картах этапов отстала от спеки после деления целей (#54/#56). Разбор показал, что синхронизировать нечего — надо резать: - «`make up` работает» следует из зелёных проверок: все три требуют поднятого стенда. Пустое условие. Настоящее — «с нуля», и его в формулировке не было; - порог называл себя критерием приёмки этапа, хотя о предмете этапа молчит: дашборд Superset может быть не нарисован, а все три цели останутся зелёными; - строка, которая говорит это правильно, уже написана — в карте проверок, раздел «Какую проверку когда запускать», с тем самым «с нуля». Спека и восемь тикетов несли её кривую копию. Тот же сюжет разобран в ADR 0004: гигиеническая цель уже надевала костюм приёмки, тогда через числовой порог. Поэтому раздел 9 спеки отсылает к карте проверок и называет вещь гигиеной. Карта проверок не тронута — она верна. ## Вне git Тем же заходом в трекере: копия строки про критерий убрана из семи карт этапов и карты #1, оттуда же вычтены семь текстовых копий связи «Блокируется: #N» (источник истины — нативные зависимости Gitea). Карта #4 закрыта приёмкой этапа. Проверка: `make lint`, `make typecheck`, `make test` — зелёные; правка документная, кода не касается.
ddmitry added 1 commit 2026-08-07 20:15:08 +03:00
Зачем: этап 2 принят прогоном с нуля, и два его следа должны остаться в
доках — иначе решение «не проверяем» станет забытым долгом, а цена цели
разойдётся с замером.

Что:
- в спеке v2 раздел 11 больше не держит Kafka Engine на двух нодах: дубли и
  раскладку партиций между прогонами решено не проверять — дубль возможен по
  устройству движка, окно разобрано в доке хранилища, в ODS его схлопывает
  ReplacingMergeTree. Половина, которую показал #37, названа;
- в карте проверок цена check-services 44 с -> 59 с и абзац с замерами
  приёмки: clean+up 2 м 58 с, смоук 9 с, check-clickhouse 8 с, test 71 с.
  Причина подорожания не выдумывается — названа неизвестной.

Проверка: make clean && make up, затем make smoke, make check-clickhouse,
make check-services, make lint, make typecheck, make test — всё зелёное
7 августа 2026 года.
ddmitry added 1 commit 2026-08-07 20:26:43 +03:00
Зачем: формулировка в спеке дублировала строку карты проверок и делала это
хуже оригинала. «make up работает» следует из зелёных проверок и потому
пусто; настоящее условие — «с нуля» — в спеке не проговаривалось. Заодно
гигиеническая планка носила имя приёмки этапа, хотя про предмет этапа она
молчит: дашборд может быть не нарисован, а все три цели зелены. Тот же промах
разобран в ADR 0004 — там он случился с числовым порогом.

Что: раздел 9 спеки отсылает к карте проверок вместо своей формулировки и
называет вещь своим именем — гигиена, а не приёмка. Копия строки убрана из
семи карт этапов и карты #1 в трекере: одна вещь — одно место.

Проверка: правка документная. grep по docs, README и AGENTS — других копий
формулировки нет.
Author
Owner

Вторым коммитом в PR приехала правка, которой при заведении не было.

Разговор начинался с того, что формулировка критерия приёмки в картах этапов
отстала от спеки после деления целей (#54/#56), и её надо бы синхронизировать.
Разбор показал, что синхронизировать нечего — надо резать:

  • «make up работает» следует из зелёных проверок: все три требуют поднятого
    стенда. Пустое условие. Настоящее — «с нуля», и его в формулировке не было;
  • порог называл себя приёмкой этапа, хотя о предмете этапа молчит: дашборд
    Superset может быть не нарисован, а все три цели останутся зелёными;
  • строка, которая всё это говорит правильно, уже написана — в карте проверок,
    раздел «Какую проверку когда запускать», с тем самым «с нуля». Спека и восемь
    тикетов несли её кривую копию.

Тот же сюжет разобран в ADR 0004: гигиеническая цель уже надевала костюм
приёмки, тогда через числовой порог.

Поэтому: раздел 9 спеки отсылает к карте проверок и называет вещь гигиеной;
копия строки убрана из семи карт этапов и карты #1 в трекере. Карту проверок
не трогали — она верна. Закрытую карту #4 тоже: закрытый тикет — запись
истории.

Вторым коммитом в PR приехала правка, которой при заведении не было. Разговор начинался с того, что формулировка критерия приёмки в картах этапов отстала от спеки после деления целей (#54/#56), и её надо бы синхронизировать. Разбор показал, что синхронизировать нечего — надо резать: - «`make up` работает» следует из зелёных проверок: все три требуют поднятого стенда. Пустое условие. Настоящее — «с нуля», и его в формулировке не было; - порог называл себя приёмкой этапа, хотя о предмете этапа молчит: дашборд Superset может быть не нарисован, а все три цели останутся зелёными; - строка, которая всё это говорит правильно, уже написана — в карте проверок, раздел «Какую проверку когда запускать», с тем самым «с нуля». Спека и восемь тикетов несли её кривую копию. Тот же сюжет разобран в ADR 0004: гигиеническая цель уже надевала костюм приёмки, тогда через числовой порог. Поэтому: раздел 9 спеки отсылает к карте проверок и называет вещь гигиеной; копия строки убрана из семи карт этапов и карты #1 в трекере. Карту проверок не трогали — она верна. Закрытую карту #4 тоже: закрытый тикет — запись истории.
ddmitry changed title from docs(stage-2): приёмка этапа 2 — замеры и решение по дублям Kafka to docs: приёмка этапа 2 и порог, который оказался гигиеной 2026-08-07 20:52:57 +03:00
ddmitry merged commit c382b0390f into main 2026-08-07 20:56:36 +03:00
ddmitry deleted branch docs/priyomka-etapa-2 2026-08-07 20:56:37 +03:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: ddmitry/clickstream-data-platform#67