# 📚 MASTER INDEX — MicroDAO / DAARION / DAGI

**Оновлено:** 2026-02-11  
**Призначення:** Єдина точка входу до всієї документації проекту

---

## Session Start (Canonical)

- Старт кожної нової сесії: `docs/SESSION_STARTER.md`
- Консолідація та маркування старих/нових/фактичних доків: `docs/consolidation/README.md`
- Керований список ключових документів і статусів: `docs/consolidation/docs_registry_curated.csv`

---

## 🗂️ Де що лежить

### Основні репозиторії

| Репо | Шлях на ноутбуку | Призначення |
|------|------------------|-------------|
| **microdao-daarion** (PRODUCTION) | `/Users/apple/github-projects/microdao-daarion/` | Основний код, docker-compose, gateway-bot |
| MicroDAO 3 (старий) | `/Users/apple/Desktop/MicroDAO/MicroDAO 3/` | Попередня версія, деякі промпти |
| daarion-ai-city | `/Users/apple/github-projects/daarion-ai-city/` | Сайт DAARION.city |
| node2 (допоміжний) | `/Users/apple/node2/` | Допоміжна документація |

### NODA1 (Production Server)

| Параметр | Значення |
|----------|----------|
| **IP** | `144.76.224.179` |
| **IPv6** | `2a01:4f8:201:2a6::2` |
| **SSH** | `ssh root@144.76.224.179` |
| **Project Root** | `/opt/microdao-daarion/` |
| **Docker Network** | `dagi-network` |
| **Hardware** | Hetzner GEX44, NVIDIA RTX 4000 SFF Ada (20GB VRAM) |


### NODA1 Sync Policy (Repo ↔ Runtime)

**Канонічна правда:** GitHub `origin/main`.

На NODA1:
- `/opt/microdao-daarion` — **єдиний deploy root** (канон runtime).
- `/root/microdao-daarion` не використовується як runtime tree.
- Перед/після змін запускати `ops/drift-check.sh` (контроль дріфту mount/labels).

**Safe deploy runbook:** `NODA1-SAFE-DEPLOY.md`

**Runtime snapshot:** `scripts/node1/snapshot_node1.sh`
### Агент НОДА1 (Cursor)

**Де створено:** Агент налаштований у проєкті `/Users/apple/github-projects/microdao-daarion/`, а **не** в `Desktop/MicroDAO` або `node1`. Тому раніше він не знаходився.

| Що | Де |
|----|-----|
| **Cursor Rule** | `.cursor/rules/noda1-operations.mdc` |
| **Cursor Skill** | `.cursor/skills/noda1-operations/SKILL.md` |
| **Credentials** (локально, не в git) | `.cursor/noda1-credentials.local.mdc` |

**Як запустити:** «Підключись до НОДА1» — правило/skill описують SSH та операції на сервері.

**Host key (для верифікації):**
- RSA 3072: `OzbVMM7CC4SatdE2CSoxh5qgJdCyYO22MLjchXXBIro`
- ECDSA 256: `YPQUigtDm3HiEp4MYYeREE+M3ig/2CrZXy2ozr4OWQw`
- ED25519 256: `79LG0tKQ1B1DsdVZ/BhLYSX2v08eCWqqWihHtn+Y8FU`

### NODA2 (Development Node)

| Параметр | Значення |
|----------|----------|
| **Тип** | MacBook Pro M4 Max |
| **GPU** | Apple Silicon (40-core GPU, 64GB RAM) |
| **Project Root** | `/Users/apple/github-projects/microdao-daarion/` |
| **Ollama URL** | `http://localhost:11434` |
| **Metal Acceleration** | ✅ Enabled |

