docs(platform): add policy configs, runbooks, ops scripts and platform documentation

Config policies (16 files): alert_routing, architecture_pressure, backlog,
cost_weights, data_governance, incident_escalation, incident_intelligence,
network_allowlist, nodes_registry, observability_sources, rbac_tools_matrix,
release_gate, risk_attribution, risk_policy, slo_policy, tool_limits, tools_rollout

Ops (22 files): Caddyfile, calendar compose, grafana voice dashboard,
deployments/incidents logs, runbooks for alerts/audit/backlog/incidents/sofiia/voice,
cron jobs, scripts (alert_triage, audit_cleanup, migrate_*, governance, schedule),
task_registry, voice alerts/ha/latency/policy

Docs (30+ files): HUMANIZED_STEPAN v2.7-v3 changelogs and runbooks,
NODA1/NODA2 status and setup, audit index and traces, backlog, incident,
supervisor, tools, voice, opencode, release, risk, aistalk, spacebot

Made-with: Cursor
This commit is contained in:
Apple
2026-03-03 07:14:53 -08:00
parent 129e4ea1fc
commit 67225a39fa
102 changed files with 20060 additions and 0 deletions

View File

@@ -0,0 +1,389 @@
# 🚀 Memory Stack - NODA2 Quick Start
## ✅ Що вже готово:
1. **Cohere API Key** додано в .env ✅
2. **Docker Compose конфігурація** створена ✅
3. **Скрипти запуску** готові ✅
---
## 📦 Компоненти Memory Stack:
| Сервіс | Порт | Призначення | Статус |
|--------|------|-------------|--------|
| **Qdrant** | 6333, 6334 | Векторна БД | ⏳ To Start |
| **PostgreSQL** | 5433 | Реляційна БД | ⏳ To Start |
| **Neo4j** | 7474, 7687 | Графова БД | ⏳ To Start |
| **Memory Service** | 8000 | API для пам'яті | ⏳ To Start |
| **Redis** | 6379 | Кешування | ⏳ To Start |
| **Adminer** | 8080 | UI для БД | ⏳ To Start |
---
## 🚀 Запуск Memory Stack:
### Варіант 1: Через скрипт (рекомендовано)
```bash
cd /Users/apple/github-projects/microdao-daarion
./scripts/start-memory-node2.sh
```
### Варіант 2: Напряму через Docker Compose
```bash
cd /Users/apple/github-projects/microdao-daarion
# Запустити всі сервіси
docker-compose -f docker-compose.memory-node2.yml up -d
# Перевірити статус
docker-compose -f docker-compose.memory-node2.yml ps
# Переглянути логи
docker-compose -f docker-compose.memory-node2.yml logs -f
```
---
## 📝 Після запуску:
### 1. Перевірити здоров'я сервісів
```bash
# Qdrant
curl http://localhost:6333/healthz
# PostgreSQL
docker exec dagi-postgres-node2 pg_isready -U daarion
# Memory Service
curl http://localhost:8000/health
# Neo4j (може потребувати 30-40 сек)
curl http://localhost:7474
```
### 2. Ініціалізувати колекції Sofiia
```bash
# Створити колекції для Sofiia
python3 scripts/init-sofiia-memory.py
```
Це створить:
- `sofiia_messages` - історія повідомлень
- `sofiia_docs` - документація
- `sofiia_memory_items` - довгострокова пам'ять
- `sofiia_user_context` - контекст користувачів
### 3. Перевірити колекції
```bash
# Список всіх колекцій
curl http://localhost:6333/collections | jq
# Інформація про конкретну колекцію
curl http://localhost:6333/collections/sofiia_messages | jq
```
---
## 🎯 Інтерфейси:
### Qdrant Dashboard
- **URL:** http://localhost:6333/dashboard
- **Функції:** Перегляд колекцій, пошук векторів, статистика
### Neo4j Browser
- **URL:** http://localhost:7474
- **Login:** neo4j
- **Password:** daarion_node2_secret
- **Функції:** Візуалізація графу, Cypher запити
### Adminer (PostgreSQL UI)
- **URL:** http://localhost:8080
- **System:** PostgreSQL
- **Server:** postgres-node2
- **Username:** daarion
- **Password:** daarion_secret_node2
- **Database:** daarion_memory
### Memory Service API
- **Health:** http://localhost:8000/health
- **API Docs:** http://localhost:8000/docs (Swagger UI)
- **ReDoc:** http://localhost:8000/redoc
---
## 🔌 Підключення до Sofiia:
### Для OpenClaw:
```json
{
"agents": {
"list": [
{
"id": "sofiia",
"memory": {
"enabled": true,
"serviceUrl": "http://localhost:8000",
"collections": {
"messages": "sofiia_messages",
"docs": "sofiia_docs",
"memory": "sofiia_memory_items",
"context": "sofiia_user_context"
}
}
}
]
}
}
```
### Для Python коду:
```python
import requests
# Збереження повідомлення
response = requests.post(
"http://localhost:8000/agents/sofiia/memory",
json={
"user_id": "telegram:123456",
"channel_id": "telegram:sofiia",
"content": "User asked about DAARION architecture",
"role": "user",
"metadata": {
"topic": "architecture",
"project": "DAARION"
}
}
)
# Отримання контексту
context = requests.get(
"http://localhost:8000/agents/sofiia/context",
params={
"user_id": "telegram:123456",
"query": "архітектура",
"limit": 10
}
)
```
---
## 🔧 Корисні команди:
### Docker Compose
```bash
# Зупинити всі сервіси
docker-compose -f docker-compose.memory-node2.yml down
# Перезапустити конкретний сервіс
docker-compose -f docker-compose.memory-node2.yml restart memory-service-node2
# Переглянути логи сервісу
docker-compose -f docker-compose.memory-node2.yml logs -f memory-service-node2
# Статус всіх сервісів
docker-compose -f docker-compose.memory-node2.yml ps
```
### Qdrant
```bash
# Список колекцій
curl http://localhost:6333/collections
# Створити колекцію вручну
curl -X PUT http://localhost:6333/collections/test_collection \
-H "Content-Type: application/json" \
-d '{"vectors": {"size": 1024, "distance": "Cosine"}}'
# Видалити колекцію
curl -X DELETE http://localhost:6333/collections/test_collection
```
### PostgreSQL
```bash
# Підключитись до БД
docker exec -it dagi-postgres-node2 psql -U daarion -d daarion_memory
# Створити таблицю
CREATE TABLE test_table (
id SERIAL PRIMARY KEY,
name TEXT
);
# Переглянути таблиці
\dt
```
### Neo4j
```bash
# Підключитись через Cypher Shell
docker exec -it dagi-neo4j-node2 cypher-shell -u neo4j -p daarion_node2_secret
# Створити тестовий вузол
CREATE (n:Test {name: 'Sofiia'}) RETURN n;
# Переглянути всі вузли
MATCH (n) RETURN n LIMIT 10;
```
---
## 📊 Моніторинг:
### Перевірка використання ресурсів
```bash
# Всі контейнери
docker stats --no-stream
# Конкретний контейнер
docker stats --no-stream dagi-qdrant-node2 dagi-postgres-node2 dagi-neo4j-node2
```
### Перевірка дискового простору
```bash
# Розмір даних
du -sh /Users/apple/github-projects/microdao-daarion/data/*
# Docker volumes
docker volume ls
docker system df
```
---
## 🔄 Гібридний режим (NODA1 + NODA2):
### Увімкнути доступ до NODA1:
Відкоментуйте в `docker-compose.memory-node2.yml`:
```yaml
environment:
# Remote NODA1 access
- REMOTE_QDRANT_HOST=144.76.224.179
- REMOTE_QDRANT_PORT=6333
- REMOTE_DATABASE_URL=postgresql://daarion_reader:***@144.76.224.179:5432/daarion_memory
- READ_ONLY_MODE=false
```
### Використання:
```python
# Локальна пам'ять (NODA2)
local_memory = MemoryService(url="http://localhost:8000")
# Віддалена пам'ять (NODA1)
remote_memory = MemoryService(url="http://144.76.224.179:8000")
# Гібридний пошук
results = await hybrid_search(
query="архітектура",
local_service=local_memory,
remote_service=remote_memory
)
```
---
## 🚨 Troubleshooting:
### Проблема: Qdrant не стартує
```bash
# Перевірити логи
docker logs dagi-qdrant-node2
# Перевірити права доступу
ls -la /Users/apple/github-projects/microdao-daarion/data/qdrant-node2
# Перезапустити
docker-compose -f docker-compose.memory-node2.yml restart qdrant-node2
```
### Проблема: PostgreSQL не приймає підключення
```bash
# Перевірити чи готовий
docker exec dagi-postgres-node2 pg_isready
# Перевірити логи
docker logs dagi-postgres-node2
# Перевірити пароль
docker exec -it dagi-postgres-node2 psql -U daarion -d daarion_memory
```
### Проблема: Memory Service не бачить Qdrant
```bash
# Перевірити мережу
docker network inspect dagi-memory-network-node2
# Перевірити DNS
docker exec dagi-memory-service-node2 ping qdrant-node2
# Перевірити з'єднання
docker exec dagi-memory-service-node2 curl http://qdrant-node2:6333/healthz
```
---
## ✅ Чек-лист:
- [ ] Cohere API Key в .env
- [ ] Docker Compose запущено
- [ ] Всі сервіси healthy
- [ ] Колекції Sofiia створено
- [ ] Memory Service API доступний
- [ ] UI (Qdrant, Neo4j, Adminer) відкриваються
- [ ] OpenClaw налаштовано
- [ ] Тестове повідомлення збережено
---
## 🎯 Наступні кроки після запуску:
1. **Запустити Memory Stack**
```bash
./scripts/start-memory-node2.sh
```
2. **Ініціалізувати колекції**
```bash
python3 scripts/init-sofiia-memory.py
```
3. **Налаштувати OpenClaw**
- Додати конфігурацію пам'яті
4. **Протестувати**
- Зберегти тестове повідомлення
- Отримати контекст
- Перевірити в Qdrant UI
5. **Підключити Sofiia**
- Telegram бот з пам'яттю
- Notion інтеграція
- GitHub інтеграція
---
**Готові до запуску! 🚀**
```bash
./scripts/start-memory-node2.sh
```