36 lines
2.9 KiB
Markdown
36 lines
2.9 KiB
Markdown
---
|
||
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-класс) |