База знаний

Накопленный опыт проекта: вердикты гипотез, инсайты из 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 рабочего отчёта при автовливании.

Как человек работает в интерфейсе

  1. На панели инструментов рабочей области — кнопка Knowledge («База знаний»).
  2. Модальное окно: вкладка База — дашборд (счётчики подтверждено / опровергнуто / открыто, число инсайтов, документов, отчётов; полоса по вердиктам; карточки гипотез с инсайтами и ссылкой на отчёт; плитки документов; хвост журнала).
  3. Клик по документу или отчёту открывает Markdown в том же окне (хлебные крошки назад к дашборду).
  4. Вкладка Журнал пополнений — полный KNOWLEDGE_LOG.md (что и когда записалось).
  5. Файлами: начать с 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.