Этап 7: калибровка черновых долей заказной стороны #194

Closed
opened 2026-08-30 23:11:47 +03:00 by ddmitry · 0 comments
Owner

Этап 7: калибровка черновых долей заказной стороны

Part of #9.

Цель

Снять с чисел заказной стороны пометку «черновое»: замерить наблюдаемые
доли на каноническом мире, сверить с ориентирами мастер-спеки и
зафиксировать числа в комментариях и доках. Веса мира не крутить:
расхождение с ориентиром — возврат владельцу, не правка.

Контекст

Семь мест обещают калибровку «при пересборке эталонного мира (этап 7)»:
пять блоков констант в generator/src/clickstream_generator/world.py
(потеря и дубль purchase, стоимость доставки, исходы окна изменяемости,
дельта суммы, опоздание слепков) и обещания в
docs/architecture/orders/README.md («Открытые решения») и fate.md
(«Доли»). Пересборки не случилось: эталонный мир зафиксирован равным
стартовому (#192). Калибровка делается замером, а не пересборкой.

Что сделать

  1. Замерить наблюдаемые величины на каноническом мире окном в 28 дней,
    без транспорта — через внутренности генератора, тем же способом, каким
    мир окном меряют generator/tests/test_plan.py и test_commerce.py:
    доля отмен (и ее раздел между двумя дорогами), наблюдаемая доля дельты
    суммы, доли потери и дубля purchase, распределение стоимости
    доставки, распределение опоздания слепков.
  2. Сверить с ориентирами: мастер-спека (~5% отмен, 1–2% наблюдаемой
    дельты суммы), ориентиры в комментариях самих констант.
  3. Все в пределах — зафиксировать: в комментариях world.py снять
    пометки «черновое» и «калибровка — этап 7», вписав замеренную
    наблюдаемую долю рядом с броском; в README.md закрыть пункт
    «Конкретные веса и доли» в «Открытых решениях»; в fate.md заменить
    «калибровка этапа 7» замеренными числами. Замер с датой и командами —
    в docs/architecture/testing.md, раздел «Что проверено».
  4. Что-то вне ориентиров — это число не трогать и вернуть в отчете
    строкой NEEDS_DECISION с замером и ориентиром.

Границы

  • Веса и доли (сами числа) в world.py не менять: любая правка меняет
    мир и рушит хеши описи. Правки в world.py — только комментарии.
  • Опись не пересобирать: git diff по data/world-inventory.json пуст.
  • Проверок вида «отмен от 4 до 6 процентов» не заводить — резолюция
    fate.md действует.
  • Скрипт замера в репозиторий не коммитится; воспроизводимость дают
    команды в записи «Что проверено».
  • Коммиты не делать.

Критерии приемки

  • Замер снят окном 28 дней; датированная запись с командами — в
    «Что проверено».
  • grep -rn "черновое\|черновые\|калибровка" generator/src docs/architecture/orders не находит обещаний калибровки — либо в
    отчете назван NEEDS_DECISION по конкретному числу.
  • Изменения в world.py — только в комментариях; числа, мир и опись
    не тронуты.
  • cd generator && make lint && make typecheck && make test зеленые.

Сначала прочитать

  1. generator/src/clickstream_generator/world.py — пять блоков с
    пометкой «черновое» (строки ~170–292).
  2. docs/architecture/orders/fate.md и README.md — обещания и
    резолюции долей.
  3. docs/specs/2026-07-30-stand-v2-realism.md, раздел 4 — ориентиры.
  4. generator/tests/test_plan.py и test_commerce.py — как мир меряется
    окном без транспорта.
  5. docs/architecture/testing.md — раздел «Что проверено».

Команды проверки

  • cd generator && make lint && make typecheck && make test
  • git diff --stat data/world-inventory.json — пусто
# Этап 7: калибровка черновых долей заказной стороны Part of #9. ## Цель Снять с чисел заказной стороны пометку «черновое»: замерить наблюдаемые доли на каноническом мире, сверить с ориентирами мастер-спеки и зафиксировать числа в комментариях и доках. Веса мира не крутить: расхождение с ориентиром — возврат владельцу, не правка. ## Контекст Семь мест обещают калибровку «при пересборке эталонного мира (этап 7)»: пять блоков констант в `generator/src/clickstream_generator/world.py` (потеря и дубль purchase, стоимость доставки, исходы окна изменяемости, дельта суммы, опоздание слепков) и обещания в `docs/architecture/orders/README.md` («Открытые решения») и `fate.md` («Доли»). Пересборки не случилось: эталонный мир зафиксирован равным стартовому (#192). Калибровка делается замером, а не пересборкой. ## Что сделать 1. Замерить наблюдаемые величины на каноническом мире окном в 28 дней, без транспорта — через внутренности генератора, тем же способом, каким мир окном меряют `generator/tests/test_plan.py` и `test_commerce.py`: доля отмен (и ее раздел между двумя дорогами), наблюдаемая доля дельты суммы, доли потери и дубля purchase, распределение стоимости доставки, распределение опоздания слепков. 2. Сверить с ориентирами: мастер-спека (~5% отмен, 1–2% наблюдаемой дельты суммы), ориентиры в комментариях самих констант. 3. Все в пределах — зафиксировать: в комментариях `world.py` снять пометки «черновое» и «калибровка — этап 7», вписав замеренную наблюдаемую долю рядом с броском; в `README.md` закрыть пункт «Конкретные веса и доли» в «Открытых решениях»; в `fate.md` заменить «калибровка этапа 7» замеренными числами. Замер с датой и командами — в `docs/architecture/testing.md`, раздел «Что проверено». 4. Что-то вне ориентиров — это число не трогать и вернуть в отчете строкой NEEDS_DECISION с замером и ориентиром. ## Границы - Веса и доли (сами числа) в `world.py` не менять: любая правка меняет мир и рушит хеши описи. Правки в `world.py` — только комментарии. - Опись не пересобирать: `git diff` по `data/world-inventory.json` пуст. - Проверок вида «отмен от 4 до 6 процентов» не заводить — резолюция `fate.md` действует. - Скрипт замера в репозиторий не коммитится; воспроизводимость дают команды в записи «Что проверено». - Коммиты не делать. ## Критерии приемки - [ ] Замер снят окном 28 дней; датированная запись с командами — в «Что проверено». - [ ] `grep -rn "черновое\|черновые\|калибровка" generator/src docs/architecture/orders` не находит обещаний калибровки — либо в отчете назван NEEDS_DECISION по конкретному числу. - [ ] Изменения в `world.py` — только в комментариях; числа, мир и опись не тронуты. - [ ] `cd generator && make lint && make typecheck && make test` зеленые. ## Сначала прочитать 1. `generator/src/clickstream_generator/world.py` — пять блоков с пометкой «черновое» (строки ~170–292). 2. `docs/architecture/orders/fate.md` и `README.md` — обещания и резолюции долей. 3. `docs/specs/2026-07-30-stand-v2-realism.md`, раздел 4 — ориентиры. 4. `generator/tests/test_plan.py` и `test_commerce.py` — как мир меряется окном без транспорта. 5. `docs/architecture/testing.md` — раздел «Что проверено». ## Команды проверки - `cd generator && make lint && make typecheck && make test` - `git diff --stat data/world-inventory.json` — пусто
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: ddmitry/clickstream-data-platform#194