Стартовый мир: слепки дней 0…6 при make up #96
Notifications
Due Date
No due date set.
Depends on
#94 Версионный ODS заказов: строгий переход, брак и ods.order_v
ddmitry/clickstream-data-platform
#102 Отрицательный total после складской дельты
ddmitry/clickstream-data-platform
Reference: ddmitry/clickstream-data-platform#96
Reference in New Issue
Block a user
Part of #5.
Цель
Подъём стенда получает второй источник: стартовый мир отправляет слепки дней
0…6, приём складывает их в ODS, и свежий стенд показывает главный
наблюдаемый эффект ночной выгрузки — у последнего прожитого дня клики есть,
а заказов нет; график выручки дозаполняется, пока мир едет. Тикет замыкает
этап.
Что войдёт
make up: после событий — командаsnapshotтого жедиапазона (
--day 0 --days 8) службой генератора; со сдвигом отправкиуезжают слепки дней 0…6, слепок дня 7 остаётся первому ходу мира. Дослать
его нельзя — исчезнет
awaiting_orderна свежем стенде(
start-world.md).ODS один, второго не заводить (решение владельца при нарезке, 17 августа
2026 года). Механика запуска дага у стенда уже есть — образец в
make check-services. Ожидание доезда — опросом с таймаутом.чек-скрипт «переснятый слепок даёт те же байты» — по образцу пересъёмки
дня из #42.
make up(сейчас 2 м 50 с с нуля): замер до и после — в тело PR и вtesting.md.зелёные (гигиена); чекбоксы этапа в #5 тикаются.
Границы
приёмка. «День 7 без заказов» верен только до первого хода мира и
постоянной проверкой быть не может.
make check-clickhouseне заводить: описьописывает мир, а не доставку; понадобится проверка приёма — число
заведётся вместе с ней (
inventory.md).dds.identity_mapне считать и не чинить: поздние пары дня 7 допервого хода мира отсутствуют — цена принята с открытыми глазами
(
start-world.md).awaiting_orderдля менти — этап 4.Кому что
Большей частью Кодекс — обвязка по готовым образцам (#42,
stand-services.sh): цепочка compose, циклы ожидания, замеры. Абзац README пишет Opus. Бриф Кодексу обязан требовать: проверять свойство, а не текст вывода грепом; только POSIX-инструменты (ripgrep на машине стенда нет); вердикт «недостижимо» перепроверять на достижимость, а не на факт.Сначала прочитать
docs/architecture/orders/start-world.md— целиком, это спека тикета;docs/architecture/orders/inventory.md;make up, цепочка зависимых службcompose, ожидание доезда;
scripts/stand-services.sh— образцы циклов опроса;docs/architecture/testing.md— карта целей, смоук быстрый.Проверка
make clean && make upс нуля:make smoke,make check-clickhouse,make check-servicesзелёные; замер времени подъёма — в PR.ods.order_vесть заказы каждого из дней 0…6 и ниодного заказа дня 7; события дня 7 при этом есть (контраст двух
темпов — разовая приёмка).
world_next_day) привозит слепок дня 7: заказыдня 7 появляются в
ods.order_v— разово, руками.