feat(mvp): DAGI Integration Fix - gov_level, DAIS, nodes table
TASK_PHASE_MVP_DAGI_INTEGRATION_FIX_20251201 A) Agents Layer: - A1: Added gov_level to API and UI (list + profile) - A2: Added dais_identity_id to API and UI - A3: Added home_microdao_id/name/slug for ownership display B) MicroDAO Layer: - B1/B2: Already implemented (agents, rooms, citizens, district badge) C) Nodes Layer: - C1: Node Dashboard already implemented - C2: Created nodes table migration with owner_microdao_id - C3: INSERT NODE1/NODE2 with dao_daarion ownership D) Backend Fixes: - D1: Extended /api/agents/* with DAIS/governance fields - D2/D3: Already implemented Files changed: - services/city-service/repo_city.py - services/city-service/models_city.py - services/city-service/routes_city.py - services/city-service/migrations.py - apps/web/src/lib/types/agents.ts - apps/web/src/lib/agent-dashboard.ts - apps/web/src/app/agents/page.tsx - apps/web/src/components/agent-dashboard/AgentSummaryCard.tsx Reports: - docs/debug/mvp_dagi_integration_fix_report_20251201.md - docs/tasks/TASK_PHASE_MVP_DAGI_INTEGRATION_FIX_20251201.md
This commit is contained in:
@@ -64,6 +64,23 @@ Version: 1.1
|
||||
- `status`
|
||||
- `registered_at`
|
||||
|
||||
## 2.5. Node Profile — Core Invariants (PATCH v1)
|
||||
|
||||
Кожна нода в DAARION Ontology має чотири обов'язкові шари:
|
||||
|
||||
1. **Metrics Layer** — live-метрики CPU/GPU/RAM/Disk + heartbeat. Навіть якщо телеметрія частково відсутня, нода переходить у `metrics_status = degraded`, а не існує “порожньою”.
|
||||
2. **Ownership Layer** — власник (MicroDAO/District) з полями `owner_microdao_id`, `owner_microdao_slug` (опційно `district_id`). Немає безхазяйних нод.
|
||||
3. **Models Layer** — локальний Swapper + набір моделей (LLM, STT, vision, TTS, RAG). Dev-ноди так само мають DAGI-стек, просто з іншим складом моделей.
|
||||
4. **Orchestration Layer** — локальний DAGI Router + агенти з `home_node_id`, які працюють на цій ноді.
|
||||
|
||||
Також кожна нода має мінімальний набір **Node Core Agents**:
|
||||
|
||||
- **Node Guardian Agent** — відповідає за health, безпеку, інциденти.
|
||||
- **Node Steward Agent** — відповідає за приналежність до microDAO, профіль, онбординг.
|
||||
- (опційно) **Node Models/Swapper Agent** — відповідає за опис і політику використання локального стека моделей.
|
||||
|
||||
> Принцип “немає сторінки без агентів” означає, що будь-який інтерфейс Ноди (профіль, метрики, моделі, доступи) завжди “закріплений” за хоча б одним агентом, і цей агент показується в UI.
|
||||
|
||||
---
|
||||
|
||||
# 3. Типи НОД
|
||||
|
||||
@@ -0,0 +1,85 @@
|
||||
# Nodes Profile Core Invariant — PATCH v1
|
||||
|
||||
Version: 1.0
|
||||
Status: ACTIVE
|
||||
Parent doc: `docs/foundation/Nodes_Interface_Architecture_UPDATE_v1.md`
|
||||
|
||||
---
|
||||
|
||||
## 1. Мета
|
||||
|
||||
Зафіксувати базовий інваріант DAARION Ontology:
|
||||
|
||||
> **Кожна Нода має чотири обов'язкові шари:**
|
||||
> 1. Metrics Layer
|
||||
> 2. Ownership Layer
|
||||
> 3. Models Layer
|
||||
> 4. Orchestration Layer (DAGI Router + локальні агенти)
|
||||
|
||||
Цей патч уніфікує всі ноди (prod, dev, district, core-team) і припиняє трактування, ніби dev-ноди можуть існувати без DAGI-стеку.
|
||||
|
||||
---
|
||||
|
||||
## 2. Інваріанти
|
||||
|
||||
### 2.1 Metrics Layer
|
||||
- Обов'язкові live-метрики CPU / RAM / GPU / Disk.
|
||||
- Формат heartbeat з полями `cpu_load`, `memory_used`, `gpu[*].vram_used`, `disk`.
|
||||
- Якщо метрики відсутні → статус `metrics_status = degraded`, а не “порожня нода”.
|
||||
|
||||
### 2.2 Ownership Layer
|
||||
- Кожна нода належить рівно одному MicroDAO / District.
|
||||
- Поля: `owner_microdao_id`, `owner_microdao_slug`, `district_id` (опційно).
|
||||
- В UI обов’язково відображається бейдж MicroDAO.
|
||||
|
||||
### 2.3 Models Layer
|
||||
- На кожній ноді працює локальний Swapper + Model Stack.
|
||||
- JSON-профіль: `models.llm[]`, `models.vision[]`, `models.stt[]`, `models.tts[]`, `models.rag[]`.
|
||||
- Немає “нод без моделей” — dev/prod різняться лише складом стека.
|
||||
|
||||
### 2.4 Orchestration Layer
|
||||
- Локальний DAGI Router на кожній ноді.
|
||||
- Локальні агенти з `home_node_id`.
|
||||
- Події маршрутизуються через локальний router, який знає про локальні сервіси та підключення до NATS/City Layer.
|
||||
|
||||
### 2.5 Node Core Agents & Page Presence
|
||||
- Мінімум два агенти на ноді:
|
||||
- **Node Guardian Agent** — health, безпека, інциденти.
|
||||
- **Node Steward Agent** — приналежність microDAO, онбординг, профіль.
|
||||
- (опційно) окремий **Node Models/Swapper Agent**.
|
||||
- Кожна сторінка інтерфейсу, пов’язана з нодою, “закріплена” за щонайменше одним агентом і показує його присутність (немає сторінок “без агентів”).
|
||||
|
||||
---
|
||||
|
||||
## 3. Вставка в основний документ
|
||||
|
||||
Вставити розділ **“Node Profile — Core Invariants (PATCH v1)”** після секції 2.4 (`Запис у таблиці nodes`) у `Nodes_Interface_Architecture_UPDATE_v1.md`.
|
||||
|
||||
Текст для вставки:
|
||||
|
||||
```md
|
||||
## Node Profile — Core Invariants (PATCH v1)
|
||||
|
||||
Кожна Нода в DAARION Ontology має чотири обов'язкові шари:
|
||||
|
||||
1. **Metrics Layer** — live-метрики CPU/GPU/RAM/Disk, heartbeat кожні 60 секунд.
|
||||
2. **Ownership Layer** — власник (MicroDAO/District) з полями `owner_microdao_id`, `owner_microdao_slug`.
|
||||
3. **Models Layer** — локальний Swapper + Model Stack (LLM, STT, vision, RAG тощо).
|
||||
4. **Orchestration Layer** — DAGI Router + локальні агенти з `home_node_id`.
|
||||
|
||||
Також кожна нода має мінімальний набір Node Core Agents:
|
||||
|
||||
- **Node Guardian Agent** (health, security, інциденти)
|
||||
- **Node Steward Agent** (приналежність microDAO, профіль)
|
||||
- (опційно) **Node Models/Swapper Agent**
|
||||
|
||||
Жодна сторінка інтерфейсу, що стосується ноди, не існує без агентів, які за неї відповідають (“немає сторінки без агентів”).
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 4. Next Steps
|
||||
- Оновити `TASK_PHASE_NODE_RUNTIME_AUDIT_NODE1_NODE2.md`, щоб аудити перевіряли наявність усіх чотирьох шарів та Node Core Agents.
|
||||
- Підготувати окремий config-аудит dev-ноди (NODE2), щоби переконатися у відокремленості прод- та dev-конфігів.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user