RUGitHubInstall

eve правим сами и не ждём upstream

Решение владельца 10.10.2026. Частично заменяет ADR-0019 и пересматривает строку ADR-0008 «своего рантайма плагинов Ива не пишет: он принадлежит eve upstream».

Слова владельца: если eve нам мешает, мы её переписываем; обновлений upstream не ждём, они медленные, и eve расходится с нами по философии; eve пользуемся, но переписываем её так, как нам нужно.

Что решено

eve — часть Ивы: Ива ею пользуется и её правит. Где eve мешает опыту человека или нашему устройству, мы меняем код eve сами, а не обходим его снаружи и не ждём upstream.

Остаётся в силе из ADR-0019: мерило — опыт человека; то, что eve уже делает хорошо, берём как есть и проверяем запуском; своё решение — один механизм в одном месте для всех провайдеров; каждую нашу правку eve держит тест, который называет изменённое поведение; если новая версия eve сама пришла к нашему решению, своё снимаем.

Что заменяется

Принятое исключение из правила «ошибка модели возвращается модели, ход не падает» (H3, 20.10.2026): от одного до трёх пустых ответов подряд восстанавливаются ограниченными повторами; четвёртый пустой ответ завершает ход eve событием turn.failed. Фоновые ходы Ивы сохраняют понятный исход для владельца через свои обычные пути доставки (#338): напоминание сохраняет исходный текст и ошибку, Brief и Insight сообщают о несобранном обзоре, помощник возвращает причину в основной разговор, Watch сохраняет тишину и пишет причину в журнал. Чатовый ход паркуется с возможностью повтора владельцем. Предел повторов завершает и случай, когда модель всегда отвечает пусто.

Обоснование

10.10.2026 два запроса упёрлись в старое правило: #274 (свой экран плагина в Telegram без хода модели) и #285 (хуки, которые решают, а не наблюдают). В eve 0.51.1 обработчик хука возвращает void и только наблюдает. При старом правиле плагин мог менять поведение Ивы только ходом модели или правкой Authored tree, которую стирает следующий iva update, а это противоречит правилу владельца: всё пользовательское живёт в плагинах. Обновление eve 0.51.1 → 0.67.2 владелец отложил 28.09.2026; решающих хуков нет и там. Ожидание upstream оставляло людей без функции на неизвестный срок.

Цена

Каждая наша правка eve — код, который ведём мы. Чем больше правок, тем дороже перенос на новую версию eve; при своей копии новые версии upstream приходят к нам только переносом. Поэтому каждая правка держится тестом на границе и описана рядом с кодом: что поменяли и почему.

Отвергнутые альтернативы

View original Markdown ↗