You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When the compaction/summarization model is hosted on Azure and the session history contains content that triggers Azure's content management policy, compaction fails with HTTP 400 — and never recovers because:
retryAsync in compaction.ts:317 retries 3× with the same model
resolveEmbeddedCompactionTarget() in compaction-runtime-context.ts uses the session's primary model unless compaction.model override is set — there's no fallback chain
The outer overflow loop retries compaction up to MAX_OVERFLOW_COMPACTION_ATTEMPTS times, but always with the same model
Full summarization failed: Summarization failed: 400 The response was filtered
due to the prompt triggering Azure OpenAI's content management policy.
Expected behavior
Compaction should have a model fallback chain (similar to the session's model fallback). When the primary compaction model rejects content, try an alternative model that doesn't have the same content filter.
Suggested fix
Add agents.defaults.compaction.fallbacks config (array of model refs)
Wrap the compaction invocation in a model-fallback loop at the orchestrator level (not inside summarizeChunks)
Bug
When the compaction/summarization model is hosted on Azure and the session history contains content that triggers Azure's content management policy, compaction fails with HTTP 400 — and never recovers because:
retryAsyncincompaction.ts:317retries 3× with the same modelresolveEmbeddedCompactionTarget()incompaction-runtime-context.tsuses the session's primary model unlesscompaction.modeloverride is set — there's no fallback chainMAX_OVERFLOW_COMPACTION_ATTEMPTStimes, but always with the same modelObserved error
Expected behavior
Compaction should have a model fallback chain (similar to the session's model fallback). When the primary compaction model rejects content, try an alternative model that doesn't have the same content filter.
Suggested fix
agents.defaults.compaction.fallbacksconfig (array of model refs)summarizeChunks)sessions.json(to avoid reintroducing the model-lock bug from LiveSessionModelSwitch silently hijacks fallback in live sessions, creating infinite retry loop #58303)compact_then_truncateas a hard escapeRelated