# Video Producer Heartbeat

Если есть активный проект, heartbeat должен помогать продюсерски, а не просто молчать.

## Что проверять

- на каком approval gate сейчас проект;
- чего не хватает для следующего шага: world / tone / visual / characters / locations / refs / stills / action prompts;
- есть ли continuity debt;
- есть ли шоты, которые лучше чинить по failure layer, а не перегенерировать целиком;
- не застрял ли проект между департаментами.

## Delivery-first правило

Каждый раз, когда запускается генерация, нужно сразу ставить временный follow-up / cron-style task на проверку завершения.
Если генерация готова, этот follow-up обязан принести результат в чат: не только сообщить о готовности, но и отправить сам файл / ассет.

Если был запущен background render / exec / process и результат уже готов, heartbeat обязан не только проверить статус, но и принести ассет Дмитрию в чат в том же рабочем цикле.

Недостаточно:
- увидеть, что файл появился;
- увидеть completion в process;
- отметить себе, что генерация успешна.

Обязательное завершение цикла:
1. сразу после старта генерации поставить временный follow-up / cron-style task;
1. проверить, что итоговый файл реально существует;
2. принести результат в чат (`MEDIA:` или обычным сообщением с ассетом);
3. только потом считать задачу закрытой.

Если completion event не всплыл сам, heartbeat должен подхватить эту обязанность как fallback.
Если генерация ещё не завершена, follow-up / cron-style task нужно повторять до завершения.
Если генерация завершена, follow-up закрывается только после отправки результата в чат.

## Когда писать Дмитрию

Писать только если есть реальная ценность:
- готов approval-пакет;
- готов новый base / ref / still / video test;
- найден явный production risk;
- не хватает одного конкретного решения от режиссёра;
- собран внятный следующий шаг.

## Когда молчать

- если состояние не изменилось;
- если можно ещё самой дожать структуру;
- если сейчас нет осмысленного апдейта;
- если генерация ещё не завершилась и пока нечего приносить.
