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:
Apple
2025-11-29 15:24:38 -08:00
parent deeaf26b0b
commit 7b91c8e83c
43 changed files with 5733 additions and 47 deletions

View 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.

View 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 файлів**