Skip to content

fix(cli): apply profile overrides in /compact - #1612

Merged
Mason Daugherty (mdrxy) merged 4 commits into
mainfrom
mdrxy/compact-override
Mar 3, 2026
Merged

fix(cli): apply profile overrides in /compact#1612
Mason Daugherty (mdrxy) merged 4 commits into
mainfrom
mdrxy/compact-override

Conversation

@mdrxy

Copy link
Copy Markdown
Member

/compact was ignoring --profile-override and config.toml profile overrides when deciding whether to summarize. The command creates a fresh model via create_model() without forwarding the overrides, so the summarization middleware used the model's native max_input_tokens (e.g., 200K) instead of the user's override (e.g., 4096).

@github-actions github-actions Bot added cli Related to `deepagents-cli` internal User is a member of the `langchain-ai` GitHub organization fix A bug fix (PATCH) labels Mar 3, 2026
# Apply profile override so summarization uses the same context
# limit shown by /tokens (from --profile-override or config.toml).
# create_model() above builds a fresh model without these overrides.
ctx = settings.model_context_limit

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the devx for working with profiles isn't super convenient if users have to do all of the defensive typing

we can't do something like model.profile.max_input_tokens?

Comment thread libs/cli/tests/unit_tests/test_compact.py
mock_mw._apply_event_to_messages.side_effect = lambda msgs, _ev: list(msgs)

with (
patch(_CREATE_MODEL_PATH, return_value=mock_result),

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

there's a lot of MagicMock() and patch() -- if at all possible could be useful to pull into a single helper in the global namespace that is a custom context manager

patch code is a bit brittle since it breaks down whenever the patched object is refactored to a different path

i realize it's a bit less of a concern these days with llms... i've just spent a lot of my life debugging broken patch code :)

@mdrxy
Mason Daugherty (mdrxy) merged commit a9dc2c5 into main Mar 3, 2026
23 checks passed
@mdrxy
Mason Daugherty (mdrxy) deleted the mdrxy/compact-override branch March 3, 2026 21:04
Mason Daugherty (mdrxy) added a commit that referenced this pull request Mar 3, 2026
🤖 I have created a release *beep* *boop*
---


##
[0.0.26](deepagents-cli==0.0.25...deepagents-cli==0.0.26)
(2026-03-03)


### Features

* Compaction hook
([#1420](#1420))
([e87cdad](e87cdad))
* `/compact` command
([#1579](#1579))
([46e9e95](46e9e95))
* Add `--profile-override` CLI flag
([#1605](#1605))
([1984099](1984099))
* Add model profile overrides to config
([#1603](#1603))
([d3d6899](d3d6899))
* Show summarization status and notification
([#919](#919))
([2e3cb74](2e3cb74))

### Bug Fixes

* Fix image path pasting qualms
([#1560](#1560))
([8caaf3e](8caaf3e))
* Load `.agents` skill alias directories at interactive startup
([#1556](#1556))
([af0a759](af0a759))
* Coerce execute timeout to int before formatting tool display
([#1588](#1588))
([04b8c72](04b8c72)),
closes [#1586](#1586)
* Add missing flags to help screen
([#1619](#1619))
([6067749](6067749))
* Align compaction messaging across `/compact` and
`compact_conversation`
([#1583](#1583))
([d455a6b](d455a6b))
* Apply profile overrides in `/compact`
([#1612](#1612))
([a9dc2c5](a9dc2c5))
* Disambiguate `/tokens` vs `/compact` token reporting
([#1618](#1618))
([51c3347](51c3347))
* Make LangSmith URL lookups non-blocking
([#1595](#1595))
([572eaee](572eaee))
* Only exit input mode on backspace, not text clear
([#1479](#1479))
([da0965e](da0965e))
* Retry langsmith project url lookup until project exists
([#1562](#1562))
([e137a63](e137a63))
* Show model info in `/tokens` before first usage
([#1607](#1607))
([7b01ae7](7b01ae7))
* Support `timeout=0` for sandbox `execute()`
([#1558](#1558))
([ed14443](ed14443))
* Unreachable `except` block
([#1535](#1535))
([0e17e35](0e17e35))

### Performance Improvements

* Optimize thread resume path with prefetch and batched hydration
([#1561](#1561))
([068d112](068d112))
* Parallelize detection scripts for faster first-turn
([#1541](#1541))
([dad8b6e](dad8b6e))
* Speed up `/threads` first-open
([#1481](#1481))
([b248b15](b248b15))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Mason Daugherty <github@mdrxy.com>
james8814 pushed a commit to james8814/deepagents that referenced this pull request Mar 6, 2026
`/compact` was ignoring `--profile-override` and `config.toml` profile
overrides when deciding whether to summarize. The command creates a
fresh model via `create_model()` without forwarding the overrides, so
the summarization middleware used the model's native `max_input_tokens`
(e.g., 200K) instead of the user's override (e.g., 4096).
james8814 pushed a commit to james8814/deepagents that referenced this pull request Mar 6, 2026
🤖 I have created a release *beep* *boop*
---


##
[0.0.26](langchain-ai/deepagents@deepagents-cli==0.0.25...deepagents-cli==0.0.26)
(2026-03-03)


### Features

* Compaction hook
([langchain-ai#1420](langchain-ai#1420))
([e87cdad](langchain-ai@e87cdad))
* `/compact` command
([langchain-ai#1579](langchain-ai#1579))
([46e9e95](langchain-ai@46e9e95))
* Add `--profile-override` CLI flag
([langchain-ai#1605](langchain-ai#1605))
([1984099](langchain-ai@1984099))
* Add model profile overrides to config
([langchain-ai#1603](langchain-ai#1603))
([d3d6899](langchain-ai@d3d6899))
* Show summarization status and notification
([langchain-ai#919](langchain-ai#919))
([2e3cb74](langchain-ai@2e3cb74))

### Bug Fixes

* Fix image path pasting qualms
([langchain-ai#1560](langchain-ai#1560))
([8caaf3e](langchain-ai@8caaf3e))
* Load `.agents` skill alias directories at interactive startup
([langchain-ai#1556](langchain-ai#1556))
([af0a759](langchain-ai@af0a759))
* Coerce execute timeout to int before formatting tool display
([langchain-ai#1588](langchain-ai#1588))
([04b8c72](langchain-ai@04b8c72)),
closes [langchain-ai#1586](langchain-ai#1586)
* Add missing flags to help screen
([langchain-ai#1619](langchain-ai#1619))
([6067749](langchain-ai@6067749))
* Align compaction messaging across `/compact` and
`compact_conversation`
([langchain-ai#1583](langchain-ai#1583))
([d455a6b](langchain-ai@d455a6b))
* Apply profile overrides in `/compact`
([langchain-ai#1612](langchain-ai#1612))
([a9dc2c5](langchain-ai@a9dc2c5))
* Disambiguate `/tokens` vs `/compact` token reporting
([langchain-ai#1618](langchain-ai#1618))
([51c3347](langchain-ai@51c3347))
* Make LangSmith URL lookups non-blocking
([langchain-ai#1595](langchain-ai#1595))
([572eaee](langchain-ai@572eaee))
* Only exit input mode on backspace, not text clear
([langchain-ai#1479](langchain-ai#1479))
([da0965e](langchain-ai@da0965e))
* Retry langsmith project url lookup until project exists
([langchain-ai#1562](langchain-ai#1562))
([e137a63](langchain-ai@e137a63))
* Show model info in `/tokens` before first usage
([langchain-ai#1607](langchain-ai#1607))
([7b01ae7](langchain-ai@7b01ae7))
* Support `timeout=0` for sandbox `execute()`
([langchain-ai#1558](langchain-ai#1558))
([ed14443](langchain-ai@ed14443))
* Unreachable `except` block
([langchain-ai#1535](langchain-ai#1535))
([0e17e35](langchain-ai@0e17e35))

### Performance Improvements

* Optimize thread resume path with prefetch and batched hydration
([langchain-ai#1561](langchain-ai#1561))
([068d112](langchain-ai@068d112))
* Parallelize detection scripts for faster first-turn
([langchain-ai#1541](langchain-ai#1541))
([dad8b6e](langchain-ai@dad8b6e))
* Speed up `/threads` first-open
([langchain-ai#1481](langchain-ai#1481))
([b248b15](langchain-ai@b248b15))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Mason Daugherty <github@mdrxy.com>
Marcelo5444 pushed a commit to Marcelo5444/deepagents that referenced this pull request Jul 30, 2026
`/compact` was ignoring `--profile-override` and `config.toml` profile
overrides when deciding whether to summarize. The command creates a
fresh model via `create_model()` without forwarding the overrides, so
the summarization middleware used the model's native `max_input_tokens`
(e.g., 200K) instead of the user's override (e.g., 4096).
Marcelo5444 pushed a commit to Marcelo5444/deepagents that referenced this pull request Jul 30, 2026
🤖 I have created a release *beep* *boop*
---


##
[0.0.26](langchain-ai/deepagents@deepagents-cli==0.0.25...deepagents-cli==0.0.26)
(2026-03-03)


### Features

* Compaction hook
([langchain-ai#1420](langchain-ai#1420))
([e87cdad](langchain-ai@e87cdad))
* `/compact` command
([langchain-ai#1579](langchain-ai#1579))
([46e9e95](langchain-ai@46e9e95))
* Add `--profile-override` CLI flag
([langchain-ai#1605](langchain-ai#1605))
([1984099](langchain-ai@1984099))
* Add model profile overrides to config
([langchain-ai#1603](langchain-ai#1603))
([d3d6899](langchain-ai@d3d6899))
* Show summarization status and notification
([langchain-ai#919](langchain-ai#919))
([2e3cb74](langchain-ai@2e3cb74))

### Bug Fixes

* Fix image path pasting qualms
([langchain-ai#1560](langchain-ai#1560))
([8caaf3e](langchain-ai@8caaf3e))
* Load `.agents` skill alias directories at interactive startup
([langchain-ai#1556](langchain-ai#1556))
([af0a759](langchain-ai@af0a759))
* Coerce execute timeout to int before formatting tool display
([langchain-ai#1588](langchain-ai#1588))
([04b8c72](langchain-ai@04b8c72)),
closes [langchain-ai#1586](langchain-ai#1586)
* Add missing flags to help screen
([langchain-ai#1619](langchain-ai#1619))
([6067749](langchain-ai@6067749))
* Align compaction messaging across `/compact` and
`compact_conversation`
([langchain-ai#1583](langchain-ai#1583))
([d455a6b](langchain-ai@d455a6b))
* Apply profile overrides in `/compact`
([langchain-ai#1612](langchain-ai#1612))
([a9dc2c5](langchain-ai@a9dc2c5))
* Disambiguate `/tokens` vs `/compact` token reporting
([langchain-ai#1618](langchain-ai#1618))
([51c3347](langchain-ai@51c3347))
* Make LangSmith URL lookups non-blocking
([langchain-ai#1595](langchain-ai#1595))
([572eaee](langchain-ai@572eaee))
* Only exit input mode on backspace, not text clear
([langchain-ai#1479](langchain-ai#1479))
([da0965e](langchain-ai@da0965e))
* Retry langsmith project url lookup until project exists
([langchain-ai#1562](langchain-ai#1562))
([e137a63](langchain-ai@e137a63))
* Show model info in `/tokens` before first usage
([langchain-ai#1607](langchain-ai#1607))
([7b01ae7](langchain-ai@7b01ae7))
* Support `timeout=0` for sandbox `execute()`
([langchain-ai#1558](langchain-ai#1558))
([ed14443](langchain-ai@ed14443))
* Unreachable `except` block
([langchain-ai#1535](langchain-ai#1535))
([0e17e35](langchain-ai@0e17e35))

### Performance Improvements

* Optimize thread resume path with prefetch and batched hydration
([langchain-ai#1561](langchain-ai#1561))
([068d112](langchain-ai@068d112))
* Parallelize detection scripts for faster first-turn
([langchain-ai#1541](langchain-ai#1541))
([dad8b6e](langchain-ai@dad8b6e))
* Speed up `/threads` first-open
([langchain-ai#1481](langchain-ai#1481))
([b248b15](langchain-ai@b248b15))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Mason Daugherty <github@mdrxy.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cli Related to `deepagents-cli` fix A bug fix (PATCH) internal User is a member of the `langchain-ai` GitHub organization

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants