Background subagent start events deferred until parent task completes (1.0.83)
Personne n'a encore pris cette issue.
- Langage dominant
- Shell
- Étoiles
- 11.2k
- Forks
- 1.9k
- Merge moyen
- 14 h 16 min
- PR mergées (30 j)
- 6
Description
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.
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Commencez par le plan de reproduction et comparez task submission, subagent.started, first-work et parent completion events pour les tâches en arrière-plan. Examinez ensuite le chemin du dispatcher ou du lifecycle, en utilisant la timeline et la comparaison avec une tâche synchrone comme contexte. Le travail est considéré comme terminé lorsque le travail en arrière-plan démarre indépendamment, ou que son état différé et sa contrainte de parent completion sont clairement exposés.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- github
- Domaine
- cli
- Type d'issue
- Bug
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- Active
- Clarté
- Plutôt claire
- Accessibilité débutants
- 45/100