Files
microdao-daarion/docs/tasks/TASK_PHASE_MVP_DAGI_INTEGRATION_FIX_20251201.md
Apple 644edd3f30 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
2025-11-30 08:45:07 -08:00

5.8 KiB
Raw Blame History

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_level
  • governance_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_daarion
    • home_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 підтверджує, що всі пункти закриті