Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

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

Chiusa
#4,454 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
48/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
typescript
Ambito
backend, testing

Direzione di ricerca

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.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

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

Lingua principale
TypeScript
Stelle
2.1k
Fork
142
Merge medio
5h 26m
PR unite (30g)
903

Preparare l'ambiente

  • Include un Dockerfile o un file Docker Compose
  • Nessun modello di pull request
  • Nessuna guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di coder/xum

Tutte le issue di coder/xum

Issue simili

Altre issue su TypeScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.