mirror of
https://github.com/rennf93/roboco.git
synced 2026-08-03 07:23:24 +02:00
1. Blueprint updates - Added NO_GROUPS escalation docs to all 12 agent blueprints
2. Multi-image Docker architecture - Created role-specific Dockerfiles: - agent-base.Dockerfile (shared foundation) - agent-pm.Dockerfile, agent-dev-be.Dockerfile, agent-dev-fe.Dockerfile - agent-qa-be.Dockerfile, agent-qa-fe.Dockerfile, agent-doc.Dockerfile, agent-ux.Dockerfile 3. Orchestrator updates - roboco/runtime/orchestrator.py: - Added AGENT_IMAGES mapping and get_agent_image() function - Updated _ensure_agent_image() to build base + specialized images - Updated _spawn_container() to use role-specific image - Made _generate_mcp_config() role-aware (though kept notify for all since they need to receive)
This commit is contained in:
@@ -212,6 +212,13 @@ Return to SCAN: `roboco_task_scan()` or `roboco_agent_idle()`
|
||||
|
||||
## Communication Rules
|
||||
|
||||
### Handling NO_GROUPS Error
|
||||
If you get a NO_GROUPS error when sending a message:
|
||||
1. This means the channel hasn't been set up for this work yet
|
||||
2. Escalate to your Cell PM (be-pm) using `roboco_task_escalate`
|
||||
3. Include the channel and task context in your escalation
|
||||
4. If you have a task_id, always include it in message calls (routes to task session)
|
||||
|
||||
### Channels You Access
|
||||
- **#backend-cell** (read/write) - Your primary workspace
|
||||
- **#dev-all** (read/write) - Cross-cell dev discussion
|
||||
|
||||
@@ -125,6 +125,13 @@ and verify all subtasks are done before calling `roboco_task_complete()`.
|
||||
|
||||
## Communication Rules
|
||||
|
||||
### Handling NO_GROUPS Error
|
||||
If you get a NO_GROUPS error when sending a message:
|
||||
1. This means the channel hasn't been set up for this work yet
|
||||
2. Escalate to your Cell PM (be-pm) using `roboco_task_escalate`
|
||||
3. Include the channel and task context in your escalation
|
||||
4. If you have a task_id, always include it in message calls (routes to task session)
|
||||
|
||||
### When to Post in Session (DO)
|
||||
- **Questions about implementation** - Need dev/QA clarification
|
||||
- **Missing context** - Dev notes don't explain something critical
|
||||
|
||||
@@ -187,6 +187,21 @@ roboco_session_create_for_tasks({
|
||||
- Subtasks auto-inherit parent task's primary session
|
||||
- Full audit trail preserved
|
||||
|
||||
**Handling NO_GROUPS Error:**
|
||||
If you get a NO_GROUPS error when creating a session, it means the channel
|
||||
doesn't have a group for this initiative yet. Groups are created by Main PM.
|
||||
|
||||
Escalate to Main PM:
|
||||
```python
|
||||
roboco_task_escalate({
|
||||
"task_id": "{task_id}",
|
||||
"reason": "Channel #backend-cell has no group for this work. Need group created.",
|
||||
"escalate_to": "main-pm"
|
||||
})
|
||||
```
|
||||
|
||||
Main PM will create the group, then you can proceed with session creation.
|
||||
|
||||
### 7b. ACTIVATE TASK (REQUIRED)
|
||||
**Tool:** `roboco_task_activate(task_id)`
|
||||
|
||||
|
||||
@@ -226,6 +226,13 @@ After verdict:
|
||||
|
||||
## Communication Rules
|
||||
|
||||
### Handling NO_GROUPS Error
|
||||
If you get a NO_GROUPS error when sending a message:
|
||||
1. This means the channel hasn't been set up for this work yet
|
||||
2. Escalate to your Cell PM (be-pm) using `roboco_task_escalate`
|
||||
3. Include the channel and task context in your escalation
|
||||
4. If you have a task_id, always include it in message calls (routes to task session)
|
||||
|
||||
### Channels You Access
|
||||
- **#backend-cell** (read/write) - Your primary workspace
|
||||
- **#qa-all** (read/write) - Cross-cell QA discussion
|
||||
|
||||
@@ -51,6 +51,9 @@ You interact with RoboCo systems through MCP tools:
|
||||
- `roboco_task_create(...)` - Create new tasks for cells (pass `status: "backlog"` for setup phase)
|
||||
- `roboco_task_activate(task_id)` - Activate task from BACKLOG to PENDING (after session created)
|
||||
|
||||
**Group Management (Feature/Initiative Scopes):**
|
||||
- `roboco_group_create(data)` - Create a group for a feature/initiative in a channel
|
||||
|
||||
**Session Management (Cross-Cell Work Sessions):**
|
||||
- `roboco_session_create_for_tasks(data)` - Create work session for cross-cell initiatives
|
||||
- `roboco_session_link_task(data)` - Link additional task to existing session
|
||||
@@ -146,7 +149,21 @@ roboco_task_create({
|
||||
})
|
||||
```
|
||||
|
||||
**2. CREATE WORK SESSION (REQUIRED)**
|
||||
**2. CREATE GROUP (if needed)**
|
||||
Before creating sessions, ensure the channel has a group for this initiative:
|
||||
```python
|
||||
roboco_group_create({
|
||||
"channel_slug": "dev-all", # Or "backend-cell" for cell-specific work
|
||||
"name": "User Preferences Feature",
|
||||
"hierarchy_level": 4 # 0=CEO, 1=Board, 2=Main PM, 3=Cell PM, 4=Members
|
||||
})
|
||||
```
|
||||
|
||||
Groups organize work into feature/initiative scopes. Cell PMs then create
|
||||
sessions within groups for actual work items. If a Cell PM escalates to you
|
||||
with a NO_GROUPS error, create the group and notify them.
|
||||
|
||||
**3. CREATE WORK SESSION (REQUIRED)**
|
||||
Every initiative needs a work session for coordination:
|
||||
```python
|
||||
roboco_session_create_for_tasks({
|
||||
@@ -165,7 +182,7 @@ roboco_session_create_for_tasks({
|
||||
This creates a shared discussion context where all Cell PMs and developers
|
||||
can coordinate on the initiative. Full history is preserved for handoffs.
|
||||
|
||||
**3. ACTIVATE TASKS (REQUIRED)**
|
||||
**4. ACTIVATE TASKS (REQUIRED)**
|
||||
After sessions are created, activate tasks so Cell PMs can see them:
|
||||
```python
|
||||
roboco_task_activate("backend-task-id")
|
||||
@@ -175,7 +192,7 @@ roboco_task_activate("ux-task-id")
|
||||
|
||||
**Task flow:**
|
||||
```
|
||||
CREATE (backlog) → SESSION → ACTIVATE (pending) → Cell PM receives task
|
||||
CREATE (backlog) → GROUP (if needed) → SESSION → ACTIVATE (pending) → Cell PM receives
|
||||
```
|
||||
|
||||
**4. NOTIFY CELL PMs**
|
||||
|
||||
@@ -191,6 +191,13 @@ Return to SCAN: `roboco_task_scan()` or `roboco_agent_idle()`
|
||||
|
||||
## Communication Rules
|
||||
|
||||
### Handling NO_GROUPS Error
|
||||
If you get a NO_GROUPS error when sending a message:
|
||||
1. This means the channel hasn't been set up for this work yet
|
||||
2. Escalate to your Cell PM (fe-pm) using `roboco_task_escalate`
|
||||
3. Include the channel and task context in your escalation
|
||||
4. If you have a task_id, always include it in message calls (routes to task session)
|
||||
|
||||
### Channels You Access
|
||||
- **#frontend-cell** (read/write) - Your primary workspace
|
||||
- **#dev-all** (read/write) - Cross-cell dev discussion
|
||||
|
||||
@@ -123,6 +123,13 @@ and verify all subtasks are done before calling `roboco_task_complete()`.
|
||||
|
||||
## Communication Rules
|
||||
|
||||
### Handling NO_GROUPS Error
|
||||
If you get a NO_GROUPS error when sending a message:
|
||||
1. This means the channel hasn't been set up for this work yet
|
||||
2. Escalate to your Cell PM (fe-pm) using `roboco_task_escalate`
|
||||
3. Include the channel and task context in your escalation
|
||||
4. If you have a task_id, always include it in message calls (routes to task session)
|
||||
|
||||
### When to Post in Session (DO)
|
||||
- **Questions about implementation** - Need dev/QA clarification
|
||||
- **Missing context** - Dev notes don't explain component behavior
|
||||
|
||||
@@ -183,6 +183,21 @@ roboco_session_create_for_tasks({
|
||||
- QA and documenter see full context when reviewing
|
||||
- Subtasks auto-inherit parent task's primary session
|
||||
|
||||
**Handling NO_GROUPS Error:**
|
||||
If you get a NO_GROUPS error when creating a session, it means the channel
|
||||
doesn't have a group for this initiative yet. Groups are created by Main PM.
|
||||
|
||||
Escalate to Main PM:
|
||||
```python
|
||||
roboco_task_escalate({
|
||||
"task_id": "{task_id}",
|
||||
"reason": "Channel #frontend-cell has no group for this work. Need group created.",
|
||||
"escalate_to": "main-pm"
|
||||
})
|
||||
```
|
||||
|
||||
Main PM will create the group, then you can proceed with session creation.
|
||||
|
||||
### 7b. ACTIVATE TASK (REQUIRED)
|
||||
**Tool:** `roboco_task_activate(task_id)`
|
||||
|
||||
|
||||
@@ -130,6 +130,13 @@ Update progress: `roboco_task_progress(task_id, "Completed visual testing...", 5
|
||||
|
||||
## Communication Rules
|
||||
|
||||
### Handling NO_GROUPS Error
|
||||
If you get a NO_GROUPS error when sending a message:
|
||||
1. This means the channel hasn't been set up for this work yet
|
||||
2. Escalate to your Cell PM (fe-pm) using `roboco_task_escalate`
|
||||
3. Include the channel and task context in your escalation
|
||||
4. If you have a task_id, always include it in message calls (routes to task session)
|
||||
|
||||
### When to Post in Session (DO)
|
||||
- **Questions about implementation** - Need dev clarification on behavior
|
||||
- **Critical bugs** - Security issues, accessibility failures, blockers
|
||||
|
||||
@@ -190,6 +190,13 @@ Return to SCAN: `roboco_task_scan()` or `roboco_agent_idle()`
|
||||
|
||||
## Communication Rules
|
||||
|
||||
### Handling NO_GROUPS Error
|
||||
If you get a NO_GROUPS error when sending a message:
|
||||
1. This means the channel hasn't been set up for this work yet
|
||||
2. Escalate to your Cell PM (ux-pm) using `roboco_task_escalate`
|
||||
3. Include the channel and task context in your escalation
|
||||
4. If you have a task_id, always include it in message calls (routes to task session)
|
||||
|
||||
### Channels You Access
|
||||
- **#uxui-cell** (read/write) - Your primary workspace
|
||||
- **#dev-all** (read) - See what frontend is building
|
||||
|
||||
@@ -123,6 +123,13 @@ and verify all subtasks are done before calling `roboco_task_complete()`.
|
||||
|
||||
## Communication Rules
|
||||
|
||||
### Handling NO_GROUPS Error
|
||||
If you get a NO_GROUPS error when sending a message:
|
||||
1. This means the channel hasn't been set up for this work yet
|
||||
2. Escalate to your Cell PM (ux-pm) using `roboco_task_escalate`
|
||||
3. Include the channel and task context in your escalation
|
||||
4. If you have a task_id, always include it in message calls (routes to task session)
|
||||
|
||||
### When to Post in Session (DO)
|
||||
- **Questions about design decisions** - Need designer/QA clarification
|
||||
- **Missing context** - Design notes don't explain rationale
|
||||
|
||||
@@ -183,6 +183,21 @@ roboco_session_create_for_tasks({
|
||||
- QA and documenter see design context
|
||||
- Frontend can review design discussion history
|
||||
|
||||
**Handling NO_GROUPS Error:**
|
||||
If you get a NO_GROUPS error when creating a session, it means the channel
|
||||
doesn't have a group for this initiative yet. Groups are created by Main PM.
|
||||
|
||||
Escalate to Main PM:
|
||||
```python
|
||||
roboco_task_escalate({
|
||||
"task_id": "{task_id}",
|
||||
"reason": "Channel #uxui-cell has no group for this work. Need group created.",
|
||||
"escalate_to": "main-pm"
|
||||
})
|
||||
```
|
||||
|
||||
Main PM will create the group, then you can proceed with session creation.
|
||||
|
||||
### 7b. ACTIVATE TASK (REQUIRED)
|
||||
**Tool:** `roboco_task_activate(task_id)`
|
||||
|
||||
|
||||
@@ -129,6 +129,13 @@ If dev_notes is empty or no Figma link provided, that's a valid FAIL reason.
|
||||
|
||||
## Communication Rules
|
||||
|
||||
### Handling NO_GROUPS Error
|
||||
If you get a NO_GROUPS error when sending a message:
|
||||
1. This means the channel hasn't been set up for this work yet
|
||||
2. Escalate to your Cell PM (ux-pm) using `roboco_task_escalate`
|
||||
3. Include the channel and task context in your escalation
|
||||
4. If you have a task_id, always include it in message calls (routes to task session)
|
||||
|
||||
### When to Post in Session (DO)
|
||||
- **Questions about design intent** - Need designer clarification
|
||||
- **Critical issues** - Accessibility failures, missing states
|
||||
|
||||
Reference in New Issue
Block a user