docs(generator): расширен handoff после issue 19

- Зачем:
  - следующей сессии нужен актуальный handoff после закрытия issue 19 и внешнего approve.
- Что:
  - добавлены итоги коммита 9b0b063, проверки make test и make lint.
  - зафиксированы ручные HITL-проверки, suggested skills и обновлённые открытые риски.
- Проверка:
  - git diff --check.
This commit is contained in:
2026-07-05 22:53:37 +03:00
parent 9b0b063fed
commit 59b3e106dd
@@ -18,6 +18,10 @@
- Финальный review fix: документация больше не советует обычный
`make generated-history-check` после backfill-only пути.
Коммит: `8e1c733`.
- Issue 19 закрыта после внешнего Claude review: единые `make test` и
`make lint`, подключение корневых контрактных тестов и усиление проверок
startup-history.
Коммит: `9b0b063`.
## Ключевые стыки реализации
@@ -27,9 +31,19 @@
- `airflow/dags/generator_control_dag.py` — pause-check `etl_pipeline` до
мутирующих веток.
- `scripts/check_generated_analytics.sh` — manifest boundary, fail-closed
live seam, непустой ODS.
live seam, непустой ODS и fail-closed проверка DM-витрин.
- `scripts/run_generated_history_runtime_check.sh` — bounded runtime gate для
daily-wave + live seam.
- `scripts/run_generator.sh``reset` теперь проходит clean-stand guard до
запуска live-генератора.
- `Makefile``make test`, `make lint`, `contract-test`; обычный pytest-вывод
тихий, подробность можно включить через `PYTEST_ARGS`.
- `generator/src/clickstream_generator/state.py` — любая версия state не `3.0`
даёт громкий `UnsupportedStateVersionError`; `from_dict_safe` больше не
глотает ошибку старой/неизвестной версии.
- `generator/src/clickstream_generator/airflow_control.py`
`target_dag_trigger_error()` покрывает три ветки pause-check без импорта
Airflow.
- `superset/create_dashboard.py` — sync ограничен чартами целевого dashboard.
- `docs/course/lessons/00_kafka_intro.md`,
`docs/course/lessons/01_kafka_to_clickhouse.md`,
@@ -46,6 +60,9 @@
`bash -n`, `make generated-history-runtime-check`.
- Issue 18: doc `rg`, `git diff --check`,
`make generated-history-analytics`, `make up`.
- Issue 19 / commit `9b0b063`: `make contract-test` — 16 passed;
`make generator-test` — 190 passed; `make lint` — passed; `make test`
190 generator tests, 16 contract tests, `docker compose config --quiet`.
- Финальный chain review `Gibbs`: initial `CHANGES_REQUESTED`, narrow rerun
`APPROVED`.
@@ -61,6 +78,10 @@
rerun `APPROVED`.
- Финал: chain reviewer `Gibbs` xhigh; found docs drift around
`generated-history-check`; rerun `APPROVED`.
- После `9b0b063`: внешний Claude review подтвердил закрытие всех девяти
находок и дал `APPROVED`. Reviewer не перезапускал Docker-проверки сам, но
сверил код, тесты и документы; фактические прогоны были выполнены
координатором.
## Отклонения процесса
@@ -73,11 +94,29 @@
- Несколько стендовых проверок чистили Docker volumes. Это ожидаемо для issue
16-18 и зафиксировано в журнале.
## Что вручную проверить дальше
- Чистый ручной путь через Airflow UI: `make up`, `make ddl` или `ddl_init`,
`airflow dags unpause etl_pipeline`, затем `generator_control` backfill.
- Backfill-only путь: `make generated-history-analytics`, затем
`CHECK_LIVE_SEAM=0 make generated-history-check`.
- Стык backfill/live: `make generated-history-runtime-check`.
- Superset: после готового DM открыть dashboard и сверить, что чарты созданы и
`Top Countries by Events` читается.
- Kafka UI: в уроке 00 должны быть понятны четыре data-топика и служебные
`generator_state`, `generator_startup_history_manifest`,
`generator_batch_history`.
## Suggested skills
- `triage` — если продолжать issue 13: он всё ещё `needs-triage`.
- `brainstorm-with-docs` — если перед issue 13 нужно заново согласовать
модель доливки истории от слепка.
- `coordinator-loop` — только после перевода issue 13 в `ready-for-agent`.
- `code-review` — для внешнего прохода по коммитам после ручной проверки.
## Открытые риски
- Кросс-линейное ревью другой родословной не выполнено в этом coordinator-loop.
Нужен отдельный проход по коммитам 15-18 и финальному fix.
- Ручная HITL-проверка после `9b0b063` ещё не выполнена пользователем.
- Issue 13 остаётся `needs-triage`: доливка истории от слепка должна опираться
на закрытые инварианты 15 и 17.
- Issue 19 `ready-for-agent`: нужны единые `make test` и `make lint`, чтобы
будущий коммит-гейт не собирался вручную.