chore(bootstrap-v2): canon-блок + толстый кэш .mappa/share в .admin (methodology/kzntsv)

This commit is contained in:
2026-09-03 00:30:47 +03:00
parent 6d29949d55
commit fd50916851
12 changed files with 374 additions and 0 deletions

View File

@@ -0,0 +1,36 @@
---
title: Runbook — search и graph
summary: Поиск в mappa: карточный search/entity_search/wiki_search (без тел), правила К1К4 (поиск до угадывания), граф (path/neighbors/backlinks/stats) для реляционных вопросов. Источник: brainstorm:173.
type: runbook
tags: [mappa, runbook, search, graph, agent]
---
# Runbook: search / graph
## Карточный поиск (без полных тел)
- `search(q, types?, scope?, project?, tags?, sort?)` — по всем типам.
- `entity_search(q, type, scope?, project?)` — по типу (напр. type=task/wiki/brainstorm).
- `wiki_search(q, scope, project)` — только вики (карточки с summary).
- Результат — pointer-карточки {ref, type, project, slug, snippet, related}; полное тело — entity_get/wiki_get. Не тащить тела в контекст поиском.
## К1К4: поиск ДО угадывания (Г3)
1. **Не угадывать slug/роут по названию темы.** Неизвестный slug → search/wiki_search сначала → wiki_get по найденному. Пустой поиск → спросить человека (страницы может не быть).
2. **Скоуп**: project-страница через wiki_get без project = 404; не знаешь проект → search(scope='all') → project из карточки.
3. **Префиксы каталога**: concepts/, canon/, methodology/, runbooks/, docs/ — не перебирать, искать.
4. **Адресация**: num | type:N | uuid; не route-guessing; internal/registry id ≠ public ref.
## Граф (реляционные вопросы — НЕ чтением)
| Вопрос | Тул |
|---|---|
| «что связывает X и Y» / путь | graph_path(from, to) |
| соседи / исходящие | graph_neighbors(id) |
| кто ссылается / backlinks | graph_backlinks(id) |
| здоровье (сироты/битые) | graph_stats() + graph_backlinks |
| дерево parent_of | graph_tree(root) |
Precondition: граф реально связан (graph_stats: edges≈0 → пусто, отвечай чтением). Пустой path = связи нет — так и сказать, не выдумывать цепочку по текстовой близости.
## Рост графа (запись рёбер)
Рёбра создаются при записи refs (`[[...]]`) в теле. Канон рефов: [[wiki:slug]] по слагу, [[task:N]]/[[brainstorm:N]] по рефу; без плейсхолдеров/диапазонов/кириллицы/алиасов. Сироты/битые в своих страницах — чинить (Д2/Д3).
## Связано
[[runbooks/index]] · [[canon/gates]] (Г3) · [[runbooks/wiki]] · brainstorm:173 · [[concepts/telemetry]] (wiki:3256, 404-класс)