Files
microdao-daarion/docs/tasks/TASK_FOUNDATION_IMPLEMENTATION.md
Apple 7b91c8e83c 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.
2025-11-29 15:24:38 -08:00

6.1 KiB
Raw Blame History

TASK: Foundation Implementation in MVP

Status: Implemented
Priority: High
Completed: 2025-11-29
Dependencies: FOUNDATION_UPDATE документи (завершено)


📋 Огляд

Впровадження оновлень архітектури FOUNDATION_UPDATE в MVP:

  • Оновлення Data Model (міграції)
  • Нові NATS events
  • Backend API оновлення
  • Frontend оновлення

Що вже є (аналіз)

Database

  • agents.is_orchestrator (boolean) - частковий аналог role
  • microdaos.is_platform (boolean) - частковий аналог type=district
  • microdaos.parent_microdao_id - ієрархія
  • microdaos.orchestrator_agent_id - primary orchestrator
  • nodes.modules, nodes.gpu, nodes.roles - capabilities
  • microdao_agents - зв'язок агентів з мікроДАО

Backend

  • DAO Factory service
  • Registry service
  • Wallet service
  • PDP (Policy Decision Point)

Frontend

  • Agent Hub UI
  • MicroDAO Console
  • Node Cabinets
  • City Page (базова)

🚀 Що потрібно реалізувати

Phase 1: Database Schema Update (Міграція 027)

-- 027_foundation_ontology_update.sql
  1. Agents table

    • dais_identity_id text - DAIS прив'язка
    • agent_role enum - замість is_orchestrator
    • agent_service_scope enum
    • home_microdao_id text - базова приписка
    • home_node_id text - базова нода
  2. MicroDAOs table

    • dao_type enum (root/standard/district)
    • primary_orchestrator_agent_id text
    • wallet_address text
  3. Nodes table

    • kind enum (smartphone/laptop/edge/datacenter/iot/gpu-cluster)
    • capabilities jsonb
    • node_status enum (provisioning/active/draining/retired)
  4. Нова таблиця: agent_assignments

    • All fields implemented
  5. DAIS tables (нові)

    • dais_identities
    • dais_emails
    • dais_wallets
    • dais_keys
  6. Rooms table (нова)

    • Full Rooms Layer support
  7. Event outbox (нова)

    • For NATS event delivery

Phase 2: NATS Events (Event Catalog)

  • dagion.agent.promoted_to_orchestrator
  • dagion.microdao.created
  • dagion.node.registered
  • dagion.microdao.promoted_to_district
  • dagion.agent.assignment_created
  • dagion.agent.assignment_ended

Phase 3: Backend API Updates

  1. DAIS routes

    • POST /api/v1/dais/identity
    • GET /api/v1/dais/:id
    • GET /api/v1/dais/agent/:agentId
    • POST /api/v1/dais/:id/email
    • POST /api/v1/dais/:id/email/verify
    • POST /api/v1/dais/:id/wallet
    • POST /api/v1/dais/:id/wallet/verify
    • POST /api/v1/dais/:id/promote-to-orchestrator
  2. Assignment routes

    • POST /api/v1/assignments
    • DELETE /api/v1/assignments/:id
    • GET /api/v1/assignments/agent/:agentId
    • GET /api/v1/assignments/microdao/:microdaoId
    • GET /api/v1/assignments/citywide
    • GET /api/v1/assignments/agent/:agentId/scope
    • GET /api/v1/assignments/check

Phase 4: Frontend Updates

  1. Types

    • src/types/ontology.ts - all ontology types
  2. API Clients

    • src/api/dais.ts
    • src/api/assignments.ts
  3. Components

    • DaisProfileCard.tsx
    • AssignmentsPanel.tsx
    • OntologyBadge.tsx (MicrodaoType, NodeStatus, NodeKind, AgentRole, ServiceScope)

📁 Файли для створення/оновлення

Backend

backend/
├── domain/
│   ├── dais/
│   │   └── types.ts          # DAIS types
│   ├── agent/
│   │   └── types.ts          # оновити
│   └── assignment/
│       └── types.ts          # нові типи
├── http/
│   ├── dais.routes.ts        # новий
│   └── assignment.routes.ts  # новий
├── services/
│   ├── dais/
│   │   └── dais.service.ts   # новий
│   └── assignment/
│       └── assignment.service.ts # новий
└── infra/
    └── nats/
        └── events.ts         # оновити events catalog

Frontend

src/
├── api/
│   ├── dais.ts               # новий
│   └── assignments.ts        # новий
├── features/
│   ├── dais/
│   │   └── components/       # DAIS UI
│   └── assignments/
│       └── AssignmentsPanel.tsx
└── types/
    ├── dais.ts               # DAIS types
    └── ontology.ts           # Agent/MicroDAO/Node types

Migrations

migrations/
└── 027_foundation_ontology_update.sql

🎯 Acceptance Criteria

  1. Database

    • Міграція 027 виконана успішно
    • Всі таблиці відповідають Data Model v1
  2. Backend

    • API routes працюють
    • NATS events публікуються
  3. Frontend

    • Agent Console показує DAIS/assignments
    • MicroDAO показує type/hierarchy
    • Nodes показують lifecycle
  4. Non-Breaking

    • Існуючий функціонал працює
    • Backward compatibility збережено

🔧 Порядок виконання

  1. Створити міграцію 027_foundation_ontology_update.sql
  2. Застосувати міграцію на dev БД
  3. Оновити backend types для нових полів
  4. Додати API routes для DAIS, assignments
  5. Оновити frontend types
  6. Додати UI компоненти для нового функціоналу
  7. Тестування локально
  8. Deploy на production

Готовий до виконання? Починаємо з Phase 1: Database Migration.