699e07fea7
Addresses PR #3412 review (roboomp blocking + codex P2 + Copilot nits): - The overflow/incomplete retry no longer reuses the COMPACTION_RECOVERY_BAND hysteresis. Reusing it required residual context below 0.8×threshold, which turned a recoverable overflow (e.g. 150k on a 200k window, under the ~170k threshold) into a manual dead-end. Add #compactionCreatedRetryFit, which measures the rebuilt prompt against the usable fit budget (contextWindow - effectiveReserveTokens) and is evaluated AFTER the failed assistant is dropped, so the just-failed turn is excluded. - The threshold auto-continue keeps the stricter recovery-band check (#compactionCreatedHeadroom) — that path is the snapcompact thrash guard. - Split the no-progress warning so each path warns on its own signal. - Alias errorIsFromBeforeCompaction as assistantPredatesCompaction in the threshold-usage path for clarity; de-duplicate the rationale comment. Adds two regression tests (recoverable overflow retries; non-fitting overflow pauses + warns), mutation-verified against the band-vs-fit split. (cherry picked from commit f8cf45b2740f04d8776a84521ba563b779d65b25)