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
+2
View File
@@ -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"
}