Purpose
Validate that experimental.session.compacting correctly processes compaction signals, injects compaction prompts, and manages session state.
Technical Details
- Mock
ctx.client.session.summarize to track calls
- Fixture: session state with signal (compact_now, compact_soon, no_compact)
- Assert: compact_now triggers summarize() call with correct args
- Assert: compact_soon adds context lines but no summarize
- Assert: no_compact returns early (no output.context mutation)
- Assert: signal is cleared after compaction
- Assert: CC_COMPACTION_TRIGGER env var is cleaned up
Files to Create
test/e2e/session-compacting.test.ts
- Extend
test/fixtures/mock-plugin-context.ts
Acceptance Criteria
Purpose
Validate that
experimental.session.compactingcorrectly processes compaction signals, injects compaction prompts, and manages session state.Technical Details
ctx.client.session.summarizeto track callsFiles to Create
test/e2e/session-compacting.test.tstest/fixtures/mock-plugin-context.tsAcceptance Criteria
bun test test/e2e/session-compacting.test.ts