Follow-ups from #19 #22

Closed
opened 2026-10-14 21:59:38 +03:00 by aep · 2 comments
Owner

Отложенные находки финального ревью (opus) PR #20 (самообновление агента, v5 и run.py):

  • M-3 — состояние trial не привязано к sha agent.py: устаревший trial (run.py умер посреди отката, ручная подмена agent.py) → через 10 мин откат здоровой версии; без .prev — цикл «10 мин работы → SIGTERM». (run.py)
  • M-4 — после таймаута пробного периода откат без повторной проверки ok (claim в полёте на 600-й секунде). (run.py)
  • M-5 — падение run.py между os.replace(new, agent) и записью trial: новая версия без пробного периода, staged навсегда. (run.py recover_files)
  • M-6 — OSError (диск полон) в Updater.prepare и apply_update запускателя: трейсбек агента / цикл падений запускателя. (agent.py, run.py)
  • M-7 — код 1 «агент уже запущен» от осиротевшего агента в trial откатывает здоровую версию (Ctrl-C на старте закрыт R-20). (run.py)
  • M-10 — agent.py.new.tmp не чистится при старте; sha256=None в agent_release → бесконечные временные сбои; нет тестов on_sigterm и trial при перезапуске run.py.

Живая проверка (design 24) — отдельно: v6 → ok, v7 падающая → rolled_back, v8 = код v6 → ставится.

Отложенные находки финального ревью (opus) PR #20 (самообновление агента, v5 и run.py): - **M-3** — состояние `trial` не привязано к sha `agent.py`: устаревший `trial` (run.py умер посреди отката, ручная подмена agent.py) → через 10 мин откат здоровой версии; без `.prev` — цикл «10 мин работы → SIGTERM». (run.py) - **M-4** — после таймаута пробного периода откат без повторной проверки `ok` (claim в полёте на 600-й секунде). (run.py) - **M-5** — падение run.py между `os.replace(new, agent)` и записью `trial`: новая версия без пробного периода, `staged` навсегда. (run.py recover_files) - **M-6** — OSError (диск полон) в `Updater.prepare` и `apply_update` запускателя: трейсбек агента / цикл падений запускателя. (agent.py, run.py) - **M-7** — код 1 «агент уже запущен» от осиротевшего агента в `trial` откатывает здоровую версию (Ctrl-C на старте закрыт R-20). (run.py) - **M-10** — `agent.py.new.tmp` не чистится при старте; `sha256=None` в `agent_release` → бесконечные временные сбои; нет тестов `on_sigterm` и `trial` при перезапуске run.py. Живая проверка (design 24) — отдельно: v6 → ok, v7 падающая → rolled_back, v8 = код v6 → ставится.
Author
Owner

Живая проверка самообновления (design 24) выполнена 14.10.2026, агент на виртуалке под run.py v1, транспорт — общая папка:

  • v5 → v6 (только номер): скачана в 23:05:08 после завершения команды #75 (обновление ждало паузу), trial → ok ✅
  • v7 (падает при запуске run): откат на v6, update_state = rolled_back «код 1 через 0 с», agent_status — «откат с v7 на v6…»; повторно v7 не скачивалась (2 claim после отката) ✅
  • v8 = код v6 с новым номером: поставлена, trial → ok ✅

Важно: опубликована v8, а в main AGENT_VERSION = 5 (на виртуалке работает v8 = код v5). Следующий настоящий релиз агента — с AGENT_VERSION = 9 или выше, иначе jira-hub agent publish откажет («опубликована v8, новая должна быть больше»).

Живая проверка самообновления (design 24) выполнена 14.10.2026, агент на виртуалке под run.py v1, транспорт — общая папка: - v5 → v6 (только номер): скачана в 23:05:08 после завершения команды #75 (обновление ждало паузу), trial → ok ✅ - v7 (падает при запуске run): откат на v6, update_state = rolled_back «код 1 через 0 с», agent_status — «откат с v7 на v6…»; повторно v7 не скачивалась (2 claim после отката) ✅ - v8 = код v6 с новым номером: поставлена, trial → ok ✅ Важно: опубликована v8, а в main `AGENT_VERSION = 5` (на виртуалке работает v8 = код v5). Следующий настоящий релиз агента — с `AGENT_VERSION = 9` или выше, иначе `jira-hub agent publish` откажет («опубликована v8, новая должна быть больше»).
Author
Owner

Все пункты закрыты PR #24 (aep/jira-agent#23): M-3 (reconcile/in_trial по sha256 agent.py), M-4 (повторная проверка ok после таймаута), M-5 (staged при подменённом файле → trial), M-6 (OSError в Updater.prepare/confirm и в подмене run.py), M-7 (код 73), M-10 (очистка *.tmp, формат agent_release, тесты on_sigterm и trial при перезапуске run.py). Новые мелочи — в follow-up из #23.

Все пункты закрыты PR #24 (aep/jira-agent#23): M-3 (reconcile/in_trial по sha256 agent.py), M-4 (повторная проверка ok после таймаута), M-5 (staged при подменённом файле → trial), M-6 (OSError в Updater.prepare/confirm и в подмене run.py), M-7 (код 73), M-10 (очистка *.tmp, формат agent_release, тесты on_sigterm и trial при перезапуске run.py). Новые мелочи — в follow-up из #23.
aep closed this issue 2026-10-14 23:52:30 +03:00
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: aep/jira-agent#22
No description provided.