План состава мира: зерно, приток, конфигурация #38

Closed
opened 2026-08-01 21:19:37 +03:00 by ddmitry · 0 comments
Owner

Part of #4.

Цель

Состав мира как чистая функция зерна: популяция посетителей с привычками,
календарь появления и затухания (приток), календарь двухкуковых пар — и
иерархия зёрен SeedSequence, на которой держится весь детерминизм.
Счётчики будущего манифеста известны по плану — до генерации событий.

Что войдёт

  • Иерархия подпотоков: корневое зерно → состав мира; (зерно, день) →
    подпоток дня → именованные подпотоки компонентов; механизм —
    numpy.random.SeedSequence + PCG64 (спека генератора, раздел 2).
  • План состава: посетители (даты первого визита, профили возвратов,
    затухание), двухкуковые пары (15% покупателей; каждой паре план
    гарантирует минимум по одному заказу с каждой куки), календарь притока.
  • Масштаб под ~50 тыс. событий в средний день: ≈8–12 тыс. сессий,
    6–8 тыс. посетителей в день (это дневная аудитория;
    накопленная растёт притоком и с ней не совпадает).

Решить и внести в спеку генератора (раздел 9) тем же PR

  • Числа притока: доля одноразовых кук и темп появления новых посетителей.
  • Календарная константа D0 — решена владельцем при нарезке (2026-08-01):
    2026-06-01, понедельник. Недавняя дата — данные первые месяцы
    выглядят свежими; привязки к реальному календарю всё равно нет ни у
    какой константы. Тикету осталось внести её в спеку.
  • Формат описания мира и конфигурации: что константа кода, что параметр.

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

  • Состав мира — чистая функция зерна: два вычисления с одним зерном
    дают равные планы (тест).
  • Счётчики плана (посетители, двухкуковые пары, приток по дням)
    доступны до генерации событий.
  • Приток виден на плане: накопленная аудитория растёт с горизонтом и
    не сходится с дневной в одно число (тест).
  • Случайность — целыми числами; плавающие распределения системной
    математики не используются.
  • Числа притока, D0 и формат конфигурации внесены в спеку генератора
    тем же PR.
  • Шапка спеки генератора поправлена тем же PR: статус Proposed →
    Accepted (спека принята 2026-08-01, PR #35; шапка в main отстала).
  • Словарь CONTEXT.md пополнен терминами плана («приток», «план
    состава»), если их там ещё нет.

Границы

  • События дня не генерируются — это следующие тикеты.
  • Доля двухкуковых (15%) и окно K = 7 решены спеками, не переоткрывать.

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

  • docs/specs/2026-08-01-generator.md — разделы 1, 2, 9.
  • docs/specs/2026-07-30-stand-v2-realism.md — раздел 5.
  • CONTEXT.md — словарь проекта: новые термины сверяются с ним.

Проверка

  • make test
Part of #4. ## Цель Состав мира как чистая функция зерна: популяция посетителей с привычками, календарь появления и затухания (приток), календарь двухкуковых пар — и иерархия зёрен SeedSequence, на которой держится весь детерминизм. Счётчики будущего манифеста известны по плану — до генерации событий. ## Что войдёт - Иерархия подпотоков: корневое зерно → состав мира; (зерно, день) → подпоток дня → именованные подпотоки компонентов; механизм — `numpy.random.SeedSequence` + PCG64 (спека генератора, раздел 2). - План состава: посетители (даты первого визита, профили возвратов, затухание), двухкуковые пары (15% покупателей; каждой паре план гарантирует минимум по одному заказу с каждой куки), календарь притока. - Масштаб под ~50 тыс. событий в средний день: ≈8–12 тыс. сессий, 6–8 тыс. посетителей в день (это дневная аудитория; накопленная растёт притоком и с ней не совпадает). ## Решить и внести в спеку генератора (раздел 9) тем же PR - Числа притока: доля одноразовых кук и темп появления новых посетителей. - Календарная константа D0 — решена владельцем при нарезке (2026-08-01): **2026-06-01, понедельник**. Недавняя дата — данные первые месяцы выглядят свежими; привязки к реальному календарю всё равно нет ни у какой константы. Тикету осталось внести её в спеку. - Формат описания мира и конфигурации: что константа кода, что параметр. ## Критерии приёмки - [x] Состав мира — чистая функция зерна: два вычисления с одним зерном дают равные планы (тест). - [x] Счётчики плана (посетители, двухкуковые пары, приток по дням) доступны до генерации событий. - [x] Приток виден на плане: накопленная аудитория растёт с горизонтом и не сходится с дневной в одно число (тест). - [x] Случайность — целыми числами; плавающие распределения системной математики не используются. - [x] Числа притока, D0 и формат конфигурации внесены в спеку генератора тем же PR. - [x] Шапка спеки генератора поправлена тем же PR: статус Proposed → Accepted (спека принята 2026-08-01, PR #35; шапка в main отстала). - [x] Словарь CONTEXT.md пополнен терминами плана («приток», «план состава»), если их там ещё нет. ## Границы - События дня не генерируются — это следующие тикеты. - Доля двухкуковых (15%) и окно K = 7 решены спеками, не переоткрывать. ## Сначала прочитать - docs/specs/2026-08-01-generator.md — разделы 1, 2, 9. - docs/specs/2026-07-30-stand-v2-realism.md — раздел 5. - CONTEXT.md — словарь проекта: новые термины сверяются с ним. ## Проверка - `make test`
ddmitry added the ready-for-agent label 2026-08-01 21:20:00 +03:00
ddmitry added a new dependency 2026-08-01 21:20:06 +03:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Reference: ddmitry/clickstream-data-platform#38