fix(generator): сохранена фактура визита при восстановлении

- Зачем:
  - визит после восстановления не должен менять браузер и источники перехода внутри одного click_id.
- Что:
  - добавлен base_click_id в state v3 для восстановления донора фактуры.
  - исправлено восстановление timestamp offset без потери микросекунд.
  - расширены тесты и стыковая проверка browser/source и device/os/geo.
- Проверка:
  - uv run --with-requirements generator/requirements.txt pytest generator/tests -q.
  - bash -n scripts/check_generated_analytics.sh.
  - git diff --cached --check.
This commit is contained in:
2026-07-04 21:46:23 +03:00
parent 0cbfe9b32e
commit e2d06841de
13 changed files with 464 additions and 77 deletions
@@ -174,6 +174,11 @@ state-записей остаётся прежним контрактом воз
- `wall_timestamp` — настенная UTC-метка, когда это состояние было сохранено;
- `model_time_speed`, `model_timezone` и `model_t0`.
State v3 также хранит для каждого активного визита `base_click_id` — click_id
донора браузерной и source-фактуры из статического сида. При восстановлении
активный визит берёт per-event поля от этого донора; неизвестный донор считается
битым state, а не поводом выбрать запасную фактуру.
При восстановлении живого режима после сбоя модельная точка считается так:
```text