Repo-level instruction files (AGENTS.md/CLAUDE.md/etc.) are not preserved across /compact
まだ誰も着手していません。
- 主要言語
- Shell
- スター
- 11.2k
- フォーク
- 1.9k
- 平均マージ
- 14時間 16分
- マージ済み PR(30日)
- 6
説明
Describe the bug
(Written by Sonnet 5 as we mutually investigated the issue in-session in copilot-cli)
Early in a long session, the agent correctly read and followed a rule in the repo's AGENTS.md ("never commit directly to main ; create a topic branch first"). Mid-session, context compaction occurred. After compaction, the agent committed directly to main twice, violating the rule it had followed earlier — it had no indication the rule still applied and never re-read AGENTS.md after compaction.
Root cause: compaction summarizes conversation history, but standing repo instruction files aren't treated as pinned/reloaded — they're just facts that can get compressed away like anything else discussed early in the session.
Suggested fix: on compaction, either (a) re-inject the current contents of any active instruction files (AGENTS.md, CLAUDE.md, copilot-instructions.md, etc.) into the fresh context, or (b) explicitly prompt/require the agent to re-read them before resuming file-editing/git work post-compaction.
Impact: silent policy drift after compaction in any long session touching a repo with custom agent instructions — particularly dangerous for rules like branch protection, since a violation may not surface until a human notices.
Affected version
1.0.80
Steps to reproduce the behavior
- Open a session in a repo containing an AGENTS.md (or CLAUDE.md / copilot-instructions.md ) with an explicit git-workflow rule, e.g. "never commit directly to main ; create a topic branch first."
- Have the agent read that file early in the session (directly, or incidentally via a view / grep call) and perform at least one commit that correctly follows the rule (confirms the rule was live in context).
- Continue the session with enough unrelated work/turns that automatic or manual ( /compact ) context compaction occurs at least once.
- After compaction, ask the agent to make further code changes and commit them in the same repo, without re-mentioning the branching rule.
- Observe: the agent commits directly to the currently-checked-out default branch (e.g. main ), violating the rule it followed correctly in step 2 — with no re-read of AGENTS.md and no acknowledgment that a repo policy exists.
Expected behavior
The rule from AGENTS.md continues to be honored after compaction, either because the file's contents are re-injected into context at compaction time, or because the agent is prompted to re-read active instruction files before resuming work in that repo.
Actual: the rule silently stops being followed post-compaction, with no error, warning, or indication to the user that it had been dropped — only surfaced when the human happened to notice the resulting commits.
Additional context
No response
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
Issue では、アクティブな指示ファイル(AGENTS.md、CLAUDE.md、copilot-instructions.md)と /compact フローを扱っています。まず、コンパクションによってセッションがどのように再開されるか、またこれらのファイルが最初にどのように読み込まれるかを追跡してください。番号付きのワークフローを再現し、その後、コンパクション後の作業でもブランチルールが引き続き守られること、またはファイルが明示的に再読み込みされることを確認してください。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- git
- 領域
- cli, developer-experience
- issue の種類
- バグ
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 活発
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 48/100