TASK PHASE — MVP SEED REAL ENTITIES¶
Version: 1.0
Status: ✅ COMPLETED
Target: NODE1 (production DB: daarion)
Completed: 2025-11-30
1. Мета¶
Після FOUNDATION_UPDATE та впровадження Governance Backend API:
- БД має всі нові таблиці (agents, microdaos, nodes, dais_*, agent_assignments, permissions, rooms, event_outbox, incidents, …),
- Frontend (Next.js, apps/web) ходить на
/api/v1/*у city-service, - Але немає реальних даних (агентів, microDAO, прив'язок), через що:
/agents,/microdaos,/governance,/cityу проді виглядають порожніми.
Ціль фази — засідити (seed) реальні агентів, microDAO, базові зв'язки та перевірити, що:
- на daarion.space зʼявляються:
- реальні агенти,
- реальні microDAO,
- реальні districts,
- city/district rooms,
- Governance UI і City UI працюють з живими даними.
2. Обсяг робіт (Scope)¶
2.1. Таблиці, які мають бути задіяні¶
Не змінювати схему, лише наповнити:
dais_identitiesagentsmicrodaosnodes(тільки реальні, без вигаданих)agent_assignmentspermissionsrooms(перевірити, що seed не дублює існуючі)- опційно:
event_outbox(перевірити логування подій)
2.2. Кого й що потрібно створити¶
DAIS / Agents (core, що вже існують у концепції та/або в коді)¶
- City / Root:
DAARWIZZ— мер / city leadDARIO— комʼюніті / city faceDARIA— support / tech helpSOUL— lead агент District SOULHelion— lead агент District ENERGYUNION-
GREENFOOD(ERP Agent) — lead агент District GREENFOOD -
Інші вже згадані агенти:
CLAN— orchestrator для clan-типу microDAODRUID— лабораторіяEONARCH— приватний агентYAROMIR— приватний агент
ВАЖЛИВО:
Отримати точні назви / slug-и агентів із поточного коду/міграцій (НЕ вигадувати нові).
MicroDAO¶
Мінімальний набір:
daarion(root microDAO / city-level)energyunion(District — ENERGYUNION)greenfood(District — GREENFOOD)retreat_hub(District — SOUL Retreat)clan_*(якщо вже є реально створений клан microDAO)druid_lab(якщо існує)- інші реальні microDAO з БД, якщо вже створювались через UI раніше
Поля (орієнтовно, точний список взяти з міграцій):
id/slugnamedao_type(root,district,standard,community, …)orchestrator_agent_idstatus(active)
District Lead прив'язки¶
У таблиці microdaos для:
daarion→dao_type = 'root', orchestrator =DAARWIZZenergyunion→dao_type = 'district', orchestrator =Heliongreenfood→dao_type = 'district', orchestrator =GREENFOODretreat_hub→dao_type = 'district', orchestrator =SOUL
Agent Assignments / Governance¶
У agent_assignments + permissions:
- DAARWIZZ:
- scope:
city - role:
city_governance - DARIO:
- scope:
city - role:
city_community - DARIA:
- scope:
city - role:
city_support - Helion:
- scope:
district:energyunion - role:
district_lead - GREENFOOD:
- scope:
district:greenfood - role:
district_lead - SOUL:
- scope:
district:retreat_hub - role:
district_lead
(Точні значення enum/рядків взяти з Agent_Governance_Protocol_v1.md + актуальних міграцій.)
Nodes¶
- Заповнювати тільки тим, що реально існує (NODE1, NODE2, якщо вони відображаються в схемі як rows у
nodes). - Якщо зараз фізичні ноди ще не підʼєднані як entries у БД — цю частину можна пропустити або створити лише запис для
NODE1(якщо вже використовується в коді). - Строго дотримуватись правила:
"Жодних автосозданих нод — тільки приєднані по факту".
3. Реалізація¶
3.1. Формат¶
Створити одну нову міграцію для seed, наприклад:
migrations/033_mvp_seed_real_entities.sql
Вимоги:
- ідемпотентність:
- використовувати
INSERT ... ON CONFLICT DO NOTHING(якщо SQL), - або попередньо перевіряти існування записів.
- НЕ змінювати схему (жодних
ALTER TABLE), тількиINSERT.
3.2. Кроки¶
- Проаналізувати схему:
- переглянути останні міграції:
027_*(FOUNDATION_UPDATE), -
зафіксувати точні назви колонок.
-
Підготувати seed для DAIS identities:
- створити
dais_identitiesдля:- DAARWIZZ, DARIO, DARIA, SOUL, Helion, GREENFOOD, CLAN, DRUID, EONARCH, YAROMIR.
-
якщо emails/wallets вже є — не дублювати.
-
Створити записи в
agents: - звʼязати кожного агента з його
dais_id. -
заповнити:
display_name,slug,gov_level(для city/district агентів),status = 'active'.
-
Створити записи в
microdaos: daarion,energyunion,greenfood,retreat_hub, інші реальні.-
виставити
dao_type+orchestrator_agent_id. -
Створити
agent_assignments: -
згідно з переліком вище (city, districts).
-
Створити
permissions: -
мінімальний набір, щоб Governance UI коректно показував ролі (див.
Agent_Governance_Protocol_v1.md). -
Перевірити
rooms: - city rooms та district rooms частково вже seeded FOUNDATION_UPDATE (city-lobby, city-square, city-news, … + rooms для GREENFOOD/ENERGYUNION/SOUL).
-
Перевірити, чи:
- є посилання на owner_microdao / owner_agent (якщо такі колонки є),
- не створюються дублікати.
-
Локально прогнати міграцію (якщо можливо) або на staging.
-
Запустити міграцію на NODE1:
-
через той самий механізм, що й
027_*. -
Smoke-тести в проді:
- Зайти на:
/agents— повинні зʼявитись DAARWIZZ, DARIO, DARIA, Helion, GREENFOOD, SOUL, CLAN, DRUID, EONARCH, YAROMIR./governance— показує city governance agents + districts./city— показує city rooms та привʼязаних агентів./district/energyunion,/district/greenfood,/district/soul(коли будуть маршрути) — інформація не пуста.
4. Checklist для завершення фази¶
- [x] Є файл
migrations/033_mvp_seed_real_entities.sql. - [x] Міграція застосована до БД
daarionна NODE1. - [x] В
agentsє записи для всіх core-агентів (18 агентів). - [x] В
microdaosє root + всі три District (GREENFOOD, ENERGYUNION, SOUL) + інші (9 total). - [x] В
agent_assignmentsтаpermissionsє мінімальний набір для:- city governance (DAARWIZZ/DARIO/DARIA),
- district_lead (Helion, GREENFOOD, SOUL).
- [x] На daarion.space:
/governanceпоказує реальних агентів ✅,/cityпоказує city rooms та прив'язки ✅,/agentsпоказує 18 агентів ✅.
5. Нотатки¶
- Усі назви агентів, microDAO, полів таблиць — брати з існуючого коду та міграцій.
- Не створювати вигаданих агентів, microDAO, nodes.
- Node entries створювати лише при наявності реальних фізичних нод.