# agent-self-update — решения агента Спека и дизайн изменения — в `jira-hub/openspec/changes/agent-self-update/` (issue aep/jira-hub#22, aep/jira-agent#19). Агентская часть — решения 7–20 дизайна хаба (агент v5, `selftest`, `update.json`, запускатель `run.py`) и 21–24 (совместимость, последнее ручное обновление, публикация в чеклисте закрытия, живая проверка). Решения владельца 14.10.2026: доставка через хаб (`GET /agent/release`), запускатель с откатом, код пишется и запускается только в каталоге `run.py` на виртуалке, не в общей папке. ## Decisions made without discussion Рулинги R-4…R-13, R-16, R-17 записаны в `jira-hub/openspec/changes/agent-self-update/design.md` (раздел «Decisions made without discussion»); здесь — только решения, принятые при исполнении агентской части. | Маркер | Дата | Решение | Обоснование | Цена ошибки | |---|---|---|---|---| | R-19 | 2026-10-14 | `test_version_is_4` → `test_version_is_5` | план не учёл старый тест версии; спека требует v5 | нет | | R-20 (design #16, #17 хаба) | 2026-10-14 | Выход 0/130 — остановка человеком, только если запускатель сам получил SIGINT/SIGTERM; иначе падение (в `trial` — откат); Ctrl-C при выходе с 75 — подмена и выход; агент, получивший Ctrl-C при подготовке, выходит с 0 | финальное ревью I-1: версия, сама вышедшая с 0, останавливала мост без отката | `kill ` перезапускает агента — останавливать `run.py` | | R-21 | 2026-10-14 | M-1 финального ревью (отрицательный `sleep` в `pause`) повышена до Important и исправлена | падение запускателя останавливает мост до человека, `run.py` обновляется вручную | нет |