4baf4269ff
Every GLM slug that missed a DEFAULT_CONTEXT_LENGTHS key fell to the "glm" 202,752 catch-all, so compression fired at ~20% of the real window and the aux feasibility check auto-lowered the session threshold to that number (the 202,752 in the Coatue compression report). - Catalog: GLM entries from Nous + OpenRouter /v1/models (2026-09-09): 5.3 / 5.3-flash 1,310,720 (:batch/:US 1,048,576), 5.2 1,048,576, 5 / 5.1 / 4.7 / 4.6 204,800, *-turbo / 4.7-flash 202,752. - _catalog_key_matches: version separators normalised on both sides so relay slugs like z-ai-glm-5-3 hit glm-5.3 (#97398; approach from PR #97412 by @shellybotmoyer, re-implemented on current main). - get_custom_provider_context_length: entry-level custom_providers[].context_length backs every model the entry serves when no per-model override exists, so /model switch stops dropping it (#98387; from PR #98396 by @liuhao1024, re-implemented on the config_providers sibling). - check_compression_model_feasibility: when aux compression is the main model on the main route, reuse the main model's resolved window instead of re-resolving without its pin (#89500 mechanism 2, #45519). Closes #97398, #98387, #89500, #87825, #97595, #97820 (suffix strip already on main; catalog values now match).