# TICKET-204: Create ExecutionRegistry **Epic:** EPIC-202 **Priority:** P0 **Status:** Ready **Assignee:** Allegro **Estimate:** 6 hours ## Description Create ExecutionRegistry for clean command/tool routing, replacing model-decided routing. ## Acceptance Criteria - [ ] `ExecutionRegistry` class - [ ] `register_command(name, handler)` method - [ ] `register_tool(name, handler)` method - [ ] `command(name) -> CommandHandler` lookup - [ ] `tool(name) -> ToolHandler` lookup - [ ] `execute(prompt, context)` routing method - [ ] Permission context integration - [ ] Tests pass ## Implementation Notes Pattern from Claw `src/execution_registry.py`: ```python class ExecutionRegistry: def __init__(self): self._commands: dict[str, CommandHandler] = {} self._tools: dict[str, ToolHandler] = {} def register_command(self, name: str, handler: CommandHandler): self._commands[name] = handler def command(self, name: str) -> CommandHandler | None: return self._commands.get(name) ``` ## References - Claw: `src/execution_registry.py` - Claw: `src/runtime.py` for usage