Files
microdao-daarion/docs/tasks/TASK_PHASE_MVP_SEED_REAL_ENTITIES.md
Apple 3e778e0f81 docs: MVP seed completed + orphan audit
- TASK_PHASE_MVP_SEED_REAL_ENTITIES: marked as completed
- TASK_PHASE_MVP_VERIFY_NO_ORPHANS: orphan verification task
- orphans_20251130.md: audit report with fixes applied

Fixes applied on NODE1:
- 13 governance agents now have DAIS identity
- 4 test agents now have home_microdao_id
- All 18 agents, 9 microDAOs, 23 rooms verified
2025-11-30 06:05:03 -08:00

8.6 KiB
Raw Blame History

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_identities
  • agents
  • microdaos
  • nodes (тільки реальні, без вигаданих)
  • agent_assignments
  • permissions
  • rooms (перевірити, що seed не дублює існуючі)
  • опційно: event_outbox (перевірити логування подій)

2.2. Кого й що потрібно створити

DAIS / Agents (core, що вже існують у концепції та/або в коді)

  1. City / Root:

    • DAARWIZZ — мер / city lead
    • DARIO — комʼюніті / city face
    • DARIA — support / tech help
    • SOUL — lead агент District SOUL
    • Helion — lead агент District ENERGYUNION
    • GREENFOOD (ERP Agent) — lead агент District GREENFOOD
  2. Інші вже згадані агенти:

    • CLAN — orchestrator для clan-типу microDAO
    • DRUID — лабораторія
    • 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 / slug
  • name
  • dao_type (root, district, standard, community, …)
  • orchestrator_agent_id
  • status (active)

District Lead прив'язки

У таблиці microdaos для:

  • daariondao_type = 'root', orchestrator = DAARWIZZ
  • energyuniondao_type = 'district', orchestrator = Helion
  • greenfooddao_type = 'district', orchestrator = GREENFOOD
  • retreat_hubdao_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. Кроки

  1. Проаналізувати схему:

    • переглянути останні міграції: 027_* (FOUNDATION_UPDATE),
    • зафіксувати точні назви колонок.
  2. Підготувати seed для DAIS identities:

    • створити dais_identities для:
      • DAARWIZZ, DARIO, DARIA, SOUL, Helion, GREENFOOD, CLAN, DRUID, EONARCH, YAROMIR.
    • якщо emails/wallets вже є — не дублювати.
  3. Створити записи в agents:

    • звʼязати кожного агента з його dais_id.
    • заповнити:
      • display_name,
      • slug,
      • gov_level (для city/district агентів),
      • status = 'active'.
  4. Створити записи в microdaos:

    • daarion, energyunion, greenfood, retreat_hub, інші реальні.
    • виставити dao_type + orchestrator_agent_id.
  5. Створити agent_assignments:

    • згідно з переліком вище (city, districts).
  6. Створити permissions:

    • мінімальний набір, щоб Governance UI коректно показував ролі (див. Agent_Governance_Protocol_v1.md).
  7. Перевірити rooms:

    • city rooms та district rooms частково вже seeded FOUNDATION_UPDATE (city-lobby, city-square, city-news, … + rooms для GREENFOOD/ENERGYUNION/SOUL).
    • Перевірити, чи:
      • є посилання на owner_microdao / owner_agent (якщо такі колонки є),
      • не створюються дублікати.
  8. Локально прогнати міграцію (якщо можливо) або на staging.

  9. Запустити міграцію на NODE1:

    • через той самий механізм, що й 027_*.
  10. 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 створювати лише при наявності реальних фізичних нод.