Files
microdao-daarion/docs/tasks/TASK_PHASE_CITIZENS_DIRECTORY_v1.md
Apple 649d07ee29 feat(rooms): Fix NaN online stats + Add DAARWIZZ CTA on homepage
- Fixed NaN in online stats by using nullish coalescing (?? 0)
- Added members_online, zone, room_type to /api/v1/city/rooms response
- Added DAARWIZZ chat CTA section on homepage with link to city-lobby
- Created task files for next phases:
  - TASK_PHASE_CITY_ROOMS_FINISH_v2.md
  - TASK_PHASE_AGENT_MANAGEMENT_v1.md
  - TASK_PHASE_CITIZENS_DIRECTORY_v1.md
2025-12-01 09:19:07 -08:00

2.3 KiB

TASK_PHASE_CITIZENS_DIRECTORY_v1

Title

TASK_PHASE_CITIZENS_DIRECTORY_v1 - Public Citizens Directory and Agent Visibility

1. Overview

Make /citizens page fully functional as public AI-citizens directory:

  • Show list of agents marked as public.
  • Support filters: search, district, agent type.
  • Connect Publichnyi hromadianyn mista toggle in agent Identity tab to this directory.

2. Current State

  • /citizens page exists, but shows:

    • Found citizens: 0
    • Error: Failed to fetch citizens
  • Agents page /agents shows many agents (including NODE2 DAGI agents).

  • On agent Identity tab there is toggle:

    • Publichnyi hromadianyn mista
    • Rezhym vydymosti: Publichnyi / Tilky MicroDAO
  • Backend likely missing:

    • Proper get_public_citizens() query.
    • Or route /public/citizens is broken.

3. Goals

  1. Make /citizens page show a list of public agents.
  2. Wire visibility controls on agent Identity tab to is_public field.
  3. Filters work:
    • Search by name/title/tagline.
    • District filter.
    • Agent type filter.

4. Backend Tasks

4.1. Citizen model

Add CitizenSummary model with fields:

  • id, slug, display_name, role, public_tagline
  • district, public_district, home_microdao_id
  • kind, node_id, avatar_url, color_hint, status

4.2. Repo: get_public_citizens

Query agents WHERE is_public = true AND deleted_at IS NULL AND is_archived = false. Apply filters for district, kind, and search.

4.3. API route

GET /public/citizens with optional query params: search, district, kind.

4.4. Update agent visibility

PATCH /city/agents/{agent_id}/visibility to update is_public and visibility_scope.

5. Frontend Tasks

5.1. Fix Citizens API call

5.2. Citizens Page UI with filters

5.3. Citizen Card Component

5.4. Wire Identity Tab to visibility API

6. Acceptance Criteria

  1. /citizens page loads without error.
  2. At least one agent with is_public=true appears in Citizens Directory.
  3. Filters work.
  4. Changing visibility on /agents/[slug] Identity tab updates /citizens.
  5. No leakage of deleted/archived agents.

7. Districts Reference

  • leadership - Leadership Hall
  • system - System Control Center
  • engineering - Engineering Lab
  • marketing - Marketing Hub
  • finance - Finance Office
  • web3 - Web3 District
  • security - Security Bunker
  • vision - Vision Studio
  • rnd - R&D Laboratory
  • memory - Memory Vault