From dc2cd0e522d090b3788ea025e90c73c60dde10b9 Mon Sep 17 00:00:00 2001 From: vitya Date: Tue, 25 Aug 2026 11:05:32 +0300 Subject: [PATCH] =?UTF-8?q?fix(skills):=20mappa-brainstorm-promote=201.6.0?= =?UTF-8?q?=20=E2=80=94=20review=20findings=20(#1052):=20brainstorm=5Fupda?= =?UTF-8?q?te=20=D0=B4=D0=BB=D1=8F=20summary,=20=D0=BF=D0=BE=D1=80=D1=8F?= =?UTF-8?q?=D0=B4=D0=BE=D0=BA=20=D0=B2=D0=B0=D0=BB=D0=B8=D0=B4=D0=B0=D1=86?= =?UTF-8?q?=D0=B8=D0=B8,=20failure=20modes=20(entity=5Fsearch/inbox=5Fsend?= =?UTF-8?q?),=20admin=5Fstatus=20=D1=83=D0=B1=D1=80=D0=B0=D0=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dist/mappa-brainstorm-promote.skill | Bin 5613 -> 5807 bytes skills/mappa-brainstorm-promote/SKILL.md | 22 +++++++++++++++------- 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/dist/mappa-brainstorm-promote.skill b/dist/mappa-brainstorm-promote.skill index 7d891e42c82e98dc227f933c927da6e1552d20a5..5b1d6f6b66e7b041540fd1e216e037d2c93578db 100644 GIT binary patch delta 5755 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 delta 5560 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. Если нет — abort с + сообщением. 4. **Если target = skill (пользователь хочет оформить как скил):** - Спросить `` нового скила (если не указан) — валидный slug (`[a-z0-9-]+`). - - Валидация: `~/projects/skills/skills//` НЕ должна существовать. + - Валидация (порядок важен): сначала проверить, что `~/projects/skills/` + сам репозиторий существует. Если нет — **abort** с сообщением «клонируй + skills через update-skills или вручную». + - Затем: `~/projects/skills/skills//` НЕ должна существовать. Если существует — **abort** с сообщением «скил `` уже существует, обновляйся обычным маршрутом в `~/projects/skills/`, этот скил не для апдейтов». - - Валидация: `~/projects/skills/` сам репозиторий существует. Если нет — - abort с сообщением «клонируй skills через update-skills или вручную». - Двухпроходной каркас: диалог по `description` (триггер-контракт активации: минимум 2-3 фразы, пары русский/английский; что делает; антипаттерны) → preview + confirm → `Write` каркаса (шапка + 6 пустых секций) → локальный @@ -125,7 +127,8 @@ brainstorm-сущность в mappa (type=brainstorm, status=buffer) `brainstorm.promoted`. - **Frontmatter-summary (wiki:2661):** убедиться, что в теле буфера есть `summary:` одной строкой в frontmatter — карточки `wiki.search` читают его. - Если нет — дописать перед промоутом. + Если нет — дописать через `mcp__mappa__brainstorm_update` (PATCH + /brainstorm/:id, title/body/status, optimistic version+409) перед промоутом. - Повторный промоут архивированного буфера → ошибка (one-shot, идемпотентно через статус). Сверить `brainstorm_id` (internal) из шага 1. - Если `brainstorm_promote` упал (конфликт версии, 409) → retry со свежим @@ -189,6 +192,8 @@ brainstorm-сущность в mappa (type=brainstorm, status=buffer) - Буфер не найден в mappa (нет brainstorm-сущности) → abort, сообщить: создать через `brainstorm_create` (шаг 1) или HTTP POST /entities. +- `entity_search`/`entity_get` упал (API-ошибка, не пустой результат) → abort + с текстом ошибки; не создавать буфер по догадке. - Target-проект не существует в mappa → abort до промоута. - `brainstorm_promote` упал (409 версия / стабильный отказ) → retry со свежим internal id; при повторном отказе — abort до создания тасок. Буфер остаётся @@ -199,6 +204,9 @@ brainstorm-сущность в mappa (type=brainstorm, status=buffer) partial. Промоут уже сделан — буфер не откатывается. - `task_create` review-umbrella упал → не блокировать, сообщить пользователю (создать вручную из шага 8). +- `inbox_send` (covering-письмо) упал → промоут и таски не откатываются; + сообщить пользователю, письмо можно отправить позже (промоут уже виден + в графе/инбоксе цели). - **Skill:** `~/projects/skills/` не существует → abort. - **Skill:** `~/projects/skills/skills//` уже существует → abort. - **Skill:** пользователь не подтвердил preview → abort, состояние не меняется.