CPU usage at max.
- 主要語言
- Shell
- 星號
- 11.2k
- 分支
- 1.9k
- 平均合併
- 14 小時 16 分鐘
- 30 天內合併 PR
- 6
描述
### Describe the bug
# Copilot CLI feedback - 2026-06-24
Two related issues from a single long-running session.
## Issue 1: agent-induced data loss via hardlink "backup"
While trying to mitigate Issue 2 (below), I (the agent) ran:
ln events.jsonl events.jsonl.bak-20260624
: > events.jsonl
Intending to keep a backup before truncating the 233 MB events log.
Because `ln` creates a hardlink (shared inode), truncating one name
truncated both. The 233 MB raw transcript was destroyed.
The session survived because the in-prompt summary, plan.md,
checkpoints/, session.db, files/ and stored memories were intact.
### What would help
- Document in the agent system prompt or tool guidance that
`ln` is not a backup primitive. Use `cp` (or `cp --reflink=auto`
on btrfs/xfs) to take an independent copy.
- Or: ship a built-in `/session-archive` or `/session-compact`
command so users (and agents) don't have to invent file-level
tricks on a live session.
## Issue 2: events.jsonl growth pins CPU on long sessions
Single-session events.jsonl grew to 233 MB over ~1200 turns.
Starting `copilot` from a directory that triggers session resume
pegs ~5 CPU cores ("indexer berserk") for 20+ minutes.
lsof shows events.jsonl is NOT held open during the session
(only session.db is) - so it appears to be read whole on
resume or on summary regeneration.
### What would help
- Cap events.jsonl size, or roll/compact it as part of the
existing summarization pass.
- Don't re-parse the whole file on every resume; rely on
session.db + the last summary checkpoint.
- Or expose `--no-resume-events` / `.copilotignore` for the
session log itself.
## Issue 3 (related): no `.copilotignore` and no scan-depth flag
Starting `copilot` from `~/github` (a directory of ~60 sibling
repos, not a single repo) appears to walk every subdir for
CLAUDE.md / AGENTS.md / .github/instructions. `-C ` is
the only workaround and defeats cross-repo work.
### What would help
- `.copilotignore` honoured at the cwd.
- `--scan-depth N` or `--no-scan-children`.
- Or: scan lazily, only when the user references a path.
## Session id
7801c0d9-4a25-47bf-aee7-bb26e20ff3c2
### Affected version
_No response_
### Steps to reproduce the behavior
1. Open VScode.
2. Start copilot.
3. Watch CPU usage rise to max.
### Expected behavior
Not seeing CPU usage over the normal 1-2%.
### Additional context
_No response_
貢獻指南
研究方向
首先重現 issue 中的恢復路徑,並檢查 events.jsonl、session.db,以及從包含同級儲存庫的目錄執行的啟動掃描。確定是恢復解析還是指示檔案掃描導致 CPU 峰值;當長時間工作階段和包含多個儲存庫的工作目錄不再觸發持續的 CPU 滿載時,即視為完成,而要求的備份指南或工作階段封存行為則另行處理。
由索引模型根據 Issue 內容生成。
評估
- 領域
- cli, performance
- Issue 類型
- 缺陷
- 難度
- 4/5
- 預估耗時
- 3-5 天
- 活躍度
- 冷清
- 描述清晰度
- 需要釐清
- 新手友好度
- 28/100