# 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
