github / github/copilot-sdk

Ensure `events.jsonl` honors inherited file-size limits

Aperta
#2,261 1 commento 0 reazioni 0 assegnatari Vedi su GitHub
bug
Lingua principale
Java
Stelle
10.5k
Fork
1.5k
Merge medio
1g 11h
PR unite (30g)
127

Descrizione

## Summary

The Copilot CLI persists session events to:

`~/.copilot/session-state//events.jsonl`

The CLI inherits the hosting process’s file-size limit. During sufficiently long
sessions, `events.jsonl` reaches that limit and the next persistence write fails:

> I/O error: File too large (os error 27)

This emits `SDK_SESSION_ERROR(persistence)` and fails the active turn.

## Request

Please ensure that `events.jsonl` remains within the file-size limit inherited by
the Copilot CLI while preserving supported session persistence and resume behavior.

If this behavior is owned by the bundled CLI runtime rather than the SDK wrappers,
please route the issue to the appropriate owner.

## Environment

- SDK: `github-copilot-sdk==1.0.7`
- Bundled CLI: 1.0.71
- Host file-size limit: 50 MB
- Platform: Linux container
- Error: `EFBIG` / `os error 27`

## Acceptance criteria

- `events.jsonl` does not exceed the inherited file-size limit.
- Long-running sessions do not fail with EFBIG due to event-log growth.
- Persisted sessions remain resumable with their expected state.

## Impact

Observed in production across real user conversations, causing repeated
Service-class turn failures.

## Reference

Internal tracking: https://microsoft.ghe.com/bic/mcs-dracarys/issues/7127

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Start by tracing persistence for ~/.copilot/session-state//events.jsonl and the path that emits SDK_SESSION_ERROR(persistence). Check how the inherited 50 MB file-size limit and EFBIG failure affect writes, then verify that long-running sessions stay within the limit and remain resumable without persistence errors.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Ambito
cli
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Tranquilla
Chiarezza
Abbastanza chiara
Idoneità per principianti
45/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.