The Dreamwalker naming convention moves away from codename-based naming (Beltalowda, Swarm) to a semantic, descriptive system that clearly communicates purpose and hierarchy.
Orchestration patterns are named with the dream-* prefix to indicate high-level workflow patterns. These are invoked via MCP tools like dream_research and dream_search.
Hierarchical research with three-tier cascading synthesis
Parallel specialized agents for multi-domain search
Additional patterns planned for future implementation:
System management tools use the dreamwalker_* prefix to indicate they manage the orchestration system itself rather than execute workflows.
The dreamwalker prefix represents the system administrator/manager role - walking between and managing the dreams (orchestration patterns). This distinguishes system operations from workflow execution.
Data fetching tools use the dream_of_* prefix with a creative semantic: "dreaming of knowledge from Wikipedia", "dreaming of research from arXiv", etc.
The "dream_of" prefix conveys the idea of accessing or querying knowledge from various sources. It's a poetic way to describe data retrieval: the system "dreams" of information from external sources like Census Bureau, arXiv, Semantic Scholar, etc.
Additional data sources will follow the same pattern:
dream_of_wikipedia - Wikipedia article searchdream_of_youtube - YouTube video searchdream_of_github - GitHub repository searchdream_of_news - News article searchdream_of_weather - Weather datadream_of_finance - Financial dataLLM provider tools use the dreamer_* prefix with a hybrid approach: one tool per provider with an action parameter.
Provider tools were deferred for incremental implementation. When implemented, they will follow this pattern:
One tool per provider with action parameter:
This approach is more extensible than separate tools for each capability.
# Chat completion
result = await dreamer_openai(
action="chat",
model="gpt-4",
messages=[{"role": "user", "content": "Hello"}]
)
# Image generation
image = await dreamer_openai(
action="image",
prompt="A serene landscape",
size="1024x1024"
)
# Vision analysis
analysis = await dreamer_anthropic(
action="vision",
image_data=base64_image,
prompt="Describe this image"
)
| Category | Old Name | New Name | Type |
|---|---|---|---|
| Patterns | dreamer-beltalowda | dream-cascade | Pattern Name |
| dreamer-swarm | dream-swarm | Pattern Name | |
| Classes | BeltalowdaOrchestrator | DreamCascadeOrchestrator | Python Class |
| SwarmOrchestrator | DreamSwarmOrchestrator | Python Class | |
| Management | dream_get_orchestration_status | dreamwalker_status | MCP Tool |
| dream_cancel_orchestration | dreamwalker_cancel | MCP Tool | |
| dream_list_orchestrator_patterns | dreamwalker_patterns | MCP Tool | |
| dream_list_registered_tools | dreamwalker_list_tools | MCP Tool | |
| dream_execute_registered_tool | dreamwalker_execute_tool | MCP Tool | |
| Data Tools | fetch_census_acs | dream_of_census_acs | MCP Tool |
| fetch_census_saipe | dream_of_census_saipe | MCP Tool | |
| list_census_variables | dream_of_census_variables | MCP Tool | |
| search_arxiv | dream_of_arxiv | MCP Tool | |
| search_semantic_scholar | dream_of_semantic_scholar | MCP Tool | |
| get_semantic_scholar_paper | dream_of_semantic_scholar_paper | MCP Tool | |
| wayback_search | dream_of_wayback | MCP Tool | |
| wayback_available_snapshots | dream_of_wayback_snapshots | MCP Tool |
/home/coolhand/shared/
├── orchestration/
│ ├── __init__.py (exports + backward compatibility aliases)
│ ├── config.py (DreamCascadeConfig, DreamSwarmConfig)
│ ├── base_orchestrator.py (BaseOrchestrator abstract class)
│ ├── dream_cascade_orchestrator.py (3-tier hierarchical)
│ ├── dream_swarm_orchestrator.py (parallel specialized agents)
│ ├── sequential_orchestrator.py (linear pipeline)
│ ├── conditional_orchestrator.py (decision tree)
│ └── iterative_orchestrator.py (refinement loops)
├── mcp/
│ ├── unified_server.py (main MCP server)
│ ├── data_server.py (data fetching tools)
│ ├── providers_server.py (LLM provider tools)
│ └── ...
/home/coolhand/dreamwalker-mcp/
├── dreamwalker_mcp/
│ ├── mcp/ (synced from shared/mcp)
│ │ ├── unified_server.py
│ │ ├── data_server.py
│ │ └── ...
│ ├── orchestration/ (synced from shared/orchestration)
│ │ ├── dream_cascade_orchestrator.py
│ │ ├── dream_swarm_orchestrator.py
│ │ └── ...
│ └── ...
└── .sync-backups/ (timestamped backups from sync)
Primary development happens in /home/coolhand/shared/, then syncs to the marketplace plugin at /home/coolhand/dreamwalker-mcp/ using sync-to-plugin.sh
Sync Script: Automatically adjusts import paths when copying files to the plugin distribution.
# In orchestration/__init__.py:
from .dream_cascade_orchestrator import DreamCascadeOrchestrator
from .dream_swarm_orchestrator import DreamSwarmOrchestrator
# Backward compatibility aliases
BeltalowdaOrchestrator = DreamCascadeOrchestrator
SwarmOrchestrator = DreamSwarmOrchestrator
This ensures existing code using the old names continues to work without modification.