diff --git a/.scratch/generator-model-time-startup-history/coordinator-journal.md b/.scratch/generator-model-time-startup-history/coordinator-journal.md index 7603fe2..0af865e 100644 --- a/.scratch/generator-model-time-startup-history/coordinator-journal.md +++ b/.scratch/generator-model-time-startup-history/coordinator-journal.md @@ -573,3 +573,5 @@ drift рядом. - 22:11 Финальное chain review narrow rerun `Gibbs`: `APPROVED`. Findings: нет. Chain-level решение: финальный review закрыт, собрать handoff. +- 22:12 Handoff для кросс-линейного ревью собран: + `.scratch/handoffs/20260705-2212-generator-cross-review-fixes.md`. diff --git a/.scratch/handoffs/20260705-2212-generator-cross-review-fixes.md b/.scratch/handoffs/20260705-2212-generator-cross-review-fixes.md new file mode 100644 index 0000000..b77946d --- /dev/null +++ b/.scratch/handoffs/20260705-2212-generator-cross-review-fixes.md @@ -0,0 +1,83 @@ +# Handoff: fixes after generator cross-line review + +Дата: 2026-07-05 22:12. +Жанр: handoff по ADR-0003 после coordinator-loop 15 -> 16 -> 17 -> 18. + +## Что закрыто + +- 15: граница миров после обновления, clean/reset и host-запусков. + Коммиты: `080d5ae`, `108053b`. +- 16: свежий стенд и `generator_control` без неявных ручных шагов. + Коммиты: `27947ce`, `9804d0b`. +- 17: доверенные проверки startup-history и Superset. + Коммиты: `00c97eb`, `6731349`. +- 18: курс 00/01/05 проходит по startup-history на чистом стенде. + Коммиты: `77e4fb6`, `6d64f39`. +- Follow-up 19: отдельная задача на единые `make test` и `make lint`. + Коммит: `2778eae`. +- Финальный review fix: документация больше не советует обычный + `make generated-history-check` после backfill-only пути. + Коммит: `8e1c733`. + +## Ключевые стыки реализации + +- `generator/src/clickstream_generator/stand_clean.py` — общий guard чистого + стенда для Airflow и host-путей. +- `scripts/assert_stand_clean.sh` — host-проверка перед backfill/import/continue. +- `airflow/dags/generator_control_dag.py` — pause-check `etl_pipeline` до + мутирующих веток. +- `scripts/check_generated_analytics.sh` — manifest boundary, fail-closed + live seam, непустой ODS. +- `scripts/run_generated_history_runtime_check.sh` — bounded runtime gate для + daily-wave + live seam. +- `superset/create_dashboard.py` — sync ограничен чартами целевого dashboard. +- `docs/course/lessons/00_kafka_intro.md`, + `docs/course/lessons/01_kafka_to_clickhouse.md`, + `docs/course/lessons/05_monitoring.md` — курс согласован с startup-history, + no-live default и consumer lag. + +## Проверки + +- Issue 15: `make generator-test`, `docker compose config --quiet`, + `py_compile`, `bash -n`. +- Issue 16: `make generator-test`, `docker compose config --quiet`, + `py_compile`, `make clean`, `make up`, `make ddl`. +- Issue 17: Docker target tests, `make generator-test`, `py_compile`, + `bash -n`, `make generated-history-runtime-check`. +- Issue 18: doc `rg`, `git diff --check`, + `make generated-history-analytics`, `make up`. +- Финальный chain review `Gibbs`: initial `CHANGES_REQUESTED`, narrow rerun + `APPROVED`. + +## Происхождение ревью + +- 15: gate; task reviewer `Ptolemy` high, code reviewer `Linnaeus` high; + оба rerun `APPROVED`. +- 16: code reviewer `Laplace` high; primary review found paused-DAG order bug, + later reruns `APPROVED`. +- 17: code reviewer `Bacon` high; found Superset ownership and live-seam + defaults; bounded runtime gate rerun `APPROVED`. +- 18: docs/code reviewer `Hume` high; found Prometheus scrape-count drift; + rerun `APPROVED`. +- Финал: chain reviewer `Gibbs` xhigh; found docs drift around + `generated-history-check`; rerun `APPROVED`. + +## Отклонения процесса + +- Локальный `uv run ... pytest` у координатора падал до pytest из-за + `snap-confine` / `cap_dac_override`. Для координаторского gate целевые тесты + запускались через Docker-образ `generator:test`. Это вынесено в issue 19. +- Первичный runtime gate issue 17 через полный `daily-wave` был остановлен: + прогон был активным, но слишком долгим для коммит-гейта. После этого добавлен + bounded `make generated-history-runtime-check`. +- Несколько стендовых проверок чистили Docker volumes. Это ожидаемо для issue + 16-18 и зафиксировано в журнале. + +## Открытые риски + +- Кросс-линейное ревью другой родословной не выполнено в этом coordinator-loop. + Нужен отдельный проход по коммитам 15-18 и финальному fix. +- Issue 13 остаётся `needs-triage`: доливка истории от слепка должна опираться + на закрытые инварианты 15 и 17. +- Issue 19 `ready-for-agent`: нужны единые `make test` и `make lint`, чтобы + будущий коммит-гейт не собирался вручную.