База знаний
Накопленный опыт проекта: вердикты гипотез, инсайты из done-карточек и курируемые заметки. Часть файлов собирается правилами из project.md и research.json; глубокие обзоры пишет человек или агент в knowledge/.

Как работает
Цель — не открывать заново то, что уже проверили: новый человек или агент видит, какие гипотезы закрыты, какие выводы сняты с отчётов, какие темы разобраны вручную.
Два слоя:
| Слой | Где | Кто пишет |
|---|---|---|
| Автоген | KNOWLEDGE.md, knowledge/hypotheses.md, KNOWLEDGE_LOG.md |
модуль koi/knowledge/ при сохранении проекта |
| Курируемый | knowledge/<тема>.md (кроме hypotheses.md) |
человек или сценарий куратора |
Источник правды для автогена: дерево и вердикты в project.md, инсайты в research.json (обычно ≤3 на метод: вопрос, краткий ответ, рассказ для интерфейса, уверенность, важность 1–5, ссылка на карточку). Отчёты — в reports/.
Канонические пути: tree/<repo>/koi-structure/ (ветка koi/research). В старых текстах встречается projects/<id>/ — тот же смысл mount’а.
Автоген не правят руками — перезапишется. Новый .md в knowledge/ попадает в оглавление при следующем сохранении или запросе БЗ.
Инсайт появляется, когда карточку разобрали после колонки «готово» (сценарий done-research или ingest отчёта). Вердикт причины может обновиться из §5 рабочего отчёта при автовливании.
Как человек работает в интерфейсе
- На панели инструментов рабочей области — кнопка Knowledge («База знаний»).
- Модальное окно: вкладка База — дашборд (счётчики подтверждено / опровергнуто / открыто, число инсайтов, документов, отчётов; полоса по вердиктам; карточки гипотез с инсайтами и ссылкой на отчёт; плитки документов; хвост журнала).
- Клик по документу или отчёту открывает Markdown в том же окне (хлебные крошки назад к дашборду).
- Вкладка Журнал пополнений — полный
KNOWLEDGE_LOG.md(что и когда записалось). - Файлами: начать с
KNOWLEDGE.mdи идти по ссылкам; курируемые темы править только в своихknowledge/*.md.
Research Chat опирается на ту же иерархию знаний (отдельная страница каталога) — не на «весь репозиторий подряд».
Какие сценарии для агента подключаются
| Сценарий (skill) | Роль относительно БЗ |
|---|---|
koi-done-research |
После «готово»: формулирует инсайт в research.json (question / answer / narrative, certainty, importance). Триггер автогена при сохранении. |
koi-knowledge-curator |
Кросс-разбор нескольких экспериментов → курируемый knowledge/<тема>.md (связки, противоречия, пределы, открытые вопросы). Автоген не трогает. |
koi-report-review / ingest |
Рабочий отчёт .run.md с §5 может влиться в вердикт + инсайты + колонку done (report_ingest). |
koi-prose-style |
question и narrative, тексты курируемых заметок — для человека, без AI-штампов. |
koi-agent-chat |
Чат по проекту читает накопленные выводы, а не сырой проход по всем файлам подряд. |
Как устроено технически
Файлы
koi-structure/
project.md
research.json
reports/… (+ index.json)
KNOWLEDGE.md ← оглавление [генерируется]
KNOWLEDGE_LOG.md ← журнал [генерируется]
knowledge/
hypotheses.md ← [генерируется]
.state.json ← снимок для diff журнала
NN-тема.md ← курируемые
Пересборка: хук при save_project / запросе знаний. Diff журнала против knowledge/.state.json — пустые пересборки записей не плодят.
API и UI
GET /projects/{id}/knowledge— оглавление Markdown (может пересобрать);GET /projects/{id}/knowledge/summary— JSON для дашборда;GET /projects/{id}/knowledge/log— журнал;GET /projects/{id}/knowledge/file?path=…— файл;- ассеты картинок из knowledge — отдельный URL в клиенте.
Клиент: кнопка #btn-knowledge, модалка и дашборд в web/app.js (knowledgeState, summary → чипы и карточки гипотез). Модуль ядра: пакет koi/knowledge/.
Связь с остальным
- Канбан даёт done-карточки и отчёты; БЗ не хранит колонки.
- Дерево даёт вердикты причин; инсайты висят на методе через
method_id. - Hub показывает снимок тех же файлов только для чтения.
Связанные страницы
Текст: content/knowledge.md. Медиа: media/knowledge-hero.*. Подробный пользовательский гайд также в docs/human/knowledge-base.md.