mirror of
https://github.com/rennf93/roboco.git
synced 2026-08-03 07:23:24 +02:00
Killed "active" session dependency:
1. roboco/mcp/schemas/__init__.py:
- SendMessageInput.task_id → required
- AskQuestionInput.task_id → required
- ReportBlockerInput.task_id → required
2. roboco/mcp/message_server.py:
- Removed _get_active_session() entirely (dead code)
- Simplified _handle_message_send() - no fallback, just uses task's linked session
- Updated tool signatures for roboco_ask_question and roboco_report_blocker
3. roboco/api/routes/tasks.py (earlier fix):
- Added subtask validation before parent completion
New behavior:
- All messages MUST have task_id
- Task's linked session is the only source of truth
- No session? → Clear error: "Cell PM must create one"
- No more "active" status guessing
This commit is contained in:
@@ -225,6 +225,7 @@ Tell the team what you did:
|
||||
```json
|
||||
{
|
||||
"channel_slug": "backend-cell",
|
||||
"task_id": "{task_id}",
|
||||
"content": "Triaged TASK-XXX. Created 3 subtasks, assigned to BE-Dev-1.",
|
||||
"message_type": "action"
|
||||
}
|
||||
@@ -317,6 +318,7 @@ roboco_task_claim("TASK-042")
|
||||
# Announce in channel
|
||||
roboco_message_send({
|
||||
"channel_slug": "backend-cell",
|
||||
"task_id": "TASK-042",
|
||||
"content": "Triaging TASK-042: Implement rate limiting",
|
||||
"message_type": "action"
|
||||
})
|
||||
@@ -363,6 +365,7 @@ roboco_task_create({
|
||||
# 8. COMMUNICATE
|
||||
roboco_message_send({
|
||||
"channel_slug": "backend-cell",
|
||||
"task_id": "TASK-042",
|
||||
"content": "TASK-042 triaged. 3 subtasks created, assigned to BE-Dev-1.",
|
||||
"message_type": "action"
|
||||
})
|
||||
|
||||
@@ -161,6 +161,7 @@ roboco_task_qa_pass(task_id, {
|
||||
```json
|
||||
{
|
||||
"channel_slug": "backend-cell",
|
||||
"task_id": "{task_id}",
|
||||
"content": "QA PASS for TASK-XXX. Proceeding to documenter, then PM review.",
|
||||
"message_type": "action"
|
||||
}
|
||||
@@ -200,6 +201,7 @@ roboco_task_qa_fail(task_id, {
|
||||
```json
|
||||
{
|
||||
"channel_slug": "backend-cell",
|
||||
"task_id": "{task_id}",
|
||||
"content": "QA FAIL for TASK-XXX. Issues: [list]. Returning to dev.",
|
||||
"message_type": "blocker"
|
||||
}
|
||||
|
||||
@@ -217,6 +217,7 @@ Tell the team what you did:
|
||||
```json
|
||||
{
|
||||
"channel_slug": "frontend-cell",
|
||||
"task_id": "{task_id}",
|
||||
"content": "Triaged TASK-XXX. Created 3 subtasks, assigned to FE-Dev-1.",
|
||||
"message_type": "action"
|
||||
}
|
||||
@@ -325,6 +326,7 @@ roboco_task_scan(team="frontend")
|
||||
roboco_task_claim("TASK-055")
|
||||
roboco_message_send({
|
||||
"channel_slug": "frontend-cell",
|
||||
"task_id": "TASK-055",
|
||||
"content": "Triaging TASK-055: User preferences modal",
|
||||
"message_type": "action"
|
||||
})
|
||||
@@ -363,6 +365,7 @@ roboco_task_assign("TASK-055", "fe-dev-1")
|
||||
# 8. COMMUNICATE
|
||||
roboco_message_send({
|
||||
"channel_slug": "frontend-cell",
|
||||
"task_id": "TASK-055",
|
||||
"content": "TASK-055 assigned to FE-Dev-1. Design ready, API available.",
|
||||
"message_type": "action"
|
||||
})
|
||||
|
||||
@@ -217,6 +217,7 @@ Tell the team what you did:
|
||||
```json
|
||||
{
|
||||
"channel_slug": "uxui-cell",
|
||||
"task_id": "{task_id}",
|
||||
"content": "Triaged TASK-XXX. Assigned to UX-Dev.",
|
||||
"message_type": "action"
|
||||
}
|
||||
@@ -330,6 +331,7 @@ roboco_task_scan(team="ux_ui")
|
||||
roboco_task_claim("TASK-055")
|
||||
roboco_message_send({
|
||||
"channel_slug": "uxui-cell",
|
||||
"task_id": "TASK-055",
|
||||
"content": "Triaging TASK-055: User preferences modal design",
|
||||
"message_type": "action"
|
||||
})
|
||||
@@ -368,6 +370,7 @@ roboco_task_assign("TASK-055", "ux-dev")
|
||||
# 8. COMMUNICATE
|
||||
roboco_message_send({
|
||||
"channel_slug": "uxui-cell",
|
||||
"task_id": "TASK-055",
|
||||
"content": "TASK-055 assigned to UX-Dev. Frontend needs by Friday.",
|
||||
"message_type": "action"
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user