diff --git a/config.yaml b/config.yaml index ff50cc4..83d6af6 100644 --- a/config.yaml +++ b/config.yaml @@ -181,6 +181,7 @@ openrouter: strategies: explorationRate: 0.2 # 20% of the time try a random strategy instead of the best minSamples: 5 # Min messages sent before trusting a strategy's response rate + responseWindowHours: 12 # Age unanswered sends before including them in strategy performance variants: - id: compliment_direct weight: 1 @@ -201,6 +202,7 @@ strategies: chatStrategies: explorationRate: 0.2 minSamples: 5 + responseWindowHours: 12 variants: - id: chat_direct weight: 1 diff --git a/src/config/index.ts b/src/config/index.ts index 844e3d0..cc395c8 100644 --- a/src/config/index.ts +++ b/src/config/index.ts @@ -131,23 +131,23 @@ export const ConfigSchema = z.object({ strategies: z.object({ explorationRate: z.number().min(0).max(1).default(0.2), minSamples: z.number().int().positive().transform((value) => Math.max(30, value)).default(30), - responseWindowHours: z.number().positive().default(48), + responseWindowHours: z.number().positive().default(12), variants: z.array(z.object({ id: z.string(), weight: z.number().default(1), promptOverride: z.string(), })).default([]), - }).default({ explorationRate: 0.2, minSamples: 30, responseWindowHours: 48, variants: [] }), + }).default({ explorationRate: 0.2, minSamples: 30, responseWindowHours: 12, variants: [] }), chatStrategies: z.object({ explorationRate: z.number().min(0).max(1).default(0.2), minSamples: z.number().int().positive().transform((value) => Math.max(30, value)).default(30), - responseWindowHours: z.number().positive().default(48), + responseWindowHours: z.number().positive().default(12), variants: z.array(z.object({ id: z.string(), weight: z.number().default(1), promptOverride: z.string(), })).default([]), - }).default({ explorationRate: 0.2, minSamples: 30, responseWindowHours: 48, variants: [] }), + }).default({ explorationRate: 0.2, minSamples: 30, responseWindowHours: 12, variants: [] }), web: z.object({ enabled: z.boolean().default(true), port: z.number().default(3000), diff --git a/tests/config.test.ts b/tests/config.test.ts index 02fc847..103a88c 100644 --- a/tests/config.test.ts +++ b/tests/config.test.ts @@ -228,8 +228,9 @@ describe('ConfigSchema', () => { if (result.success) { expect(result.data.strategies.explorationRate).toBe(0.2); expect(result.data.strategies.minSamples).toBe(30); - expect(result.data.strategies.responseWindowHours).toBe(48); + expect(result.data.strategies.responseWindowHours).toBe(12); expect(result.data.strategies.variants).toEqual([]); + expect(result.data.chatStrategies.responseWindowHours).toBe(12); } });