# Uni-Wizard Architecture

## Vision

A single wizard harness that elegantly routes all API interactions through one unified interface. No more fragmented wizards - one consciousness, infinite capabilities.

## Architecture

```
┌─────────────────────────────────────────────────────────────┐
│                     UNI-WIZARD HARNESS                       │
│                                                              │
│  ┌─────────────┐    ┌─────────────┐    ┌─────────────┐     │
│  │   System    │    │    Git      │    │  Network    │     │
│  │   Tools     │◄──►│   Tools     │◄──►│   Tools     │     │
│  └──────┬──────┘    └──────┬──────┘    └──────┬──────┘     │
│         │                  │                  │             │
│         └──────────────────┼──────────────────┘             │
│                            ▼                                │
│                    ┌───────────────┐                        │
│                    │  Tool Router  │                        │
│                    │  (Registry)   │                        │
│                    └───────┬───────┘                        │
│                            │                                │
│         ┌──────────────────┼──────────────────┐             │
│         ▼                  ▼                  ▼             │
│  ┌─────────────┐    ┌─────────────┐    ┌─────────────┐     │
│  │   Local     │    │   Gitea     │    │   Relay     │     │
│  │   llama.cpp │    │    API      │    │   Nostr     │     │
│  └─────────────┘    └─────────────┘    └─────────────┘     │
│                                                              │
└─────────────────────────────────────────────────────────────┘
                            │
                            ▼
                    ┌───────────────┐
                    │  LLM (local)  │
                    │  Hermes-3 8B  │
                    └───────────────┘
```

## Design Principles

1. **Single Entry Point**: One harness, all capabilities
2. **Unified Registry**: All tools registered centrally
3. **Elegant Routing**: Tools discover and route automatically
4. **Local-First**: No cloud dependencies
5. **Self-Healing**: Tools can restart, reconnect, recover

## Tool Categories

### System Layer
- `system_info` — OS, CPU, RAM, disk, uptime
- `process_manager` — list, start, stop processes
- `service_controller` — systemd service management
- `health_monitor` — system health checks

### Git Layer  
- `git_operations` — status, log, commit, push, pull
- `repo_manager` — clone, branch, merge
- `pr_handler` — create, review, merge PRs

### Network Layer
- `http_client` — GET, POST, PUT, DELETE
- `gitea_client` — full Gitea API wrapper
- `nostr_client` — relay communication
- `api_router` — generic API endpoint handler

### File Layer
- `file_operations` — read, write, append, search
- `directory_manager` — tree, list, navigate
- `archive_handler` — zip, tar, compress

## Registry System

```python
# tools/registry.py
class ToolRegistry:
    def __init__(self):
        self.tools = {}
    
    def register(self, name, handler, schema):
        self.tools[name] = {
            'handler': handler,
            'schema': schema,
            'description': handler.__doc__
        }
    
    def execute(self, name, params):
        tool = self.tools.get(name)
        if not tool:
            return f"Error: Tool '{name}' not found"
        try:
            return tool['handler'](**params)
        except Exception as e:
            return f"Error executing {name}: {str(e)}"
```

## API Flow

1. **User Request** → Natural language task
2. **LLM Planning** → Breaks into tool calls
3. **Registry Lookup** → Finds appropriate tools
4. **Execution** → Tools run in sequence/parallel
5. **Response** → Results synthesized and returned

## Example Usage

```python
# Single harness, multiple capabilities
result = harness.execute("""
Check system health, pull latest git changes, 
and create a Gitea issue if tests fail
""")
```

This becomes:
1. `system_info` → check health
2. `git_pull` → update repo
3. `run_tests` → execute tests
4. `gitea_create_issue` → report failures

## Benefits

- **Simplicity**: One harness to maintain
- **Power**: All capabilities unified
- **Elegance**: Clean routing, no fragmentation
- **Resilience**: Self-contained, local-first
