Commit Graph
2 Commits
Author SHA1 Message Date
ddadminandClaude Opus 5 2ee436f8c7 docs(adr): у правила позиции назван мягкий худший исход
Зачем: горячее ревью ADR 0009 нашло случай, который читатель найдёт сам —
работник, кончивший позже, ставит позицию по своему последнему дню и может
отодвинуть её назад.

Что: случай назван вместе с ценой (часть дней переигрывается, и это дешевле
дыры); заодно поправлен порядок слов там, где даг зовёт генератор.

Проверка: make config-test зелёный.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-13 12:24:54 +03:00
ddadminandClaude Opus 5 aa4797ae93 docs(adr): решён пульт мира — работники, выключатель, контейнер
Зачем: модельный день прогоняется только руками, и владельцу нечем
проверять процессы стенда вживую. Этап 3 без дага не существует вовсе,
поэтому форму пульта и способ вызова генератора надо решить раньше.

Что: ADR 0009 — работники без расписания (`world_next_day` пачкой,
`world_live_day` в темпе) и выключатель `world_live` без своей работы,
ждущий дочерний прогон триггером; генератор зовётся `DockerOperator` в
каноническом контейнере, потому что в образе Airflow ему не жить
(Python 3.14 против 3.13); позиция ставится как «последний сыгранный + 1»,
и это правило вместо сторожа. Пакетная автоматика отложена, не отвергнута.
Расхождения внесены в спеку генератора: позицию ставит сыгравший, у живого
дня появился выключатель. В словарь добавлен «пульт мира».

Проверка: `make config-test` зелёный; API Airflow 3.3 (пауза и ручной
запуск, ожидание триггера по идентификатору прогона, привязка сенсора к
логической дате, `DockerOperator`) сверено через MCP Context7, версия
Python в образе — замером.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-13 12:23:43 +03:00