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
5.8 KiB
TASK_PHASE_MVP_DAGI_INTEGRATION_FIX_20251201.md
Version: 1.0 Status: ACTIVE Target: DAARION.space (NODE1) Scope: Backend (city-service), Next.js Frontend, DB migrations, Node Profile UI
1. МЕТА
Замкнути ланцюг "документи → код → деплой → UI" для MVP так, щоб:
- всі інваріанти онтології (agents, microDAO, nodes) були відображені в коді й UI;
- DAIS/Agents/MicroDAO/Nodes працювали відповідно до foundation-доків;
- DAGI ↔ MVP працювали узгоджено на NODE1;
- UI не приховував важливу інформацію про агента, microDAO або ноду;
- було ліквідовано всі зафіксовані розриви з
mvp_dagi_integration_report_20251130.md.
2. ПЕРЕЛІК НЕОБХІДНИХ ВИПРАВЛЕНЬ (TODO)
A) Agents Layer: поглибити UI відповідно до онтології
❗ A1. Додати gov-level у UI (Next.js)
- У списку агентів (
/agents) - У профілі агента (
/agents/:agentId) - На governance-сторінці (
/governance)
Поля з БД:
gov_levelgovernance_rank(якщо є)- бейджі з документа Agent_Governance_Protocol_v1.md
❗ A2. Додати DAIS ID у всі представлення агентів
- DAIS identity (
dais_identities.id) - DAIS email(s)
- DAIS wallet(s)
❗ A3. Додати microDAO membership для агента
У UI агента показувати:
- "agent belongs to microDAO: "
- клік → кімнати microDAO
- бейдж microdao_type (regular/district/root)
B) MicroDAO Layer: привести UI до документації
❗ B1. Розширити "MicroDAO Dashboard"
На основі:
- MicroDAO_Interface_Architecture_v1.md
- microdao_Data_Model_UPDATE_v1.md
- Rooms_Layer_Architecture_v1.md
Додати:
- список агентів microDAO
- список кімнат microDAO
- список громадян microDAO (напр. microdao_members / agent_assignments)
- бейджі microdao_type (root / district / org / clan / platform)
- кімната microDAO "lobby / help / governance"
❗ B2. Показати District-level microDAO як окремий тип
- GREENFOOD
- ENERGYUNION
- SOUL
- CLAN (коли буде протокол)
C) Nodes Layer: вирівняти з онтологією та документами
❗ C1. Реалізувати "Node Dashboard (MVP full)"
Згідно:
- Nodes_Profile_Core_Invariant_PATCH_v1.md
- Nodes_Interface_Architecture_UPDATE_v1.md
Додати в /nodes/:nodeId:
Metrics Layer:
- CPU load
- CPU cores
- RAM total/used
- GPU count
- VRAM total/used
- Disk sizes
Ownership Layer:
- owner_microdao
- district_slug
- DAIS-агенти ноди
Models Layer:
- Swapper status
- Перелік моделей (стек) у JSON
- Відображення ролей моделей (LLM/coder/vision/etc.)
Orchestration Layer:
- Node Core Agents (GuardianOS/Pulse/Atomis)
- agent-count (local_agents)
- health DAGI router
❗ C2. Створити міграцію nodes
Додати таблицю nodes у PG, щоб перестати залежати від node_cache.
Мінімальні поля:
CREATE TABLE nodes (
id TEXT PRIMARY KEY, -- slug, e.g. node-1-hetzner-gex44
display_name TEXT NOT NULL,
owner_microdao_id TEXT REFERENCES microdaos(id),
node_type TEXT, -- energy, compute, hybrid, iot_gateway
env TEXT, -- production, development, staging
cpu_cores INTEGER,
ram_gb INTEGER,
gpu_count INTEGER DEFAULT 0,
disk_gb INTEGER,
status TEXT DEFAULT 'unknown',
created_at TIMESTAMPTZ DEFAULT now(),
updated_at TIMESTAMPTZ DEFAULT now()
);
❗ C3. Записати NODE1 / NODE2 у nodes
- проставити:
owner_microdao_id = dao_daarionhome_node_idдля GuardianOS, Pulse, Atomis
D) Backend Fixes
❗ D1. Виправити /api/agents/* відповідно до DAIS-шару
Формалізувати:
- dais_identity
- dais_emails[]
- dais_wallets[]
- home_node_id
- owner_microdao_id
❗ D2. Додати /api/microdao/:id/rooms
Для MicroDAO Dashboard.
❗ D3. Виправити /api/nodes/:id/dashboard
Зробити відповідно до Nodes Profile (див. C1).
3. ВИХІДНІ АРТЕФАКТИ
Cursor має створити:
-
docs/debug/mvp_dagi_integration_fix_report_<DATE>.md(результати перевірки після фіксів) -
(опціонально)
frontend-diff/&backend-diff/(всі зміни по UI та API)
4. КОМАНДА ДЛЯ CURSOR
Після додавання цього файла у репо:
Виконай, будь ласка,
docs/tasks/TASK_PHASE_MVP_DAGI_INTEGRATION_FIX_20251201.mdу повному обсязі. Створиdocs/debug/mvp_dagi_integration_fix_report_<DATE>.md, і підготуй дифи для backend (FastAPI) та frontend (Next.js).
5. КРИТЕРІЇ ЗАВЕРШЕННЯ
- A1-A3: gov-level, DAIS ID, microDAO membership відображаються на сторінках агентів
- B1-B2: MicroDAO Dashboard показує agents, rooms, citizens, district badge
- C1-C3: Node Dashboard показує 4 шари (Metrics, Ownership, Models, Orchestration), таблиця
nodesіснує, NODE1/NODE2 записані - D1-D3: API повертають повні дані (DAIS, rooms, node dashboard)
- Звіт
mvp_dagi_integration_fix_report_<DATE>.mdпідтверджує, що всі пункти закриті