Agents: safeguard compaction summarization

This commit is contained in:
Shadow
2026-01-10 18:34:40 -06:00
committed by Peter Steinberger
parent 42ff634a9d
commit a96d299971
8 changed files with 248 additions and 0 deletions

View File

@@ -522,6 +522,7 @@ describe("config compaction settings", () => {
agents: {
defaults: {
compaction: {
mode: "safeguard",
reserveTokensFloor: 12_345,
memoryFlush: {
enabled: false,
@@ -544,6 +545,7 @@ describe("config compaction settings", () => {
const cfg = loadConfig();
expect(cfg.agents?.defaults?.compaction?.reserveTokensFloor).toBe(12_345);
expect(cfg.agents?.defaults?.compaction?.mode).toBe("safeguard");
expect(cfg.agents?.defaults?.compaction?.memoryFlush?.enabled).toBe(
false,
);

View File

@@ -1716,7 +1716,11 @@ export type AgentDefaultsConfig = {
};
};
export type AgentCompactionMode = "default" | "safeguard";
export type AgentCompactionConfig = {
/** Compaction summarization mode. */
mode?: AgentCompactionMode;
/** Minimum reserve tokens enforced for Pi compaction (0 disables the floor). */
reserveTokensFloor?: number;
/** Pre-compaction memory flush (agentic turn). Default: enabled. */

View File

@@ -1210,6 +1210,7 @@ const AgentDefaultsSchema = z
.optional(),
compaction: z
.object({
mode: z.union([z.literal("default"), z.literal("safeguard")]).optional(),
reserveTokensFloor: z.number().int().nonnegative().optional(),
memoryFlush: z
.object({