feat(automation): add timezone-safe daily briefing dedupe

This commit is contained in:
William Valentin
2026-02-16 14:01:14 -08:00
parent 71af3b5a42
commit 56854f04bd
10 changed files with 118 additions and 4 deletions
+5
View File
@@ -863,6 +863,7 @@ describe('configSchema automation', () => {
expect(result.automation.daily_briefing.enabled).toBe(false);
expect(result.automation.daily_briefing.schedule).toBe('0 8 * * *');
expect(result.automation.daily_briefing.name).toBe('daily-briefing');
expect(result.automation.daily_briefing.dedupe_per_local_day).toBe(true);
});
it('accepts isolated automation delivery mode', () => {
@@ -931,11 +932,13 @@ describe('configSchema automation', () => {
output: { channel: 'telegram', peer: '123' },
enabled: false,
timezone: 'America/New_York',
once_per_local_day: true,
}],
},
});
expect(result.automation.cron[0].enabled).toBe(false);
expect(result.automation.cron[0].timezone).toBe('America/New_York');
expect(result.automation.cron[0].once_per_local_day).toBe(true);
});
it('accepts daily briefing automation config', () => {
@@ -947,6 +950,7 @@ describe('configSchema automation', () => {
name: 'weekday-briefing',
schedule: '0 7 * * 1-5',
timezone: 'America/New_York',
dedupe_per_local_day: false,
output: { channel: 'telegram', peer: '123' },
prompt: 'Custom briefing prompt',
model_tier: 'fast',
@@ -958,6 +962,7 @@ describe('configSchema automation', () => {
expect(result.automation.daily_briefing.name).toBe('weekday-briefing');
expect(result.automation.daily_briefing.schedule).toBe('0 7 * * 1-5');
expect(result.automation.daily_briefing.timezone).toBe('America/New_York');
expect(result.automation.daily_briefing.dedupe_per_local_day).toBe(false);
expect(result.automation.daily_briefing.output).toEqual({ channel: 'telegram', peer: '123' });
expect(result.automation.daily_briefing.prompt).toBe('Custom briefing prompt');
expect(result.automation.daily_briefing.model_tier).toBe('fast');