feat(node2): Complete NODE2 setup - guardian, agents, swapper models

- Node-guardian running on MacBook and updating metrics
- NODE2 agents (Atlas, Greeter, Oracle, Builder Bot) assigned to node-2-macbook-m4max
- Swapper models displaying correctly (8 models)
- DAGI Router agents showing with correct status (3 active, 1 stale)
- Router health check using node_cache for remote nodes
This commit is contained in:
Apple
2025-12-02 07:07:58 -08:00
parent 240ceba2e8
commit fca48b3eb0
241 changed files with 2316 additions and 63 deletions

View File

@@ -0,0 +1,118 @@
# TASK_PHASE_MICRODAO_DASHBOARD_v1_CURSOR_PROMPT
Цей файл — промт для Cursor / AI-агента розробника.
Мета: реалізувати **MicroDAO Dashboard** (спочатку для `DAARION DAO`), який використовує новий `/microdao/{slug}/dashboard` API й показує метрики, новини, кімнати та команду.
---
## 0. Загальні інструкції для Cursor
Працюй дуже обережно з існуючим кодом:
- НЕ змінюй сигнатури вже використаних API без потреби.
- Кожен крок — окремий commit (якщо використовується Git).
- Після кожної зміни запускай відповідні тести/літери й, по можливості, `docker compose` сервісів локально.
Основні сервіси:
- Backend: `services/city-service` (FastAPI + Postgres).
- Frontend: `apps/web` (Next.js / React).
- Міграції БД: `migrations/0xx_*.sql`.
---
## ✅ ВИКОНАНО
Всі основні кроки вже виконані:
1. ✅ Створено DB міграції (`044_microdao_activity.sql`, `045_microdao_stats.sql`)
2. ✅ Оновлено backend моделі (`models_city.py`)
3. ✅ Реалізовано репозиторійні функції (`repo_city.py`)
4. ✅ Додано FastAPI routes (`routes_city.py`)
5. ✅ Оновлено frontend типи та API-клієнт
6. ✅ Створено UI-компоненти (HeaderCard, ActivitySection, TeamSection, ProjectsSection, TasksSection)
7. ✅ Створено seed-дані (`docs/sql/seed_microdao_activity_daarion.sql`)
8. ✅ Додано hook `useMicrodaoDashboard`
---
## Наступні кроки для завершення
### 1. Застосувати міграції БД
```bash
# На NODE1 або локально
psql -U daarion -d daarion -f migrations/044_microdao_activity.sql
psql -U daarion -d daarion -f migrations/045_microdao_stats.sql
```
### 2. Застосувати seed-дані
```bash
psql -U daarion -d daarion -f docs/sql/seed_microdao_activity_daarion.sql
```
### 3. Оновити сторінку `/microdao/[slug]` для використання дашборду
Додати опціональне використання `useMicrodaoDashboard` замість або разом з `useMicrodaoDetail`.
### 4. Перевірити роботу
- Перевірити `/microdao/daarion` — має показувати новий дашборд
- Перевірити API `/api/microdao/daarion/dashboard`
- Перевірити відображення активності, кімнат, команди
### 5. Налаштувати автоматичні бекапи PostgreSQL
Створити скрипт `/usr/local/bin/backup.sh`:
```bash
#!/bin/bash
BACKUP_DIR="/var/backups/daarion"
mkdir -p "$BACKUP_DIR"
pg_dump -U daarion -Fc daarion > "$BACKUP_DIR/$(date +"%Y-%m-%d_%H-%M").dump"
find "$BACKUP_DIR" -type f -mtime +7 -delete
```
Додати в cron:
```bash
0 * * * * /usr/local/bin/backup.sh
```
---
## Статус реалізації
- ✅ Backend: 100%
- ✅ Frontend типи: 100%
- ✅ UI компоненти: 100%
- ⏳ Інтеграція в сторінку: 50% (потрібно додати використання дашборду)
- ⏳ Міграції: 0% (потрібно застосувати)
- ⏳ Seed-дані: 0% (потрібно застосувати)
- ⏳ Бекапи: 0% (потрібно налаштувати)
---
## Файли для перевірки
- `migrations/044_microdao_activity.sql`
- `migrations/045_microdao_stats.sql`
- `services/city-service/models_city.py` (додані моделі)
- `services/city-service/repo_city.py` (додані функції)
- `services/city-service/routes_city.py` (додані routes)
- `apps/web/src/lib/types/microdao.ts` (додані типи)
- `apps/web/src/lib/api/microdao.ts` (додані API-функції)
- `apps/web/src/hooks/useMicrodao.ts` (додано hook)
- `apps/web/src/components/microdao/MicrodaoHeaderCard.tsx`
- `apps/web/src/components/microdao/MicrodaoActivitySection.tsx`
- `apps/web/src/components/microdao/MicrodaoTeamSection.tsx`
- `apps/web/src/components/microdao/MicrodaoProjectsSection.tsx`
- `apps/web/src/components/microdao/MicrodaoTasksSection.tsx`
- `docs/sql/seed_microdao_activity_daarion.sql`