# EPIC-202: Build Claw-Architecture Agent **Status:** In Progress **Priority:** P0 **Milestone:** M1: Core Architecture **Created:** 2026-03-31 **Author:** Allegro --- ## Objective Create a NEW autonomous agent using architectural patterns from [Claw Code](http://143.198.27.163:3000/Timmy/claw-code), integrated with Gitea for real work dispatch. ## Problem Statement **Allegro-Primus is IDLE.** - Gateway running (PID 367883) but zero meaningful output - No Gitea issues created - No PRs submitted - No actual work completed This agent will **replace** Allegro-Primus with real capabilities. --- ## Claw Patterns to Adopt ### 1. ToolPermissionContext ```python @dataclass class ToolPermissionContext: deny_tools: set[str] deny_prefixes: tuple[str, ...] def blocks(self, tool_name: str) -> bool: return tool_name in self.deny_tools or \ any(tool_name.startswith(p) for p in self.deny_prefixes) ``` **Why:** Fine-grained tool access control vs Hermes basic approval ### 2. ExecutionRegistry ```python class ExecutionRegistry: def command(self, name: str) -> CommandHandler def tool(self, name: str) -> ToolHandler def execute(self, context: PermissionContext) -> Result ``` **Why:** Clean routing vs Hermes model-decided routing ### 3. Session Persistence ```python @dataclass class RuntimeSession: prompt: str context: PortContext history: HistoryLog persisted_path: str ``` **Why:** JSON-based sessions vs SQLite - more portable, inspectable ### 4. Bootstrap Graph ```python def build_bootstrap_graph() -> Graph: # Setup phases # Context building # System init messages ``` **Why:** Structured initialization vs ad-hoc setup --- ## Implementation Plan ### Phase 1: Core Architecture (2 days) - [ ] Create new Hermes profile: `claw-agent` - [ ] Implement ToolPermissionContext - [ ] Create ExecutionRegistry - [ ] Build Session persistence layer ### Phase 2: Gitea Integration (2 days) - [ ] Gitea client with issue querying - [ ] Work scheduler for autonomous cycles - [ ] PR creation and review assistance ### Phase 3: Deployment (1 day) - [ ] Telegram bot integration - [ ] Cron scheduling - [ ] Health monitoring --- ## Success Criteria | Criteria | How We'll Verify | |----------|-----------------| | Receives Telegram tasks | Send test message, agent responds | | Queries Gitea issues | Agent lists open P0 issues | | Permission checks work | Blocked tool returns error | | Session persistence | Restart agent, history intact | | Progress reports | Agent sends Telegram updates | --- ## Resource Requirements | Resource | Status | |----------|--------| | Gitea API token | ✅ Have | | Kimi API key | ✅ Have | | Telegram bot | ⏳ Need @BotFather | | New profile | ⏳ Will create | --- ## References - [Claw Code Mirror](http://143.198.27.163:3000/Timmy/claw-code) - [Claw Issue #1 - Architecture](http://143.198.27.163:3000/Timmy/claw-code/issues/1) - [Hermes v0.6 Profiles](../docs/profiles.md) --- ## Tickets - #203: Implement ToolPermissionContext - #204: Create ExecutionRegistry - #205: Build Session Persistence - #206: Gitea Integration - #207: Telegram Deployment --- *This epic supersedes Allegro-Primus who has been idle.*