From 2ffb863dd10bcf8438f6a816fbadab9ce90623f0 Mon Sep 17 00:00:00 2001 From: Andrey Epifancev Date: Sat, 24 Oct 2026 02:41:02 +0400 Subject: [PATCH] =?UTF-8?q?docs(openspec):=20wiki-module=20=E2=80=94=20R-7?= =?UTF-8?q?,=20=D1=84=D0=BE=D1=80=D0=BC=D0=B0=D1=82=20=D0=BE=D1=82=D0=B2?= =?UTF-8?q?=D0=B5=D1=82=D0=B0=20=D0=BF=D0=BE=D0=B8=D1=81=D0=BA=D0=B0=20(#9?= =?UTF-8?q?1)?= 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 | 4 ++++ openspec/changes/wiki-module/specs/wiki/spec.md | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/openspec/changes/wiki-module/design.md b/openspec/changes/wiki-module/design.md index a1e42db..c7b996d 100644 --- a/openspec/changes/wiki-module/design.md +++ b/openspec/changes/wiki-module/design.md @@ -580,3 +580,7 @@ jira безвреден. `housekeeping_tick` удаляет стадию команд не в `queued`/`claimed`. Лимиты `stage`: `code` 200, `title` 1000, `url` 4000, до 20000 страниц на команду; формат `DOC-\d+` для `code` не навязывается. Пустые `parent_code`/`url` — `None`. `ValueError` из `before_result` → 500; `sqlite3.OperationalError` из подготовки → 500 (повтор агентом). + +63. **R-7.** `GET /wiki/search` отвечает `{"results": [...]}`, а не голым списком: все ответы хаба — объекты (`{"pages": …}` + у `tree`), план и клиенты (MCP, веб) строятся на этом. Спека `wiki` исправлена. Цена ошибки: правка формата ответа и + клиентов. diff --git a/openspec/changes/wiki-module/specs/wiki/spec.md b/openspec/changes/wiki-module/specs/wiki/spec.md index 307a82d..6ad79c9 100644 --- a/openspec/changes/wiki-module/specs/wiki/spec.md +++ b/openspec/changes/wiki-module/specs/wiki/spec.md @@ -137,7 +137,7 @@ SHALL проверить, что файл есть в `files/` и размер - `GET /wiki/tree?project=` — список `{code, title, depth, parent_code, size}` в порядке обхода; - `GET /wiki/pages/{code}?project=` — `{code, title, path, url, synced_at, markdown, attachments: [{id, name, state, size}]}`; страницы нет в копии — 404; -- `GET /wiki/search?project=&q=&limit=` (`limit` 1–50, по умолчанию 10) — `[{code, title, path, snippet}]` по +- `GET /wiki/search?project=&q=&limit=` (`limit` 1–50, по умолчанию 10) — `{"results": [{code, title, path, snippet}]}` по убыванию релевантности; слова запроса ищутся по префиксу, пустой запрос — 422; - `POST /wiki/sync {project, author?}` → 201 `{batch_id}` (409 — см. «Синхронизация вики»); - маршруты вложений — см. «Вложения вики по запросу».