# TICKET-203: Implement ToolPermissionContext

**Epic:** EPIC-202  
**Priority:** P0  
**Status:** Ready  
**Assignee:** Allegro  
**Estimate:** 4 hours  

## Description

Implement the ToolPermissionContext pattern from Claw Code for fine-grained tool access control.

## Acceptance Criteria

- [ ] `ToolPermissionContext` dataclass created
- [ ] `deny_tools: set[str]` field
- [ ] `deny_prefixes: tuple[str, ...]` field
- [ ] `blocks(tool_name: str) -> bool` method
- [ ] Integration with Hermes tool registry
- [ ] Tests pass

## Implementation Notes

```python
@dataclass(frozen=True)
class ToolPermissionContext:
    deny_tools: set[str] = field(default_factory=set)
    deny_prefixes: tuple[str, ...] = ()
    
    def blocks(self, tool_name: str) -> bool:
        if tool_name in self.deny_tools:
            return True
        return any(tool_name.startswith(p) for p in self.deny_prefixes)
```

## References

- Claw: `src/permissions.py`
- Hermes: `tools/registry.py`
