Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

🤖 bug: a workflow plan task with an empty plan file may never get its completion prompt

Đã đóng
#4,454 1 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

Chưa có ai nhận issue này.

Đánh giá

Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức phù hợp với người mới
48/100
Loại issue
Lỗi
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
typescript
Lĩnh vực
backend, testing

Hướng nghiên cứu

Start with taskService.reportDecisionHold.test.ts and the real-host test described in #4450, using a workflow plan task with no plan file. Exercise the path through handleStreamEnd and handleSuccessfulWorkflowProposePlan. Done means the test establishes whether the completion prompt is admitted; if it fails, the decision is resolved as a non-report before that prompt.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

Summary

Suspected, not yet reproduced. A workflow-owned plan task whose propose_plan succeeds but whose plan file is missing or empty may never get its completion prompt. It would stay awaiting_report until a timeout or restart.

Why we suspect it

This is the same mechanism as the plan auto-handoff kickoff bug fixed in #4450:

  1. When a task's stream ends, handleStreamEnd resolves the stream-end decision as a non-report before its recovery sends. It skips that step when the task is plan-like and propose_plan succeeded, because for a workflow plan task that result is normally the report.
  2. handleSuccessfulWorkflowProposePlan then finds no plan content and calls promptTaskForRequiredCompletionTool instead. At that point the ended stream's decision is still pending.
  3. The prompt's admission token (minted by the caller since #4450, or by WorkspaceService.sendMessage on main) treats a pending decision for its attempt as stale. If the session is idle, the send is therefore refused with "the target was stopped or interrupted while the message was being admitted".

For the non-workflow handoff, #4450 confirmed this chain with a real-host test that fails on main. This path has no such test yet.

Next step

Write a real-host test like the one in #4450 (taskService.reportDecisionHold.test.ts, "plan-handoff kickoff on the real host"), using a workflow plan task with no plan file. If the test fails, resolve the decision as a non-report before that prompt.

Owner: the workflow-recovery follow-ups workspace (the owner of #4414 and G2).

Related

#4450, #4414, #4308.


Generated with xum • Model: anthropic:claude-opus-5-5 • Thinking: high

Ngôn ngữ chính
TypeScript
Star
2.1k
Fork
139
Merge trung bình
3 giờ 45 phút
Pull request đã merge (30 ngày)
953

Chuẩn bị môi trường

  • Có Dockerfile hoặc tệp Docker Compose
  • Không có mẫu pull request
  • Không có hướng dẫn đóng góp

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của coder/xum

Tất cả issue của coder/xum

Issue tương tự

Thêm issue về TypeScript

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.