Skip to content

merge dev into master#454

Merged
Tarquinen merged 27 commits intomasterfrom
dev
Mar 25, 2026
Merged

merge dev into master#454
Tarquinen merged 27 commits intomasterfrom
dev

Conversation

@Tarquinen
Copy link
Collaborator

@Tarquinen Tarquinen commented Mar 24, 2026

Closes #450
Closes #452

  • Add compress.mode config setting, defaults to "range" (previous behavior) and new experimental "message" option available.
  • "message" mode allows DCP to more surgically compress individual messages in a batch rather than a full range.
  • "message" mode allows DCP to determine compression priority for each message based on how many tokens the message is (low/med/high for 0-500/500-5000/5000+ tokens), not configurable yet but maybe in the future?
  • Nudges remind the model the IDs of the high priority messages in "message" mode to ensure they don't get left behind.
  • "range" mode now supports the model using a list of ranges instead of just 1 range if it wants.
  • compress.flatSchema deprecated, not needed for lower tier model performance anymore due to new tool schemas (I think...)
  • Added compress.summaryBuffer config setting, allows active summary tokens to extend the effective compress.maxContextLimit to prevent excessively frequent compressions in very long sessions.
  • Bug fixes and prompt rearrangements and code cleanup/refactoring.

Tarquinen and others added 27 commits March 17, 2026 01:57
Treat the native compaction summary as stale token data so context nudges wait for the first fresh assistant response.
Clear DCP message alias state when native compaction is detected so refs rebuild from the compacted conversation instead of continuing toward m9999.
Keep message references visible on every text chunk and completed tool output so multi-part messages stay fully addressable.
Keep completed compress calls visible as high-priority message targets so message-mode guidance preserves them consistently.
Match message token estimates to the tool arguments OpenCode stores so large built-in, custom, and plugin tool inputs do not slip past sizing.
Move the user-role guard into the helper so callers can use it consistently across message flows. Add a regression test to keep non-user messages from being treated as ignored.
@Tarquinen Tarquinen merged commit 6d32c95 into master Mar 25, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant