## 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.
6.6 KiB
microdao_Data_Model_UPDATE_v1.md
microDAO — Data Model Update (Foundation Layer)
Version: 1.0
Status: Non-Breaking Schema Extension
Scope: agents, microdaos, nodes, assignments, capabilities, metadata
0. Мета документа
Цей документ визначає оновлену модель даних microDAO, яка:
- формалізує онтологію DAARION (Agent → MicroDAO → Node → District),
- вводить нові інваріанти,
- додає нові сутності та поля,
- стандартизує JSON-поля
capabilitiesіmetadata, - додає шар Assignment для агента, який працює в інших MicroDAO,
- залишається сумісною з існуючою системою (non-breaking).
1. Загальна структура моделі
Оновлена модель складається з п’яти головних сутностей:
agents(оновлено)microdaos(оновлено)nodes(оновлено)agent_assignments(нова таблиця)event_log/ outbox (оновлено відповідно до подій)
Усі ці сутності підтримують фундаментальну онтологію DAARION.
2. Таблиця agents (оновлена)
Призначення: зберігати всіх агентів міста — персональних, сервісних, інфраструктурних, core-city, orchestrator.
2.1. Поля
agents (
id text primary key,
dais_identity_id text not null,
-- базова приписка
home_microdao_id text not null references microdaos(id),
home_node_id text null references nodes(id),
-- роль агента
role text not null check (role in ('regular','orchestrator')),
-- тип діяльності (розширений шар)
service_scope text null
check (service_scope in ('microdao','district','city')),
metadata jsonb not null default '{}'::jsonb,
created_at timestamptz not null default now()
);
2.2. Опис ключових полів
home_microdao_id— база агента (жорсткий інваріант).home_node_id— нода, на якій живе агент (може бути null).role—regularабоorchestrator.service_scope—microdao,district,city.metadata— додаткові параметри (аватар, worker-конфіги, теги тощо).
3. Таблиця microdaos (оновлена)
Призначення: зберігати root, standard, district MicroDAO.
3.1. Поля
microdaos (
id text primary key,
type text not null
check (type in ('root','standard','district')),
primary_orchestrator_agent_id text not null
references agents(id),
parent_microdao_id text null references microdaos(id),
wallet_address text null,
metadata jsonb not null default '{}'::jsonb,
created_at timestamptz not null default now()
);
3.2. Інваріанти
- MicroDAO не може існувати без
primary_orchestrator_agent_id. type='root'зарезервовано для DAARION.type='district'дає розширені можливості.- МікроДАО можуть формувати дерево через
parent_microdao_id.
4. Таблиця nodes (оновлена)
Призначення: зберігати фізичні / логічні вузли виконання DAGI Mesh.
4.1. Поля
nodes (
id text primary key,
microdao_id text not null references microdaos(id),
node_kind text not null
check (node_kind in (
'smartphone','laptop','edge','datacenter',
'iot','gpu-cluster'
)),
capabilities jsonb not null default '{}'::jsonb,
status text not null
check (status in ('provisioning','active','draining','retired')),
metadata jsonb not null default '{}'::jsonb,
created_at timestamptz not null default now()
);
4.2. Інваріанти
- Node завжди належить конкретній MicroDAO.
- Node — реальний пристрій (не абстракція).
- При створенні ноди генерується подія
node.registered.
5. Таблиця agent_assignments (нова)
Призначення: описує, де агент працює (service layer), не змінюючи приписку.
5.1. Поля
agent_assignments (
id uuid primary key,
agent_id text not null references agents(id),
target_microdao_id text not null references microdaos(id),
scope text not null
check (scope in ('microdao','district','city')),
role text not null, -- advisor/security/mentor/ops/core-team
start_ts timestamptz not null default now(),
end_ts timestamptz null,
metadata jsonb not null default '{}'::jsonb
);
5.2. Інваріанти
- Assignment не змінює
home_microdao_id. - DAARION108 мають assignments з
scope='city'. - Service/Infrastructure агенти можуть мати кілька assignments.
6. JSON-структури
6.1. capabilities.json
{
"cpu": "8 cores",
"ram": "32GB",
"gpu": {
"model": "RTX 4090",
"vram": "24GB"
},
"network": {
"up": "1Gbps",
"down": "1Gbps"
},
"sensors": ["camera","lidar","temperature"]
}
6.2. metadata.json
{
"version": "1.0.0",
"agent_type": "service",
"citywide": true,
"labels": ["core","secure","production"],
"notes": "This agent is part of DAARION108"
}
7. Події (пов’язані з моделлю)
agent.promoted_to_orchestratormicrodao.creatednode.registeredmicrodao.promoted_to_districtagent.assignment_createdagent.assignment_ended
Їхні схеми визначені в microdao_Event_Catalog_EXTENDED_v1.md.
8. Міграції (чорновий план)
- додати поля до
agents; - додати поля до
microdaos; - оновити
nodes; - створити
agent_assignments; - додати enum-типи (за потреби).
9. Підсумок
Модель даних тепер повністю відповідає фундаментальній онтології DAARION.
Усі інваріанти формалізовані, Assignment layer додано, структури capabilities/metadata стандартизовано.
Документ готовий до реалізації міграцій та оновлень у коді.