## Documentation (20 files) - DAARION Ontology Core v1 (Agent → MicroDAO → Node → District) - User Onboarding & Identity Layer (DAIS) - Data Model UPDATE, Event Catalog, Governance & Permissions - Rooms Layer, City/MicroDAO/Agents/Nodes Interface Architecture - Helper files: ontology-summary, lifecycles, event-schemas ## Database Migration (027) - DAIS tables: dais_identities, dais_emails, dais_wallets, dais_keys - agent_assignments table for Assignment Layer - rooms table for Rooms Layer - event_outbox for NATS event delivery - New enums: agent_role, microdao_type, node_kind, node_status, etc. - Updated agents, microdaos, nodes tables with ontology fields ## Backend - DAIS service & routes (/api/v1/dais/*) - Assignment service & routes (/api/v1/assignments/*) - Domain types for DAIS and Ontology ## Frontend - Ontology types (Agent, MicroDAO, Node, DAIS, Assignments) - API clients for DAIS and Assignments - UI components: DaisProfileCard, AssignmentsPanel, OntologyBadge Non-breaking update - all existing functionality preserved.
215 lines
6.1 KiB
Markdown
215 lines
6.1 KiB
Markdown
# 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) ✅
|
||
|
||
```sql
|
||
-- 027_foundation_ontology_update.sql
|
||
```
|
||
|
||
1. **Agents table** ✅
|
||
- [x] `dais_identity_id text` - DAIS прив'язка
|
||
- [x] `agent_role` enum - замість is_orchestrator
|
||
- [x] `agent_service_scope` enum
|
||
- [x] `home_microdao_id text` - базова приписка
|
||
- [x] `home_node_id text` - базова нода
|
||
|
||
2. **MicroDAOs table** ✅
|
||
- [x] `dao_type` enum (root/standard/district)
|
||
- [x] `primary_orchestrator_agent_id text`
|
||
- [x] `wallet_address text`
|
||
|
||
3. **Nodes table** ✅
|
||
- [x] `kind` enum (smartphone/laptop/edge/datacenter/iot/gpu-cluster)
|
||
- [x] `capabilities jsonb`
|
||
- [x] `node_status` enum (provisioning/active/draining/retired)
|
||
|
||
4. **Нова таблиця: agent_assignments** ✅
|
||
- [x] All fields implemented
|
||
|
||
5. **DAIS tables (нові)** ✅
|
||
- [x] `dais_identities`
|
||
- [x] `dais_emails`
|
||
- [x] `dais_wallets`
|
||
- [x] `dais_keys`
|
||
|
||
6. **Rooms table (нова)** ✅
|
||
- [x] Full Rooms Layer support
|
||
|
||
7. **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 ✅
|
||
|
||
1. **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`
|
||
|
||
2. **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 ✅
|
||
|
||
1. **Types** ✅
|
||
- [x] `src/types/ontology.ts` - all ontology types
|
||
|
||
2. **API Clients** ✅
|
||
- [x] `src/api/dais.ts`
|
||
- [x] `src/api/assignments.ts`
|
||
|
||
3. **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
|
||
|
||
1. **Database**
|
||
- [ ] Міграція 027 виконана успішно
|
||
- [ ] Всі таблиці відповідають Data Model v1
|
||
|
||
2. **Backend**
|
||
- [ ] API routes працюють
|
||
- [ ] NATS events публікуються
|
||
|
||
3. **Frontend**
|
||
- [ ] Agent Console показує DAIS/assignments
|
||
- [ ] MicroDAO показує type/hierarchy
|
||
- [ ] Nodes показують lifecycle
|
||
|
||
4. **Non-Breaking**
|
||
- [ ] Існуючий функціонал працює
|
||
- [ ] 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.
|
||
|