8.6 KiB
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 ENERGYUNIONGREENFOOD(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
- scope:
- DARIO:
- scope:
city - role:
city_community
- scope:
- DARIA:
- scope:
city - role:
city_support
- scope:
- Helion:
- scope:
district:energyunion - role:
district_lead
- scope:
- GREENFOOD:
- scope:
district:greenfood - role:
district_lead
- scope:
- SOUL:
- scope:
district:retreat_hub - role:
district_lead
- scope:
(Точні значення 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).
- мінімальний набір, щоб Governance UI коректно показував ролі (див.
-
Перевірити
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 для завершення фази
- Є файл
migrations/033_mvp_seed_real_entities.sql. - Міграція застосована до БД
daarionна NODE1. - В
agentsє записи для всіх core-агентів (18 агентів). - В
microdaosє root + всі три District (GREENFOOD, ENERGYUNION, SOUL) + інші (9 total). - В
agent_assignmentsтаpermissionsє мінімальний набір для: - city governance (DAARWIZZ/DARIO/DARIA), - district_lead (Helion, GREENFOOD, SOUL). - На daarion.space:
-
/governanceпоказує реальних агентів ✅, -/cityпоказує city rooms та прив'язки ✅, -/agentsпоказує 18 агентів ✅.
5. Нотатки
- Усі назви агентів, microDAO, полів таблиць — брати з існуючого коду та міграцій.
- Не створювати вигаданих агентів, microDAO, nodes.
- Node entries створювати лише при наявності реальних фізичних нод.