Модуль wiki, агенты модулей, поля проектов (#91) #92
@ -596,3 +596,16 @@ jira безвреден.
|
||||
67. Скачивание вложения: `Content-Type: application/octet-stream` + `nosniff`, имя в `filename*=UTF-8''` через
|
||||
`quote(safe="")`, пустое имя — `attachment-<id>`; fetch отвечает 202 при новой постановке, 200 иначе; код страницы в
|
||||
адресе раскодируется `unquote` (`%2F`). Цена ошибки: клиент должен брать basename имени сам.
|
||||
|
||||
Решения исполнителя Task 9 (2026-10-24):
|
||||
|
||||
68. Отказы MCP «нет корня»/«не синхронизирована» берутся из `GET /projects` (поля `wiki_root`, `wiki_synced_at`), а не из
|
||||
409 хаба: спека требует, чтобы запроса `/wiki/tree` не было. Цена ошибки: лишний запрос на вызов.
|
||||
69. `root_set` валидируется локально той же `parse_root`; пустое значение — отказ (сброс корня через MCP не
|
||||
предусмотрен, только `PATCH {wiki_root: null}`). Имя копии вложения: basename → `safe_name` jira → каталог
|
||||
`downloads/wiki-<id>` 0700 через общий `store_copy`. `fmt_agent`, `safe_name`, `store_copy` перенесены в `core/mcp.py`
|
||||
без смены текстов (jira реэкспортирует под прежними именами). Цена ошибки: нет.
|
||||
70. Формат вывода `page`/`tree`/`search`/`status` (спека задаёт состав, не текст): `tree` — «(N симв.)», `depth` — уровни
|
||||
ниже стартовой страницы (по умолчанию 2); `page` по названию — точное совпадение открывает страницу, иначе до 10
|
||||
кандидатов и «…и ещё N»; `offset` за концом — «offset=N за концом текста: длина L». `sync(wait)` опрашивает пакет
|
||||
раз в 2 с до 300 с; при идущей синхронизации — «уже идёт: пакет #N». Цена ошибки: правка текстов.
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user