refactor(agents): migrate emr to hub (#1397, #1102)#1419
Conversation
Move the EMR / MedicalIntake agent out of the core wheel into a standalone gaia-agent-emr package under hub/agents/python/emr/, mirroring the jira/sd layout. Internal imports rewritten gaia.agents.emr.* -> gaia_agent_emr.*; framework imports unchanged. The agent registers via the gaia.agent entry-point group and is discovered by _discover_installed_agents(). Modernize per #1397: add AGENT_ID/AGENT_NAME/AGENT_DESCRIPTION/ CONVERSATION_STARTERS (+category/tags/icon/models) so the agent renders as a Hub card and is UI-discoverable. Strip gaia-emr console script and emr packages from setup.py; the gaia-emr binary now ships with the gaia-agent-emr wheel. Add agent-emr extra and emr to the agents extra. Relocate emr unit tests and CI dashboard paths.
Dependency ReviewThe following issues were found:
|
SummaryClean, faithful migration that moves the EMR/MedicalIntake agent out of the core wheel into a standalone No security concerns. No breaking changes to public surfaces ( Issues Found🟢 Misleading comment + triplicated metadata on the new The comment says these attributes are "surfaced into the registry by 🟢
🟢 Dashboard frontend assets won't ship in a PyPI wheel (
Strengths
VerdictApprove with suggestions — three minor items, none blocking. The only one worth acting on before merge is the inaccurate |
…ies moved to hub (#1102)
|
🟡 The PR drops |
Why this matters
Before: the EMR / MedicalIntake agent lived inside the core
amd-gaiawheel, so its dashboard, VLM pipeline, andgaia-emrCLI could only ship on the framework's release cadence — and it was a legacy agent: not in the registry, no Hub card, invisible to the Agent UI. After: it ships as an independentgaia-agent-emrwheel underhub/agents/python/emr/, installable and versioned on its own, and is registry/UI-discoverable via thegaia.agententry point. This completes the emr leg of the Agent Hub restructure (#1102) and the legacy-agent modernization (#1397).The agent is both migrated (moved to
hub/agents/python/emr/, internal importsgaia.agents.emr.*→gaia_agent_emr.*, framework imports unchanged) and modernized (gainsAGENT_ID/AGENT_NAME/AGENT_DESCRIPTION/CONVERSATION_STARTERS+ category/tags/icon so it renders as a Hub card). Thegaia-emrconsole script is preserved — it now ships with thegaia-agent-emrpackage instead of the core wheel.Test plan
gaia-emrdiscoverable in the registry asinstalled:emrgaia.agents.emr/src/gaia/agents/emrreferences remain insrc/,tests/,setup.py, CI workflows, or docs