Модуль wiki, агенты модулей, поля проектов (#91) #92

Merged
aep merged 46 commits from feat/91-wiki into main 2026-10-24 09:05:09 +03:00
Showing only changes of commit c650b8fa08 - Show all commits

View File

@ -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-<id>`; fetch отвечает 202 при новой постановке, 200 иначе; код страницы в
адресе раскодируется `unquote` (`%2F`). Цена ошибки: клиент должен брать basename имени сам.