Andrey Epifancev ba0fd2a299 docs(openspec): R-7, R-8 — решения при исполнении Task 5 (#23)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 00:26:10 +04:00

2.9 KiB
Raw Blame History

agent-v9-hardening — решения агента

Спека и дизайн изменения — в jira-hub/openspec/changes/agent-v9-hardening/ (issue aep/jira-hub#26, aep/jira-agent#23). Агентская часть — решения 1–7 дизайна хаба (запускатель run.py v2), 8–14 (агент v9), 15–17 (фейки и тесты), 18 (выкатка).

Решения владельца 14.10.2026: один пакет — #22 (M-3…M-7, M-10), #18 (M-2, M-3, M-5, M-6), #4 (M-10, точность фейков); устаревший trial → rolled_back; OSError при подмене в запускателе → rejected без повтора; run.py v2 владелец ставит вручную после самообновления до v9.

Decisions made without discussion

Рулинги R-1…R-5 записаны в jira-hub/openspec/changes/agent-v9-hardening/design.md (раздел «Decisions made without discussion»); здесь — только решения, принятые при исполнении агентской части.

Маркер Дата Решение Обоснование Цена ошибки
R-6 2026-10-15 В test_hub_4xx_in_refresh_not_retryable токен «неверный» заменён на «wrong-token» (ASCII) Кириллица в заголовке Authorization даёт UnicodeEncodeError (latin-1) ещё до запроса, тест не проверял бы 401; проверка (текст «хаб: HTTP 401», retryable=False) не изменилась Нет: только данные теста; поведение при не-ASCII токене в agent.json — наблюдение O-2
R-7 2026-10-15 В run.py пустой/None sha256 в update.json (state=trial) считается устаревшим пробным периодом: условие not sha or sha256_file(agent) != sha в reconcile и in_trial (в плане — только != sha) Если agent.py не читается, sha256_file даёт None и совпал бы с отсутствующим sha — пробный период признан бы живым; пункты 1–2 Review Focus плана требуют обратного Нет: усиление проверки; худший случай — лишний rolled_back при повреждённом update.json
R-8 2026-10-15 В README фраза про код 73 добавлена в конец абзаца «Остановка…» (якорь плана «и перезапускается.» в тексте — «перезапускается).») Якорь плана не совпал с текстом README; смысл и текст предложения сохранены Нет: размещение предложения в документации