fix(using-wiki): v2.1.0 — оп-лог автоматический (таблица logs, ратификация 2026-08-24), log-страница и ручной каталог убраны; каталог = entity_search (#983)
This commit is contained in:
BIN
dist/using-wiki.skill
vendored
BIN
dist/using-wiki.skill
vendored
Binary file not shown.
@@ -1,7 +1,7 @@
|
||||
---
|
||||
name: using-wiki
|
||||
author: ours
|
||||
version: 2.0.0
|
||||
version: 2.1.0
|
||||
description: >
|
||||
Policy skill for working with the project wiki in Mappa (Karpathy LLM Wiki
|
||||
pattern, channel = mappa-сущности, решения 14/15 спеки mappa). Use when the
|
||||
@@ -36,7 +36,9 @@ Body = frontmatter + markdown как есть (content-модель сохран
|
||||
|
||||
Файловый `.wiki/` в репозиториях — легаси: источник истины — сервис.
|
||||
Если вики проекта пуста (нет сущностей) — **ничего настраивать не надо**
|
||||
(setup-wiki умер): первый ingest сам создаёт `CLAUDE`, `index`, `log` (см. Ingest).
|
||||
(setup-wiki умер): первый ingest сам создаёт `CLAUDE` (+ опционально `index`);
|
||||
оп-лог вести не нужно — сервис пишет его в таблицу `logs` автоматически
|
||||
(решение 12, ратификация 2026-08-24).
|
||||
|
||||
## MCP-поверхность
|
||||
|
||||
@@ -76,7 +78,8 @@ Body = frontmatter + markdown как есть (content-модель сохран
|
||||
3. Только потом действуй.
|
||||
|
||||
Если `CLAUDE` нет — вики либо новая, либо неухоженная: не импровизируй
|
||||
структуру, создай `CLAUDE`/`index`/`log` при первом ingest (см. ниже).
|
||||
структуру, создай `CLAUDE` при первом ingest (см. ниже). Каталог — через
|
||||
`entity_search` (решение 1); `index`-страница опциональна (для ориентации).
|
||||
|
||||
## Три операции
|
||||
|
||||
@@ -91,9 +94,14 @@ Body = frontmatter + markdown как есть (content-модель сохран
|
||||
помечай явно** блоком `> **Противоречие:** источник A говорит X, источник B — Y`.
|
||||
Не затирай молча.
|
||||
- нет → создай (`wiki_create`).
|
||||
5. Обнови `index` (каталог: одна строка на страницу).
|
||||
6. Допиши одну строку в `log` (формат ниже).
|
||||
7. Отчитайся пользователю: что создано, что обновлено, какие противоречия.
|
||||
5. Обнови `index` (каталог: одна строка на страницу) — опционально; каталог
|
||||
по умолчанию — `entity_search` (решение 1).
|
||||
6. Отчитайся пользователю: что создано, что обновлено, какие противоречия.
|
||||
|
||||
**Оп-лог — автоматический.** Каждая write-операция уже пишется сервисом в
|
||||
таблицу `logs` (component=тип сущности, message=slug+operation; смотреть —
|
||||
`mcp__mappa__admin_logs`). Ручную `log`-страницу НЕ веди — это дубль,
|
||||
аудит-след живёт в сервисе (решение 12, ратификация 2026-08-24).
|
||||
|
||||
**Один ingest может затронуть 10–15 страниц. Это нормально — для того LLM и нужны.**
|
||||
|
||||
@@ -109,7 +117,8 @@ Body = frontmatter + markdown как есть (content-модель сохран
|
||||
3. **Компаундируй вики.** Если ответ — реальный синтез (сравнение, анализ,
|
||||
новая связь) — спроси пользователя: «Сохранить как страницу wiki?» Хорошие
|
||||
вопросы становятся страницами в `concepts/`.
|
||||
4. Допиши строку в `log`.
|
||||
|
||||
Оп-лог в query — автоматический (logs-таблица); строку вручную не дописывай.
|
||||
|
||||
### Lint — «проверь вики»
|
||||
|
||||
@@ -123,7 +132,7 @@ Body = frontmatter + markdown как есть (content-модель сохран
|
||||
- **Пустые/TODO-секции.**
|
||||
|
||||
Отчёт — панч-лист. Ничего не удаляй автоматически.
|
||||
Допиши строку в `log` с итогом.
|
||||
Оп-лог в lint — автоматический (logs-таблица); строку вручную не дописывай.
|
||||
|
||||
## Форматы страниц (ОБЯЗАТЕЛЬНО)
|
||||
|
||||
@@ -150,30 +159,28 @@ updated: 2026-08-24
|
||||
- `entities/<name>`, `concepts/<name>`, `packages/<name>`, `sources/<slug>`,
|
||||
`contradictions/<slug>`, `open-questions/<slug>`.
|
||||
|
||||
### `log` — append-only, grep-parseable
|
||||
### Оп-лог — таблица `logs`, не страница
|
||||
|
||||
Каждая запись **обязана** начинаться с:
|
||||
File-based `log.md` мёртв (решение 12/15, ратификация 2026-08-24). Сервис пишет
|
||||
оп-лог сам при каждой write-операции: `mcp__mappa__admin_logs` (фильтры
|
||||
level/since/component/entity, retention 14d). Ручную `log`-страницу не заводи,
|
||||
не дописывай, не парси.
|
||||
|
||||
```
|
||||
## [YYYY-MM-DD] <operation> | <short description>
|
||||
```
|
||||
### `index` — каталог через поиск
|
||||
|
||||
Операции: `ingest`, `query`, `lint`, `refactor`, `decision`, `init`.
|
||||
Парсится: `entity_search(q="## [", type="wiki", project=…)` по сущности `log`.
|
||||
|
||||
### `index`
|
||||
|
||||
Каталог, не нарратив. Одна строка на страницу: `- [Title](concepts/foo.md) — hook.`
|
||||
Секции по типам. Обновляется на каждом ingest.
|
||||
Каталог = `entity_search(q, type='wiki', project)` (решение 1). `index`-страница
|
||||
— опциональная опора для ориентации: одна строка на страницу
|
||||
`- [Title](concepts/foo.md) — hook.`, секции по типам. Обновляй только если
|
||||
страница уже существует; не плоди каталог-дубли.
|
||||
|
||||
## Quick reference
|
||||
|
||||
| Ситуация | Что трогаем |
|
||||
|---|---|
|
||||
| Ingest одного документа | `sources/<slug>` (новая) + 3–15 entities/concepts/packages + `index` + `log` |
|
||||
| Query | (чтение) + возможно новая страница + `log` |
|
||||
| Lint | (чтение) + `log` |
|
||||
| Новая вики проекта | первый ingest создаёт `CLAUDE`/`index`/`log` + контент |
|
||||
| Ingest одного документа | `sources/<slug>` (новая) + 3–15 entities/concepts/packages (+ опционально `index`) |
|
||||
| Query | (чтение) + возможно новая страница |
|
||||
| Lint | (чтение) |
|
||||
| Новая вики проекта | первый ingest создаёт `CLAUDE` (+ опционально `index`); оп-лог — автоматический |
|
||||
|
||||
## Частые ошибки
|
||||
|
||||
@@ -181,10 +188,11 @@ updated: 2026-08-24
|
||||
- **Дамп сырья в `sources/`.** Резюме — это резюме. Ссылайся на raw, не копируй.
|
||||
- **Молчаливые перезаписи.** Новый источник противоречит странице — пометь
|
||||
блоком `> **Противоречие:**`; не затирай.
|
||||
- **Нарративный `log`.** «Сегодня я добавил…» — неверно. Формат:
|
||||
`## [YYYY-MM-DD] ingest | <что>`.
|
||||
- **Нарративный оп-лог.** Не веди его руками: сервис пишет logs сам (admin.logs).
|
||||
«Сегодня я добавил…» — даже вручную писать не надо.
|
||||
- **Не-ASCII слаги.** Ломают grep и кросс-платформенность. Транслитерируй.
|
||||
- **Забытый `index`.** Страницы без записи в каталоге невидимы для будущих query.
|
||||
- **Забытый `index`.** Страницы без записи в каталоге невидимы для будущих query
|
||||
(если index-страница ведётся; дефолтный каталог — entity_search).
|
||||
- **Пропущенные противоречия в lint.** Ценность вики — в вскрытых напряжениях,
|
||||
а не в ложном консенсусе.
|
||||
- **Запись без лиза.** Wiki-мутации без `claim_token` → 422 busy; не пытайся
|
||||
|
||||
Reference in New Issue
Block a user