Quest: Agent Ecosystem Priority: P3 Status: open
Design agent registry — identity, capabilities, health status, task history
This task is part of the Agent Ecosystem quest (Forge layer). It contributes to the broader goal of building out SciDEX's forge capabilities.
2026-04-20 15:00 UTC — Task reopened by audit (ORPHAN_BRANCH)
Prior commit e370d96c8 was on an orphan branch, never merged to main.
2026-04-20 22:15 UTC — Implementation
scidex/senate/agent_registry.py:sqlite3 import (no longer needed)_db() to not call PRAGMA journal_mode=WAL (PGShimConnection handles this)sqlite3.Row and PRAGMA calls from backfill_agent_markets, sync_contribution_counts, and register_missing_contributorssqlite3.DatabaseError catches with generic Exception? SQL placeholders with %s (PGShimConnection auto-converts)datetime('now') with NOW() SQL functionscidex/senate/agent_registry.py:AgentHealthMonitor: heartbeat, check_health, get_health_status, list_unhealthy_agentsAgentPerformanceTracker: log, get_aggregate_statsAgentTaskTracker: assign_task, start_task, complete_task, fail_task, get_task_history, get_active_tasksAgentCapabilityRegistry: register_capability, get_capabilities, update_capability_statsmigrations/106_agent_registry_health_task_capability_tables.py):agent_health, agent_task_history, agent_capabilities, agent_performance with correct PG schemasgen_random_bytes / UUID generation in application codelist_agents() works (returns 5 agents, no PRAGMA error)AgentHealthMonitor.heartbeat() works on real agentsAgentPerformanceTracker.log() and get_aggregate_stats() workNote: The running API server (/home/ubuntu/scidex/api.py) still has old code with PRAGMA journal_mode=WAL calls. A service restart is needed to pick up the worktree changes. The code changes are verified working via direct Python import tests.
{
"requirements": {
"coding": 7,
"reasoning": 6
}
}