Files
microdao-daarion/docs/users/nodes/NODE_GUARDIAN_AND_STEWARD.md
Apple 0bab4bba08 feat: TASK 038 - Node Guardian & Steward Integration
- Backend: Added dynamic discovery of node agents in repo_city.py
- Backend: Created seed SQL for agent types
- Frontend: Added NodeGuardianCard component
- Frontend: Integrated NodeGuardianCard into Node Dashboard / Profile
2025-11-29 01:46:38 -08:00

3.0 KiB
Raw Blame History

Node Guardian & Node Steward

Дата: 29 листопада 2025
Статус: Впроваджено (Task 038)

У екосистемі DAARION кожна нода має два ключові "обличчя" — спеціалізованих агентів, які відповідають за її функціонування та представлення у мережі.


1. Ролі

🛡️ Node Guardian (Технічний наглядач)

Відповідальність:

  • Моніторинг інфраструктури (CPU, RAM, Disk, GPU).
  • Стан сервісів (Docker, Systemd).
  • Безпека та алерти.
  • Автоматична реакція на інциденти (в межах дозволеного).

Тип агента: node_guardian (або infra_monitor).

🗣️ Node Steward (Хазяїн ноди)

Відповідальність:

  • Публічне представлення ноди як "громадянина".
  • Комунікація з іншими учасниками мережі.
  • Управління конфігурацією та правилами (Governance).
  • "Human Interface" до ноди.

Тип агента: node_steward (або infra_ops).


2. Як призначити

Агенти автоматично визначаються системою (city-service) за наступним алгоритмом:

  1. Пошук за типом (kind):

    • Система шукає агентів, прив'язаних до цієї ноди (node_id), які мають kind = 'node_guardian' або 'node_steward'.
  2. Fallback (сумісність):

    • Якщо спеціалізованих типів не знайдено, система шукає infra_monitor (як Guardian) та infra_ops (як Steward).
  3. Node Cache (Legacy):

    • Якщо динамічний пошук не дав результатів, використовується закешоване значення з таблиці node_registry.nodes (якщо воно було встановлено вручну).

SQL для призначення (приклад)

-- Призначити Guardian
UPDATE agents 
SET kind = 'node_guardian' 
WHERE id = 'my-monitor-agent-id';

-- Призначити Steward
UPDATE agents 
SET kind = 'node_steward' 
WHERE id = 'my-steward-agent-id';

3. Відображення в UI

Node Dashboard (/nodes/[nodeId])

У кабінеті ноди (як повному, так і базовому профілі) відображається картка "Node Guardian & Steward":

  • Показує імена та ролі агентів.
  • Посилання на їх Публічний профіль (/citizens/[slug]).
  • Посилання на Кабінет агента (/agents/[id]).

Це дозволяє оператору швидко перейти до налаштувань агента або почати діалог з ним.