From d3de2d6670575cdc77398355ab59339dbfc00e2f Mon Sep 17 00:00:00 2001 From: Andrey Epifancev Date: Thu, 22 Oct 2026 14:45:36 +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=2021=E2=80=9322=20=D0=BF=D0=BE=20Task=205=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 | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/openspec/changes/attachment-fetch/design.md b/openspec/changes/attachment-fetch/design.md index 34e91f8..bdf2c11 100644 --- a/openspec/changes/attachment-fetch/design.md +++ b/openspec/changes/attachment-fetch/design.md @@ -173,3 +173,7 @@ 20. 2026-10-22 — **неизвестный id вложения в `GET /attachments/{id}` — 404 `no_attachment`; `Content-Type` из `mime_type` только при формате тип/подтип, иначе `application/octet-stream`.** Обоснование: единые коды вложений; заголовок не берётся из недоверенных данных Jira как есть. Цена ошибки: нет. (R-7.) +21. 2026-10-22 — **`safe_name`: имя «.» и «..» заменяется на `attachment-`.** Обоснование: без этого «..» (разделители уже заменены) остаётся именем файла + в каталоге копий; укрепление против обхода пути. Цена ошибки: нет. (R-8, решение исполнителя Task 5.) +22. 2026-10-22 — **опрос MCP `attachment` — раз в `POLL_SECONDS/2` (2,5 с), а не ровно 2 с; строка «взято самое новое» — только в ответе + `ready`.** Обоснование: так сказано в плане, интервал в спеке приблизителен; на таймауте/ошибке важнее их текст. Цена ошибки: нет. (R-9.)