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:
213
docs/foundation/Technical_Description_microdao_PATCH_Ontology.md
Normal file
213
docs/foundation/Technical_Description_microdao_PATCH_Ontology.md
Normal 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 завершений.
|
||||
|
||||
Reference in New Issue
Block a user