Самообновление агента: v5 и запускатель run.py (#19) #20
Loading…
x
Reference in New Issue
Block a user
No description provided.
Delete Branch "feat/19-agent-self-update"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes #19. Хаб — aep/jira-hub#22 (PR рядом; спека
jira-hub/openspec/changes/agent-self-update/).Что сделано
src/agent.py):update.jsonрядом с агентом;update_stateиlauncher_versionв каждомclaim; послеclaimбез команды —Updater.check: скачиваниеGET /agent/release, sha256, компиляция,AGENT_VERSION,agent.py.new,selftestновой версии (0 — годен, 3 — временный сбой, иное —rejected), выход 75; отвергнутые версии не повторяются; без запускателя — подсказка в лог раз в час;auto_updateвagent.json; командаselftest.src/run.py(stdlib, не импортирует агента): дочернийagent.py run; 75 — копия в.prevи атомарная подмена,trial; падение или 10 мин безok— откат; выход без Ctrl-C — тоже падение; перезапуск с паузой 5…300 с; блокировкаrun.py.lock.test_update.py,test_launcher.py(поддельные агенты),test_self_update_e2e.py(настоящиеrun.py+agent.py+ фейки: v5 → v6, Ctrl-C группе → 0). README (раздел «Самообновление», запуск черезrun.py), ARCHITECTURE.md, CLAUDE.md (раздел «Выкатка новой версии» — публикация в чеклисте закрытия).Тесты:
/usr/bin/python3 -W error::ResourceWarning -m unittest discover -s tests -t .→ 193 OK (Python 3.9.6).Rulings I made
tests/test_folder.py::test_version_is_4→test_version_is_5: план не учёл старый тест версии; цена: нет.run.pyсам получил SIGINT/SIGTERM; иначе падение (вtrial— откат); Ctrl-C при выходе с 75 — подмена и выход,trialпри следующем старте; спека и design 16/17 обновлены (хаб ed9c32a); цена:kill <pid агента>перезапускает агента — останавливатьrun.py(README).sleepвpauseроняетrun.py) повышена до Important:run.pyобновляется вручную; цена: нет.Находки финального ревью (opus)
20b858csleepвpause()роняет запускатель (повышена, R-21)20b858c20b858ctrialне привязан к shaagent.py— устаревшийtrialоткатывает здоровую версию / цикл 10 минokrun.pyмеждуos.replace(new, agent)и записьюtrialprepareагента иapply_updateзапускателяtrialоткатывает здоровую версию (Ctrl-C на старте закрыт R-20)20b858cagent.py.new.tmpне чистится при старте;sha256=None→ бесконечные временные сбои; нет тестовon_sigtermиtrialпри перезапускеrun.pyПосле merge (design.md, Migration Plan)
agent.pyv5 иrun.pyв кореньRSHB/; на виртуалке остановить v4, скопировать в~/jira-agent-bundle,python3 agent.py check, запускpython3 run.py.ok; v7, падающая на старте → откат,rolled_back; v8 = код v6 → ставится.🤖 Generated with Claude Code