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:
Renn F
2025-12-23 22:58:07 +01:00
parent 204b959733
commit 06720b1978
9 changed files with 66 additions and 89 deletions
+3
View File
@@ -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"
})