Skip to content

# 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`.

Текст для вставки:

    ## 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-конфігів.