Apple
e3accd4df0
feat: DAGI Router v2 - new endpoints, hooks, and UI card
2025-12-01 05:21:43 -08:00
Apple
0f32630733
fix: use CASE instead of COALESCE for swapper_state to always update when provided
2025-12-01 04:12:38 -08:00
Apple
b3e3c6417d
fix: update Swapper endpoints (/health, /models), remove upload size limits, auto-convert images
2025-12-01 03:03:27 -08:00
Apple
cb9efaf656
fix: import Swapper models in routes_city
2025-11-30 15:26:42 -08:00
Apple
cbaaed5e23
fix: fix backend files and add swapper functionality
2025-11-30 15:19:11 -08:00
Apple
fd814b2059
feat: implement Swapper metrics collection and UI
2025-11-30 15:12:49 -08:00
Apple
25defcdb36
fix: cast all microdao_id to text in joins and where clauses
2025-11-30 14:37:29 -08:00
Apple
ac2de7cdd1
fix: remove debug try-except block
2025-11-30 14:31:51 -08:00
Apple
941f12cc0e
fix: catch microdao fetch error in get_node_by_id
2025-11-30 14:30:04 -08:00
Apple
4e90b5153b
fix: cast microdao_id to text in join
2025-11-30 14:27:39 -08:00
Apple
5e4228b81a
fix: mount agents router under /api/v1
2025-11-30 14:09:32 -08:00
Apple
1830109a95
feat: Agent System Prompts MVP (B) - database, backend API, and frontend integration
2025-11-30 14:04:48 -08:00
Apple
bca81dc719
feat: Node Self-Healing, DAGI Audit, Agent Prompts, Infra Invariants
...
### Backend (city-service)
- Node Registry + Self-Healing API (migration 039)
- Improved get_all_nodes() with robust fallback for node_registry/node_cache
- Agent Prompts Runtime API for DAGI Router integration
- DAGI Router Audit endpoints (phantom/stale detection)
- Node Agents API (Guardian/Steward)
- Node metrics extended (CPU/GPU/RAM/Disk)
### Frontend (apps/web)
- Node Directory with improved error handling
- Node Cabinet with metrics cards
- DAGI Router Card component
- Node Metrics Card component
- useDAGIAudit hook
### Scripts
- check-invariants.py - deploy verification
- node-bootstrap.sh - node self-registration
- node-guardian-loop.py - continuous self-healing
- dagi_agent_audit.py - DAGI audit utility
### Migrations
- 034: Agent prompts seed
- 035: Agent DAGI audit
- 036: Node metrics extended
- 037: Node agents complete
- 038: Agent prompts full coverage
- 039: Node registry self-healing
### Tests
- test_infra_smoke.py
- test_agent_prompts_runtime.py
- test_dagi_router_api.py
### Documentation
- DEPLOY_CHECKLIST_2024_11_30.md
- Multiple TASK_PHASE docs
2025-11-30 13:52:01 -08:00
Apple
a7adddb60d
feat: MicroDAO Rooms Integration
...
Backend:
- GET /city/microdao/{slug}/agents - list agents with roles
- Seed: 6 rooms for DAARION, 3+ rooms for each District
Task doc: TASK_PHASE_MICRODAO_ROOMS_INTEGRATION_v1.md
2025-11-30 11:48:44 -08:00
Apple
0fd05f678a
feat: District Portals API (DB-based, no hardcodes)
...
Backend:
- GET /api/v1/districts - list all districts from DB
- GET /api/v1/districts/{slug} - district detail with lead agent, core team, rooms, nodes
repo_city methods:
- get_districts() - SELECT FROM microdaos WHERE dao_type='district'
- get_district_by_slug()
- get_district_lead_agent() - with fallback to orchestrator
- get_district_core_team()
- get_district_agents()
- get_district_rooms() - by slug prefix
- get_district_nodes()
- get_district_stats()
Task doc: TASK_PHASE_DISTRICT_PORTALS_v1.md
2025-11-30 11:37:56 -08:00
Apple
85fdcdf0be
feat: City Rooms routing implementation
...
Backend:
- GET /api/v1/city/rooms - list all city rooms
- GET /api/v1/city/rooms/{slug} - get room by slug with host agents
Frontend:
- Updated /city/[slug] page with host agents section
- Added breadcrumb navigation
- Updated API client to fetch room by slug
- Added rewrite for /api/city/rooms/:slug
Task doc: TASK_PHASE_CITY_ROOMS_ROUTING_v1.md
2025-11-30 10:54:39 -08:00
Apple
3bfbd359fd
feat: Presence Layer API implementation
...
Matrix Gateway:
- GET /internal/matrix/presence/{matrix_user_id} - get single user presence
- GET /internal/matrix/presence/bulk - get multiple users presence
City Service:
- GET /api/v1/agents/{agent_id}/presence - get agent presence via gateway
- get_matrix_presence_for_user() helper function
Task doc: TASK_PHASE_PRESENCE_LAYER_v1.md
2025-11-30 10:42:29 -08:00
Apple
ec57f7a596
feat: Add Chat API endpoints for Matrix integration
...
City Service:
- GET /api/v1/chat/rooms/{room_id}/messages - get message history
- POST /api/v1/chat/rooms/{room_id}/messages - send message
- Add get_room_by_id to repo_city
Synapse:
- Increase rate limits for room creation
- Add rc_joins, rc_invites configuration
All 27 rooms now have matrix_room_id
2025-11-30 10:34:27 -08:00
Apple
7108985b55
feat: Matrix Gateway integration for Rooms Layer
...
Matrix Gateway:
- Add POST /internal/matrix/room/join endpoint
- Add POST /internal/matrix/message/send endpoint
- Add GET /internal/matrix/rooms/{room_id}/messages endpoint
City Service:
- Add POST /rooms/sync/matrix endpoint for bulk sync
- Update get_agent_chat_room to auto-create Matrix rooms
- Update get_node_chat_room to auto-create Matrix rooms
- Update get_microdao_chat_room to auto-create Matrix rooms
- Add join_user_to_room, send_message_to_room, get_room_messages to matrix_client
- Add ensure_room_has_matrix helper function
This enables:
- Automatic Matrix room creation for all entity types
- chat_available = true when Matrix room exists
- Real-time messaging via Matrix
2025-11-30 10:12:27 -08:00
Apple
e62f81253f
fix: MicroDAO rooms query to include owner_id based rooms
2025-11-30 09:56:58 -08:00
Apple
1ea293281a
fix: correct function name list_agent_summaries
2025-11-30 09:52:11 -08:00
Apple
b2ddaa90b3
fix: add updated_at column to city_rooms
2025-11-30 09:51:03 -08:00
Apple
f8d1287e38
fix: add missing columns to city_rooms table (room_type, owner_type, etc.)
2025-11-30 09:49:55 -08:00
Apple
a1baedfc94
feat: Rooms Layer restore - seed City/MicroDAO/Node rooms + fix Citizens
...
TASK_PHASE_ROOMS_LAYER_RESTORE_AND_MATRIX_INTEGRATION (partial):
Backend:
- Seed 8 City Rooms (general, welcome, leadership-hall, etc.)
- Seed 5 MicroDAO Rooms for DAARION (lobby, governance, news, builders, help)
- Seed 2 Node Support Rooms (node1, node2)
- Update agents is_public for Citizens Layer
- Fix get_public_citizens query (less strict filtering)
- Add get_city_rooms_for_list function
This fixes:
- City Rooms list = 0 -> now 8 rooms
- MicroDAO Rooms = 0 -> now 5 rooms
- Citizens = 0 -> now shows public agents
2025-11-30 09:48:37 -08:00
Apple
fcdac0f33c
feat: implement Agent Presence Indicators (MVP)
...
Backend:
- Add /api/v1/agents/presence endpoint
- Integrate with matrix-presence-aggregator
- Add DAGI router health checks
Frontend:
- Create useAgentPresence hook
- Create AgentPresenceBadge component
- Integrate into /agents list page
- Integrate into /agents/:agentId cabinet
Shows real-time online/offline status for all agents.
2025-11-30 09:41:57 -08:00
Apple
6297adc0dc
feat: implement Agent Chat Widget for entity pages
...
TASK_PHASE_AGENT_CHAT_WIDGET_MVP.md completed:
Backend:
- Add /api/v1/agents/{agent_id}/chat-room endpoint
- Add /api/v1/nodes/{node_id}/chat-room endpoint
- Add /api/v1/microdaos/{slug}/chat-room endpoint
Frontend:
- Create AgentChatWidget.tsx floating chat component
- Integrate into /agents/:agentId page
- Integrate into /nodes/:nodeId page
- Integrate into /microdao/:slug page
Ontology rule implemented:
'No page without agents' = ability to directly talk to agents on that page
2025-11-30 09:10:45 -08:00
Apple
644edd3f30
feat(mvp): DAGI Integration Fix - gov_level, DAIS, nodes table
...
TASK_PHASE_MVP_DAGI_INTEGRATION_FIX_20251201
A) Agents Layer:
- A1: Added gov_level to API and UI (list + profile)
- A2: Added dais_identity_id to API and UI
- A3: Added home_microdao_id/name/slug for ownership display
B) MicroDAO Layer:
- B1/B2: Already implemented (agents, rooms, citizens, district badge)
C) Nodes Layer:
- C1: Node Dashboard already implemented
- C2: Created nodes table migration with owner_microdao_id
- C3: INSERT NODE1/NODE2 with dao_daarion ownership
D) Backend Fixes:
- D1: Extended /api/agents/* with DAIS/governance fields
- D2/D3: Already implemented
Files changed:
- services/city-service/repo_city.py
- services/city-service/models_city.py
- services/city-service/routes_city.py
- services/city-service/migrations.py
- apps/web/src/lib/types/agents.ts
- apps/web/src/lib/agent-dashboard.ts
- apps/web/src/app/agents/page.tsx
- apps/web/src/components/agent-dashboard/AgentSummaryCard.tsx
Reports:
- docs/debug/mvp_dagi_integration_fix_report_20251201.md
- docs/tasks/TASK_PHASE_MVP_DAGI_INTEGRATION_FIX_20251201.md
2025-11-30 08:45:07 -08:00
Apple
a23deae3c4
feat(node-dashboard): add MVP dashboard API endpoint
...
- services/city-service: add /api/v1/nodes/{id}/dashboard endpoint
- services/city-service: add legacy /api/v1/node/dashboard?nodeId=...
- apps/web: update route.ts to use city-service first
- apps/web: fallback to node-registry if city-service fails
Response structure:
node_id, name, kind, status, tags, agents_total,
agents_online, uptime (null), metrics_available (false)
Closes TASK_PHASE_NODE_DASHBOARD_API_MVP
2025-11-30 06:59:51 -08:00
Apple
ff4e9dd06b
fix: default city-service NATS_URL to dagi-nats
2025-11-30 06:28:55 -08:00
Apple
0640227de0
fix: allow optional name for node guardian/steward summaries
2025-11-30 06:24:52 -08:00
Apple
52520eda93
fix(city-service): use datetime type for created_at/updated_at fields
2025-11-29 17:08:02 -08:00
Apple
90ecc7e8f6
fix(city-service): align incidents API with actual DB schema
...
- Use correct column names: created_by_dais_id, target_scope_type, assigned_to_dais_id
- Add UUID parsing for incident IDs
- Fix incident_history to use actor_dais_id and new_value columns
2025-11-29 17:06:44 -08:00
Apple
e078a24540
feat(city-service): add Governance, Audit, Incidents API endpoints
...
- Added repo_governance.py with database operations
- Added routes_governance.py (/api/v1/governance/*)
- Added routes_audit.py (/api/v1/audit/*)
- Added routes_incidents.py (/api/v1/incidents/*)
- Updated main.py to include new routers
2025-11-29 17:01:58 -08:00
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
Apple
a6e531a098
fix: NODE1_REPAIR - healthchecks, dependencies, SSR env, telegram gateway
...
TASK_PHASE_NODE1_REPAIR:
- Fix daarion-web SSR: use CITY_API_BASE_URL instead of 127.0.0.1
- Fix auth API routes: use AUTH_API_URL env var
- Add wget to Dockerfiles for healthchecks (stt, ocr, web-search, swapper, vector-db, rag)
- Update healthchecks to use wget instead of curl
- Fix vector-db-service: update torch==2.4.0, sentence-transformers==2.6.1
- Fix rag-service: correct haystack imports for v2.x
- Fix telegram-gateway: remove msg.ack() for non-JetStream NATS
- Add /health endpoint to nginx mvp-routes.conf
- Add room_role, is_public, sort_order columns to city_rooms migration
- Add TASK_PHASE_NODE1_REPAIR.md and DEPLOY_NODE1_REPAIR.md docs
Previous tasks included:
- TASK 039-044: Orchestrator rooms, Matrix chat cleanup, CrewAI integration
2025-11-29 05:17:08 -08:00
Apple
0bab4bba08
feat: TASK 038 - Node Guardian & Steward Integration
...
- Backend: Added dynamic discovery of node agents in repo_city.py
- Backend: Created seed SQL for agent types
- Frontend: Added NodeGuardianCard component
- Frontend: Integrated NodeGuardianCard into Node Dashboard / Profile
2025-11-29 01:46:38 -08:00
Apple
3ccc0e2d43
feat: TASK 037A/B - MicroDAO Multi-Room Cleanup & UI Polish
...
TASK 037A: Backend Consistency
- Added db/sql/037_microdao_agent_audit.sql
- Added services/city-service/tools/fix_microdao_agent_consistency.py
- Updated repo_city.get_public_citizens with stricter filtering (node_id, microdao_membership)
- Updated PublicCitizenSummary model to include home_microdao and primary_city_room
- Updated NodeProfile model and get_node_by_id to include microdaos list
TASK 037B: UI Polish
- Updated MicrodaoRoomsSection with role-based colors/icons and mini-map
- Updated /microdao/[slug] with new Hero Block (badges, stats, orchestrator)
- Updated /citizens/[slug] with MicroDAO cross-link in DAIS profile
- Updated /nodes/[nodeId] with MicroDAO Presence section
2025-11-29 01:35:54 -08:00
Apple
86f5b58de5
fix: import CityRoomSummary at top of routes_city.py
2025-11-29 01:09:30 -08:00
Apple
3f41d0e0a2
feat: TASK 034-036 - MicroDAO Multi-Room Support
...
TASK 034: MicroDAO Multi-Room Backend
- Added migration 031_microdao_multi_room.sql
- Extended city_rooms with microdao_id, room_role, is_public, sort_order
- Added CityRoomSummary, MicrodaoRoomsList, MicrodaoRoomUpdate models
- Added get_microdao_rooms, get_microdao_rooms_by_slug functions
- Added attach_room_to_microdao, update_microdao_room functions
- Added API endpoints: GET/POST/PATCH /city/microdao/{slug}/rooms
TASK 035: MicroDAO Multi-Room UI
- Added proxy routes for rooms API
- Extended CityRoomSummary type with multi-room fields
- Added useMicrodaoRooms hook
- Created MicrodaoRoomsSection component with role labels/icons
TASK 036: MicroDAO Room Orchestrator Panel
- Created MicrodaoRoomsAdminPanel component
- Role selector, visibility toggle, set primary button
- Attach existing room form
- Integrated into /microdao/[slug] page
2025-11-29 01:07:15 -08:00
Apple
20dddd9051
fix: add guardian_agent and steward_agent to NodeProfile API response
2025-11-28 14:12:32 -08:00
Apple
773a955ecc
feat: TASK 031-033 - Node Guardian/Steward + Agent & MicroDAO Chat Widgets
...
TASK 031: Node Agents Discovery
- Documented existing Monitor agents (NODE1, NODE2)
- Created NODE_AGENTS_INVENTORY.md
TASK 032: Node Guardian/Steward Formalize
- Added migration 030_node_guardian_steward.sql
- Added is_node_guardian, is_node_steward to agents
- Added guardian_agent_id, steward_agent_id to node_cache
- Updated repo_city.py for guardian/steward in node queries
- Added NodeAgentsPanel component for Node Dashboard
TASK 033: Agent & MicroDAO Chat Widgets
- Added CityRoomSummary model
- Added primary_city_room to AgentDashboard API
- Added primary_city_room to MicrodaoDetail API
- Added get_microdao_primary_room() function
- Updated Agent Console with Matrix chat section
- Updated MicroDAO page with public chat section
- Reused existing CityChatWidget component
2025-11-28 13:51:51 -08:00
Apple
4d7c4b9744
fix: auto-set public_slug for orchestrators when creating MicroDAO
2025-11-28 11:07:08 -08:00
Apple
69cc76fe00
feat: implement Task 029 (Agent Orchestrator & Visibility Flow)
2025-11-28 10:19:13 -08:00
Apple
b787f3812a
fix: add model field to AgentProfile
2025-11-28 09:14:03 -08:00
Apple
884df75282
fix: add public_slug to AgentProfile
2025-11-28 09:12:55 -08:00
Apple
ce8429d392
fix: add missing fields to AgentProfile
2025-11-28 09:11:49 -08:00
Apple
909d1cb314
fix: add avatar_url to AgentProfile for dashboard
2025-11-28 09:10:34 -08:00
Apple
37e1c8abbe
feat: align agent/microdao model - add is_orchestrator, is_platform, hierarchy
2025-11-28 08:34:14 -08:00
Apple
47442b801f
feat: data cleanup - soft delete test agents and microdaos
2025-11-28 08:16:56 -08:00
Apple
bd3d756de9
fix: add get_agent_prompts and get_agent_public_profile methods
2025-11-28 08:07:20 -08:00