docs(context): глоссарий и спеки приведены в соответствие с ADR-0006

- Зачем:
  - ADR-0006 сделал генерацию единственным источником аналитики, а статический
    сид — архивным; глоссарий и спеки это ещё не отражали.
- Что:
  - CONTEXT.md: «статический сид» переименован в «архивный статический сид»
    (короткое имя сохранено), описан как временная кладовка значений с целью
    полного вывода; «стартовая история» получила синонимы «стартовый сид» и
    «новый сид»; раздел «Слои данных» отмечает переход аналитики на генерацию.
  - мат-спека: разделы «Персистентность через рестарты» и «Воспроизводимость»
    помечены как переописанные в спеке модельного времени (ссылкой, без повтора).
  - спека модельного времени: синоним «стартовый сид» добавлен в определение и
    в заметку о влиянии на документацию.
- Проверка:
  - git diff: термины и перекрёстные ссылки читаются непротиворечиво; ADR не
    правились (статус «архивный» не переносится в документы до ADR-0006).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-14 15:31:11 +03:00
co-authored by Claude Opus 4.8
parent 18ac8279cd
commit fa93aef150
3 changed files with 39 additions and 14 deletions
+21 -10
View File
@@ -73,15 +73,23 @@ user_domain_id (пользователь, постоянный)
- **`GEN_SEED`** — зерно ГПСЧ генератора (детерминизм случайных решений). Не - **`GEN_SEED`** — зерно ГПСЧ генератора (детерминизм случайных решений). Не
данные, а число. данные, а число.
- **статический сид** (`data/*.jsonl`) — учебный демо-датасет режима `bootstrap` - **архивный статический сид** (короткое имя — «статический сид», файлы
(уроки 06) и **калибровочный эталон** генератора (профиль ниже — опорные `data/*.jsonl`) — учебный демо-датасет режима `bootstrap` (уроки 06). По
цифры). По мере появления «стартовой истории стенда» его учебная роль смещается [ADR-0006](./docs/adr/0006-generation-as-sole-analytics-source.md)
на **dev-фикстуру и эталон** (быстрый повторяемый вход для пайплайна STG→DM, не он **выведен из аналитики и стал архивным**: витрины и дашборды переводятся на
зависящий от генератора); смещение зафиксировано как будущее направление в генерацию. У сида осталась одна временная роль — **кладовка готовых значений**
ADR-0005, на время разработки сид и поток сосуществуют. (браузеры, страны, устройства, метки кампаний), откуда генератор берёт «фактуру»
- **стартовая история стенда** — сгенерированное прошлое (заливка `K → ∞` + для событий. Цель — **совсем убрать файл**, когда генератор научится придумывать
заморозка состояния), с которого живой стенд стартует непрерывно. Ещё не фактуру сам (отдельная спека). Профиль ниже — теперь опорные цифры и список
строим; см. ADR-0005. известных расхождений, а не эталон для подгонки (подгонять генерацию под сид
число-в-число в ADR-0006 отклонено).
- **стартовая история стенда** (синонимы — **«стартовый сид»** и **«новый сид»**;
это не новые значения слова, а та же сущность) — сгенерированное прошлое (заливка `K → ∞` +
заморозка состояния), с которого живой стенд стартует непрерывно. По ADR-0006
она **несущая**: именно с неё свежий стенд получает историю с первой минуты.
Механизм проектируется — спека
[модельного времени](./docs/specs/2026-06-14-generator-model-time-and-startup-history.md);
решение про часы — [ADR-0005](./docs/adr/0005-generator-model-clock.md).
### Модельное время и масштаб (×K) ### Модельное время и масштаб (×K)
@@ -132,4 +140,7 @@ user_domain_id (пользователь, постоянный)
## Слои данных ## Слои данных
`STG → ODS → DDS → DM` — см. [`docs/ARCHITECTURE.md`](./docs/ARCHITECTURE.md). `STG → ODS → DDS → DM` — см. [`docs/ARCHITECTURE.md`](./docs/ARCHITECTURE.md).
Витрины (`dm.*`) и дашборд Superset строятся на статическом сиде, не на потоке. Сейчас витрины (`dm.*`) и дашборд Superset строятся на статическом сиде. По
[ADR-0006](./docs/adr/0006-generation-as-sole-analytics-source.md) целевой источник
аналитики — генерация (стартовая история и живой поток); перевод загрузки, витрин
и дашбордов на неё входит в текущую работу, детальный план — отдельной спекой.
@@ -181,6 +181,13 @@
## Персистентность через рестарты ## Персистентность через рестарты
> **Приведено в соответствие с модельным временем.** Раздел написан от настенных
> часов. Правила сохранения и восстановления состояния переописаны в спеке
> [модельного времени](./2026-06-14-generator-model-time-and-startup-history.md)
> (§«Сохранение и восстановление состояния»): те же 30 минут отсчитываются по
> часам генератора. Ниже — исходная формулировка, оставлена как след решения; при
> расхождении главенствует новая спека.
- Расширить состояние в compact-топике `generator_state` (новая `version`): - Расширить состояние в compact-топике `generator_state` (новая `version`):
к тику и состоянию ГПСЧ добавляются **популяция** (компактно: идентификаторы, к тику и состоянию ГПСЧ добавляются **популяция** (компактно: идентификаторы,
профили, время последней активности) и **активные визиты**. профили, время последней активности) и **активные визиты**.
@@ -198,6 +205,13 @@
## Воспроизводимость (`GEN_SEED`) ## Воспроизводимость (`GEN_SEED`)
> **Приведено в соответствие с модельным временем.** Оговорка ниже — «запуск в
> другой час дня даёт другой поток» — снята: с модельными часами дневной
> коэффициент считается от точки отсчёта `T0`, а не от настенных часов.
> Переописано в спеке
> [модельного времени](./2026-06-14-generator-model-time-and-startup-history.md)
> (§«Повторяемость»). Ниже — исходная формулировка, оставлена как след решения.
При одном `GEN_SEED` **и одинаковых условиях запуска** детерминирована При одном `GEN_SEED` **и одинаковых условиях запуска** детерминирована
последовательность решений: какие пользователи родились, какие визиты открылись, последовательность решений: какие пользователи родились, какие визиты открылись,
какие пути выпали. Оговорка про условия существенна: часовой коэффициент и какие пути выпали. Оговорка про условия существенна: часовой коэффициент и
@@ -98,8 +98,8 @@ ADR-0005 решил отвязать время генератора от реа
сгенерировать события этого отрезка. На выходе — события за `[T0, T_end]` и сгенерировать события этого отрезка. На выходе — события за `[T0, T_end]` и
**слепок состояния** генератора на момент `T_end`. **слепок состояния** генератора на момент `T_end`.
События плюс слепок и есть **стартовая история**новый сид» — синоним, новое События плюс слепок и есть **стартовая история**стартовый сид» или «новый сид» —
значение слова «сид» не заводим). При создании стенда это прошлое заливается, и синонимы, новое значение слова «сид» не заводим). При создании стенда это прошлое заливается, и
генератор готов продолжить ровно с `T_end`. Стенд сразу живёт с готовой историей — генератор готов продолжить ровно с `T_end`. Стенд сразу живёт с готовой историей —
с настоящей пирамидой «пользователей меньше, чем визитов, визитов меньше, чем с настоящей пирамидой «пользователей меньше, чем визитов, визитов меньше, чем
событий», без вырождения статического сида, где пользователей ровно столько же, событий», без вырождения статического сида, где пользователей ровно столько же,
@@ -192,8 +192,8 @@ runbook «проверка генератора на стенде».
пометить как переописанные в модельном времени этой спекой (ссылкой, без пометить как переописанные в модельном времени этой спекой (ссылкой, без
повтора). повтора).
- **ADR-0005:** направление «стартовая история» — отмечено как запущенное. - **ADR-0005:** направление «стартовая история» — отмечено как запущенное.
- **CONTEXT.md:** «новый сид» = «стартовая история стенда» (синоним, не новое - **CONTEXT.md:** «стартовый сид» / «новый сид» = «стартовая история стенда»
значение); роль статического сида — по ADR-0006. (синонимы, не новое значение); роль статического сида — по ADR-0006.
- **Будущий runbook** «проверка генератора на стенде» — шаги шага 2. - **Будущий runbook** «проверка генератора на стенде» — шаги шага 2.
- **`generator/README.md`, `docs/OPERATIONS.md`** — при реализации: скорость хода - **`generator/README.md`, `docs/OPERATIONS.md`** — при реализации: скорость хода
часов, ×K, стартовая история, проверки шага 1. часов, ×K, стартовая история, проверки шага 1.