Commit Graph
4 Commits
Author SHA1 Message Date
ddadmin dab120a07e fix(generator): устранён флаки runtime-гейта стыка backfill/live
- Зачем:
  - гейт generated-history-runtime-check падал через раз: docker compose
    stop убивал генератор SIGKILL'ом посреди batch (SIGTERM не ловился),
    непарные строки маскировались под «смену фактуры» (задача 20).
- Что:
  - генератор грациозно завершается по SIGTERM: текущий batch дописывается
    во все топики с flush и записью history; compose даёт минуту grace.
  - runtime-check ждёт пересекающий визит в STG (предусловие проверки),
    seam-check получил precheck непарных live-строк; в STG-запросах
    закреплён 'UTC' против сдвига наивных меток в поясе сервера.
  - контрактные тесты усилены, задача 20 закрыта, блокер задачи 13 снят.
- Проверка:
  - тесты: 192 passed (generator), 21 passed (контракты);
  - стенд: 3 подряд зелёных make generated-history-runtime-check;
    красный сценарий (искажение referer_url пересекающего визита) валит
    гейт прежним сообщением при нулевых непарных счётчиках.
2026-07-12 19:33:28 +03:00
ddadmin 55a3feb63d docs(generator): развилка фикса задачи 20 решена после ревью постановки
- Зачем:
  - адверсарное ревью показало: генератор не обрабатывает SIGTERM
    (python — PID 1, docker compose stop ведёт к SIGKILL посреди batch),
    а вариант «ждать записи generator_batch_history» гонку не закрывает.
- Что:
  - направление фикса: минимальный SIGTERM-хендлер с дозаписью batch,
    альтернативы отклонены с доводами, bounded live mode вне скоупа.
  - критерии дополнены: красный сценарий обязан ловиться, стабильность
    обосновывается структурно, запрещены вероятностные смягчения.
  - в диагноз внесены механизм обрыва и различие device/geo vs location.
- Проверка:
  - чтение постановки: все находки ревью закрыты решением или доводом.
2026-07-12 18:28:17 +03:00
ddadminandClaude Fable 5 98be722808 docs(generator): диагноз флаки-гейта в задаче 20, задача 13 разблокирована
- Зачем:
  - Codex-диагноз нашёл корень нестабильности runtime-гейта: гонка
    остановки live-генератора, batch публикуется по топикам без
    атомарности, seam-SQL маскирует непарные строки под смену фактуры;
  - попутно закрыт второй открытый вопрос задачи 13 - запасная ветка
    рождения визита уже хранит донора (фикс задачи 09).
- Что:
  - задача 20: диагноз с судьбой трёх гипотез, направление фикса
    (управляемая остановка live + precheck непарных строк), статус
    ready-for-agent;
  - задача 13: вопрос про fallback-ветку закрыт, статус ready-for-human
    (осталось решение по развилке реализации).
- Проверка:
  - утверждение про донора перепроверено по generation.py:194-209;
    эмпирика диагноза - в логах прогонов, пути в задаче 20.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 22:29:42 +03:00
ddadminandClaude Fable 5 a3ac4b4c46 docs(generator): переписана задача 13 и заведён баг флаки-гейта
- Зачем:
  - рамка задачи 13 пересмотрена: ценность доливки — кормление стенда
    дневными батчами (урок и имитация жизни), а не удлинение истории;
  - прогон пути менти 2026-07-07 показал, что runtime-гейт стыка
    backfill->live нестабилен — красный/зелёный через раз.
- Что:
  - задача 13 переписана под глагол next-day в generator_control:
    сценарии, развилка реализации (срез артефакта против доливки от
    слепка), закрыт вопрос про импорт частями (сейчас всё или ничего);
  - добавлена задача 20 про нестабильную runtime-проверку стыка с
    эмпирикой двух прогонов и гипотезами для диагноза.
- Проверка:
  - два прогона make generated-history-runtime-check (красный 8/19,
    затем зелёный) — зафиксированы в задаче 20.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 21:57:38 +03:00