- EPIC-202: Build Claw-Architecture Agent - TICKET-203: ToolPermissionContext - TICKET-204: ExecutionRegistry - TICKET-205: Session Persistence Replaces idle Allegro-Primus with real work capability.
1.1 KiB
1.1 KiB
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
ExecutionRegistryclassregister_command(name, handler)methodregister_tool(name, handler)methodcommand(name) -> CommandHandlerlookuptool(name) -> ToolHandlerlookupexecute(prompt, context)routing method- Permission context integration
- Tests pass
Implementation Notes
Pattern from Claw src/execution_registry.py:
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.pyfor usage