Files
timmy-home/tickets/TICKET-204-execution-registry.md

45 lines
1.1 KiB
Markdown
Raw Permalink Normal View History

# 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