Andrey Epifancev 4ed011bcc0 Решения агента v13 в design.md (#39)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 10:50:41 +04:00

3.5 KiB
Raw Blame History

agent-v13-change-history — решения агента

Спека и дизайн изменения — в jira-hub/openspec/changes/change-history/ (issue aep/jira-hub#70, aep/jira-agent#39). Агентская часть — решения 7–11 и 17 дизайна хаба и требование agent «Журнал изменений» (ADDED); контракт команд — commands «Журнал изменений в refresh» (refresh.history, результат history); приём — hub-api «Приём журнала изменений» (POST /agent/history). Версия агента — 13.

Decisions made without discussion

Решения хаба записаны в jira-hub/openspec/changes/change-history/design.md (раздел «Decisions made without discussion»); здесь — только решения агентской части, принятые при исполнении.

Маркер Дата Решение Обоснование Цена ошибки
R-3 2026-10-22 Ошибка GET /field или дочитывания GET /issue относится к той части журнала, которую она прервала: в регулярной — history.error, в стартовой — backfill_error Спека называет только search и отправку; ошибка чтения — свойство части, которую она прервала Стартовая часть, упавшая на GET /field, не держит отметку — как задумано для разовой стартовой загрузки
R-4 2026-10-22 Ошибка одной части журнала не отменяет другую и отправку уже прочитанного Меньше потерь; спека требует этого для обратного случая («регулярная часть при этом выполняется») При error отметка не сдвинется, следующий прогон дочитает — дубли хаб отбросит
R-5 2026-10-22 Неразбираемый history.since — history.error с текстом, refresh остаётся done Анти-цель «журнал не ломает обновление зеркала» Нет: хаб шлёт since сам в одном формате
R-6 2026-10-22 Недоступность хаба только на /agent/history в тестах имитирует FakeHub.reject_history = "drop" (обрыв соединения без ответа) Нужен обрыв именно на шаге журнала Нет (тестовый фейк)
R-7 2026-10-22 По I-1 финального ревью: стартовая часть (history.jql) выполняется первой и берёт журнал целиком; регулярная не запрашивает уже прочитанные задачи; ключ помечается прочитанным только после разбора его журнала. Хаб: design #19 Задача из обеих выборок теряла записи старше since; упавшая на задаче стартовая часть не должна «съедать» её для регулярной Нет лишних вызовов Jira; при сбое стартовой на задаче регулярная добирает только записи после since