github / github/copilot-cli

Repo-level instruction files (AGENTS.md/CLAUDE.md/etc.) are not preserved across  /compact

Ouverte
#4,687 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

area:context-memory
Langage dominant
Shell
Étoiles
11.2k
Forks
1.9k
Merge moyen
14 h 16 min
PR mergées (30 j)
6

Description

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
  1. 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."
  2. 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).
  3. Continue the session with enough unrelated work/turns that automatic or manual ( /compact ) context compaction occurs at least once.
  4. After compaction, ask the agent to make further code changes and commit them in the same repo, without re-mentioning the branching rule.
  5. 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

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

L’issue mentionne les fichiers d’instructions actifs (AGENTS.md, CLAUDE.md et copilot-instructions.md) ainsi que le flux /compact ; commencez par retracer la façon dont la compaction reprend une session et dont ces fichiers sont chargés initialement. Reproduisez le workflow numéroté, puis vérifiez que le travail effectué après la compaction respecte toujours la règle de branche ou recharge explicitement les fichiers.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
git
Domaine
cli, developer-experience
Type d'issue
Bug
Difficulté
4/5
Temps estimé
3-5 jours
Activité
Active
Clarté
Plutôt claire
Accessibilité débutants
48/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.