**LLM Моделі (Ollama):**
- `gpt-oss:latest` (13 GB) - Fast LLM 20.9B params
- `phi3:latest` (2.2 GB) - Lightweight 3.8B params
- `starcoder2:3b` (1.7 GB) - Code specialist
- `mistral-nemo:12b` (7.1 GB) - Advanced reasoning
- `gemma2:27b` (15 GB) - Strategic reasoning
- `deepseek-coder:33b` (18 GB) - Advanced code
- `qwen2.5-coder:32b` (19 GB) - Code specialist
- `deepseek-r1:70b` (42 GB) - Strategic reasoning

**Config:** `services/swapper-service/config/swapper_config_node2.yaml`

### NODA3 (AI/ML Workstation)

| Параметр | Значення |
|----------|----------|
| **IP** | `212.8.58.133` |
| **SSH** | `ssh zevs@212.8.58.133 -p33147` |
| **Hostname** | `llm80-che-1-1` |
| **CPU** | AMD Threadripper PRO |
| **GPU** | NVIDIA GeForce RTX 3090 (24GB VRAM) |
| **RAM** | 128GB |
| **Storage** | 1TB NVMe (374GB used, 593GB available) |
| **Project Root** | `/home/zevs/microdao-daarion/` |
| **Node ID** | `node-3-threadripper-rtx3090` |

**Запущені сервіси (Docker):**
- `swapper-service-node3` (✅ healthy) - порти 8890-8891
- `dagi-router-node3` (⚠️ unhealthy) - порт 9102
- `postgres-daarion` - порт 5432
- `neo4j-daarion` - порти 7474, 7687
- `qdrant-daarion` - порти 6333-6334
- `gitlab` - порти 8922, 8929, 8443

**LLM Моделі (Ollama):**
- `qwen3:32b` (20 GB) - Primary LLM, 32B params
- `llama3:latest` (4.7 GB) - Fast responses

**ComfyUI:**
- **Path:** `/home/zevs/ComfyUI/`
- **Size:** 5.8 GB
- **Port:** 8188
- **Status:** Встановлено (запускається вручну)
- **Purpose:** Image/Video generation workflows

**LTX-2 Video Generation Model:**
- **Path:** `/home/zevs/models/LTX-2/`
- **Size:** 293 GB (!)
- **Type:** Diffusion audio-video foundation model
- **Model:** LTX-2 19B parameters
- **Variants:**
  - `ltx-2-19b-distilled.safetensors` (full precision)
  - `ltx-2-19b-distilled-fp8.safetensors` (quantized)
- **Capabilities:** Text-to-Video, Image-to-Video
- **Languages:** en, de, es, fr, ja, ko, zh, it, pt
- **License:** LTX-2 Community License
- **ArXiv:** 2601.03233

**Config:** `services/swapper-service/config/swapper_config_node3.yaml`

---

## 🎯 AGENT REGISTRY (Single Source of Truth)

**Дата впровадження:** 2026-01-29

### Canonical Source

```
config/agent_registry.yml  ←── ЄДИНЕ ДЖЕРЕЛО ІСТИНИ
         │
         │  python3 tools/agents generate
         ▼
┌────────────────────────────────────────────────────────┐
│ Generated configs (НЕ редагувати вручну!)              │
│                                                        │
│ • gateway-bot/agent_registry.json  → Gateway          │
│ • config/router_agents.json        → Router           │
│ • config/crewai_agents.json        → CrewAI           │
└────────────────────────────────────────────────────────┘
```

### CLI інструменти

```bash
python3 tools/agents list      # Список агентів
python3 tools/agents validate  # Валідація (для CI)
python3 tools/agents generate  # Генерація конфігів
python3 tools/agents smoke --id <agent_id>  # Smoke test
```

---

## 🤖 Агенти (повний перелік)

### TOP-LEVEL (User-facing, 13 agents)

| Агент | ID | Роль | Telegram | Visibility |
|-------|-----|------|----------|------------|
| **DAARWIZZ** | daarwizz | Meta-Orchestrator & Digital Mayor | public | public |
| **Helion** | helion | Energy Research Lead (Energy Union) | public | public |
| **Aletheia** | alateya | Interdisciplinary Research & Lab OS | public | public |
| **DRUID** | druid | **Ayurveda & Cosmetics R&D** | public | public |
| **NUTRA** | nutra | Nutraceutical Research | public | public |
| **Степан Матрікс** | agromatrix | AgroMatrix Platform | public | public |
| **GREENFOOD** | greenfood | AI-ERP for Craft Food | public | public |
| **CLAN** | clan | Spirit of Community | public | public |
| **EONARCH** | eonarch | Consciousness Evolution Guide | public | public |
| **YAROMIR** | yaromir | Private Tech Lead | whitelist | private |
| **SOUL** | soul | Spiritual Mentor | public | public |
| **SENPAI** | senpai | Trading Advisor & Capital Markets | public | public |
| **SOFIIA** | sofiia | Chief AI Architect | public | public |

### INTERNAL (Service agents, 2 agents)

| Агент | ID | Роль | Scope |
|-------|-----|------|-------|
| **MONITOR** | monitor | Node Observability & Alerts | node_local |
| **DevTools** | devtools | Development Tools | global |

**NODA1 runtime (verified 2026-02-11):** 15 active agents = 13 user-facing + 2 internal (`monitor`, `devtools`).
**Canonical registry in repo:** 16 agents (додатково `comfy` як internal, поза user-facing health на NODA1).

**Webhook URL формат:** `https://gateway.daarion.city/{agent_id}/telegram/webhook`

---

## 📁 Ключові документи

### Архітектура та інфраструктура

| Документ | Шлях | Опис |
|----------|------|------|
| **NODA1-AGENT-ARCHITECTURE.md** | `docs/` | **Повна схема підключення агентів** |
| **NODA1-SAFE-DEPLOY.md** | `/` | Canonical деплой-процес для NODA1 |
| **ops/README.md** | `ops/` | Операційний runbook (up/down/logs/drift-check/policy) |
| **agent_registry.yml** | `config/` | **Canonical Source of Truth для агентів** |
| **README.md (config)** | `config/` | Як додавати нових агентів |
| INFRASTRUCTURE.md | `docs/` | Порти, сервіси, конфігурація |
| infrastructure_quick_ref.ipynb | `docs/` | Швидка довідка |
| NODA1-CURRENT-STATUS-2026-01-26.md | `/` | Поточний статус NODA1 |
| NODA1-V2-DEPLOYMENT.md | `/` | Детальний deployment report |

### Memory та Qdrant

| Документ | Шлях | Опис |
|----------|------|------|
| canonical_collections.yaml | `/github-projects/microdao-daarion/docs/memory/` | Маппінг колекцій агентів |
| MEMORY-RECOVERY-STATUS.md | `/github-projects/microdao-daarion/` | Статус відновлення пам'яті |
| DATABASE-PERSISTENCE-AUDIT.md | `/github-projects/microdao-daarion/` | Аудит БД |

### Deployment та Operations

| Документ | Шлях | Опис |
|----------|------|------|
| docker-compose.node1.yml | `/github-projects/microdao-daarion/` | Docker Compose для NODA1 |
| DEPLOYMENT-COMPLETE-REPORT.md | `/github-projects/microdao-daarion/` | Звіт deployment |
| TELEGRAM-RECOVERY-AND-MONITORING-COMPLETE.md | `/github-projects/microdao-daarion/` | Telegram моніторинг |

---

## 🔌 Сервіси та порти (NODA1)

| Сервіс | Порт | Health Endpoint |
|--------|------|-----------------|
| **Router** | 9102 | `/health` |
| **Gateway** | 9300 | `/health` |
| **Memory Service** | 8000 | `/health` |
| **RAG Service** | 9500 | `/health` |
| **Swapper Service** | 8890 | `/health` |
| **Qdrant** | 6333 | `/healthz` |
| **Vision Encoder** | 8001 | `/health` |
| **Parser Pipeline** | 8101 | `/health` |
| **PostgreSQL** | 5432 | - |
| **Redis** | 6379 | - |
| **NATS** | 4222 | - |
| **Grafana** | 3030 | `/api/health` |
| **Prometheus** | 9090 | `/-/healthy` |
| **Market Data Service** | 8893 | `/health` |
| **SenpAI MD Consumer** | 8892 | `/health` |

---

## 💾 Qdrant Collections (агенти)

| Collection | Призначення |
|------------|-------------|
| `helion_messages` | Повідомлення Helion |
| `helion_docs` | База знань Helion |
| `helion_memory_items` | Пам'ять Helion |
| `nutra_messages` | Повідомлення NUTRA |
| `nutra_food_knowledge` | База харчових продуктів |
| `agromatrix_messages` | Повідомлення AgroMatrix |
| `greenfood_messages` | Повідомлення GreenFood |
| `druid_docs` | База знань Druid |
| `druid_legal_kb` | Юридична база Druid |
| `daarwizz_docs` | База знань DAARWIZZ |
| `memories` | Загальна пам'ять |
| `messages` | Історія повідомлень |
| `cm_text_1024_v1` | Канонічна колекція embeddings |

---

## 🛠️ Зміни 2026-02-10

### ✅ Infrastructure Documentation Update

**Що зроблено:**

1. **Додано повну документацію NODA2 (Development Node):**
   - MacBook Pro M4 Max конфігурація
   - 8 LLM моделей Ollama (gpt-oss, phi3, deepseek-coder, etc.)
   - Swapper config для NODE2

2. **Додано повну документацію NODA3 (AI/ML Workstation):**
   - Hardware: AMD Threadripper PRO + RTX 3090 24GB
   - SSH: `zevs@212.8.58.133 -p33147`
   - Docker сервіси: swapper, router, postgres, neo4j, qdrant, gitlab
   - LLM моделі: qwen3:32b (20GB), llama3:latest (4.7GB)
   - **ComfyUI** (5.8 GB) - Image/Video generation на порту 8188
   - **LTX-2 Video Model** (293 GB!) - Text-to-Video, Image-to-Video generation
   - Swapper config для NODE3

3. **Виправлено розбіжності між документацією та реальним стеком:**
   - Оновлено реальні моделі замість документованих
   - Додано інформацію про ComfyUI та LTX-2

---

## 🛠️ Зміни 2026-02-11

### ✅ NODA1 Runtime Alignment + Routing Fixes

1. **Deployment drift fixed**
   - Єдиний deploy root: `/opt/microdao-daarion`
   - `drift-check` активний; runtime mounts/labels вирівняні

2. **Router policy stabilized**
   - `monitor` і `devtools` за замовчуванням ідуть у local (`swapper+ollama`, `qwen3-8b`)
   - `devtools` має умовний cloud fallback (`deepseek-cloud`) для heavy task types

3. **Memory service schema drift fixed**
   - `GET /stats` повертає `200` (раніше було `500` через відсутні таблиці)

4. **Senpai market-data stack confirmed**
   - `senpai-md-consumer` healthy, NATS connected, features/signals counters зростають

5. **AgroMatrix live check**
   - Router infer `200` (backend: `deepseek-cloud`)
   - Колекції: `agromatrix_messages=359`, `agromatrix_docs=327`, `agromatrix_memory_items=0`
   - Facts у Postgres: `264`

---

## 🛠️ Зміни 2026-02-09

### ✅ SenpAI Market Data Integration

**Що зроблено:**

1. **Market Data Pipeline deployed на NODE1:**
   - `dagi-market-data-node1` (порт 8893) — Binance + Bybit WS, SQLite, NATS
   - `dagi-senpai-md-consumer-node1` (порт 8892) — features, signals, alerts

2. **Tool `market_data` інтегровано в Router:**
   - Файл: `services/router/tool_manager.py` — новий tool PRIORITY 7
   - Файл: `services/router/agent_tools_config.py` — Senpai має `["market_data"]`
   - Senpai може запитувати real-time ціни та аналітику через tool call

