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,213 @@
# Technical_Description_microdao_PATCH_Ontology.md
## Patch Update: DAARION Ontology, Agent Model, MicroDAO Rules, Node Structure
**Version:** 1.0
**Status:** Patch Addendum (Non-Breaking Update)
**Applies to:** Existing "Технічний опис microdao" документ
---
# 0. Мета патча
Цей документ додає нові архітектурні розділи та уточнення, які:
* узгоджують microDAO з повною онтологією DAARION.city,
* визначають інваріанти Agent/MicroDAO/Node,
* вводять механізм Assignment,
* уточнюють ролі та типи агентів,
* визначають, що District — не нова сутність, а режим MicroDAO,
* роблять архітектуру послідовною та розширюваною.
Патч нічого не ламає в існуючій логіці, лише додає розділи і правила.
---
# 1. Новий розділ: «Онтологія DAARION»
## 1.1. Ієрархія сутностей
Уся екосистема microdao існує в контексті онтології:
**Agent → MicroDAO → Node → District**
Інші об'єкти (канали, кімнати, governance, токени) належать цим сутностям.
## 1.2. Інваріанти онтології
* Кожен Agent належить до однієї MicroDAO.
* Кожна MicroDAO має одного primary Orchestrator-Agent.
* Кожна Node належить конкретній MicroDAO.
* District — це режим MicroDAO, а не окремий тип сутності.
* У системі не існує «сервісних», «віртуальних» або «нічийних» нод.
* Root MicroDAO (DAARION) — предок для всіх MicroDAO.
---
# 2. Новий розділ: «Agent Model (оновлений)»
## 2.1. Базові властивості Agent
* `agent_id`
* `dais_identity_id` (DAIS прив'язка)
* `home_microdao_id`
* `home_node_id`
* `role`: `regular` або `orchestrator`
* `service_scope` (нове поле; не обов'язкове)
## 2.2. Типи агентів
### A) Personal Agent
Агент конкретного користувача.
Приписаний до MicroDAO (за замовчанням — DAARION).
### B) Service/Infrastructure Agent
Агент, який забезпечує роботу сервісів міста.
Приписаний до MicroDAO, де він розміщений (частіше — DAARION).
Виконується на конкретних нодах.
### C) Core-City Agent (DAARION108)
108 агентів-експертів, що працюють для всього міста.
`service_scope = "city"`
### D) Orchestrator Agent
Агент, що має право створювати MicroDAO.
Перехід у Orchestrator створює подію: `agent.promoted_to_orchestrator`.
---
# 3. Новий розділ: «MicroDAO (оновлена модель)»
## 3.1. Структура
* `microdao_id`
* `type`: `root` | `standard` | `district`
* `primary_orchestrator_agent_id`
* `parent_microdao_id` (для district)
* `wallet_address`
* `metadata`
## 3.2. Інваріанти MicroDAO
* MicroDAO не може існувати без Orchestrator-Agent.
* `primary_orchestrator_agent_id` завжди існує і валідний.
* Root MicroDAO «DAARION» існує завжди.
* District = MicroDAO з розширеними правами.
* Усі ноди MicroDAO належать лише їй.
---
# 4. Новий розділ: «Node Model»
## 4.1. Структура ноди
* `node_id`
* `microdao_id`
* `node_kind`: `smartphone`, `laptop`, `edge`, `datacenter`, `iot`, `gpu-cluster`
* `capabilities` (json)
* `status`: `provisioning`, `active`, `draining`, `retired`
## 4.2. Інваріанти
* Нода завжди належить MicroDAO.
* Немає абстрактних/віртуальних нод.
* При реєстрації генерується подія `node.registered`.
---
# 5. Новий розділ: «District Model»
## 5.1. District = MicroDAO з type = district
Має розширені можливості:
* керування підлеглими MicroDAO,
* право мати власну мережу нод,
* роль «платформи» (галузь / район / екосистема).
## 5.2. Інваріанти District
* District не змінює власність нод MicroDAO.
* District — не новий тип сутності, не нова таблиця.
* Перехід MicroDAO → District фіксується подією `microdao.promoted_to_district`.
---
# 6. Новий розділ: «Assignment Layer (агенти, які працюють у різних MicroDAO)»
## 6.1. Призначення
Деякі агенти можуть:
* працювати у чужих MicroDAO,
* виконувати ролі у District,
* діяти від імені міста (DAARION108).
## 6.2. Структура сутності agent_assignment
```yaml
agent_assignment:
id: uuid
agent_id: string
target_microdao_id: string
scope: microdao | district | city
role: advisor | security | mentor | ops | core-team
start_ts: datetime
end_ts: datetime
```
## 6.3. Інваріанти Assignment
* Assignment не змінює перманентну приписку агента (`home_microdao_id`).
* Assignment є записом «тимчасової роботи/сервісу».
* DAARION108 мають `scope = city`.
---
# 7. Оновлення існуючих розділів документа microdao
Cursor при інтеграції повинен додати:
## 7.1. У розділ «Agents»
* поля: `home_microdao_id`, `home_node_id`, `service_scope`
* ролі: `regular`, `orchestrator`
* типи агентів (Personal, Service, Core-City)
## 7.2. У розділ «Teams/MicroDAO»
* обов'язкове поле `primary_orchestrator_agent_id`
* `type = root | standard | district`
* `parent_microdao_id`
* уточнення про DAARION (root)
## 7.3. У розділ «Nodes»
* додати інваріанти
* додати типи нод
* заборону абстрактних нод
## 7.4. У розділ «Governance»
* правило: MicroDAO створюється лише Orchestrator-Agent
* District — це не окрема таблиця
---
# 8. Підсумок патча
Після інтеграції цього патча:
* онтологія DAARION вплетена в microdao,
* всі сутності мають однакову семантику в документах та коді,
* нові типи агентів (service, core-city) офіційно описані,
* модель Assignment додана,
* MicroDAO, Node та District узгоджені з фундаментальним баченням,
* існуючі системи не змінюються, тільки розширюються.
Документ №3 завершений.