Repository navigation
Open
Design
1 / 161 of 16 issues completed
Copy link
Labels
area-contextSession or context relatedSession or context relatedarea-modelRelated to models or model providersRelated to models or model providersdesignenhancementNew feature or requestNew feature or request
Description
Summary
Preserved-thinking Claude models (Opus 5.5, Sonnet 5.5, Haiku 5.5, Fable 5.1) bind each thinking block to the system prompt, tools, and history that came before it. Strands' context manager edits that history on the client, so the next request fails with a 400, or the #5171 drop_block retry throws the reasoning away. Each technique that edits history needs a server-side or append-only form.
Design: team/designs/0022-server-side-compaction-support.md (#5242). Part of #5160.
Part 1: summarization
- docs(designs): server-side compaction support #5242 Review design 0022 with the team
- [FEATURE] Add an overridable
Model.compact()and route summarization through it #5464 Core: overridableModel.compact(),compactionSplitIndex, ContextManager routing - [FEATURE] Core:
providerDataonTextBlockfor session restore and model switches #5402 Core:providerDataonTextBlock, session restore and model switch - [FEATURE] Summarize through Anthropic native compaction #5401 Anthropic native compaction (blocked by [FEATURE] Add an overridable
Model.compact()and route summarization through it #5464, [FEATURE] Core:providerDataonTextBlockfor session restore and model switches #5402) - [FEATURE] Include compaction calls in token usage #5404 Compaction token usage and spans (blocked by [FEATURE] Add an overridable
Model.compact()and route summarization through it #5464, [FEATURE] Summarize through Anthropic native compaction #5401) - [FEATURE] Test native compaction on other providers that serve preserved-thinking Claude models #5465 Spike: native compaction on other providers (Bedrock, Vertex, Foundry, gateways)
- [DOCS] Summarization on preserved-thinking models #5405 Docs:
serverCompaction, provider matrix,Offload.summarizebehavior change (blocked by [FEATURE] Summarize through Anthropic native compaction #5401, [FEATURE] Core:providerDataonTextBlockfor session restore and model switches #5402, [FEATURE] Test native compaction on other providers that serve preserved-thinking Claude models #5465) - [FEATURE] Gate server-side compaction through model metadata capabilities #5466 Follow-up: gate on model metadata capabilities (blocked by docs(designs): model metadata and capabilities #5305, [FEATURE] Summarize through Anthropic native compaction #5401, [FEATURE] Test native compaction on other providers that serve preserved-thinking Claude models #5465)
Each item ships with Python and TypeScript parity, unit tests for every new branch, and integ tests on preserved-thinking models, including a comparison of native and client-side summaries.
Part 2: other history edits
- [FEATURE] Clear tool results server-side on preserved-thinking models #5406 Clear tool results server-side (blocked by [FEATURE] Summarize through Anthropic native compaction #5401)
- [FEATURE] Allow role "system" messages mid-conversation #5176 Mid-conversation system messages
- [FEATURE] Send tool list changes as mid-conversation system messages #5407 Tool list changes as mid-conversation system messages (blocked by [FEATURE] Clear tool results server-side on preserved-thinking models #5406, [FEATURE] Allow role "system" messages mid-conversation #5176)
- [FEATURE] Clear old thinking server-side #5408 Clear old thinking server-side (blocked by [FEATURE] Clear tool results server-side on preserved-thinking models #5406)
Part 3: other providers
- [FEATURE] OpenAI Responses server-side compaction #5409 OpenAI Responses server-side compaction (blocked by [FEATURE] Summarize through Anthropic native compaction #5401, [FEATURE] Core:
providerDataonTextBlockfor session restore and model switches #5402)
Metadata
Metadata
Assignees
Labels
area-contextSession or context relatedSession or context relatedarea-modelRelated to models or model providersRelated to models or model providersdesignenhancementNew feature or requestNew feature or request
Type
Fields
Language
None yet
Projects
- StatusShow more project fieldsWe're Working On It
Activity
[-]Epic: server-side context management for preserved-thinking models[/-][+]EPIC: server-side context management for preserved-thinking models[/+][-]EPIC: server-side context management for preserved-thinking models[/-][+]Epic: server-side context management for preserved-thinking models[/+]Model.compact()and route summarization through it #5464providerDataonTextBlockfor session restore and model switches #5402jimbrub commentedon Nov 2, 2026
Status update on Part 1 after #5470. There are no changes to the checklist above; this comment adds new tickets and one reorder.
#5464 (#5470). It shipped as an experimental
Model.summarize(), notcompact(). Treat it as a placeholder: the final API shape is tracked in #5733. The as-built differences are noted on #5464. One of them is a behavior change for base models: message 0 is kept, and some low-preserve_recentpasses are skipped.Reorder: #5466 before #5401.
Model.model_infocapabilities landed in #5313, so #5466 doesn't need to wait for #5305. Gating on a capability before the firstsummarize()override lands avoids the override-detection problems found in #5470's review. Details on #5466.New tickets (added as sub-issues):
Model.summarize(). A summary is stored as aTextBlockwithmetadata.offloaded, plusproviderDatafrom [FEATURE] Core:providerDataonTextBlockfor session restore and model switches #5402 for native results.preserve_recent≤ 1.Order for Part 1 from here:
providerDataonTextBlockfor session restore and model switches #5402 and [FEATURE] Gate server-side compaction through model metadata capabilities #5466, in parallel.