Skip to content

feat(agent): let behaviors configure the default checkpoint summarizer - #241

Merged
wolfy-j merged 3 commits into
masterfrom
feat/behavior-summarizer-options
Nov 4, 2026
Merged

wolfy-j merged 3 commits into
masterfrom
feat/behavior-summarizer-options

Conversation

@wolfy-j

@wolfy-j wolfy-j commented Nov 4, 2026 •

Copy link
Copy Markdown
Contributor

Only six keys crossed from a behavior's checkpoint map into agent_options.checkpoint, so a behavior could not set the default summarizer's model or temperature, though a custom binding received them. This adds model, temperature, max_tool_result_chars, max_conversation_chars, max_tool_results, max_tool_results_chars and max_row_chars: the options the session and dataflow summarizers read. Both hosts already pass the merged options to their function fallback.

These keys come only from a behavior with no checkpoint handler, which configures the default summarizer. A behavior with its own handler keeps them local to its binding. Explicit agent_options.checkpoint still wins over a trait, and keys outside the list stay out. The README has a short example of per-agent compaction in a trait.

Tests

New compiler and runtime cases failed on unmodified code, including two differently configured bindings with fallback. agent 629 pass, 4 skipped, lint clean. No existing assertion changed.

A behavior's checkpoint map now carries the model, temperature and input budgets
the default summarizers read, so per-agent compaction fits in a trait.
@wolfy-j
wolfy-j requested a review from skhaz November 4, 2026 21:34
@wolfy-j
wolfy-j merged commit 4de3f74 into master Nov 4, 2026
25 checks passed
@wolfy-j
wolfy-j deleted the feat/behavior-summarizer-options branch November 4, 2026 23:03
@wippy-releases wippy-releases Bot mentioned this pull request Nov 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants