Skip to content

Commit 929df0f

Browse files
committed
fix(agents): lower session repair success logging
1 parent cd710bc commit 929df0f

4 files changed

Lines changed: 22 additions & 19 deletions

File tree

src/agents/pi-embedded-runner/compact.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -917,6 +917,7 @@ async function compactEmbeddedPiSessionDirectOnce(
917917
try {
918918
await repairSessionFileIfNeeded({
919919
sessionFile: params.sessionFile,
920+
debug: (message) => log.debug(message),
920921
warn: (message) => log.warn(message),
921922
});
922923
await prewarmSessionFile(params.sessionFile);

src/agents/pi-embedded-runner/run/attempt.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1400,6 +1400,7 @@ export async function runEmbeddedAttempt(
14001400
try {
14011401
await repairSessionFileIfNeeded({
14021402
sessionFile: params.sessionFile,
1403+
debug: (message) => log.debug(message),
14031404
warn: (message) => log.warn(message),
14041405
});
14051406
const hadSessionFile = await fs

src/agents/session-file-repair.test.ts

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -128,17 +128,17 @@ describe("repairSessionFileIfNeeded", () => {
128128
const original = `${JSON.stringify(header)}\n${JSON.stringify(message)}\n${JSON.stringify(poisonedAssistantEntry)}\n${JSON.stringify(followUp)}\n`;
129129
await fs.writeFile(file, original, "utf-8");
130130

131-
const warn = vi.fn();
132-
const result = await repairSessionFileIfNeeded({ sessionFile: file, warn });
131+
const debug = vi.fn();
132+
const result = await repairSessionFileIfNeeded({ sessionFile: file, debug });
133133

134134
expect(result.repaired).toBe(true);
135135
expect(result.droppedLines).toBe(0);
136136
expect(result.rewrittenAssistantMessages).toBe(1);
137137
expect(result.backupPath).toBeTruthy();
138-
expect(warn).toHaveBeenCalledTimes(1);
139-
const warnMessage = warn.mock.calls[0]?.[0] as string;
140-
expect(warnMessage).toContain("rewrote 1 assistant message(s)");
141-
expect(warnMessage).not.toContain("dropped");
138+
expect(debug).toHaveBeenCalledTimes(1);
139+
const debugMessage = debug.mock.calls[0]?.[0] as string;
140+
expect(debugMessage).toContain("rewrote 1 assistant message(s)");
141+
expect(debugMessage).not.toContain("dropped");
142142

143143
const repaired = await fs.readFile(file, "utf-8");
144144
const repairedLines = repaired.trim().split("\n");
@@ -167,13 +167,13 @@ describe("repairSessionFileIfNeeded", () => {
167167
const original = `${JSON.stringify(header)}\n${JSON.stringify(blankUserEntry)}\n${JSON.stringify(message)}\n`;
168168
await fs.writeFile(file, original, "utf-8");
169169

170-
const warn = vi.fn();
171-
const result = await repairSessionFileIfNeeded({ sessionFile: file, warn });
170+
const debug = vi.fn();
171+
const result = await repairSessionFileIfNeeded({ sessionFile: file, debug });
172172

173173
expect(result.repaired).toBe(true);
174174
expect(result.rewrittenUserMessages).toBe(1);
175175
expect(result.droppedBlankUserMessages).toBe(0);
176-
expect(warn.mock.calls[0]?.[0]).toContain("rewrote 1 user message(s)");
176+
expect(debug.mock.calls[0]?.[0]).toContain("rewrote 1 user message(s)");
177177

178178
const repaired = await fs.readFile(file, "utf-8");
179179
const repairedLines = repaired.trim().split("\n");
@@ -243,7 +243,7 @@ describe("repairSessionFileIfNeeded", () => {
243243
]);
244244
});
245245

246-
it("reports both drops and rewrites in the warn message when both occur", async () => {
246+
it("reports both drops and rewrites in the debug message when both occur", async () => {
247247
const { file } = await createTempSessionPath();
248248
const { header } = buildSessionHeaderAndMessage();
249249
const poisonedAssistantEntry = {
@@ -264,15 +264,15 @@ describe("repairSessionFileIfNeeded", () => {
264264
const original = `${JSON.stringify(header)}\n${JSON.stringify(poisonedAssistantEntry)}\n{"type":"message"`;
265265
await fs.writeFile(file, original, "utf-8");
266266

267-
const warn = vi.fn();
268-
const result = await repairSessionFileIfNeeded({ sessionFile: file, warn });
267+
const debug = vi.fn();
268+
const result = await repairSessionFileIfNeeded({ sessionFile: file, debug });
269269

270270
expect(result.repaired).toBe(true);
271271
expect(result.droppedLines).toBe(1);
272272
expect(result.rewrittenAssistantMessages).toBe(1);
273-
const warnMessage = warn.mock.calls[0]?.[0] as string;
274-
expect(warnMessage).toContain("dropped 1 malformed line(s)");
275-
expect(warnMessage).toContain("rewrote 1 assistant message(s)");
273+
const debugMessage = debug.mock.calls[0]?.[0] as string;
274+
expect(debugMessage).toContain("dropped 1 malformed line(s)");
275+
expect(debugMessage).toContain("rewrote 1 assistant message(s)");
276276
});
277277

278278
it("does not rewrite silent-reply turns (stopReason=stop, content=[]) on disk", async () => {
@@ -329,12 +329,12 @@ describe("repairSessionFileIfNeeded", () => {
329329
const original = `${JSON.stringify(header)}\n${JSON.stringify(message)}\n${JSON.stringify(assistantEntry)}\n`;
330330
await fs.writeFile(file, original, "utf-8");
331331

332-
const warn = vi.fn();
333-
const result = await repairSessionFileIfNeeded({ sessionFile: file, warn });
332+
const debug = vi.fn();
333+
const result = await repairSessionFileIfNeeded({ sessionFile: file, debug });
334334

335335
expect(result.repaired).toBe(true);
336336
expect(result.trimmedTrailingAssistantMessages).toBe(1);
337-
expect(warn.mock.calls[0]?.[0]).toContain("trimmed 1 trailing assistant message(s)");
337+
expect(debug.mock.calls[0]?.[0]).toContain("trimmed 1 trailing assistant message(s)");
338338

339339
const repaired = await fs.readFile(file, "utf-8");
340340
const repairedLines = repaired.trim().split("\n");

src/agents/session-file-repair.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -194,6 +194,7 @@ function buildRepairSummaryParts(params: {
194194

195195
export async function repairSessionFileIfNeeded(params: {
196196
sessionFile: string;
197+
debug?: (message: string) => void;
197198
warn?: (message: string) => void;
198199
}): Promise<RepairReport> {
199200
const sessionFile = params.sessionFile.trim();
@@ -321,7 +322,7 @@ export async function repairSessionFileIfNeeded(params: {
321322
};
322323
}
323324

324-
params.warn?.(
325+
params.debug?.(
325326
`session file repaired: ${buildRepairSummaryParts({
326327
droppedLines,
327328
rewrittenAssistantMessages,

0 commit comments

Comments
 (0)