feat(generator): дефолт профиля — daily-wave, ci стал служебным

- Зачем:
  - менти доставался плоский тестовый профиль ci; учебный профиль
    должен быть один — daily-wave с суточной волной (issue #6).
- Что:
  - дефолт daily-wave во всех точках: форма пульта generator_control,
    launch.py (API и CLI), Config, Makefile, четыре shell-скрипта.
  - автопроверки передают ci явно; контрактный тест пульта теперь
    проверяет сам дефолт Param профиля (через AST), а не подстроку.
  - доки в том же изменении: README, OPERATIONS, TEST_PLAN,
    generator/README, runbook startup-history.
- Проверка:
  - make test (206 + 31 passed) и make lint — зелёные.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-22 17:16:07 +03:00
co-authored by Claude Fable 5
parent 5791d42db8
commit b87dde79b7
17 changed files with 78 additions and 54 deletions
+11
View File
@@ -5,6 +5,17 @@
from datetime import datetime, timezone
def test_daily_wave_is_the_default_for_api_and_cli(monkeypatch):
"""Ручные точки входа без профиля выбирают daily-wave."""
from clickstream_generator.launch import _parse_args, build_launch_env
monkeypatch.delenv("PROFILE", raising=False)
monkeypatch.delenv("GEN_LAUNCH_PROFILE", raising=False)
assert build_launch_env("backfill")["GEN_LAUNCH_PROFILE"] == "daily-wave"
assert _parse_args(["backfill"]).profile == "daily-wave"
def test_duration_2d_sets_model_t_end_from_t0():
"""Длительность 2d считается от T0 без ручного GEN_MODEL_T_END."""
from clickstream_generator.launch import build_launch_env