improve: adopt let→const from #12760, add regression test

Credit to @lailoo (PR #12760) for the let→const improvement and
the regression test pattern verifying consecutive compaction cycles.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Kaspre 2026-03-21 00:45:06 -04:00
parent b8cf08d775
commit 7f9fbf8faf
2 changed files with 32 additions and 1 deletions

View File

@ -521,7 +521,7 @@ export async function runMemoryFlushIfNeeded(params: {
return result;
},
});
let memoryFlushCompactionCount =
const memoryFlushCompactionCount =
activeSessionEntry?.compactionCount ??
(params.sessionKey ? activeSessionStore?.[params.sessionKey]?.compactionCount : 0) ??
0;

View File

@ -347,6 +347,37 @@ describe("shouldRunMemoryFlush", () => {
).toBe(true);
});
it("triggers on every compaction cycle when flush records pre-increment count (#12590)", () => {
const params = {
contextWindowTokens: 100_000,
reserveTokensFloor: 5_000,
softThresholdTokens: 2_000,
};
// Cycle 1: compactionCount=1, no prior flush → triggers
expect(
shouldRunMemoryFlush({ entry: { totalTokens: 95_000, compactionCount: 1 }, ...params }),
).toBe(true);
// After flush records compactionCount=1, compaction increments to 2.
// Cycle 2: compactionCount=2, memoryFlushCompactionCount=1 → triggers
expect(
shouldRunMemoryFlush({
entry: { totalTokens: 95_000, compactionCount: 2, memoryFlushCompactionCount: 1 },
...params,
}),
).toBe(true);
// After flush records compactionCount=2, compaction increments to 3.
// Cycle 3: compactionCount=3, memoryFlushCompactionCount=2 → triggers
expect(
shouldRunMemoryFlush({
entry: { totalTokens: 95_000, compactionCount: 3, memoryFlushCompactionCount: 2 },
...params,
}),
).toBe(true);
});
it("ignores stale cached totals", () => {
expect(
shouldRunMemoryFlush({