# 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 |