system_notification fires before background agent has completed
- 主要语言
- Shell
- 星标
- 11.2k
- 派生
- 1.9k
- 平均合并
- 14 小时 16 分钟
- 30 天内合并 PR
- 6
描述
### Describe the bug
When two or more background agents are launched simultaneously (parallel tool calls in a single orchestrator turn), system_notification fires before the agent has actually started or long before the task is complete.
If the orchestrator trusts system_notification alone and immediately reads output files, it will find them missing and may misinterpret this as agent failure, triggering unnecessary reruns.
**Workaround:** Do not trust system_notification alone. Upon receipt, call read_agent and verify status: completed before acting on results
### Affected version
GitHub Copilot CLI 1.0.49
### Steps to reproduce the behavior
1. Capture a baseline timestamp (T0) immediately before launching agents.
2. In a single orchestrator response, launch two general-purpose background agents in parallel:
- Alpha: records START timestamp → sleep 120 → records END → writes /tmp/test_alpha.txt → records FILE_WRITTEN
- Beta: same flow with sleep 90, writes /tmp/test_beta.txt
3. On each system_notification, immediately record T_notify and check whether the output file exists.
4. Continue polling until the files actually appear, then compare timestamps.
### Expected behavior
system_notification arrives after the agent has finished its task and written its output (T_notify ≥ T_written).
### Actual behavior
system_notification fires before the agent has actually started or long before the task is complete.
贡献指南
调研方向
Start by running the parallel-agent reproduction described in the issue, recording T0, notification times, and file-write times. Trace the system_notification and read_agent entry points to determine why notifications precede agent completion. Done means notifications arrive after the output files are written, with the behavior covered by a regression test.
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- github, shell
- 领域
- cli
- Issue 类型
- 缺陷
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 活跃度
- 冷清
- 描述清晰度
- 描述清楚
- 新手友好度
- 55/100