# Upgrade Guide — vNEXT

<!-- assembled-by: assemble-next-md -->
<!-- bump: patch -->

## What Changed

`detectContextExhaustion` checks for known normal compaction lifecycle markers first. If such a marker is present and no explicit context-exhaustion failure phrase is present, the detector returns no match.

## What to Tell Your User

Nothing user-facing. Instar should produce fewer false context-exhaustion recovery notices after ordinary compaction/resume lifecycle text.

## Summary of New Capabilities

- The live context-exhaustion detector now excludes normal compaction lifecycle banners before applying broad context-limit matching.
- Real context-exhaustion failure text still detects, including the conversation-too-long and esc-twice variants.
- Regression tests cover normal resume banners, prompt banners, and the boundary where a normal banner also includes real failure text.

## Evidence

Reproduction: normal compaction/resume text can include context and compaction wording even though the session has recovered normally.

Observed before: the detector had no normal-compaction exclusion, so broad context patterns could classify lifecycle text as context exhaustion.

Observed after: focused regression tests show normal compaction resume banners and `Conversation compacted` prompt banners return no match, while a compaction banner containing the real conversation-too-long failure still returns a high-confidence match.
