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
@@ -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"
})