Агент v9 и run.py v2: устойчивость самообновления, диагностика, фейки (#23) #24
Loading…
x
Reference in New Issue
Block a user
No description provided.
Delete Branch "feat/23-agent-v9"
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 #23. Закрывает отложенные находки #22 (M-3…M-7, M-10), #18 (M-2, M-3, M-5, M-6), #4 (M-10).
Спека: aep/jira-hub#26, change
agent-v9-hardening(openspec/specs/agent).Что сделано
LAUNCHER_VERSION = 2): сверкаupdate.jsonс sha256agent.pyпри старте (reconcile) и перед каждым запуском (in_trial):stagedпри уже подменённом файле →trial(M-5); устаревшийtrial→rolled_back«пробный период прерван» (M-3); повторная проверкаokпосле таймаута пробного периода (M-4); код 73 — не сбой версии (M-7);OSErrorпри подмене →rejected«подмена не удалась», запускатель не падает (M-6); удаление*.tmpпри старте (M-10).OSErrorпри подготовке и подтверждении версии — временный сбой / лог; проверка форматаagent_release(M-10); одна строка лога при времени журнала в будущем (M-2 #18);HubError— ошибки хаба вrefreshс префиксом «хаб: » и «обрыв связи с хабом» (M-6 #18); чистка_take(M-5 #18).project =иcreated >= -Ndв поиске дубля, долгийclaimфейка хаба (M-10 #4)./usr/bin/python3 -W error::ResourceWarning -m unittest discover -s tests -t .), в т. ч.on_sigterm,trialпри перезапускеrun.py, будущее время журнала + остановка в паузе (M-3 #18).Rulings I made
agent_release— игнор с логом раз в час;okв последний момент — перезапуск без паузы; объём правки фейков).refreshтокен ASCII: кириллица в Authorization падает до запроса.Nonesha256 приtrial— устаревший пробный период (нечитаемыйagent.pyиначе «совпадал» бы).Updater(решение 10 дизайна хаба обновлено).okсам перезаписалupdate.jsonи упал.Находки ревью
6b31098), M-3 (b57f815), M-4 = T2.1 (af3e9c4), M-8 (2559318, записан как R-9)._drop_newглотает OSError — по плану, безопасно), T3.2 (_hubоборачивает только ConnectionError/HttpError — вне спеки), M-7 (порядок слов лога кода 73 — смысл совпадает).OSErrorвos.replaceприrollback/reconcile), T5.2 / M-2 (reconcileне проверяет результат записиtrial), M-5 / O-2 (не-ASCII токен хаба роняет агента — было до ветки), M-6 (rejectedпри н��записанномtrialбез текста ошибки), M-10 (trial_shaсчитается дважды).Выкатка (порядок важен)
uv run --project ../jira-hub jira-hub agent publish src/agent.pyиз основного checkout на main (v9; v6–v8 заняты живой проверкой).agent_status«обновление: ok v8 → v9».launchctl unload ~/Library/LaunchAgents/ru.aepif.jira-agent.plist, скопироватьrun.pyв~/jira-agent-bundle,launchctl load …→ «запускатель: v2».🤖 Generated with Claude Code