Files
ddadminandClaude Fable 5 0c466c082e docs(generator): путеводитель по генератору и живой проход make demo
- Зачем:
  - спека отвечает «почему», а жанра «как пройти устройство по коду»
    не было (#48); черновик в generator/README.md ждал выверки.
- Что:
  - новый набор docs/architecture/generator/: индекс с целевой картиной
    и mermaid-схемой плюс шесть поддокументов по темам тикета.
  - демо-модуль и цель make demo: канонический D0, все стадии цепочки
    на одном экране; тест-сторож проверяет стадии без прибитых чисел.
  - раздел «Как это работает» в generator/README.md сжат до ссылки
    на путеводитель, черновая врезка снята.
- Проверка:
  - из generator/: make lint, make typecheck, make test (430 passed),
    make demo; два слепых ревью и узкая перепроверка — находки закрыты.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-28 06:00:36 -04:00

2.1 KiB
Raw Permalink Blame History

Ленивость мира

Этот документ отвечает на вопрос, как любой день собирается без прожитой истории и без глобального списка посетителей.

plan.cohort строит одну когорту по зерну и дню ее появления. Отрицательные дни обозначают предысторию; ее глубину ограничивает world.RETURN_TAIL_DAYS. Запоминание уже рассчитанных когорт ускоряет соседние вызовы, но не становится состоянием мира: очистка кеша не меняет результат.

plan.audience для дня D спрашивает Cohort.visitors_on(D) у когорт от D - RETURN_TAIL_DAYS до D и соединяет полученные части. Поэтому вызов для D0 поднимает всю предысторию в окне — 91 когорту от D−90 до D0.

Когорты предыстории дают D0 вернувшихся посетителей, но собственных событий не порождают. Ось событий начинается в D0. Окно активности отсчитывается от первого дня человека и остается общим для обеих его кук; за краем окна когорта больше не может попасть в аудиторию.

Отсюда самостоятельность дня: D500 и D5 заглядывают назад на одинаковое число когорт. Ни плану состава, ни день-функции горизонт мира не нужен. Зачем приняты предыстория и ограниченное окно, объясняет спека генератора, раздел 1.