Compaction strips system prompt's <agent_instructions> block from custom agent profiles selected via /agent
- Lingua principale
- Shell
- Stelle
- 11.2k
- Fork
- 1.9k
- Merge medio
- 14h 16m
- PR unite (30g)
- 6
Descrizione
### Describe the bug
When a custom agent is selected via `/agent` (or `--agent=`), the agent profile's instructions are loaded into the session system prompt context as `` block.
After `/compact` runs (either manually or via automatic compaction at ~80-95% context), the `` block is stripped from the context and not restored.
This effectively discards the custom agent's persona, behavioral rules, guidelines, and all other instructions -- making the `/agent` selection meaningless after compaction.
### Affected version
1.0.34
### Steps to reproduce the behavior
### Steps to reproduce
1. Create a custom agent profile at `~/.copilot/agents/my-agent.agent.md` with disable-model-invocation: true and substantial instructions
2. Launch copilot and select the agent via `/agent`
3. Verify the agent instructions are active (e.g., the model follows behaviour defined in the custom agent file)
4. Have a conversation long enough to trigger automatic compaction, or run /compact manually
5. Observe that the model no longer follows the custom agent instructions
6. Ask the model to check its system prompt — the `` block is absent
### Expected behavior
### Expected behavior
The system prompt's `` block from the selected custom agent profile should survive compaction. It is session configuration, not conversational history — it should be treated equivalently to `.github/copilot-instructions.md` or instruction files, which persist across compaction.
### Actual behavior
The block is discarded during compaction. The model reverts to default behavior without the custom agent's rules.
### Additional context
_No response_
Guida per i contributori
Apri la guida per i contributori
Direzione di ricerca
Inizia tracciando il modo in cui `/agent` e `--agent=` caricano le istruzioni del profilo personalizzate, quindi esamina il percorso di compattazione usato da `/compact` e dalla compattazione automatica. Verifica che il blocco `\u003cagent_instructions\u003e` rimanga disponibile dopo la compattazione, insieme ai file di istruzioni indicati.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- shell
- Ambito
- cli
- Tipo di issue
- Bug
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Stato di attività
- Tranquilla
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 55/100