Background subagent start events deferred until parent task completes (1.0.83)
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- Shell
- Estrellas
- 11.2k
- Forks
- 1.9k
- Merge medio
- 14 h 16 min
- PR fusionados (30 d)
- 6
Descripción
Observed behavior
On macOS arm64 with the installed @github/copilot 1.0.83 runtime, two background task calls returned handles immediately, but matching subagent.started events did not appear until approximately 14 minutes later, immediately after the parent called task_complete. The parent continued using tools during that interval.
Sanitized relative timeline
Times are relative to the first background task request; task-call IDs were correlated locally and are omitted here.
- T+0.000s / +0.001s: two task requests with mode=background.
- Handles returned within 11ms; subsequent read_agent responses reported running and zero completed turns.
- T+303.291s: two separately scoped synchronous task requests. Matching subagent.started events appeared within 23ms.
- T+570.272s: write_agent stop instructions sent to the background tasks; messages were queued, not cancellation.
- T+852.718s: parent task_complete called.
- T+852.793s / +852.795s: matching subagent.started events for the original background requests.
- First local work markers followed approximately 6s and 11s later. Both background tasks completed their original work, then processed the queued stop instructions.
Expected behavior
Background tasks should begin independently while the parent performs unrelated work, or expose a queued/deferred state rather than imply active execution. If parent-turn completion is a prerequisite, document and surface that constraint.
Reproduction outline (not yet reduced to a deterministic repro)
Launch two small background tasks that record a first-work timestamp; continue unrelated parent tool work; compare task submission, subagent.started, first-work marker and parent completion events. In the observed session both start events aligned within 77ms of parent completion.
Limits
This is event-level evidence of deferred dispatch, not proof of a particular scheduler defect. No dispatcher source was examined. Background and synchronous comparisons used different models, so they do not isolate model versus execution-mode effects. The background completion duration included the pre-start interval. No raw transcripts, source code, credentials or environment files are attached.
Potentially related lifecycle discussion: #4101, although that report concerns write_agent blocking rather than initial background task dispatch.
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Línea de trabajo
Comienza con el esquema de reproducción y compara task submission, subagent.started, first-work y parent completion events para las tareas en segundo plano. Después, investiga la ruta del dispatcher o del lifecycle, usando como contexto la timeline y la comparación con una tarea síncrona. Se considera terminado cuando el trabajo en segundo plano se inicia de forma independiente o se hacen explícitos su estado diferido y la restricción del parent completion.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- github
- Área
- cli
- Tipo de issue
- Error
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Activo
- Claridad
- Bastante claro
- Aptitud para principiantes
- 45/100