# Watch и Brief включены по умолчанию

Решение владельца 04.10.2026. Исключение из ADR-0007 («Report выключен по умолчанию»).

К двум видам Notice (CONTEXT.md) прибавляются два. **Watch** — Notice о пропущенном: код раз в
час проверяет источники владельца (непрочитанные личные чаты и упоминания в Telegram, письма в
Gmail) без модели и будит её, только когда новое пролежало дольше порога или написал срочный
отправитель; модель решает, писать ли, и может вернуть `QUIET`. **Brief** — Notice по
расписанию два раза в день, заменяет прежний утренний Report. Оба включены у всех установок: без
ключа `proactive` в `data/settings.json` установка работает как включённая. Выключаются они
одним тумблером «Сама пишет» в `/menu` → Уведомления или фразой владельцу («не пиши сама»,
модель зовёт `iva proactive off`).

Обоснование. Молчащий агент при упавшей задаче — то, что владелец увидел на c1 с 26.09 по
04.10.2026: регулярная задача на машине владельца падала девять дней, и об этом не сказал никто. Ассистент, который
ждёт, пока его спросят, пропущенного не замечает; планка ADR-0001 («работает из коробки как
продукт») требует, чтобы присмотр был у всех, а не у тех, кто нашёл тумблер. Цену шума держит
код, не обещание модели: подъём не чаще раза в час, тихие часы 23:00–08:00 в зоне владельца
(пропускают только срочных отправителей), не больше 5 подъёмов с сообщением и 15 ходов Watch в
сутки, про один чат или письмо — один раз, пока в нём не появилось новое.

Сбой регулярной задачи — Alert. Тумблером он не выключается, первый раз приходит вне пределов и
идёт через дроссель `alertOnce` (ADR-0007). Ежедневное упоминание непочиненного сбоя в утреннем
Brief — пункт Brief, а не второй Alert: это прямое исключение из недельного ритма ADR-0007, потому
что Brief — обзор дня, а не новое сообщение о проблеме.

Состояние источников держат сами Telegram и Gmail — непрочитанное. Своей очереди событий у Ивы
нет: `data/proactive.json` помнит только, о чём уже сообщено (`seen`), и счётчики дня. Заявка
ставится до хода (ADR-0007): упавший ход теряет пункт, но не дублирует его. Два прогона не идут
одновременно — замок без ожидания, а `now` прогона берётся под замком, иначе прогон со старым
днём откатил бы счётчики (модель `specs/Proactive.tla`, свидетель `Proactive-nowfirst.cfg`).

Дополнение 2026-10-26. Для дней рождения Google Контактов Brief и Watch используют точный ключ контакта, даты рождения и локального дня уведомления в существующем seen. reported ставится после успешной доставки соответствующей помеченной части в Telegram и атомарного сохранения состояния. Заявка хода и текст в daily фиксируют подготовку ответа. При отказе отправки, QUIET или обрыве до записи подтверждения ДР остаётся доступным следующему допустимому ходу. При обрыве между отправкой и записью возможен дубль. Пределы Watch сохраняются. Политика заявки до отправки для остальных источников остаётся прежней.

Ход Watch и Brief читает чужие письма и сообщения без владельца рядом — новая поверхность
ADR-0005. Имена и чужой текст попадают в промпт только через inbound-Gate, при сигнале атаки
впереди встаёт предупреждение. Ход должен идти без инструментов отправки от имени владельца
(инструменты записи юзербота, `gws gmail +send/+reply`), но шва eve для урезания набора
инструментов на один ход нет: `sessions.create` клиента eve принимает только сообщение и
параметры хода (`node_modules/eve/dist/src/client/types.d.ts:79-118`). **Принятый риск:**
инструменты отправки в ходе Watch и Brief остаются, запрет держат промпт хода и скилл `watch`
(«сам ничего не отправляй», «наружу от имени владельца не писать никогда») — та же защита, что
решение владельца 15.08.2026 оставило на поверхностях отложенных ступеней ADR-0005. Вопрос
открывается снова, когда в eve появится шов набора инструментов на ход.

## Что отвергнуто

- **Наблюдатель с очередью событий** (долгоживущий процесс, который ловит апдейты Telegram и
  Gmail и копит их): вторая копия состояния, которое и так держат источники, и новая трущаяся
  деталь с восстановлением после краша. Часовая проверка непрочитанного даёт то же без очереди.
- **Подъём модели на каждое событие**: токены на каждое сообщение в чате и шум; суждение
  «стоит ли писать» дешевле принять один раз за прогон по списку.
- **Свой файл-очередь для Signal**: Signal становится разовым Reminder, а таблица напоминаний
  уже атомарна и доставляет.
- **`OnFailure=` в юнитах через обновлятор**: правка чужих юнитов пользователя на каждой
  установке и связь присмотра с обновлятором; сбой видно из `systemctl` без правок.
- **MCP Events**: стандарт в черновике, SDK его не поддерживают, нужен публичный адрес.
  Вернуться, когда стандарт выйдет из черновика и появится второй плагин-источник.

**Дополнение 2026-10-06.** Ход сам называет свой вид заголовком `x-iva-turn`, bearer-авторизация
кладёт его в атрибут, хук расхода пишет вид в `source`: `iva usage by-source` показывает Watch,
Brief и Insight отдельно от напоминаний. Ceiling дня для Watch, Brief и Insight
(`proactive.ceilingTokensPerDay`, по умолчанию 0). Отвергнуто: предел по всем ходам без чата
(`http`): напоминания владельца отключали бы его же Insight.
