Moved out of "src"

This commit is contained in:
Renn F
2025-12-10 17:37:24 +01:00
parent 7f5bc4b8b8
commit f0f6f77d68
89 changed files with 118 additions and 118 deletions
@@ -32,7 +32,7 @@ Implement Phase 1 of the RoboCo system per HOMELAB_TEAM_V0.md blueprint:
- `.env.example` - Environment template
- `alembic/` - Migration setup
### 2. Data Models (`src/roboco/models/`)
### 2. Data Models (`roboco/models/`)
| File | Models |
|------|--------|
| `base.py` | All enums (TaskStatus, AgentRole, Team, etc.) |
@@ -46,15 +46,15 @@ Implement Phase 1 of the RoboCo system per HOMELAB_TEAM_V0.md blueprint:
| `journal.py` | Journal, JournalEntry |
| `handoff.py` | DocumenterHandoff |
### 3. Database Layer (`src/roboco/db/`)
### 3. Database Layer (`roboco/db/`)
- `base.py` - Async SQLAlchemy engine, session factory
- `tables.py` - All ORM table definitions (10 tables)
### 4. Configuration (`src/roboco/config.py`)
### 4. Configuration (`roboco/config.py`)
- Environment-based settings via pydantic-settings
- Database, Redis, Qdrant, LLM provider configs
### 5. Messaging API (`src/roboco/api/`)
### 5. Messaging API (`roboco/api/`)
| Route | Endpoints |
|-------|-----------|
| `health.py` | `/health`, `/ready` |
@@ -63,19 +63,19 @@ Implement Phase 1 of the RoboCo system per HOMELAB_TEAM_V0.md blueprint:
| `messages.py` | Send, edit, delete messages |
| `notifications.py` | Send, list, acknowledge |
### 6. WebSocket (`src/roboco/api/websocket.py`)
### 6. WebSocket (`roboco/api/websocket.py`)
- `/ws/channels/{id}` - Channel stream
- `/ws/agents/{id}` - Agent output stream
- `/ws/sessions/{id}` - Session stream
- ConnectionManager for broadcasting
### 7. Agent Framework (`src/roboco/agents/`)
### 7. Agent Framework (`roboco/agents/`)
- `base.py` - Agent base class with lifecycle, LLM stubs
- `orchestrator.py` - Spawn/stop agents, health monitoring
## File Structure
```
src/roboco/
roboco/
├── __init__.py
├── config.py
├── models/
@@ -26,7 +26,7 @@ Implement Phase 2 of the RoboCo system per HOMELAB_TEAM_V0.md blueprint (Section
## What Was Built
### 1. Transcription Service (`src/roboco/services/transcription.py`)
### 1. Transcription Service (`roboco/services/transcription.py`)
| Component | Description |
|-----------|-------------|
| `StreamBuffer` | Accumulates chunks from agent, tracks timing, detects readiness |
@@ -39,7 +39,7 @@ Key features:
- Background task for periodic buffer checking
- Callback registration for ready segments
### 2. Extraction Service (`src/roboco/services/extraction.py`)
### 2. Extraction Service (`roboco/services/extraction.py`)
| Component | Description |
|-----------|-------------|
| Pattern matchers | Regex patterns for each MessageType |
@@ -56,7 +56,7 @@ Message types detected:
- **BLOCKER**: "Blocked:", "Waiting on...", "Error:"
- **TECHNICAL**: Code blocks, API explanations
### 3. Permission Service (`src/roboco/services/permissions.py`)
### 3. Permission Service (`roboco/services/permissions.py`)
| Component | Description |
|-----------|-------------|
| `PermissionLevel` | Hierarchy levels (CEO → Board → Main PM → Cell PM → Member) |
@@ -76,14 +76,14 @@ Auditor has silent read access to all channels.
### 4. API Integration
#### New Dependencies (`src/roboco/api/deps.py`)
#### New Dependencies (`roboco/api/deps.py`)
- `PermissionServiceDep` - Injects permission service
- `CurrentAgentContext` - Full agent context from headers
- `require_channel_read()` - Dependency factory for channel read checks
- `require_channel_write()` - Dependency factory for channel write checks
- `require_notification_permission()` - Dependency for notification checks
#### New Routes (`src/roboco/api/routes/stream.py`)
#### New Routes (`roboco/api/routes/stream.py`)
| Endpoint | Method | Description |
|----------|--------|-------------|
| `/api/v1/stream/chunk` | POST | Process a stream chunk |
@@ -93,14 +93,14 @@ Auditor has silent read access to all channels.
| `/api/v1/stream/permissions` | GET | Get agent's permission summary |
| `/api/v1/stream/permissions/channel/{name}` | GET | Check specific channel access |
#### App Integration (`src/roboco/api/app.py`)
#### App Integration (`roboco/api/app.py`)
- Services initialized in lifespan context
- `app.state.transcription` - Global transcription service
- `app.state.extraction` - Global extraction pipeline
## File Structure
```
src/roboco/services/
roboco/services/
├── __init__.py # Service exports
├── transcription.py # StreamBuffer, TranscriptionService
├── extraction.py # ExtractionService, ExtractionPipeline
@@ -38,7 +38,7 @@ Implement Phase 3 of the RoboCo system per HOMELAB_TEAM_V0.md blueprint (Section
- Replaced `qdrant-client>=1.7.0` with `piragi[postgres]>=0.1.0`
- Updated mypy overrides for piragi
### 2. Configuration (`src/roboco/config.py`)
### 2. Configuration (`roboco/config.py`)
| Setting | Default | Description |
|---------|---------|-------------|
| `rag_persist_dir` | `.piragi` | Directory for piragi index data |
@@ -52,7 +52,7 @@ Implement Phase 3 of the RoboCo system per HOMELAB_TEAM_V0.md blueprint (Section
| `rag_auto_update_interval` | 300 | Seconds between updates |
| `rag_store_url` | computed | PostgreSQL connection for piragi |
### 3. Optimal API Service (`src/roboco/services/optimal.py`)
### 3. Optimal API Service (`roboco/services/optimal.py`)
| Component | Description |
|-----------|-------------|
@@ -73,7 +73,7 @@ Key features:
- RAG queries with citations
- HyDE and hybrid search enabled by default
### 4. Journal API Service (`src/roboco/services/journal.py`)
### 4. Journal API Service (`roboco/services/journal.py`)
| Component | Description |
|-----------|-------------|
@@ -97,7 +97,7 @@ Key features:
### 5. API Routes
#### Optimal API (`src/roboco/api/routes/optimal.py`)
#### Optimal API (`roboco/api/routes/optimal.py`)
| Endpoint | Method | Description |
|----------|--------|-------------|
| `/api/v1/optimal/kb/index/code` | POST | Index code files |
@@ -110,7 +110,7 @@ Key features:
| `/api/v1/optimal/kb/{type}` | DELETE | Clear an index |
| `/api/v1/optimal/kb/refresh` | POST | Refresh index sources |
#### Journal API (`src/roboco/api/routes/journals.py`)
#### Journal API (`roboco/api/routes/journals.py`)
| Endpoint | Method | Description |
|----------|--------|-------------|
| `/api/v1/journals/me` | GET | Get my journal |
@@ -128,14 +128,14 @@ Key features:
| `/api/v1/journals/me/growth` | GET | Get growth metrics |
| `/api/v1/journals/me/search` | POST | Semantic search entries |
### 6. App Integration (`src/roboco/api/app.py`)
### 6. App Integration (`roboco/api/app.py`)
- OptimalService initialized in lifespan
- Stored in `app.state.optimal`
- Proper cleanup on shutdown
## File Structure
```
src/roboco/services/
roboco/services/
├── __init__.py # Updated with Phase 3 exports
├── transcription.py # Phase 2
├── extraction.py # Phase 2
@@ -143,7 +143,7 @@ src/roboco/services/
├── optimal.py # NEW - RAG/Knowledge Base
└── journal.py # NEW - Agent Journals
src/roboco/api/routes/
roboco/api/routes/
├── __init__.py # Updated with new routes
├── ... (Phase 1-2 routes)
├── optimal.py # NEW - Optimal API endpoints
@@ -28,7 +28,7 @@ Implement Phase 4 of the RoboCo system per HOMELAB_TEAM_V0.md blueprint (Section
## What Was Built
### 1. Developer Agent (`src/roboco/agents/developer.py`)
### 1. Developer Agent (`roboco/agents/developer.py`)
| Component | Description |
|-----------|-------------|
@@ -44,7 +44,7 @@ Key features:
- Handoff creation for documenter
- Factory functions for BE/FE/UX developers
### 2. QA Agent (`src/roboco/agents/qa.py`)
### 2. QA Agent (`roboco/agents/qa.py`)
| Component | Description |
|-----------|-------------|
@@ -60,7 +60,7 @@ Key features:
- Specific feedback for failures
- QA report generation
### 3. Documenter Agent (`src/roboco/agents/documenter.py`)
### 3. Documenter Agent (`roboco/agents/documenter.py`)
| Component | Description |
|-----------|-------------|
@@ -76,7 +76,7 @@ Key features:
- Self-review before publish
- Factory functions for all cells
### 4. PM Agents (`src/roboco/agents/pm.py`)
### 4. PM Agents (`roboco/agents/pm.py`)
| Component | Description |
|-----------|-------------|
@@ -93,7 +93,7 @@ Key features:
- Status reporting
- Cross-cell coordination (Main PM)
### 5. Board Agents (`src/roboco/agents/board.py`)
### 5. Board Agents (`roboco/agents/board.py`)
| Component | Description |
|-----------|-------------|
@@ -108,7 +108,7 @@ Auditor special powers:
- Direct line to CEO
- Can notify anyone (sparingly)
### 6. Factory and Deployment (`src/roboco/agents/factory.py`)
### 6. Factory and Deployment (`roboco/agents/factory.py`)
| Component | Description |
|-----------|-------------|
@@ -129,7 +129,7 @@ Utility functions:
## File Structure
```
src/roboco/agents/
roboco/agents/
├── __init__.py # Updated with all exports
├── base.py # Phase 1 - Base Agent class
├── orchestrator.py # Phase 1 - Agent orchestration
@@ -33,7 +33,7 @@ Implement Phase 5 of the RoboCo system per HOMELAB_TEAM_V0.md blueprint (Section
## What Was Built
### 1. Task Service (`src/roboco/services/task.py`)
### 1. Task Service (`roboco/services/task.py`)
| Component | Description |
|-----------|-------------|
@@ -43,7 +43,7 @@ Implement Phase 5 of the RoboCo system per HOMELAB_TEAM_V0.md blueprint (Section
| Queries | list_all, list_by_team, list_by_assignee, list_by_status, list_pending, list_blocked, list_awaiting_qa, list_awaiting_docs |
| Statistics | count_by_status, count_by_team, get_active_count |
### 2. Task API Routes (`src/roboco/api/routes/tasks.py`)
### 2. Task API Routes (`roboco/api/routes/tasks.py`)
| Endpoint | Description |
|----------|-------------|
@@ -57,7 +57,7 @@ Implement Phase 5 of the RoboCo system per HOMELAB_TEAM_V0.md blueprint (Section
| `POST /tasks/{id}/verify, /submit-qa, /pass-qa, /fail-qa, /complete, /cancel` | Review transitions |
| `POST /tasks/{id}/progress, /checkpoint, /commit` | Progress and artifacts |
### 3. Kanban Models (`src/roboco/models/kanban.py`)
### 3. Kanban Models (`roboco/models/kanban.py`)
| Component | Description |
|-----------|-------------|
@@ -68,7 +68,7 @@ Implement Phase 5 of the RoboCo system per HOMELAB_TEAM_V0.md blueprint (Section
| `KanbanBoard` | Complete board with columns or swimlanes |
| Column configs | DEV_COLUMNS, QA_COLUMNS, DOCUMENTER_COLUMNS, PM_COLUMNS, MAIN_PM_COLUMNS, BOARD_COLUMNS |
### 4. Kanban Service (`src/roboco/services/kanban.py`)
### 4. Kanban Service (`roboco/services/kanban.py`)
| Method | Description |
|--------|-------------|
@@ -81,7 +81,7 @@ Implement Phase 5 of the RoboCo system per HOMELAB_TEAM_V0.md blueprint (Section
| `get_board_kanban()` | Board-level roadmap |
| `get_board_stats(team)` | Board statistics |
### 5. Kanban API Routes (`src/roboco/api/routes/kanban.py`)
### 5. Kanban API Routes (`roboco/api/routes/kanban.py`)
| Endpoint | Description |
|----------|-------------|
@@ -93,7 +93,7 @@ Implement Phase 5 of the RoboCo system per HOMELAB_TEAM_V0.md blueprint (Section
| `GET /kanban/board` | Board-level roadmap |
| `GET /kanban/stats` | Board statistics |
### 6. Metrics Service (`src/roboco/services/metrics.py`)
### 6. Metrics Service (`roboco/services/metrics.py`)
| Component | Description |
|-----------|-------------|
@@ -108,7 +108,7 @@ Implement Phase 5 of the RoboCo system per HOMELAB_TEAM_V0.md blueprint (Section
| `get_communication_volume(hours)` | Message and notification counts |
| `get_health_status(team)` | ok/slow/critical status |
### 7. Dashboard API Routes (`src/roboco/api/routes/dashboard.py`)
### 7. Dashboard API Routes (`roboco/api/routes/dashboard.py`)
| Endpoint | Description |
|----------|-------------|
@@ -127,7 +127,7 @@ Implement Phase 5 of the RoboCo system per HOMELAB_TEAM_V0.md blueprint (Section
## File Structure
```
src/roboco/
roboco/
├── models/
│ └── kanban.py # NEW - Kanban board models
├── services/
@@ -26,7 +26,7 @@ Implement Phase 6 of the RoboCo system per HOMELAB_TEAM_V0.md blueprint (Section
## What Was Built
### 1. Custom Exceptions (`src/roboco/exceptions.py`)
### 1. Custom Exceptions (`roboco/exceptions.py`)
| Exception | Description |
|-----------|-------------|
@@ -60,7 +60,7 @@ All exceptions include:
- `details`: Additional context dict
- `to_dict()`: Convert to API response format
### 2. Middleware (`src/roboco/api/middleware.py`)
### 2. Middleware (`roboco/api/middleware.py`)
| Component | Description |
|-----------|-------------|
@@ -77,7 +77,7 @@ Features:
- Added to all error responses
- Request timing in X-Response-Time-Ms header
### 3. Logging Configuration (`src/roboco/logging.py`)
### 3. Logging Configuration (`roboco/logging.py`)
| Component | Description |
|-----------|-------------|
@@ -114,7 +114,7 @@ With:
- JSON columns for structured data
- Performance indexes for common queries
### 5. Updated Application (`src/roboco/api/app.py`)
### 5. Updated Application (`roboco/api/app.py`)
- Logging setup at import time
- Startup/shutdown logging
@@ -123,7 +123,7 @@ With:
## File Structure
```
src/roboco/
roboco/
├── __init__.py # Updated with core exports
├── exceptions.py # NEW - Custom exception hierarchy
├── logging.py # NEW - Structured logging config