Skip to content

TASK: Foundation Implementation in MVP

Status: ✅ Implemented
Priority: High
Completed: 2025-11-29
Dependencies: FOUNDATION_UPDATE документи (завершено)


📋 Огляд

Впровадження оновлень архітектури FOUNDATION_UPDATE в MVP: - Оновлення Data Model (міграції) - Нові NATS events - Backend API оновлення - Frontend оновлення


✅ Що вже є (аналіз)

Database

  • [x] agents.is_orchestrator (boolean) - частковий аналог role
  • [x] microdaos.is_platform (boolean) - частковий аналог type=district
  • [x] microdaos.parent_microdao_id - ієрархія
  • [x] microdaos.orchestrator_agent_id - primary orchestrator
  • [x] nodes.modules, nodes.gpu, nodes.roles - capabilities
  • [x] microdao_agents - зв'язок агентів з мікроДАО

Backend

  • [x] DAO Factory service
  • [x] Registry service
  • [x] Wallet service
  • [x] PDP (Policy Decision Point)

Frontend

  • [x] Agent Hub UI
  • [x] MicroDAO Console
  • [x] Node Cabinets
  • [x] City Page (базова)

🚀 Що потрібно реалізувати

Phase 1: Database Schema Update (Міграція 027) ✅

-- 027_foundation_ontology_update.sql
  1. Agents table
  2. [x] dais_identity_id text - DAIS прив'язка
  3. [x] agent_role enum - замість is_orchestrator
  4. [x] agent_service_scope enum
  5. [x] home_microdao_id text - базова приписка
  6. [x] home_node_id text - базова нода

  7. MicroDAOs table

  8. [x] dao_type enum (root/standard/district)
  9. [x] primary_orchestrator_agent_id text
  10. [x] wallet_address text

  11. Nodes table

  12. [x] kind enum (smartphone/laptop/edge/datacenter/iot/gpu-cluster)
  13. [x] capabilities jsonb
  14. [x] node_status enum (provisioning/active/draining/retired)

  15. Нова таблиця: agent_assignments

  16. [x] All fields implemented

  17. DAIS tables (нові)

  18. [x] dais_identities
  19. [x] dais_emails
  20. [x] dais_wallets
  21. [x] dais_keys

  22. Rooms table (нова)

  23. [x] Full Rooms Layer support

  24. Event outbox (нова)

  25. [x] For NATS event delivery

Phase 2: NATS Events (Event Catalog) ✅

  • [x] dagion.agent.promoted_to_orchestrator
  • [x] dagion.microdao.created
  • [x] dagion.node.registered
  • [x] dagion.microdao.promoted_to_district
  • [x] dagion.agent.assignment_created
  • [x] dagion.agent.assignment_ended

Phase 3: Backend API Updates ✅

  1. DAIS routes
  2. [x] POST /api/v1/dais/identity
  3. [x] GET /api/v1/dais/:id
  4. [x] GET /api/v1/dais/agent/:agentId
  5. [x] POST /api/v1/dais/:id/email
  6. [x] POST /api/v1/dais/:id/email/verify
  7. [x] POST /api/v1/dais/:id/wallet
  8. [x] POST /api/v1/dais/:id/wallet/verify
  9. [x] POST /api/v1/dais/:id/promote-to-orchestrator

  10. Assignment routes

  11. [x] POST /api/v1/assignments
  12. [x] DELETE /api/v1/assignments/:id
  13. [x] GET /api/v1/assignments/agent/:agentId
  14. [x] GET /api/v1/assignments/microdao/:microdaoId
  15. [x] GET /api/v1/assignments/citywide
  16. [x] GET /api/v1/assignments/agent/:agentId/scope
  17. [x] GET /api/v1/assignments/check

Phase 4: Frontend Updates ✅

  1. Types
  2. [x] src/types/ontology.ts - all ontology types

  3. API Clients

  4. [x] src/api/dais.ts
  5. [x] src/api/assignments.ts

  6. Components

  7. [x] DaisProfileCard.tsx
  8. [x] AssignmentsPanel.tsx
  9. [x] OntologyBadge.tsx (MicrodaoType, NodeStatus, NodeKind, AgentRole, ServiceScope)

📁 Файли для створення/оновлення

Backend

backend/
├── domain/
   ├── dais/
      └── types.ts          # DAIS types
   ├── agent/
      └── types.ts          # оновити
   └── assignment/
       └── types.ts          # нові типи
├── http/
   ├── dais.routes.ts        # новий
   └── assignment.routes.ts  # новий
├── services/
   ├── dais/
      └── dais.service.ts   # новий
   └── assignment/
       └── assignment.service.ts # новий
└── infra/
    └── nats/
        └── events.ts         # оновити events catalog

Frontend

src/
├── api/
   ├── dais.ts               # новий
   └── assignments.ts        # новий
├── features/
   ├── dais/
      └── components/       # DAIS UI
   └── assignments/
       └── AssignmentsPanel.tsx
└── types/
    ├── dais.ts               # DAIS types
    └── ontology.ts           # Agent/MicroDAO/Node types

Migrations

migrations/
└── 027_foundation_ontology_update.sql

🎯 Acceptance Criteria

  1. Database
  2. [ ] Міграція 027 виконана успішно
  3. [ ] Всі таблиці відповідають Data Model v1

  4. Backend

  5. [ ] API routes працюють
  6. [ ] NATS events публікуються

  7. Frontend

  8. [ ] Agent Console показує DAIS/assignments
  9. [ ] MicroDAO показує type/hierarchy
  10. [ ] Nodes показують lifecycle

  11. Non-Breaking

  12. [ ] Існуючий функціонал працює
  13. [ ] Backward compatibility збережено

🔧 Порядок виконання

  1. Створити міграцію 027_foundation_ontology_update.sql
  2. Застосувати міграцію на dev БД
  3. Оновити backend types для нових полів
  4. Додати API routes для DAIS, assignments
  5. Оновити frontend types
  6. Додати UI компоненти для нового функціоналу
  7. Тестування локально
  8. Deploy на production

Готовий до виконання? Починаємо з Phase 1: Database Migration.