Files
clickstream-ch-kafka-supers…/.scratch/handoffs/2026-06-11-generator-time-adr-and-pending-review.md
T
Dmitry Dementiev 341637c810 docs(generator): зафиксирована модель времени генератора (ADR-0005)
- Зачем:
  - инвариант «время генератора ≡ реальное ×1» неудобен для учебного плана:
    медленные явления (возвраты, воронка) не успеть показать на уроке, а
    историческую глубину живой генератор не создаёт.
- Что:
  - добавлен ADR-0005: модельные часы отвязаны от настенного времени, режимы
    (живой ×1 / ускоренный ×K / заливка) — драйверы одного шва, правило 30 минут
    переопределено в модельном времени; сид-продолжение помечено как будущее.
  - в CONTEXT.md разведены три значения «сида» и добавлен термин модельного
    времени и масштаба ×K.
  - добавлен handoff с отложенным ревью петли и реконсиляцией мат-спеки.
- Проверка:
  - прочитать docs/adr/0005-generator-model-clock.md и раздел «Три значения
    слова сид» в CONTEXT.md; git log -1.
2026-06-11 18:37:27 +03:00

6.8 KiB

Handoff: ADR про модельное время генератора + отложенное ревью петли

Дата: 2026-06-11 Ветка: feature/data-generator Жанр: одноразовый handoff по ADR-0003.

Зачем этот handoff

Сессия с Fable шла в стиле brainstorm-with-docs про модельное время генератора. Параллельно идёт эксперимент: автономная петля субагентов Кодекс (координатор + worker + reviewer) доделывает срез генератора (задачи 06→07). Эти две линии намеренно разделены — пересмотр времени не правит то, что петля строит на реал-тайм-модели. Handoff фиксирует, что уже сделано и что осталось, чтобы не потерять контекст в новой сессии.

Что сделано в этой сессии (durable, не дублирую — см. файлы)

  • Создан ADR-0005 «Модельные часы генератора, отвязанные от настенного времени». Все решения там; кратко: модельное время расцеплено с now(); режимы (живой ×1 / ускоренный ×K / заливка K → ∞) — драйверы поверх одного шва; живой стенд масштабируется ×K (дефолт ×1); правило 30 минут переопределяется в модельном времени с параметрическим origin возобновления; «стартовая история стенда» (сгенерированное прошлое + заморозка state v2) — будущее направление, ещё не строим.
  • Правки CONTEXT.md (глоссарий): разведены три значения слова «сид» (GEN_SEED / статический сид / стартовая история стенда) и добавлен термин «модельное время и масштаб ×K».

Эти изменения (ADR-0005 + CONTEXT.md) ещё НЕ закоммичены. Их коммит — выход брейншторма пользователя, его нельзя мешать с коммитами кода от петли (06/07). Отдельный docs-коммит.

Открытые線 для следующей сессии

1. Отложенное ревью результата автономной петли (приоритет)

Делать после того, как петля закоммитит задачу 07. Это read-only ревью. Измерительный лист — в памяти проекта memory/ralph-loop-experiment-generator.md. Главное:

  • A (главный индикатор эксперимента): ссылочная целостность при restore_state. _validate_v2_payload проверяет только форму, не ссылки. Структурно-валидный state v2 с висячей ссылкой визит→пользователь (generator/src/clickstream_generator/runtime.py:283) или пользователь→словарь (runtime.py:253/255) проходит from_dict_safe и роняет restore_state без обёртки try→fresh. Прогноз: петля это пропустит (слепые зоны внутри одной линии Кодекс скоррелированы). Проверить гипотезу локально структурой с висячей ссылкой (как пользователь проверял оценку снимка 4.7 MB и падение на битой вложенности).
  • B/D (проверено OK ранее): кулдауны по меткам, не тикам (runtime.py:104); детерминизм компактного снимка (_stable_event_id, restore не жжёт ГПСЧ). Подтвердить, что 06→07 их не сломали.
  • C (риск, вне скоупа 06): всплеск досылки созревших событий с прошлыми метками на первом тике после рестарта — всплыл ли хоть как риск в саморевью.
  • Верхнеуровневое для 07: границы задачи, честность отметок acceptance, не смешаны ли 06/07, git status.

Цель ревью двойная: (1) корректность 06/07; (2) мета-вывод — какой класс дефектов автономная петля систематически не видит без внешнего взгляда другой модели.

2. Реконсиляция мат-спеки с ADR-0005

После ревью петли. Разделы «Персистентность» и «Воспроизводимость» в docs/specs/2026-06-10-generator-math-model.md написаны от настенных часов; привести в соответствие с ADR-0005 (модельное время, правило 30 минут в модельном времени). Не делать сейчас — файл смежен с тем, что петля трогала.

Фон (память проекта, не дублирую)

  • memory/ralph-loop-experiment-generator.md — схема Ральф-цикла + измерительный лист.
  • memory/generator-full-rework.md, memory/fable-design-codex-implementation.md — направление переработки генератора и разделение ролей Fable(дизайн)/Codex(код).
  • .scratch/handoffs/2026-06-11-subagent-coordinator-experiment.md — детальная схема эксперимента с координатором и наблюдения по циклам 05/06.

Suggested skills

  • conventional-commits — для отдельного docs-коммита ADR-0005 + CONTEXT.md (не мешать с кодом петли).
  • brainstorm-with-docs — когда вернёмся к реконсиляции спеки или к проектированию «стартовой истории стенда» (будущее направление из ADR-0005).
  • handoff — после ревью петли зафиксировать рефлексию эксперимента (что петля поймала/пропустила, особенно по находке A).