feat(generator): ускорен учебный профиль daily-wave

- Зачем:
  - суточная волна должна быть видна на занятии за минуты, а не за сутки работы стенда.
- Что:
  - профиль daily-wave переведён на speed 60 при тике 1 секунда.
  - приглушены подробные live-логи успешного тика без изменения сохранения state.
  - обновлены тесты, спека и инструкции запуска быстрого профиля.
- Проверка:
  - make generator-test.
  - git diff --cached --check.
This commit is contained in:
2026-07-04 21:17:46 +03:00
parent 200bb82890
commit 9d1bcc43fa
9 changed files with 86 additions and 23 deletions
+12 -7
View File
@@ -26,10 +26,10 @@
Основной способ — глагол плюс профиль:
| Профиль | Для чего | Длительность |
|---------|----------|--------------|
| `ci` | Быстрая проверка и CI | `6h` |
| `daily-wave` | История с видимой суточной волной | `2d` |
| Профиль | Для чего | Длительность | Live-ход |
|---------|----------|--------------|----------|
| `ci` | Быстрая проверка и CI | `6h` | ×1, тик 60 с |
| `daily-wave` | История с видимой суточной волной | `2d` | ×60, тик 1 с |
Длительность можно переопределить через `GEN_HISTORY_DURATION`, например `2d`.
Команда сама считает `GEN_MODEL_T_END` от `GEN_MODEL_T0`.
@@ -84,7 +84,8 @@ make startup-history-export
Файл по умолчанию: `/tmp/clickstream-startup-history.json`.
История на 2 суток с суточной волной:
История на 2 суток с суточной волной. В live-продолжении этот профиль проживает
модельные сутки примерно за 24 настенные минуты:
```bash
ARTIFACT=/tmp/clickstream-startup-history-2d.json \
@@ -133,10 +134,11 @@ ClickHouse уже успел прочитать частичные сообще
## Live-продолжение
После импорта запускайте live с тем же профилем, что был в артефакте:
После импорта запускайте live с тем же профилем, что был в артефакте. Для
артефакта `daily-wave`:
```bash
PROFILE=ci make generator-continue
PROFILE=daily-wave make generator-continue
```
Если читаемый state есть, но настройки не совпадают, генератор падает с перечнем
@@ -146,6 +148,9 @@ PROFILE=ci make generator-continue
После нестандартного мира `make generator-continue` нужно запускать с теми же
настройками, что были у backfill/import. При расхождении генератор громко
покажет поля, которые не совпали.
Старые артефакты `daily-wave`, созданные до перехода на ×60 и тик 1 с, с новым
профилем несовместимы. Это ожидаемо: защита от смешения миров должна остановить
такой запуск.
Старые переменные `GEN_RUN_MODE`, `GEN_STATE_RESET` и `GEN_MODEL_T_END` остаются
низкоуровневым способом для отладки и прямого `docker compose run`.