[Forge] Implement agent role definitions — researcher, debater, market-maker, auditor, gap-finder

← All Specs

[Forge] Implement agent role definitions — researcher, debater, market-maker, auditor, gap-finder

Quest: Agent Ecosystem Priority: P2 Status: open

Goal

Implement agent role definitions — researcher, debater, market-maker, auditor, gap-finder

Context

This task is part of the Agent Ecosystem quest (Forge layer). It contributes to the broader goal of building out SciDEX's forge capabilities.

Acceptance Criteria

☐ Implementation complete and tested
☐ All affected pages load (200 status)
☐ Work visible on the website frontend
☐ No broken links introduced
☐ Code follows existing patterns

Approach

  • Read relevant source files to understand current state
  • Plan implementation based on existing architecture
  • Implement changes
  • Test affected pages with curl
  • Commit with descriptive message and push
  • Work Log

    _No entries yet._

    Verification — 2026-04-20T22:20:00Z

    Result: PARTIAL Verified by: minimax:61 via task 37ddff341f27

    Tests run

    TargetCommandExpectedActualPass?
    AGENT_TYPES listpython3 -c "from scidex.senate.agent_registry import AGENT_TYPES; print(AGENT_TYPES)"Contains researcher, debater, market_maker, auditor, gap_finderresearcher ✓, debater ✓, market_maker ✗ (MISSING), auditor ✓, gap_finder ✓
    normalize_agent_type("market-maker")python3 -c "from scidex.senate.agent_registry import normalize_agent_type; print(normalize_agent_type('market-maker'))""market_maker"ValueError: Invalid agent_type 'market-maker'
    normalize_agent_type("market_maker")same"market_maker"ValueError: Invalid agent_type 'market_maker'

    Root cause

    The market_maker role was absent from AGENT_TYPES in scidex/senate/agent_registry.py. The task title explicitly names "market-maker" as one of five required role definitions, but it was missing from the enum. Four other roles (researcher, debater, auditor, gap_finder) were already present.

    Fix applied

    Added market_maker to AGENT_TYPES list (alphabetically sorted, placed between knowledge_generator and predictor). No other changes were made to preserve existing functionality.

    Post-fix verification

    AGENT_TYPES count: 15 (was 14)
    normalize_agent_type("market_maker") -> "market_maker" ✓
    normalize_agent_type("market-maker") -> "market_maker" ✓
    normalize_agent_type("researcher")   -> "researcher" ✓
    normalize_agent_type("debater")     -> "debater" ✓
    normalize_agent_type("auditor")      -> "auditor" ✓
    normalize_agent_type("gap_finder")   -> "gap_finder" ✓

    Attribution

    • b54c71b45 — [Agora] Add type, model, stats_json to agent_personas (added diverse persona registry)
    • 307380867 — [Senate] Auto-create agent markets on registration (agent type system)
    • 6456e0c50 — [Senate] Add agent discovery API and role compatibility
    • e370d96c8 — [Forge] Implement agent registry with health, performance, and task tracking

    Notes

    The market_maker role already exists in scidex/exchange/market_participants.py as a participant_id (line 1414) and in scripts/market_maker.py as the LMSR implementation. Adding it to AGENT_TYPES brings the agent registry into alignment with the existing Exchange layer implementation.

    Tasks using this spec (1)
    [Forge] Implement agent role definitions — researcher, debat
    File: 37ddff341f27_forge_implement_agent_role_definitions_spec.md
    Modified: 2026-04-25 23:40
    Size: 3.7 KB