3. **Промпт Senpai оновлено:**
   - Файл: `gateway-bot/senpai_prompt.txt`
   - Додано опис `market_data` tool з прикладами використання
   - Змінено порядок пошуку: market_data → web_search → memory_search

4. **SOWA:** працює штатно — в груповому чаті потрібно звертатись по імені ("Сенпай", "Gordon", "@SenpAI_agent_bot")

---

## 🛠️ Зміни 2026-01-29

### ✅ UNIFIED AGENT REGISTRY (Major Update)

**Commits:**
- `1c80cef` - feat: Unified Agent Registry - Single Source of Truth
- `c627d8c` - feat: Agent Registry runtime integration on NODA1

**Що зроблено:**

1. **Canonical Source of Truth** (`config/agent_registry.yml`)
   - 13 агентів (11 top-level + 2 internal)
   - Єдине місце для всіх конфігурацій
   - Feature flag `AGENT_REGISTRY_ENABLED=true`

2. **CLI інструменти** (`tools/agents`)
   - `list` - список агентів
   - `validate` - валідація для CI
   - `generate` - генерація конфігів
   - `smoke --id <agent>` - smoke test

3. **Runtime інтеграція:**
   - Gateway: `registry_loader.py` → `agent_registry.json`
   - Router: `registry_loader.py` → `router_agents.json`
   - CrewAI: `registry_loader.py` → `crewai_agents.json`

4. **Нові агенти:**
   - **YAROMIR** - Private Tech Lead (whitelist access)
   - **SOUL** - Spiritual Mentor

5. **Виправлені ролі:**
   - **DRUID** → Ayurveda & Cosmetics R&D (не "Knowledge Search")
   - **CLAN** → Spirit of Community (не "Community Manager")

6. **Документація:**
   - `docs/NODA1-AGENT-ARCHITECTURE.md` - повна схема
   - `config/README.md` - як додавати агентів

### Як додати нового агента

```bash
# 1. Редагувати registry
nano config/agent_registry.yml

# 2. Створити prompt файл
touch gateway-bot/new_agent_prompt.txt

# 3. Валідувати
python3 tools/agents validate

# 4. Згенерувати конфіги
python3 tools/agents generate

# 5. Smoke test
python3 tools/agents smoke --id new_agent

# 6. Restart gateway
docker restart dagi-gateway-node1
```

---

## 🛠️ Зміни 2026-01-28

### Додано нових агентів

1. **Alateya** — R&D, біотех, інновації (з CrewAI командою "професорів")
2. **CLAN (Spirit)** — Дух Общини
3. **EONARCH** — Еволюція свідомості

---

## 📋 Швидкі команди

### Перевірка статусу NODA1
```bash
ssh root@144.76.224.179 "docker ps --format 'table {{.Names}}\t{{.Status}}'"
```

### Логи gateway
```bash
ssh root@144.76.224.179 "docker logs dagi-gateway-node1 --tail 50"
```

### Health checks
```bash
curl http://144.76.224.179:9102/health  # Router
curl http://144.76.224.179:9300/health  # Gateway
curl http://144.76.224.179:8000/health  # Memory
curl http://144.76.224.179:6333/healthz # Qdrant
curl http://144.76.224.179:8000/stats   # Memory stats
```

### Агентний smoke (Router infer API v2)
```bash
curl -sS -H "Content-Type: application/json" \
  -d '{"prompt":"ping","max_tokens":16,"temperature":0,"metadata":{"agent_id":"agromatrix"}}' \
  http://144.76.224.179:9102/v1/agents/agromatrix/infer
```

### Qdrant collections
```bash
curl -s http://144.76.224.179:6333/collections | jq '.result.collections[] | {name, points_count}'
```

---

## 🔍 Логи агента Helion (NODA1)

**Де дивитися:** Gateway приймає webhook, Router викликає LLM (DeepSeek) і tools.

