Визуализация и CLI¶
reactifact.viz рендерит систему в Mermaid. Рисовать граф исполнения нечего —
runtime выводит исполнение из изменений состояния, — поэтому две честные
диаграммы: статическая карта и живое состояние:
| Функция | Что рисует |
|---|---|
blueprint(agents) |
статическая карта: типы артефактов = ноды, агенты = рёбра (Consume / creates / lifecycle) |
context_to_mermaid(context) |
живой граф провенанса: артефакты сгруппированы по типам, связи patch.link |
trace_to_mermaid(trace) |
один запуск как sequenceDiagram: спаны по времени, записи/чтения, LLM-вызовы |
trace_provenance_to_mermaid(trace) |
граф доказательств запуска: записанные артефакты как ноды, рёбра patch.link (§34, §54) |
Все три — чистые функции, возвращающие строку, без зависимостей: вставляйте вывод в GitHub, Notion или mermaid.live.
CLI¶
python -m reactifact graph examples.knowledge.agents # все агенты модуля
python -m reactifact graph examples.knowledge.agents:Planner # один агент
python -m reactifact context examples/knowledge/sessions/sessions.sqlite3
python -m reactifact trace traces.db [run_id]
graphинстансирует каждый подклассAgent, определённый в модуле (или один черезmodule:Attr), и печатает blueprint.contextчитает сохранённую сессию из KV-бэкенда (директория файлов или SQLite) и печатает её граф провенанса;--sessionвыбирает сессию,--limitограничивает число артефактов.traceчитает запуск из базыTraceStore(по умолчанию — последний запуск).
В дашборде¶
Страница запуска (/traces/<run_id>) рендерит диаграмму трассы вживую через
Mermaid, с кнопкой copy и исходником в раскрывающемся <pre>; если браузер
офлайн (нет Mermaid JS) — показывается текст исходника.