Andrey Epifancev
f5ea74bbcd
feat(agent): комментарии задач в состоянии refresh ( #27 )
...
Поле comment в том же search; при неполном списке — дочитывание /issue/{key}/comment по 100.
Спека: jira-hub/openspec/changes/issue-card-modal/ (agent, «Чтение состояния»).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 13:01:21 +04:00
Andrey Epifancev
b57f815846
fix(agent): OSError при подтверждении версии — только лог, повтор на следующем claim (M-3)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 00:47:57 +04:00
Andrey Epifancev
af3e9c47c4
fix(agent): ограничить длину значений в подсказке о неполной публикации (M-4)
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 00:36:03 +04:00
Andrey Epifancev
6b3109863d
fix(run): подтверждённая версия не откатывается после записей агента в update.json (I-1)
...
wait_child запоминает подтверждение (любое состояние update.json, кроме trial этой версии, пока агент жив),
а итоговое решение учитывает и случай, когда ok и следующая запись уложились между опросами.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 00:36:03 +04:00
Andrey Epifancev
69f9ffe690
feat(agent): run.py v2 — сверка update.json с файлом, ok в последний момент, код 73, OSError при подмене (M-3…M-7, M-10 #22 )
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 00:25:56 +04:00
Andrey Epifancev
fa936ba716
test(agent): фейки — project и created в поиске дубля, долгий claim хаба (M-10 #4 )
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 00:19:35 +04:00
Andrey Epifancev
b90c639eaa
fix(agent): код 73 при занятом журнале, одна строка темпа, источник ошибки хаба в refresh (M-7 #22 ; M-2, M-3, M-5, M-6 #18 )
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 00:14:58 +04:00
Andrey Epifancev
c51651717c
fix(agent): OSError при подготовке версии — временный сбой; формат agent_release (M-6, M-10 #22 )
...
Диск полон или нет прав при записи agent.py.new, selftest или update.json
больше не роняет агент трейсбеком: это временный сбой, повтор через 5 минут.
Ошибка записи update.json при отказе версии только логируется.
Неполная публикация (version не int, sha256 не 64 hex в нижнем регистре)
отбрасывается с подсказкой не чаще раза в час; таймеры подсказок разделены по видам.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 00:09:03 +04:00
Andrey Epifancev
47a7424eca
feat(agent): версия 9; тесты без жёстких номеров версий ( #23 )
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 00:03:41 +04:00
Andrey Epifancev
20b858c984
fix(agent): run.py — выход 0 без Ctrl-C как падение, сигнал перед запуском, pause без отрицательного sleep (I-1, M-1, M-2, #19 )
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 22:40:59 +04:00
Andrey Epifancev
866f9d7b4d
test(agent): сквозной тест самообновления; README, ARCHITECTURE, CLAUDE.md — run.py и публикация ( #19 )
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 22:26:53 +04:00
Andrey Epifancev
7512acb083
feat(agent): запускатель run.py — подмена версии, пробный период, откат, перезапуск ( #19 )
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 22:24:30 +04:00
Andrey Epifancev
3aa8823929
feat(agent): самообновление в паузе — скачивание, sha256, selftest, выход 75 ( #19 )
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 22:22:32 +04:00
Andrey Epifancev
140f921ce5
test(agent): версия 5 в test_folder ( #19 )
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 22:19:29 +04:00
Andrey Epifancev
82428ea869
feat(agent): update.json, selftest, update_state и launcher_version в claim, версия 5 ( #19 )
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 22:17:52 +04:00
Andrey Epifancev
cd2dafe487
feat(agent): prune под блокировкой журнала, версия 4, README ( #15 )
...
T2.3 (agent#4).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 12:48:23 +04:00
Andrey Epifancev
4f1b85c9c0
fix(agent): ответ папки с неверными типами — ConnectionError; лог без повтора «хаб» ( #15 )
...
M-2, O-3 (agent#8).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 12:44:15 +04:00
Andrey Epifancev
3736fb3948
fix(agent): полная пауза при времени журнала в будущем, claim без оценки из журнала ( #15 )
...
M-6, M-7 (agent#12).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 12:40:46 +04:00
Andrey Epifancev
0532b2476c
fix(agent): описание и комментарий сравниваются без различия CRLF/LF ( #15 )
...
T3.9 (agent#4).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 12:37:20 +04:00
Andrey Epifancev
552bead64b
fix(agent): ensure_sprint на задаче без спринта — ответ Agile без fields ( #13 )
...
Jira банка на GET /rest/agile/1.0/issue/{key}?fields=sprint у задачи без спринта отвечает без ключа fields;
агент падал с KeyError. Фейк Jira теперь отвечает так же.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 23:45:47 +04:00
Andrey Epifancev
058a78b0d6
fix(agent): один процесс на журнал — блокировка journal.jsonl.lock; README: остановить старый агент перед запуском (I-1, #9 )
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 23:11:02 +04:00
Andrey Epifancev
a95f7d936c
feat(agent): восстановление с паузой из хаба и без повторного claimed; версия 3 (M-9, FM-4, #9 )
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 22:55:52 +04:00
Andrey Epifancev
12858c2718
feat(agent): время последнего вызова Jira восстанавливается из журнала после перезапуска (M-9, #9 )
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 22:51:51 +04:00
Andrey Epifancev
b9a2260393
feat(agent): выбор транспорта по hub_url, check через папку, версия 2; README ( #5 )
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 00:48:42 +04:00
Andrey Epifancev
f9a2b7df38
feat(agent): транспорт folder: — обмен с хабом через общую папку ( #5 )
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 00:45:16 +04:00
Andrey Epifancev
527fd89be0
fix(runner): повтор после обрыва Jira ждёт 30 с от момента отказа (F-1)
...
Обрыв соединения не обновляет last_call_at, поэтому пауза перед повтором,
считавшаяся от последнего успешного вызова, при старом значении была нулевой
и три повтора шли подряд. Ожидание вынесено в Runner.wait_seconds и для
повтора считается от момента отказа; wait_pause использует его же и больше
не принимает force. Запись R-13 в design.md обновлена.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014Typ5sXWNMFirr2va2uL8o
2026-10-12 00:51:07 +04:00
Andrey Epifancev
22018318d1
docs(agent): журнал claimed, повторы при обрыве связи, остановка в паузе, версия, 3.9
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014Typ5sXWNMFirr2va2uL8o
2026-10-12 00:36:46 +04:00
Andrey Epifancev
2e6f47a514
fix(agent): поиск дубля с пагинацией, ошибки настроек (R-11), HTTPException как обрыв, маркер комментария, тесты ревью
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014Typ5sXWNMFirr2va2uL8o
2026-10-12 00:35:06 +04:00
Andrey Epifancev
6bcc6f611f
feat(agent): запись claimed до паузы (R-9), повтор при обрыве связи (R-10), agent_version, устойчивость цикла к сбоям хаба
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014Typ5sXWNMFirr2va2uL8o
2026-10-12 00:32:39 +04:00
Andrey Epifancev
4eaad42d15
docs(agent): fix round 1 — OpenSpec-раздел в CLAUDE.md, README (префикс лога, timeout/poll, 429), оговорка проверки 3.9
...
- CLAUDE.md: восстановлен раздел «OpenSpec и superpowers» из шаблона; убрана фраза про задачу 7;
тесты описаны по областям; оговорка про проверку 3.9 (ast не ловит API, только прогон на 3.9.6).
- README: пример вывода check с префиксом времени; timeout и poll_seconds в доставке;
429/503 — не более 4 ожиданий, Retry-After в HTTP-date не разбирается.
- ARCHITECTURE.md: формулировка повторов 429/503.
- tests/test_py39.py: комментарий с ограничением проверки.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014Typ5sXWNMFirr2va2uL8o
2026-10-12 00:15:08 +04:00
Andrey Epifancev
54f65d0333
docs(agent): README (доставка, запуск, launchd, prune), архитектура, проверка синтаксиса 3.9
...
README: доставка на виртуалку, check/запуск/launchd, журнал и prune, поведение с командами,
известные ограничения (prune при работе агента, Ctrl-C во время паузы, https без CA, спринты
закрытых спринтов, refresh, сравнение описания, 429/503 без потолка). CLAUDE.md и ARCHITECTURE.md
заполнены по src/agent.py. tests/test_py39.py: разбор с feature_version=(3, 9) и разрешённый
список импортов (только stdlib).
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014Typ5sXWNMFirr2va2uL8o
2026-10-12 00:10:47 +04:00
Andrey Epifancev
ea1ab864da
feat(agent): цикл claim → пауза → журнал → отчёт, восстановление после перезапуска, run
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014Typ5sXWNMFirr2va2uL8o
2026-10-12 00:06:10 +04:00
Andrey Epifancev
8ebf5250b7
fix(agent): refresh — все ключи 400 это ошибка, число вызовов бисекции, missing без дублей
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014Typ5sXWNMFirr2va2uL8o
2026-10-11 23:57:31 +04:00
Andrey Epifancev
c64d36b748
fix(agent): refresh — бисекция при 400 на key in, missing, пагинация спринтов, правки фейков и тесты
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014Typ5sXWNMFirr2va2uL8o
2026-10-11 23:54:35 +04:00
Andrey Epifancev
29fefb6114
feat(agent): чтение состояния — поиск, соседи по связям, спринты, страницы в хаб
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014Typ5sXWNMFirr2va2uL8o
2026-10-11 23:50:42 +04:00
Andrey Epifancev
fbc9ca9048
fix(agent): исполнитель — ревью Task 4 (валидация target, выбор перехода, кэш типов связей, board_id)
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014Typ5sXWNMFirr2va2uL8o
2026-10-11 23:45:40 +04:00
Andrey Epifancev
a071cc12f8
feat(agent): исполнитель — переходы статусов, связи с заменой, спринты
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014Typ5sXWNMFirr2va2uL8o
2026-10-11 23:42:29 +04:00
Andrey Epifancev
07bee853b4
feat(agent): исполнитель — ensure_issue, ensure_fields, ensure_comment
...
Поиск дубля в ensure_issue до создания (автор = currentUser(), точная тема).
ensure_fields пишет только отличающиеся поля, описание сравнивается точно,
даты — по первым 10 символам.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014Typ5sXWNMFirr2va2uL8o
2026-10-11 23:39:04 +04:00
Andrey Epifancev
6ffcf2b92a
fix(agent): журнал — дозапись после оборванной строки, порядковый учёт started, безопасный prune
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014Typ5sXWNMFirr2va2uL8o
2026-10-11 23:36:19 +04:00
Andrey Epifancev
7fb592e6de
feat(agent): журнал на диске, восстановление по нему, prune
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014Typ5sXWNMFirr2va2uL8o
2026-10-11 23:33:59 +04:00
Andrey Epifancev
24cfdcf25c
fix(agent): отрицательный Retry-After, обрыв при чтении тела ошибки
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014Typ5sXWNMFirr2va2uL8o
2026-10-11 23:31:50 +04:00
Andrey Epifancev
1d5e128bd0
fix(agent): счётчики на любой ответ, Retry-After без учёта регистра, не-JSON 200, закрытие ответов, правки фейка
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014Typ5sXWNMFirr2va2uL8o
2026-10-11 23:30:30 +04:00
Andrey Epifancev
e290b4e4a6
feat(agent): скелет, клиенты Jira и хаба, фейковый Jira, команда check
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014Typ5sXWNMFirr2va2uL8o
2026-10-11 23:28:04 +04:00