Skip to content

Reorganize the demo agent-server by org, drop the old test agents - #14

Merged
quentinP-hexamind merged 1 commit into
mainfrom
fix/demo-architecture
Jun 25, 2026
Merged

Reorganize the demo agent-server by org, drop the old test agents#14
quentinP-hexamind merged 1 commit into
mainfrom
fix/demo-architecture

Conversation

@quentinP-hexamind

Copy link
Copy Markdown
Collaborator

Why

The demo's agents/ package had grown into a flat pile: four real agents, four throwaway reference/test agents, framework translators, the dispatcher, and the agent contract all sitting side by side, with every agent's UI config living separately under ui/. Hard to tell which files were product and which were scaffolding, and nothing signalled which agents belonged to which audience.

What changed

1. Agents are now grouped by org, with UI config co-located
Each agent lives in its own folder holding its sources and its ui.yaml:

agents/
  tech_org/devops/      devops.py · devops_agent.py · devops_state.py · ui.yaml
  tech_org/itsm/        itsm.py · itsm_agent.py · itsm_db.py · ui.yaml
  clinic_org/healthcare/ healthcare.py · healthcare_agent.py · ui.yaml
  shared/hr/            hr.py · hr_agent.py · hr_state.py · ui.yaml

HR is used by both audiences, so it sits in a neutral shared/ rather than under either org.

2. Removed the old reference/test agents
Deleted probe, atlas, forge, orbit and their backing code (echo.py, llm.py, adk_llm.py, demos.py, tools.py, and the four ui/*.yaml). Trimmed them out of the roster and the dispatcher accordingly — select_agent now serves only the four real agents.

3. Moved non-agent sources out of agents/
So agents/ contains only agent implementations:

  • framework adapters → new frameworks/ package (google_adk.py, openai_agents.py, langchain_events.py)
  • the Agent contract → base.py at the package root, next to protocol.py
  • the dispatcher → select.py at the root, next to the roster.py it mirrors

4. Cleaned up the resulting dead references
Dropped the now-unused enable_llm/AGENT_ENABLE_LLM setting from config.py, the unreachable Orbit sources widget actions from actions.py, and a stale LLMAgent comment in __main__.py.

Net

+72 / −707 across 43 files. All moves are pure git mv renames, so history is preserved.

Verification

  • App boots (create_app()), the roster lists exactly the four agents, each dispatches to the correct implementation and loads its ui.yaml.
  • The relocated frameworks/ modules import cleanly.
  • ruff check src/agent_server passes.

Note for reviewers

The roster's public ui_urls (/agents/{id}/ui) are unchanged — only the on-disk layout moved, so the proxy/shell contract is unaffected. If any docs (e.g. CONTRACT.md) reference the old agent_server.agents.base or agent_server.agents.<translator> paths, those would need a follow-up grep.

@guillaume-hexamind guillaume-hexamind left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@quentinP-hexamind
quentinP-hexamind merged commit 539ac7e into main Jun 25, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants