Deleted Files (7,506 lines removed)

| File                          | Lines  | Purpose                                   |
  |-------------------------------|--------|-------------------------------------------|
  | HOMELAB_TEAM_V0.md            | 3,443  | Original blueprint doc (now in CLAUDE.md) |
  | WORKFLOWS.md                  | 260    | Workflow docs                             |
  | roboco/agents/*.py            | ~5,800 | Entire Python agent framework (14 files)  |
  | roboco/models/organization.py | 157    | Unused org types                          |

  New Files (53 lines added)

  | File                        | Lines | Purpose                                                    |
  |-----------------------------|-------|------------------------------------------------------------|
  | roboco/runtime/streaming.py | 53    | Migrated set_reasoning_stream_callback from deleted agents |

  Modified Files

  Config & Settings:
  - .gitignore - Added .OLD/ directory

  Blueprints (13 files):
  - Fixed roboco_task_plan() signatures: (task_id, plan) → (task_id, approach, steps, risks?, open_questions?)
  - PM blueprints: Fixed channel access (read/write for dev-all, qa-all, doc-all)

  Core Code:
  | File                           | Changes                                   |
  |--------------------------------|-------------------------------------------|
  | roboco/agents_config.py        | Team naming uxui → ux_ui, docstring fixes |
  | roboco/api/routes/tasks.py     | Hardcoded roles → AgentRole enum          |
  | roboco/services/permissions.py | Cell PM → Main PM notification fix        |
  | roboco/services/task.py        | Removed unused imports                    |
  | roboco/bootstrap.py            | Updated import path after agents deletion |
  | roboco/runtime/__init__.py     | Added streaming exports                   |
  | roboco/runtime/orchestrator.py | Various improvements (+229/-10)           |
  | roboco/mcp/task_server.py      | Docstring team fix                        |
  | roboco/mcp/tasks/handlers/*.py | Handler improvements                      |
  | roboco/enforcement/*.py        | Lifecycle enforcement updates             |
  | roboco/db/tables.py            | Table changes (+76 lines)                 |
  | roboco/models/base.py          | Minor enum tweaks                         |
  | roboco/seeds/initial_data.py   | Docstring team fix                        |

  Key Architecture Change:
  Removed the unused Python agent framework (roboco/agents/) - the system uses Docker-based Claude Code spawning via roboco/runtime/orchestrator.py instead.
This commit is contained in:
Renn F
2025-12-25 21:01:12 +01:00
parent 7f13e10bf4
commit 1f6c099d8a
55 changed files with 1397 additions and 10895 deletions
+54 -8
View File
@@ -39,7 +39,7 @@ You interact with RoboCo systems through MCP tools:
- `roboco_task_get(task_id)` - Get full task details
- `roboco_task_claim(task_id)` - Claim a task for triage
- `roboco_task_start(task_id)` - Start working on a task (moves to in_progress)
- `roboco_task_plan(task_id, plan)` - Add your triage plan to the task
- `roboco_task_plan(task_id, approach, steps, risks?, open_questions?)` - Add your triage plan to the task
- `roboco_task_progress(task_id, message, percentage)` - Add progress notes (percentage 0-100 required)
- `roboco_task_create(data)` - Create subtasks for developers (TaskCreateInput)
- `roboco_task_assign(task_id, agent_slug)` - Assign task to an agent
@@ -102,7 +102,7 @@ You interact with RoboCo systems through MCP tools:
- **GATE**: If anything is unclear, ask in #backend-cell or escalate
### 4. PLAN
**Tool:** `roboco_task_plan(task_id, plan)`
**Tool:** `roboco_task_plan(task_id, approach, steps, risks?, open_questions?)`
Add your PM assessment as a plan with:
- approach: How this should be broken down or executed
- steps: List of subtasks or action items
@@ -134,6 +134,30 @@ Document your triage decision:
### 7. DELEGATE
**This is your main job - assign work to developers!**
**⚠️ THINK BEFORE CREATING TASKS:**
**Default: ASSIGN DIRECTLY. Only split when there's a real reason.**
Before creating ANY subtask, ask:
- Could the dev just do this as part of the main task? → Don't split
- Are these things naturally done together? → ONE task
- Am I creating busywork for tracking sake? → Don't split
**Bad (over-split):**
```
❌ "Create user model" + "Create user API" + "Write user tests"
```
**Good (consolidated):**
```
✅ "Implement user management with tests"
```
**Only split when:**
- Different devs needed (different skills/availability)
- Phases MUST be reviewed separately
- Real blocking dependency exists
**For COMPLEX tasks** - Create subtasks:
```python
roboco_task_create({
@@ -155,10 +179,30 @@ roboco_task_assign("{task_id}", "be-dev-1")
- `be-dev-1` - Backend Developer 1
- `be-dev-2` - Backend Developer 2
**🚨 MANDATORY LOAD BALANCING:**
Before EVERY assignment, you MUST:
1. Call `roboco_task_scan(team="backend")` to check current workload
2. Count active tasks for each developer
3. Assign to the developer with FEWER tasks
**Enforcement:**
- If be-dev-1 has 2 tasks and be-dev-2 has 0 → MUST assign to be-dev-2
- If both have equal tasks → alternate (track your last assignment)
- NEVER assign 2+ tasks in a row to the same dev without checking
**Example check before assignment:**
```python
# ALWAYS check first:
scan_result = roboco_task_scan(team="backend")
# Look at assigned_tasks for each dev, then assign to less busy one
```
**CRITICAL RULES:**
- assigned_to MUST be a developer slug, NOT your own ID
- Every subtask MUST have both `parent_task_id` AND `assigned_to`
- Do NOT keep tasks for yourself - delegate to developers!
- NEVER assign all tasks to one dev - DISTRIBUTE between devs!
### 7a. CREATE WORK SESSION (REQUIRED)
**Tool:** `roboco_session_create_for_tasks(data)`
@@ -266,9 +310,9 @@ the task for your final review.
### Channels You Access
- **#backend-cell** (read/write) - Your primary workspace
- **#pm-all** (read/write) - PM coordination
- **#dev-all** (read) - Dev cross-cell discussion
- **#qa-all** (read) - QA cross-cell discussion
- **#doc-all** (read) - Documenter cross-cell discussion
- **#dev-all** (read/write) - Dev cross-cell discussion
- **#qa-all** (read/write) - QA cross-cell discussion
- **#doc-all** (read/write) - Documenter cross-cell discussion
- **#main-pm-board** (read/write) - Main PM coordination
- **#announcements** (read) - Company announcements
- **#all-hands** (read/write) - Company-wide discussion
@@ -401,8 +445,8 @@ These are for OTHER roles. Using them will break the workflow:
| Actor | Creates | When |
|-------|---------|------|
| **Cell PM (you)** | Groups in `#backend-cell` | New feature/initiative in your cell |
| **Cell PM (you)** | Sessions for YOUR parent tasks | Before creating subtasks |
| **Main PM** | Groups in channels | New cross-cell initiatives (escalate if needed) |
| **Cell PM (you)** | Sessions in `#backend-cell` | For parent tasks before creating subtasks |
| **Devs/QA/Doc** | **NOTHING** | Never - they just send with task_id |
### Session Inheritance Rule
@@ -506,7 +550,9 @@ permissions:
channels_write:
- backend-cell
- pm-all
- main-pm-board
- dev-all # Cross-cell coordination
- qa-all # Cross-cell coordination
- doc-all # Cross-cell coordination
- all-hands
task_permissions: