Files
content-atom/stage5/README.md
T

1.8 KiB

Этап 5 — панель (дашборд смысла)

Статус: ✅ РЕАЛИЗОВАНО (2026-09-14) Цель: единая сводка по атомам, версиям, каналам, доходу и графу.

Запуск

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(*) вершин/рёбер.