Files
microdao-daarion/docs/tasks/TASK_PHASE_CITY_MVP.md
Apple 3de3c8cb36 feat: Add presence heartbeat for Matrix online status
- matrix-gateway: POST /internal/matrix/presence/online endpoint
- usePresenceHeartbeat hook with activity tracking
- Auto away after 5 min inactivity
- Offline on page close/visibility change
- Integrated in MatrixChatRoom component
2025-11-27 00:19:40 -08:00

1.7 KiB
Raw Blame History

TASK_PHASE_CITY_MVP.md

DAARION CITY — MVP

0. Ціль

Створити перший живий MVP DAARION City:

  • City Home
  • Public Rooms (райони)
  • City Feed
  • Presence System
  • Second Me (stub)
  • Living Map (2D JSON)

1. Структура фронту

app/city/
  layout.tsx
  page.tsx
  feed/
  rooms/
  presence/
  second-me/
  map/

2. API endpoints (створити або доопрацювати)

Public Rooms:

  • GET /city/rooms
  • POST /city/rooms
  • GET /city/rooms/{id}

City Feed:

  • GET /city/feed
  • POST /city/feed

Presence:

  • WS /ws/city/presence

Second Me:

  • POST /secondme/invoke
  • GET /secondme/profile

Living Map:

  • GET /city/map
  • POST /city/map/update

3. Функціонал

3.1 City Home

  • списки районів
  • live online count
  • city metrics (stub)

3.2 Public Rooms

  • як канали microDAO, але загальноміські
  • WS-чат
  • метрики присутності

3.3 City Feed

  • пости + коментарі (спрощено)
  • push notifications (stub)

3.4 Presence

  • WS presence heartbeat
  • avatars grid

3.5 Second Me (stub)

  • одне поле prompt → простий LLM call
  • Зберігати 5 останніх контекстів

3.6 Living Map

  • JSON-шари:
{
  "nodes": [],
  "blocks": [],
  "agents": [],
  "events": []
}

4. Acceptance Criteria

  • City Home працює
  • Public Rooms доступні
  • Feed оновлюється
  • Presence працює
  • Second Me відповідає
  • Map видно

5. Команда до Cursor

"Створити DAARION City MVP згідно TASK_PHASE_CITY_MVP.md"