diff --git a/test/helpers/eval-store.ts b/test/helpers/eval-store.ts index e42b5ba2..b4479951 100644 --- a/test/helpers/eval-store.ts +++ b/test/helpers/eval-store.ts @@ -444,9 +444,6 @@ export class EvalCollector { tests: this.tests, }; - // Delete partial file now that we're writing the final - try { fs.unlinkSync(path.join(this.evalDir, '_partial-e2e.json')); } catch { /* may not exist */ } - // Write eval file fs.mkdirSync(this.evalDir, { recursive: true }); const dateStr = timestamp.replace(/[:.]/g, '').replace('T', '-').slice(0, 15); diff --git a/test/helpers/observability.test.ts b/test/helpers/observability.test.ts index cb793b5f..67b588fb 100644 --- a/test/helpers/observability.test.ts +++ b/test/helpers/observability.test.ts @@ -153,7 +153,7 @@ describe('eval-store observability', () => { expect(partial.tests[1].last_tool_call).toBe('Bash(ls)'); }); - test('7: finalize() deletes partial file', async () => { + test('7: finalize() preserves partial file alongside final', async () => { const evalDir = path.join(tmpDir, 'evals'); const collector = new EvalCollector('e2e', evalDir); @@ -167,9 +167,10 @@ describe('eval-store observability', () => { await collector.finalize(); - expect(fs.existsSync(partialPath)).toBe(false); + // Partial file preserved for observability — never cleaned up + expect(fs.existsSync(partialPath)).toBe(true); - // Final eval file should exist + // Final eval file should also exist const files = fs.readdirSync(evalDir).filter(f => f.endsWith('.json') && !f.startsWith('_')); expect(files.length).toBeGreaterThanOrEqual(1); });