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
- Agents table ✅
- [x]
dais_identity_id text- DAIS прив'язка - [x]
agent_roleenum - замість is_orchestrator - [x]
agent_service_scopeenum - [x]
home_microdao_id text- базова приписка -
[x]
home_node_id text- базова нода -
MicroDAOs table ✅
- [x]
dao_typeenum (root/standard/district) - [x]
primary_orchestrator_agent_id text -
[x]
wallet_address text -
Nodes table ✅
- [x]
kindenum (smartphone/laptop/edge/datacenter/iot/gpu-cluster) - [x]
capabilities jsonb -
[x]
node_statusenum (provisioning/active/draining/retired) -
Нова таблиця: agent_assignments ✅
-
[x] All fields implemented
-
DAIS tables (нові) ✅
- [x]
dais_identities - [x]
dais_emails - [x]
dais_wallets -
[x]
dais_keys -
Rooms table (нова) ✅
-
[x] Full Rooms Layer support
-
Event outbox (нова) ✅
- [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 ✅¶
- DAIS routes ✅
- [x]
POST /api/v1/dais/identity - [x]
GET /api/v1/dais/:id - [x]
GET /api/v1/dais/agent/:agentId - [x]
POST /api/v1/dais/:id/email - [x]
POST /api/v1/dais/:id/email/verify - [x]
POST /api/v1/dais/:id/wallet - [x]
POST /api/v1/dais/:id/wallet/verify -
[x]
POST /api/v1/dais/:id/promote-to-orchestrator -
Assignment routes ✅
- [x]
POST /api/v1/assignments - [x]
DELETE /api/v1/assignments/:id - [x]
GET /api/v1/assignments/agent/:agentId - [x]
GET /api/v1/assignments/microdao/:microdaoId - [x]
GET /api/v1/assignments/citywide - [x]
GET /api/v1/assignments/agent/:agentId/scope - [x]
GET /api/v1/assignments/check
Phase 4: Frontend Updates ✅¶
- Types ✅
-
[x]
src/types/ontology.ts- all ontology types -
API Clients ✅
- [x]
src/api/dais.ts -
[x]
src/api/assignments.ts -
Components ✅
- [x]
DaisProfileCard.tsx - [x]
AssignmentsPanel.tsx - [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¶
- Database
- [ ] Міграція 027 виконана успішно
-
[ ] Всі таблиці відповідають Data Model v1
-
Backend
- [ ] API routes працюють
-
[ ] NATS events публікуються
-
Frontend
- [ ] Agent Console показує DAIS/assignments
- [ ] MicroDAO показує type/hierarchy
-
[ ] Nodes показують lifecycle
-
Non-Breaking
- [ ] Існуючий функціонал працює
- [ ] Backward compatibility збережено
🔧 Порядок виконання¶
- Створити міграцію 027_foundation_ontology_update.sql
- Застосувати міграцію на dev БД
- Оновити backend types для нових полів
- Додати API routes для DAIS, assignments
- Оновити frontend types
- Додати UI компоненти для нового функціоналу
- Тестування локально
- Deploy на production
Готовий до виконання? Починаємо з Phase 1: Database Migration.