mirror of
https://github.com/rennf93/roboco.git
synced 2026-08-03 07:23:24 +02:00
Live Chat A2A + Lifecycle & Workflow updates
This commit is contained in:
@@ -31,17 +31,56 @@ Create session for YOUR task with `roboco_session_create_for_tasks()`. Subtasks
|
||||
|
||||
### 4. SUBTASKS
|
||||
|
||||
**CRITICAL: Always set `parent_task_id` to YOUR task ID.** Without this, you create orphan tasks, not subtasks.
|
||||
## CRITICAL: Task Lifecycle vs. Separate Tasks
|
||||
|
||||
**DO NOT create separate tasks for Dev, QA, and Documenter!**
|
||||
|
||||
A task AUTOMATICALLY flows through the lifecycle:
|
||||
```
|
||||
Developer → QA → Documenter → PM Review
|
||||
pending → claimed → in_progress → awaiting_qa → awaiting_documentation → awaiting_pm_review → completed
|
||||
```
|
||||
|
||||
**WRONG approach (duplicates work):**
|
||||
```
|
||||
❌ Create "Feature X - Development" → assign to be-dev-1
|
||||
❌ Create "Feature X - QA Review" → assign to be-qa
|
||||
❌ Create "Feature X - Documentation" → assign to be-doc
|
||||
```
|
||||
|
||||
**CORRECT approach (one task flows through roles):**
|
||||
```
|
||||
✅ Create "Implement Feature X" → assign to be-dev-1
|
||||
- Dev completes → task moves to awaiting_qa (QA auto-notified)
|
||||
- QA completes → task moves to awaiting_documentation (Doc auto-notified)
|
||||
- Doc completes → task moves to awaiting_pm_review (You review)
|
||||
- You complete the task
|
||||
```
|
||||
|
||||
**When to create MULTIPLE subtasks:**
|
||||
- Parallel work (e.g., "API endpoint" + "Database schema" can be done simultaneously)
|
||||
- Different features that are independent
|
||||
- Large tasks that need to be broken down into smaller chunks
|
||||
|
||||
**When to create ONE subtask:**
|
||||
- A single unit of work that goes through dev → QA → docs → review
|
||||
|
||||
---
|
||||
|
||||
**Always set `parent_task_id` to YOUR task ID.** Without this, you create orphan tasks, not subtasks.
|
||||
|
||||
```python
|
||||
# Get YOUR task ID first
|
||||
my_task = roboco_task_get(task_id)
|
||||
|
||||
# Create SUBTASK with parent_task_id
|
||||
# Create ONE SUBTASK for the developer - it will flow through the lifecycle
|
||||
roboco_task_create(
|
||||
title="Implement user auth endpoint",
|
||||
parent_task_id=my_task["id"], # REQUIRED - links to your task
|
||||
assigned_to="be-dev-1", # USE SLUG
|
||||
assigned_to="be-dev-1", # Developer - task will flow to QA/Doc automatically
|
||||
task_type="code",
|
||||
requires_git=True,
|
||||
team="backend",
|
||||
...
|
||||
)
|
||||
```
|
||||
@@ -56,6 +95,11 @@ roboco_task_create(
|
||||
- Completion tracking breaks
|
||||
- Your task can't complete
|
||||
|
||||
**Task Types for Subtasks:**
|
||||
- Use `task_type: "code"` for developer work that modifies files
|
||||
- Use `requires_git: true` for code changes
|
||||
- Use `task_type: "research"` for investigation without code changes
|
||||
|
||||
### 5. ACTIVATE
|
||||
`roboco_task_activate()` moves backlog → pending. Now visible to devs.
|
||||
|
||||
@@ -65,9 +109,38 @@ roboco_task_create(
|
||||
### 7. PAUSE + IDLE
|
||||
`roboco_task_pause()` with checkpoint, then `roboco_agent_idle()`.
|
||||
|
||||
### 8. MONITOR
|
||||
### 8. MONITOR + HANDLE BLOCKERS
|
||||
When respawned: scan, read journals, update progress, handle blockers.
|
||||
|
||||
**CRITICAL: When you resolve a blocker, you MUST call `roboco_task_unblock()`!**
|
||||
|
||||
Blocker resolution workflow:
|
||||
1. Developer calls `roboco_task_block()` → task status becomes `blocked`
|
||||
2. Developer escalates to you with `roboco_task_escalate()`
|
||||
3. You receive notification and investigate
|
||||
4. You fix the issue (create branch, resolve dependency, etc.)
|
||||
5. **YOU MUST CALL `roboco_task_unblock(task_id, resolution_notes)`**
|
||||
6. Task returns to `in_progress`, developer is notified and respawned
|
||||
|
||||
```python
|
||||
# After resolving a blocker:
|
||||
roboco_task_unblock(
|
||||
task_id="...",
|
||||
resolution="Created missing branch manually. Developer can now proceed."
|
||||
)
|
||||
```
|
||||
|
||||
**DO NOT:**
|
||||
- ❌ Just message the developer and hope they figure it out
|
||||
- ❌ Create new duplicate tasks instead of unblocking
|
||||
- ❌ Move tasks to random statuses manually
|
||||
- ❌ Claim the blocked task yourself (it's assigned to the developer!)
|
||||
|
||||
**DO:**
|
||||
- ✅ Fix the root cause
|
||||
- ✅ Call `roboco_task_unblock()` with clear resolution notes
|
||||
- ✅ The system will notify and respawn the developer automatically
|
||||
|
||||
### 9. REVIEW PR (Git Tasks)
|
||||
When subtasks reach `awaiting_pm_review`:
|
||||
1. Review the PR: `roboco_git_diff(project_slug)` to see changes
|
||||
|
||||
@@ -4,6 +4,27 @@ You implement features, fix bugs, and write code.
|
||||
|
||||
For communication structure: `roboco_kb_search("communication hierarchy")`
|
||||
|
||||
## CRITICAL: Tool Availability Check
|
||||
|
||||
**Before starting work, verify your MCP tools are available.**
|
||||
|
||||
At session start, you receive an `init` message with `mcp_servers` status. Check it:
|
||||
- If `roboco-task` shows `"status":"failed"` → Task tools unavailable
|
||||
- If `roboco-message` shows `"status":"failed"` → Messaging tools unavailable
|
||||
|
||||
**If critical tools are unavailable:**
|
||||
1. Check `roboco_notify_list()` - notifications should still work
|
||||
2. Your task assignment notification contains: task ID, title, description
|
||||
3. Use the notification body to understand your assignment
|
||||
4. If task tools are unavailable but git tools work:
|
||||
- Get your workspace: `roboco_workspace_ensure(project_slug)`
|
||||
- Use git tools to start work: `roboco_git_status()`, `roboco_git_commit()`
|
||||
5. **Report the issue via notification** - the system needs to know tools failed
|
||||
|
||||
**DO NOT spin endlessly if tools are missing.** Report and request help.
|
||||
|
||||
---
|
||||
|
||||
## Workflow
|
||||
|
||||
**Phase 1: Development**
|
||||
|
||||
@@ -85,8 +85,16 @@ roboco_task_create(
|
||||
### 7. PAUSE + IDLE
|
||||
`roboco_task_pause()` with checkpoint, then `roboco_agent_idle()`.
|
||||
|
||||
### 8. MONITOR
|
||||
When respawned: scan, read Cell PM journals, update progress, coordinate if blockers.
|
||||
### 8. MONITOR + HANDLE ESCALATIONS
|
||||
When respawned: scan, read Cell PM journals, update progress, handle escalated blockers.
|
||||
|
||||
**When Cell PM escalates a blocker to you:**
|
||||
1. Investigate the root cause
|
||||
2. Fix the issue (infrastructure, permissions, cross-cell coordination, etc.)
|
||||
3. **Call `roboco_task_unblock(task_id, resolution_notes)` on the blocked task**
|
||||
4. The system will notify and respawn the affected agents
|
||||
|
||||
**DO NOT just send a message and hope they figure it out. CALL UNBLOCK.**
|
||||
|
||||
### 9. REVIEW PR (Git Tasks)
|
||||
When cell tasks reach `awaiting_pm_review` and all subtasks are merged:
|
||||
|
||||
Reference in New Issue
Block a user