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 имени сам.