docs(openspec): wiki-module — решения Task 3, R-2 по спеке (#91)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
c9688c036b
commit
04e67d5139
@ -457,9 +457,9 @@ jira безвреден.
|
||||
18. **R-1.** 2026-10-24. Строки `agent_status` для `registry.agent_modules()` вставляются `INSERT OR IGNORE` при каждом
|
||||
`db.migrate`, а не только в `MIGRATIONS[6]`. Обоснование: wiki-агент появляется после схемы 7 (Task 5), иначе у него
|
||||
нет строки статуса. Цена ошибки: падение `claim` wiki; правка одного места.
|
||||
19. **R-2.** 2026-10-24. Ответ `POST /projects` несёт `batch_ids` (все пакеты `on_project_created`) и `batch_id` пакета
|
||||
модуля jira для совместимости; при расхождении со спекой `hub-api` верна спека. Цена ошибки: правка формата ответа
|
||||
и клиентов.
|
||||
19. **R-2.** 2026-10-24. Ответ `POST /projects` — по спеке `hub-api`: `{project, batch_id}`, `batch_id` — пакет первого
|
||||
модуля, вернувшего пакет; `batch_ids` в ответе POST не добавляем (исполнитель Task 3 добавил, ревью отклонило как
|
||||
лишнее). Цена ошибки: клиент не видит второй пакет без `GET /batches`.
|
||||
20. **R-3.** 2026-10-24. `test_core_has_no_module_terms` ищет `eva` по границе слова (`\beva\b`, `eva-agent`), а `wiki_`,
|
||||
`wiki/`, `DOC-` — подстрокой. Обоснование: подстрока `eva` даёт ложные срабатывания (`evaluate`, `level`). Цена
|
||||
ошибки: правка регулярки.
|
||||
@ -495,3 +495,18 @@ jira безвреден.
|
||||
код успел записать в корень более новый agent.py после частичной миграции, он потеряется (риск низкий).
|
||||
35. `registry.DEFAULT_AGENT = "jira"` — единственное место с умолчанием агента в ядре; `release.py` импортирует его
|
||||
оттуда. Цена ошибки: нет.
|
||||
|
||||
Решения исполнителя Task 3 (2026-10-24):
|
||||
|
||||
36. Миграция v7 убирает колонки досок `ALTER TABLE project DROP COLUMN`, а не пересозданием таблицы: при
|
||||
`foreign_keys=ON` `DROP TABLE project` ломается из-за дочерней `jira_project`. Нужен SQLite не ниже 3.35 (в
|
||||
окружении 3.51). Цена ошибки: на старом SQLite миграция падает; копия базы сделана до неё.
|
||||
37. `jira_projects.create(conn, label, name, board_id)` — точка создания проекта с доской для init, миграции v3 и тестов;
|
||||
доска проверяется раньше метки и названия. Цена ошибки: другое сообщение при одновременно плохих метке и доске.
|
||||
38. `POST /projects`: проверка ядра (`label`, `name`), затем полей модулей (неизвестное — 422 `<поле>: неизвестное
|
||||
поле`), затем 409 на дубль; модулям без своих полей в `on_project_created` передаётся пустой dict.
|
||||
39. `PATCH /projects/{label}`: проект проверяется (404) раньше полей; пустое тело — 200 с `batch_ids: []`; `author`
|
||||
необязателен (по умолчанию `api`).
|
||||
40. `HubClient.patch` добавлен в ядро (нужен тестам и `root_set`). Метка в адресе PATCH раскодируется `unquote`.
|
||||
41. `register_core_tools` создаёт инструмент `projects` внутри; функций `projects`/`project_create` в `core.mcp` больше
|
||||
нет, тесты берут их из `mcp._tool_manager` и `jmcp.project_create`.
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user