```bash
# Логи gateway (вхід повідомлень, prober)
ssh root@144.76.224.179 "docker logs dagi-gateway-node1 --tail 100"

# Логи router (inference, tool calls, DSML)
ssh root@144.76.224.179 "docker logs dagi-router-node1 --tail 150"
```

**Типова причина некоректних відповідей у чаті:** у Router логах з’являється `DSML detected in 2nd LLM response` — DeepSeek іноді повертає розмітку DSML замість звичайного тексту після tool call. Router тоді робить 3-й виклик для синтезу відповіді або показує fallback. Покращення: у коді Router перед заміною відповіді спочатку вирізається тільки блок DSML, зберігається текст до нього (якщо є).

---

## ⚠️ Відомі проблеми

1. ~~**gateway → router: "All connection attempts failed"**~~ — ✅ Виправлено (router підключено до dagi-network)
2. ~~**Alateya токен не був раніше доданий**~~ — ✅ Виправлено
3. ~~**Clan, Eonarch не були в production репо**~~ — ✅ Виправлено
4. ~~**Розбіжності в ролях агентів між Gateway/Router/CrewAI**~~ — ✅ Виправлено (Unified Registry)
5. **Helion іноді відповідає некоректно** — пов’язано з DSML у другій відповіді DeepSeek; у Router додано збереження тексту перед DSML-блоком (див. вище).

---

## 📊 Схема підключення (спрощена)

```
TELEGRAM → GATEWAY:9300 → ROUTER:8000 → LLM (Ollama/DeepSeek)
                ↓              ↓
           Memory:8000    CrewAI:9010
                ↓
        Qdrant + Neo4j + Postgres
```

Повна схема: `docs/NODA1-AGENT-ARCHITECTURE.md`

---

## 📈 Market Data Pipeline (SenpAI)

**Дата впровадження:** 2026-02-09

### Архітектура

```
Binance WS ─┐                    ┌─ senpai.features.{symbol}
Bybit WS ───┤→ market-data-service ──NATS──→ senpai-md-consumer ──NATS──→ senpai.signals.{symbol}
             │   (порт 8893)     md.events.>   (порт 8892)         └─ senpai.alerts
             └─ SQLite + JSONL
```

### Компоненти

| Сервіс | Контейнер | Порт | Призначення |
|--------|-----------|------|-------------|
| **market-data-service** | `dagi-market-data-node1` | 8893 | WS producer: Binance+Bybit → NATS `md.events.>` |
| **senpai-md-consumer** | `dagi-senpai-md-consumer-node1` | 8892 | NATS consumer: features, signals, alerts |

### Ключові endpoints

```bash
# Producer
curl http://localhost:8893/health
curl http://localhost:8893/metrics
curl http://localhost:8893/bus-stats
curl "http://localhost:8893/latest?symbol=BTCUSDT"

# Consumer
curl http://localhost:8892/health
curl http://localhost:8892/stats
curl "http://localhost:8892/features/latest?symbol=BTCUSDT"
curl http://localhost:8892/metrics
```

### NATS subjects

| Subject | Publisher | Payload |
|---------|-----------|---------|
| `md.events.trade.{symbol}` | market-data-service | TradeEvent |
| `md.events.quote.{symbol}` | market-data-service | QuoteEvent |
| `senpai.features.{symbol}` | senpai-md-consumer | FeatureSnapshot (11 features) |
| `senpai.signals.{symbol}` | senpai-md-consumer | TradeSignal (long/short) |
| `senpai.alerts` | senpai-md-consumer | AlertEvent (gaps/latency) |

### Файли

| Шлях | Опис |
|------|------|
| `services/market-data-service/` | Код producer-сервісу |
| `services/senpai-md-consumer/` | Код consumer-сервісу |
| Docker volume `market-data-node1` | SQLite DB + JSONL events log |

---

**Автор:** Cursor Agent  
**Останнє оновлення:** 2026-02-11 (runtime alignment + routing policy + memory schema fix)
