feat(foundation): FOUNDATION_UPDATE implementation
## 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.
This commit is contained in:
214
docs/tasks/TASK_FOUNDATION_IMPLEMENTATION.md
Normal file
214
docs/tasks/TASK_FOUNDATION_IMPLEMENTATION.md
Normal file
@@ -0,0 +1,214 @@
|
||||
# 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.
|
||||
|
||||
112
docs/tasks/TASK_PHASE_FOUNDATION_UPDATE.md
Normal file
112
docs/tasks/TASK_PHASE_FOUNDATION_UPDATE.md
Normal file
@@ -0,0 +1,112 @@
|
||||
# TASK_PHASE_FOUNDATION_UPDATE.md
|
||||
|
||||
## DAARION.city — Fundamental Architecture Update (Non-Breaking)
|
||||
|
||||
**Ціль:** зафіксувати онтологію системи (Agent → MicroDAO → Node → District), стандартизувати онбординг, DAIS-ідентичність, типи агентів, події та базовий Data Model — **без порушення існуючого коду / документації**.
|
||||
|
||||
---
|
||||
|
||||
# 0. Принципи фази
|
||||
|
||||
1. **Нічого не ламаємо**, лише додаємо надбудову поверх існуючих документів.
|
||||
2. Усе, що створюється в цій фазі — фундаментальна архітектура DAARION.
|
||||
3. Cursor і DAGI-агенти повинні мати єдине джерело істини щодо реєстрації, агентів, мікроДАО, нод, ролей, подій.
|
||||
|
||||
---
|
||||
|
||||
# 1. Вихідні файли після завершення фази
|
||||
|
||||
Фаза повинна створити або оновити **13+ документів**.
|
||||
|
||||
## Головні
|
||||
|
||||
1. `DAARION_Ontology_Core_v1.md`
|
||||
2. `User_Onboarding_And_Identity_Layer_v1.md`
|
||||
3. `Technical_Description_microdao_PATCH_Ontology.md`
|
||||
4. `microdao_Data_Model_UPDATE_v1.md`
|
||||
5. `microdao_Event_Catalog_EXTENDED_v1.md`
|
||||
6. `microdao_Governance_And_Permissions_v1.md`
|
||||
7. `DAARION_Identity_And_Access_Draft_v1.md`
|
||||
8. `Rooms_Layer_Architecture_v1.md`
|
||||
9. `MicroDAO_Interface_Architecture_v1.md`
|
||||
10. `City_Interface_Architecture_v1.md`
|
||||
11. `Agents_Interface_Architecture_v1.md`
|
||||
12. `Nodes_Interface_Architecture_v1.md`
|
||||
|
||||
## Допоміжні
|
||||
|
||||
* `helpers/ontology-summary.md`
|
||||
* `helpers/onboarding-flow-diagram.mermaid`
|
||||
* `helpers/agent-types-matrix.md`
|
||||
* `helpers/microdao-lifecycle.md`
|
||||
* `helpers/node-lifecycle.md`
|
||||
* `helpers/event-schemas.json`
|
||||
|
||||
## Патчі
|
||||
|
||||
* `patches/DAARION_Person_Agent_DAIS_CoreTeam_PATCH_v1.md`
|
||||
|
||||
---
|
||||
|
||||
# 2. Tasks
|
||||
|
||||
1. **TASK 1 — Ontology Core** → створити базову онтологію (файл №1).
|
||||
2. **TASK 2 — Onboarding & Identity** → email/wallet/SIWE/DAIS (файл №2).
|
||||
3. **TASK 3 — Patch Technical Description** → секції онтології в існуючому описі microdao.
|
||||
4. **TASK 4 — Data Model Update** → agents/microdaos/nodes/assignments.
|
||||
5. **TASK 5 — Event Catalog** → додати 6 нових подій та схеми.
|
||||
6. **TASK 6 — Governance Layer** → ролі, ACL, district, assignments.
|
||||
7. **TASK 7 — Identity & Access Draft** → DAIS як IAM.
|
||||
8. **TASK 8 — Rooms Layer** → city/microdao/district rooms.
|
||||
9. **TASK 9 — MicroDAO Interface** → повний UI шару.
|
||||
10. **TASK 10 — City Interface** → City Square, public rooms, portals.
|
||||
11. **TASK 11 — Agents Interface** → agent-centric UI.
|
||||
12. **TASK 12 — Nodes Interface** → node dashboards/control rooms.
|
||||
13. **TASK 13 — Helper Files** → TL;DR, mermaid, lifecycles, event schemas.
|
||||
|
||||
---
|
||||
|
||||
# 3. Порядок виконання
|
||||
|
||||
1. Ontology → Onboarding → Patch → Data Model → Event Catalog → Governance → Identity & Access.
|
||||
2. Після цього Rooms Layer та UI документи (MicroDAO/City/Agents/Nodes).
|
||||
3. Завершити helper-файлами та README.
|
||||
|
||||
---
|
||||
|
||||
# 4. Гарантії «Non-Breaking Update»
|
||||
|
||||
* Неторкнені частини коду/документації залишаються валідними.
|
||||
* Усі інваріанти вводяться як надбудова.
|
||||
* Уся логіка створення MicroDAO/агента/нод залишається робочою.
|
||||
|
||||
---
|
||||
|
||||
# Acceptance checklist
|
||||
|
||||
1. **Документи**
|
||||
* [x] Створено/оновлено всі файли, перелічені вище. ✅ (20 файлів)
|
||||
* [x] README у `docs/foundation/` описує структуру. ✅
|
||||
2. **Посилання**
|
||||
* [x] Перехресні посилання між онтологією, моделлю даних, подіями, інтерфейсами. ✅
|
||||
3. **Helper-файли**
|
||||
* [x] TL;DR, діаграма онбордингу, матриця агентів, lifecycles, event schemas. ✅ (6 файлів)
|
||||
4. **Патчі**
|
||||
* [x] Застосовано патч Human vs Agent vs DAIS vs Core-Team. ✅
|
||||
5. **Task readiness**
|
||||
* [x] `TASK_PHASE_FOUNDATION_UPDATE.md` описує всі deliverables. ✅
|
||||
* [x] Можна давати Cursor-таски для реалізації MVP на основі цих документів. ✅
|
||||
|
||||
---
|
||||
|
||||
## ✅ PHASE COMPLETE
|
||||
|
||||
**Дата завершення:** 2024-11-29
|
||||
|
||||
**Статистика:**
|
||||
- Основних документів: 12
|
||||
- Helper-файлів: 6
|
||||
- Патчів: 1
|
||||
- README: 1
|
||||
- **Всього: 20 файлів**
|
||||
|
||||
Reference in New Issue
Block a user