test(gateway): split observer bookkeeping coverage

This commit is contained in:
Peter Steinberger
2026-07-26 22:04:52 -07:00
parent 6a3696000e
commit 57f239fb5d
2 changed files with 41 additions and 40 deletions

View File

@@ -0,0 +1,41 @@
import { describe, expect, it } from "vitest";
describe("session observer run bookkeeping", () => {
it("bounds dormant runs and preserves revision continuity for evicted entries", async () => {
const { rememberSessionObserverDormantRun } = await import("./session-observer-model.js");
const runs = new Map();
const floors = new Map();
for (let index = 0; index < 300; index += 1) {
rememberSessionObserverDormantRun(runs, floors, {
sessionKey: index === 0 ? "global" : `agent:main:session-${index}`,
sessionId: `session-${index}`,
runId: `run-${index}`,
agentId: index === 0 ? "work" : "main",
utilityModelRef: "openai/gpt-test",
startedAt: index,
lastPersistedAt: undefined,
revision: index + 1,
digestCount: 1,
consecutiveFailures: 0,
planProgress: undefined,
previousDigest: undefined,
});
}
expect(runs.size).toBe(256);
expect(runs.has("run-0")).toBe(false);
expect(runs.has("run-299")).toBe(true);
expect(floors.get("agent:work:global")?.revision).toBe(1);
expect(floors.has("global")).toBe(false);
});
it("bounds disabled-run bookkeeping", async () => {
const { rememberSessionObserverDisabledRun } = await import("./session-observer-model.js");
const runs = new Set<string>();
for (let index = 0; index < 600; index += 1) {
rememberSessionObserverDisabledRun(runs, `run-${index}`);
}
expect(runs.size).toBe(512);
expect(runs.has("run-0")).toBe(false);
expect(runs.has("run-599")).toBe(true);
});
});

View File

@@ -1084,43 +1084,3 @@ describe("session observer schema", () => {
expect(normalized?.assessment).toHaveLength(320);
});
});
describe("session observer run bookkeeping", () => {
it("bounds dormant runs and preserves revision continuity for evicted entries", async () => {
const { rememberSessionObserverDormantRun } = await import("./session-observer-model.js");
const runs = new Map();
const floors = new Map();
for (let index = 0; index < 300; index += 1) {
rememberSessionObserverDormantRun(runs, floors, {
sessionKey: index === 0 ? "global" : `agent:main:session-${index}`,
sessionId: `session-${index}`,
runId: `run-${index}`,
agentId: index === 0 ? "work" : "main",
utilityModelRef: "openai/gpt-test",
startedAt: index,
lastPersistedAt: undefined,
revision: index + 1,
digestCount: 1,
consecutiveFailures: 0,
planProgress: undefined,
previousDigest: undefined,
});
}
expect(runs.size).toBe(256);
expect(runs.has("run-0")).toBe(false);
expect(runs.has("run-299")).toBe(true);
expect(floors.get("agent:work:global")?.revision).toBe(1);
expect(floors.has("global")).toBe(false);
});
it("bounds disabled-run bookkeeping", async () => {
const { rememberSessionObserverDisabledRun } = await import("./session-observer-model.js");
const runs = new Set<string>();
for (let index = 0; index < 600; index += 1) {
rememberSessionObserverDisabledRun(runs, `run-${index}`);
}
expect(runs.size).toBe(512);
expect(runs.has("run-0")).toBe(false);
expect(runs.has("run-599")).toBe(true);
});
});