1.1.2
Fixed (#374)
- Агент отвечает «нет такой возможности» на просьбу «напоминай мне каждый час» (#374, аудит heartbeat-описаний): системный промпт нигде не заявлял возможность напоминаний, а единственный её источник — строка инструмента в блоке
# Tools— обрезалась байтовым срезом до 117 символов посреди слова, теряя списки действий и «Difference from cron». (1) Новая секция промптаscheduling(эволюцияheartbeats,buildSchedulingGuidanceвcontext.go): при наличииcron— явная связка «просьба напомнить в конкретное время/интервал → инструментcron» с примерамиevery/cron_expr/atи указанием передаватьdeliver: trueдля повторяющихся напоминаний (дефолт у нихfalse); при наличииheartbeat_task— объяснение роли (фоновые циклы обслуживания без собственного расписания, временные запросы — cron); хвост про ответ на heartbeat-опрос сохранён безусловно (задачи могут создаваться через WebUI агенту и без инструмента). Секция переведена из режима Full в Light — раньше она не рендерировалась в самих cron/heartbeat-прогонах, которым адресована (каналы резолвятся в Light). (2) Обрезка# Tools:toolSummaryForPromptрежет по границе первой строки (описания инструментов многострочны), при более длинной первой строке — по рунам через общийtruncateUTF8(прежнийdesc[:117]был byte-slice — небезопасен для multibyte UTF-8 и ломал слово). Полные описания по-прежнему доступны модели в JSON-схемах инструментов. (3) Описания инструментов:cron— абзац «Use this when the user asks to be reminded…» с примерами маппинга просьб + второй<good-example>(every: "1h", deliver: true) + уточнение параметраdeliver;heartbeat_task— явная отсылка «напоминания по времени — этоcron, у heartbeat-задач нет собственного расписания». Тесты:toolSummaryForPrompt(passthrough/граница строки/жёсткая руновая обрезка multibyte),buildSchedulingGuidance(с инструментами/без, сохранение poll-хвоста), регрессия рендера секции в heartbeat-канале (Light). Сопутствующая находка аудита (вне коммита): инструменты cron/heartbeat по умолчанию выключены в permissions (включают пресеты «Ассистент»/«Автоматизация») — при отказе агента проверять настройки агента.