docs(generator): закрыта задача 17 в трекере
- Зачем: - coordinator-loop отделяет рабочий срез от статусов и журнала. - Что: - задача 17 переведена в done с закрытыми критериями. - журнал дополнен ревью, bounded runtime gate и коммитом. - Проверка: - staged-состав содержит только issue 17 и журнал.
This commit is contained in:
@@ -450,3 +450,67 @@
|
|||||||
с применённым DDL.
|
с применённым DDL.
|
||||||
- 20:46 Issue 16 рабочий коммит: `27947ce`
|
- 20:46 Issue 16 рабочий коммит: `27947ce`
|
||||||
(`fix(airflow): исправлен запуск пульта на свежем стенде`).
|
(`fix(airflow): исправлен запуск пульта на свежем стенде`).
|
||||||
|
|
||||||
|
- 20:47 Перед issue 17: дерево clean; issue 15 и 16 закрыты. Issue 17
|
||||||
|
запущен worker-у. Режим ревью: обычный; worker reasoning_effort=`medium`;
|
||||||
|
code review после реализации `high`.
|
||||||
|
- 20:54 Issue 17: worker вернул `DONE_WITH_CONCERNS`. Индекс:
|
||||||
|
`check_generated_analytics.sh` берёт `model_t0/model_t_end/profile` из
|
||||||
|
фактического Kafka manifest, ждёт live-строки перед seam-check и требует
|
||||||
|
ненулевые ODS device/geo; `generated-history-check` пробрасывает PROFILE;
|
||||||
|
добавлен CLI `kafka-manifest-summary`; Superset tests сравнивают полный
|
||||||
|
существенный `params`; top countries сортируется по `Events, pcs`; sync
|
||||||
|
удаляет дубли только в целевом датасете; деструктивность sync задокументирована.
|
||||||
|
Checks: generated analytics contract PASS; Superset config PASS; startup
|
||||||
|
history artifact PASS; `py_compile` PASS; `bash -n` PASS; `git diff --check`
|
||||||
|
PASS. Concern: полный `PROFILE=daily-wave CHECK_LIVE_SEAM=1 make
|
||||||
|
generated-history-check` не выполнен.
|
||||||
|
- 20:55 Issue 17 code review запущен координатором: свежий observer-субагент
|
||||||
|
`Bacon`, reasoning_effort=`high`, без правок репозитория и среды.
|
||||||
|
- 20:58 Issue 17 code review `Bacon`: `CHANGES_REQUESTED`. Findings:
|
||||||
|
Superset sync всё ещё может перезаписать/удалить одноимённый чарт вне
|
||||||
|
целевого dashboard при том же датасете; `CHECK_LIVE_SEAM=auto` может зелёно
|
||||||
|
пропустить попытку live без строк после стыка. Индекс возвращён worker-у
|
||||||
|
дословно.
|
||||||
|
- 21:02 Issue 17: worker вернул `DONE_WITH_CONCERNS` после code review.
|
||||||
|
Исправлено: Superset sync/delete ограничены чартами целевого dashboard;
|
||||||
|
обычный `generated-history-check` требует live-строки, а backfill-only путь
|
||||||
|
явно отключает seam-check. Checks: generated analytics + Superset tests PASS;
|
||||||
|
startup history artifact PASS; `bash -n` PASS; `py_compile` PASS;
|
||||||
|
`git diff --check` PASS. Отклонений и споров нет; полный runtime-прогон
|
||||||
|
ещё не выполнен.
|
||||||
|
- 21:02 Issue 17 code narrow rerun отправлен `Bacon`: проверить закрытие
|
||||||
|
находок по Superset sync ownership и live seam default.
|
||||||
|
- 21:03 Issue 17 code narrow rerun `Bacon`: `APPROVED`. Findings: нет.
|
||||||
|
Chain-level решение: открыть коммит-гейт 17.
|
||||||
|
- 21:19 Issue 17 commit gate partial: локальный `uv` не дошёл до pytest из-за
|
||||||
|
`snap-confine`/`cap_dac_override`; Docker target tests PASS (12);
|
||||||
|
`make generator-test` PASS (186); `py_compile` PASS; `bash -n` PASS;
|
||||||
|
`git diff --check` PASS. Runtime prep `PROFILE=daily-wave make
|
||||||
|
generated-history-analytics` был остановлен после долгого выполнения:
|
||||||
|
generator-run и ClickHouse были активны, но gate не завершался за разумное
|
||||||
|
время; после SIGINT running services только `clickhouse`, `kafka`. Finding
|
||||||
|
возвращён worker-у: нужен точный bounded runtime-путь или изменение проверки.
|
||||||
|
- 21:27 Issue 17: worker вернул `DONE` после runtime gate finding.
|
||||||
|
Добавлен bounded `make generated-history-runtime-check`: короткий daily-wave
|
||||||
|
backfill 1h, live через Compose env, ожидание STG growth до 25s, второй batch
|
||||||
|
и `CHECK_LIVE_SEAM=1 REQUIRE_SUPERSET=0`. Контрактный тест и OPERATIONS
|
||||||
|
обновлены. Checks worker-а: Docker target tests PASS (13); `bash -n` PASS;
|
||||||
|
`py_compile` PASS; `git diff --check` PASS; `make
|
||||||
|
generated-history-runtime-check` PASS. Ключевые факты runtime:
|
||||||
|
profile=`daily-wave`, `model_t_end=2026-01-01T01:00:00+00:00`,
|
||||||
|
STG 10256 -> 10975, crossing visits 19, ODS device/geo 19/19. Concern:
|
||||||
|
runtime gate чистит volumes и оставляет `clickhouse`, `kafka` running.
|
||||||
|
- 21:28 Issue 17 code narrow rerun отправлен `Bacon`: проверить bounded
|
||||||
|
runtime gate и отсутствие нового рядом с уже одобренными исправлениями.
|
||||||
|
- 21:29 Issue 17 code narrow rerun `Bacon`: `APPROVED`. Findings: нет.
|
||||||
|
Chain-level решение: повторить коммит-гейт 17 с bounded runtime gate.
|
||||||
|
- 21:32 Issue 17 final commit gate: Docker target tests PASS (13);
|
||||||
|
`make generator-test` PASS (186); `py_compile` PASS; `bash -n` PASS;
|
||||||
|
`git diff --check` PASS; `make generated-history-runtime-check` PASS.
|
||||||
|
Runtime facts: STG 10256 -> 10862, `manifest_launch_profile=daily-wave`,
|
||||||
|
`manifest_model_t_end=2026-01-01T01:00:00+00:00`, crossing visits 19,
|
||||||
|
ODS device/geo 19/19. Diff в границах issue 17; журнал не staged. Runtime
|
||||||
|
gate оставил `clickhouse`, `kafka` running.
|
||||||
|
- 21:32 Issue 17 рабочий коммит: `00c97eb`
|
||||||
|
(`test(generator): усилены проверки startup-history и Superset`).
|
||||||
|
|||||||
+8
-8
@@ -1,4 +1,4 @@
|
|||||||
Status: ready-for-agent
|
Status: done
|
||||||
|
|
||||||
# Проверки startup-history и Superset без ложного зелёного
|
# Проверки startup-history и Superset без ложного зелёного
|
||||||
|
|
||||||
@@ -20,20 +20,20 @@ Status: ready-for-agent
|
|||||||
|
|
||||||
## Acceptance criteria
|
## Acceptance criteria
|
||||||
|
|
||||||
- [ ] Проверка startup-history берёт границу стыка из манифеста фактического
|
- [x] Проверка startup-history берёт границу стыка из манифеста фактического
|
||||||
прогона, а не из значения окружения по умолчанию.
|
прогона, а не из значения окружения по умолчанию.
|
||||||
- [ ] ODS-часть проверки не проходит на пустом ODS: отсутствие строк считается
|
- [x] ODS-часть проверки не проходит на пустом ODS: отсутствие строк считается
|
||||||
ошибкой проверки, а не успешным результатом.
|
ошибкой проверки, а не успешным результатом.
|
||||||
- [ ] Профиль запуска доходит до проверки: сценарий с `daily-wave` проверяет
|
- [x] Профиль запуска доходит до проверки: сценарий с `daily-wave` проверяет
|
||||||
именно мир `daily-wave`, а не диапазон `ci`.
|
именно мир `daily-wave`, а не диапазон `ci`.
|
||||||
- [ ] Ожидание live-строк доказывает, что живое продолжение реально успело
|
- [x] Ожидание live-строк доказывает, что живое продолжение реально успело
|
||||||
записать данные; короткое ожидание не должно превращать проверку стыка в
|
записать данные; короткое ожидание не должно превращать проверку стыка в
|
||||||
пропущенную проверку.
|
пропущенную проверку.
|
||||||
- [ ] Тест Superset сравнивает полный существенный контракт `params` между
|
- [x] Тест Superset сравнивает полный существенный контракт `params` между
|
||||||
конфигурацией и export, а не только небольшой набор полей.
|
конфигурацией и export, а не только небольшой набор полей.
|
||||||
- [ ] Сортировка top countries задана явно по числу событий, чтобы порядок не
|
- [x] Сортировка top countries задана явно по числу событий, чтобы порядок не
|
||||||
зависел от случайной формы ответа после pivot.
|
зависел от случайной формы ответа после pivot.
|
||||||
- [ ] Повторная синхронизация Superset не удаляет одноимённые чарты вне целевого
|
- [x] Повторная синхронизация Superset не удаляет одноимённые чарты вне целевого
|
||||||
источника данных или dashboard; деструктивность sync задокументирована.
|
источника данных или dashboard; деструктивность sync задокументирована.
|
||||||
|
|
||||||
## Blocked by
|
## Blocked by
|
||||||
|
|||||||
Reference in New Issue
Block a user