You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
🧹 Апдейт чистит за собой - на диске остаются текущая версия и одна для отката, всё остальное убирается. Перед сборкой новой версии остаётся только текущая: сборка занимает слот отката, и в пике на диске две версии (по ~400 МБ), а не три. В финише удаление старых версий идёт первым шагом - до npm i -g @googleworkspace/cli@latest, который сам качает на тот же диск; упавший шаг уборки его больше не отменяет. iva doctor под замком обновления сносит остатки прерванных сборок и лишние версии сам, без флага, и печатает versions on disk: N (current …, rollback …) - X GB free; при живом обновлении говорит «version cleanup skipped», при повреждённом active.json докладывает и ничего не трогает. Уборка перед сборкой работает начиная со следующего обновления после этого: iva update бежит на установленном CLI. Повод - тестовый дроплет на 8.7 ГБ, вставший на трёх копиях node_modules (#194). В docs/troubleshooting.md раздел «Disk full during update», в install - честная строка про диск.
📦 Продвинутый runtime едет со всеми исходниками - стабильный снимок runtime копировал agent/ и scripts/ руками, packages/ в него не попадал, и на установке с непустым custom-слоем агент умирал с [UNRESOLVED_IMPORT] на agent/lib/data-dir.ts в цикле рестартов. Список деревьев теперь один - RUNTIME_SOURCE_TREES, снимок и replica-smoke берут его целиком, дайджест раскладки поднят до v3, так что уже подготовленный без packages/ runtime пересобирается сам. Тест-страж резолвит каждый импорт этих деревьев и падает на дереве, которое снимок бы потерял (#192, #191).
🕒 Таймзона в каноническом написании - europe/moscow в .env Intl принимал, а systemd в OnCalendar=*-*-* 05:00:00 europe/moscow отвергал, и ночной таймер не поднимался. Валидатор отдаёт то, во что Intl зону разрешает: Europe/Moscow, алиасы канонизируются (US/Pacific → America/Los_Angeles); property-тесты закрепляют идемпотентность и нечувствительность к регистру и пробелам (#190).
👁️ Vision-модель на каждого провайдера - вместо константы в коде свои переменные в .env, пустая = дефолт провайдера: OLLAMA_VISION_MODEL (gemma4:31b), OPENCODE_VISION_MODEL (qwen3.7-plus), OPENROUTER_VISION_MODEL (google/gemini-2.5-flash); у Codex переменной нет - подписка мультимодальна. iva config спрашивает vision-модель сразу после текстовой и пишет рядом с *_MODEL. Дефолт для OpenCode Go выбран по живым прогонам 18.08: gpt-5.6-luna на любую картинку отвечает 400, minimax-m3 заворачивает ответ в <think> прямо в content, qwen3.7-plus даёт чистое описание с OCR за 4-6 секунд.
💬 Три фикса Telegram - кнопка Stop только в личке: в группах её колбэк отвергается с прошлого релиза, а кнопка висела мёртвой. Сообщения, накопленные за время rolling-апдейта, проходят inbound-гейт с тем же предупреждением модели и той же строкой [security] inbound flagged, что и свежие - раньше вердикт игнорировался. Проза, похожая на плейсхолдер кода (цена 50 долларов, таблицы с выровненными числами), больше не вырезается из HTML-ответа: плейсхолдер ушёл в Private Use Area, снаружи такие кодпоинты вычищаются, seeded property-тест гоняет цифры с пробелами и code-span вперемешку.