From c650b8fa082c88ede036f8128ba7ec49c6a76f53 Mon Sep 17 00:00:00 2001 From: Andrey Epifancev Date: Sat, 24 Oct 2026 02:43:17 +0400 Subject: [PATCH] =?UTF-8?q?docs(openspec):=20wiki-module=20=E2=80=94=20?= =?UTF-8?q?=D1=80=D0=B5=D1=88=D0=B5=D0=BD=D0=B8=D1=8F=20Task=208=20(#91)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 5.5 --- openspec/changes/wiki-module/design.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/openspec/changes/wiki-module/design.md b/openspec/changes/wiki-module/design.md index c7b996d..30303fd 100644 --- a/openspec/changes/wiki-module/design.md +++ b/openspec/changes/wiki-module/design.md @@ -584,3 +584,15 @@ jira безвреден. 63. **R-7.** `GET /wiki/search` отвечает `{"results": [...]}`, а не голым списком: все ответы хаба — объекты (`{"pages": …}` у `tree`), план и клиенты (MCP, веб) строятся на этом. Спека `wiki` исправлена. Цена ошибки: правка формата ответа и клиентов. + +Решения исполнителя Task 8 (2026-10-24): + +64. `limit` вне 1–50 или не число — 422 `bad_limit` (не обрезка); нет `project` — 422 `bad_request`; в `sync_in_progress` + `detail = {"batch_id": id}`. Цена ошибки: строже, чем нужно. +65. `markdown` страницы — `index.md` без front matter, заголовок `# …` остаётся; порядок `tree` — по `_tree.json` копии + (запасной — по частям пути). Цена ошибки: клиент срезает дубль заголовка сам. +66. Зависшее `fetching` без живой команды `wiki_fetch` (пакет отменён): повторный fetch ставит новый пакет вместо ответа + «как есть», иначе вложение застряло бы навсегда. Цена ошибки: лишний пакет. +67. Скачивание вложения: `Content-Type: application/octet-stream` + `nosniff`, имя в `filename*=UTF-8''` через + `quote(safe="")`, пустое имя — `attachment-`; fetch отвечает 202 при новой постановке, 200 иначе; код страницы в + адресе раскодируется `unquote` (`%2F`). Цена ошибки: клиент должен брать basename имени сам.