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:
239
docs/foundation/DAARION_Ontology_Core_v1.md
Normal file
239
docs/foundation/DAARION_Ontology_Core_v1.md
Normal file
@@ -0,0 +1,239 @@
|
||||
# DAARION_Ontology_Core_v1.md
|
||||
|
||||
## DAARION.city — Ontology Core (Agent → MicroDAO → Node → District)
|
||||
|
||||
**Version:** 1.0
|
||||
**Status:** Foundation Document (Immutable Core)
|
||||
**Scope:** DAARION.city / microDAO / DAGI Mesh / Identity Layer (DAIS)
|
||||
|
||||
---
|
||||
|
||||
# 0. Мета документа
|
||||
|
||||
Цей документ встановлює **базову онтологію** міста DAARION.city:
|
||||
структуру сутностей, їх ролі, інваріанти та правила взаємодії.
|
||||
|
||||
Це — фундаментальна модель, на якій будуються:
|
||||
|
||||
* User Onboarding
|
||||
* Identity Layer (DAIS)
|
||||
* MicroDAO Governance
|
||||
* Node Registration
|
||||
* Agent Networks
|
||||
* District Architecture
|
||||
* DAGI Mesh Routing
|
||||
|
||||
Документ є **неламким** (non-breaking): будь-які зміни мають бути сумісні назад і розширювати, а не замінювати тут визначені принципи.
|
||||
|
||||
---
|
||||
|
||||
# 1. Онтологічний каркас DAARION.city
|
||||
|
||||
Уся мережа базується на простій ієрархії:
|
||||
|
||||
**Agent → MicroDAO → Node → District**
|
||||
|
||||
Жодна сутність не може існувати поза цією структурою.
|
||||
|
||||
---
|
||||
|
||||
# 2. Agent
|
||||
|
||||
## 2.1. Опис
|
||||
|
||||
**Agent** — мінімальна одиниця DAARION.city.
|
||||
Кожен агент має:
|
||||
|
||||
* унікальний цифровий профіль (**DAIS Identity**);
|
||||
* власний «Кабінет агента» (Agent Console);
|
||||
* ключі, криптогаманець, DID/Matrix-ідентичність;
|
||||
* базову приналежність до однієї MicroDAO (`home_microdao_id`);
|
||||
* базову ноду виконання (`home_node_id`);
|
||||
* власні ролі та сфери діяльності.
|
||||
|
||||
## 2.2. Типи агентів
|
||||
|
||||
| Тип агента | Опис | Приписка | Сфера діяльності |
|
||||
| -------------------------------- | ----------------------------- | ------------------------------------------------- | ---------------------------- |
|
||||
| **Personal Agent** | стандартний агент користувача | обов'язкова | своя MicroDAO або root-місто |
|
||||
| **Service/Infrastructure Agent** | технічні агенти сервісів | до MicroDAO, де вони розгорнуті (частіше DAARION) | мікроДАО / дістрик / місто |
|
||||
| **Core-City Agent (DAARION108)** | головна команда з 108 агентів | root MicroDAO «DAARION» | citywide (все місто) |
|
||||
| **Orchestrator Agent** | має право створювати MicroDAO | обов'язкова | керування MicroDAO |
|
||||
|
||||
## 2.3. Ролі
|
||||
|
||||
* `regular` — стандартний агент.
|
||||
* `orchestrator` — агент, який може створювати і керувати MicroDAO.
|
||||
|
||||
## 2.4. Інваріанти Agent
|
||||
|
||||
1. Agent не може існувати без DAIS-ідентичності.
|
||||
2. Agent завжди має одну `home_microdao_id`.
|
||||
3. Agent завжди має хоч одну ноду виконання (мінімально — root-ноду DAARION).
|
||||
4. Orchestrator — це підвищений стан агента, який активується лише при виконанні умов доступу (токени, ключі).
|
||||
5. Усі Service/Infrastructure-агенти «приписані» до реальної MicroDAO та реальної ноди.
|
||||
|
||||
---
|
||||
|
||||
# 3. MicroDAO
|
||||
|
||||
## 3.1. Опис
|
||||
|
||||
**MicroDAO** — мінімальна організаційна одиниця в місті:
|
||||
команда, спільнота, проєкт, ініціатива або економічна клітинка.
|
||||
|
||||
## 3.2. Ключові характеристики
|
||||
|
||||
* унікальний `microdao_id`;
|
||||
* `primary_orchestrator_agent_id` — головний агент;
|
||||
* свій криптогаманець DAIS;
|
||||
* свій governance-модуль;
|
||||
* свої кімнати/канали/робочі простори;
|
||||
* можливість реєструвати **Node**.
|
||||
|
||||
## 3.3. Типи MicroDAO
|
||||
|
||||
* **root** — перша MicroDAO, місто DAARION;
|
||||
* **standard** — звичайні MicroDAO користувачів;
|
||||
* **district** — розширений режим MicroDAO з доступом до інфраструктури і підлеглих MicroDAO.
|
||||
|
||||
## 3.4. Інваріанти MicroDAO
|
||||
|
||||
1. MicroDAO не може існувати без одного основного Orchestrator-Agent.
|
||||
2. Root MicroDAO (DAARION) існує завжди і є предком усіх інших MicroDAO.
|
||||
3. Кожна MicroDAO може реєструвати одну або більше нод.
|
||||
4. District — це **форма MicroDAO**, а не окрема сутність.
|
||||
5. Жодна MicroDAO не може існувати «без агресора» (без керуючого агента).
|
||||
|
||||
---
|
||||
|
||||
# 4. Node
|
||||
|
||||
## 4.1. Опис
|
||||
|
||||
**Node** — реальний вузол виконання в DAGI Mesh:
|
||||
|
||||
* смартфон,
|
||||
* ноутбук,
|
||||
* edge-пристрій,
|
||||
* сервер,
|
||||
* GPU-кластер,
|
||||
* IoT-шлюз.
|
||||
|
||||
Це **не абстракція** — тільки фізично або програмно реальні пристрої.
|
||||
|
||||
## 4.2. Характеристики
|
||||
|
||||
* `node_id`;
|
||||
* `microdao_id` — кому належить нода;
|
||||
* `node_kind`: `smartphone`, `laptop`, `edge`, `datacenter`, `iot`, `gpu-cluster`;
|
||||
* `capabilities` (GPU, RAM, sensors, network);
|
||||
* `status`: `provisioning`, `active`, `draining`, `retired`.
|
||||
|
||||
## 4.3. Інваріанти Node
|
||||
|
||||
1. Node **завжди** належить одній MicroDAO.
|
||||
2. Не існує «безхозних», «тестових» або «системних» нод поза моделлю.
|
||||
3. Вся базова інфраструктура DAARION.city належить root MicroDAO «DAARION».
|
||||
4. Агент може виконуватись лише:
|
||||
* на ноді своєї MicroDAO,
|
||||
* або на ноді MicroDAO/District, які на це дали дозвіл (governance).
|
||||
|
||||
---
|
||||
|
||||
# 5. District
|
||||
|
||||
## 5.1. Опис
|
||||
|
||||
**District** — це MicroDAO, якій надано розширені повноваження для керування:
|
||||
|
||||
* підлеглими MicroDAO,
|
||||
* мережами нод,
|
||||
* економічними або галузевими кластерами.
|
||||
|
||||
## 5.2. Інваріанти District
|
||||
|
||||
1. District = MicroDAO з `type = district`.
|
||||
2. District має `parent_microdao_id`.
|
||||
3. District може керувати ресурсами нижчих MicroDAO без зміни їх власності над нодами.
|
||||
4. District — це елемент ієрархії, але не новий тип сутності.
|
||||
|
||||
---
|
||||
|
||||
# 6. Assignment Layer (Агенти, які працюють у різних MicroDAO)
|
||||
|
||||
## 6.1. Опис
|
||||
|
||||
Agent може «приходити на роботу» або виконувати завдання:
|
||||
|
||||
* в іншій MicroDAO,
|
||||
* в District,
|
||||
* у всьому місті (DAARION108).
|
||||
|
||||
Це робиться без зміни:
|
||||
|
||||
* `home_microdao_id`,
|
||||
* `home_node_id`,
|
||||
* ролі (regular / orchestrator).
|
||||
|
||||
## 6.2. Сутність `agent_assignment`
|
||||
|
||||
Визначає:
|
||||
«цей агент виконує роботу для іншої MicroDAO/District».
|
||||
|
||||
Поля:
|
||||
|
||||
* `agent_id`
|
||||
* `target_microdao_id`
|
||||
* `scope` (`microdao`, `district`, `city`)
|
||||
* `role` (`advisor`, `ops`, `security`, `mentor`, `core-team`)
|
||||
* `start_ts`, `end_ts`
|
||||
|
||||
## 6.3. Інваріанти Assignment
|
||||
|
||||
1. Assignment не змінює приписку агента.
|
||||
2. DAARION108 мають `scope = city`.
|
||||
3. Service/Infrastructure-агенти можуть мати assignment до всієї мережі.
|
||||
|
||||
---
|
||||
|
||||
# 7. Жорсткі інваріанти онтології (DAARION Law)
|
||||
|
||||
1. **Agent → MicroDAO → Node**
|
||||
— єдина дозволена лінія походження.
|
||||
|
||||
2. **MicroDAO завжди має Orchestrator-Agent.**
|
||||
|
||||
3. **Node завжди належить MicroDAO.**
|
||||
|
||||
4. **District — це розширений режим MicroDAO, не окрема сутність.**
|
||||
|
||||
5. **Немає тестових, тимчасових або віртуальних нод.**
|
||||
Усі ноди справжні та пов'язані з реальними агентами та MicroDAO.
|
||||
|
||||
6. **Новий користувач завжди починає як Agent, приписаний до root-мікроДАО DAARION.**
|
||||
|
||||
7. **Тільки Orchestrator-Agent може створити MicroDAO.**
|
||||
|
||||
---
|
||||
|
||||
# 8. Стратегічна мета онтології
|
||||
|
||||
Створити **міцний, простий, ідеально зрозумілий фундамент**
|
||||
для нового типу Інтернету:
|
||||
|
||||
**Інтернет агентів та нод.**
|
||||
|
||||
На цій онтології будуть побудовані:
|
||||
|
||||
* модуль DAIS Identity,
|
||||
* Agent Governance,
|
||||
* Node Registration / Verification,
|
||||
* District Platforms,
|
||||
* розподілене планування DAGI Mesh,
|
||||
* і вся економіка міста DAARION.city.
|
||||
|
||||
---
|
||||
|
||||
Документ готовий до включення в TASK_PHASE_FOUNDATION_UPDATE та подальшої розробки.
|
||||
|
||||
Reference in New Issue
Block a user