stage5: панель (CLI-дашборд) — проекты, cost, AGE-граф

This commit is contained in:
neo committed 2026-09-14 16:01:53 +05:00
1 parent 1ad84a2e56
commit d3f7124290
2 files changed
+251

No files matched your search

+28
View File
@@ -0,0 +1,28 @@
# Этап 5 — панель (дашборд смысла)
**Статус:** ✅ РЕАЛИЗОВАНО (2026-09-14)
**Цель:** единая сводка по атомам, версиям, каналам, доходу и графу.
## Запуск
```bash
python3 stage5/panel.py --all # всё: проекты + cost + граф
python3 stage5/panel.py --project rabota-ufa # только проект
python3 stage5/panel.py --graph # только граф (AGE)
```
## Что показывает
- **projects** — атомы по проектам (типы: claim/instruction/stat/qa), версии под каналы (web_article/telegram), активные каналы (newsletter/podcast/youtube).
- **cost** — стоимость запусков (`runs`, stage=embed) + доход по каналам (`publications.metrics.revenue`).
- **graph** — AGE-граф: вершины/рёбра (подсчёт из AGE), типы связей (duplicate), connected components (Union-Find из Postgres).
## Дизайн
- **Минимальная версия** — один Python-скрипт, без FastAPI/React (это отдельный V5).
- **Источник истины** — Postgres (atom_relations для связей/компонентов); AGE — только подсчёт вершин/рёбер (agtype не выводится в psql).
- **Идемпотентно** — только чтение, никаких записей.
## Ключевой факт
agtype-колонки AGE **не отображаются** в `psql`-выводе (известная проблема). Поэтому типы связей и connected components читаются из Postgres, а из AGE — только `count(*)` вершин/рёбер.