Skip to content

Commit e30fa1b

Browse files
committed
clarify middle_out keep-tail fallback behavior
1 parent 20b9b6a commit e30fa1b

1 file changed

Lines changed: 3 additions & 0 deletions

File tree

src/server/api/go/internal/pkg/editor/strategy_middle_out.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,9 @@ func (s *MiddleOutStrategy) Apply(messages []model.Message) ([]model.Message, er
4040
)
4141
totalTokens -= removedTokens
4242
}
43+
// Keep-tail fallback: if removing only middle messages can't meet the budget,
44+
// drop the oldest remaining messages (idx=0). This preserves recency and only
45+
// removes the last message if it alone still exceeds the budget.
4346
for totalTokens > s.TokenReduceTo && len(result) > 0 {
4447
var removedTokens int
4548
result, resultTokens, removedTokens = removeWithToolPairing(

0 commit comments

Comments
 (0)