From d2e68a9ab15cf1cbb07aea47b02935816e567b06 Mon Sep 17 00:00:00 2001 From: Andrey Epifancev Date: Thu, 22 Oct 2026 14:27:08 +0400 Subject: [PATCH] =?UTF-8?q?design.md:=20=D1=80=D0=B5=D1=88=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D1=8F=2016=E2=80=9318=20=D0=BF=D0=BE=20Task=203=20(#83)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 5.5 --- openspec/changes/attachment-fetch/design.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/openspec/changes/attachment-fetch/design.md b/openspec/changes/attachment-fetch/design.md index a3c0e88..1735e3a 100644 --- a/openspec/changes/attachment-fetch/design.md +++ b/openspec/changes/attachment-fetch/design.md @@ -156,3 +156,13 @@ 15. 2026-10-22 — **при повторе имени «самое новое» вложение — максимум по `(created_at, число id, id)`.** Обоснование: детерминированный выбор при равных временах (Jira отдаёт id по возрастанию). Цена ошибки: ссылка по имени укажет на соседнее вложение — исправляется порядком ключа. +16. 2026-10-22 — **порядок отказов в `request_fetch`: сначала `agent_too_old` (409), потом размер (413).** Обоснование: старый + агент не скачает и маленький файл, а размер человек увидит и так; отказ по агенту не зависит от вложения. Цена ошибки: + для большого файла при старом агенте покажем 409 вместо 413 — несущественно. (R-3, T3.1.) +17. 2026-10-22 — **`TooLarge` наследует `CommandError` (в `POST /batches` — 422), в маршруте `…/fetch` ловится раньше и даёт + 413; `attachment_id` в команде — только цифры; оба отказа `done` (нет файла, чужой размер) дают один текст «хаб: файл + не найден в хранилище».** Обоснование: одна проверка размера на постановку из любого входа; Jira-id — число. + Цена ошибки: поменять класс исключения / текст. (R-4, решение исполнителя Task 3.) +18. 2026-10-22 — **`pacing_from_config` и запасной зазор: `fetch_attachment` = 2 с и там, и в `DEFAULT_PACING`.** Обоснование: + иначе `init` из config расходится с умолчанием и сохранённая настройка без нового типа ломает выдачу. Цена ошибки: нет. + (R-5.)