From 7e86d6cb04829ba772b201c03fea644a6388015e Mon Sep 17 00:00:00 2001 From: Martin Date: Sat, 21 Mar 2026 13:53:10 +0000 Subject: [PATCH] fix: Calendar Agent - upsert, cleanup cancellati, schedule 30min MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - ON CONFLICT DO UPDATE: aggiorna subject/category/detail/expires_at se evento cambia - Cleanup step: DELETE eventi non più in HA nella finestra 7gg (eventi cancellati) - Schedule: */30 * * * * (ogni 30 min, prima era 06:30 daily) - Flusso: Parse GPT → Cleanup → Riemetti → Postgres Upsert → Aggrega → Telegram Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- CHANGELOG.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2b698bc..ff60c11 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,22 @@ Tutte le modifiche significative al progetto ALPHA_PROJECT sono documentate qui. --- +## [2026-03-21] Calendar Agent — fix sincronizzazione e schedule + +### Problemi risolti + +- **`ON CONFLICT DO NOTHING` → `DO UPDATE`**: gli eventi modificati (orario, titolo) venivano ignorati. Ora vengono aggiornati in Postgres. +- **Cleanup eventi cancellati**: aggiunto step `🗑️ Cleanup Cancellati` che esegue `DELETE FROM memory_facts WHERE source_ref NOT IN (UID attuali da HA)` per la finestra 7 giorni. Se Martin cancella un meeting, sparisce da Postgres al prossimo run. +- **Schedule `*/30 * * * *`**: da cron 06:30 giornaliero a ogni 30 minuti — il calendario Postgres è sempre allineato alla source of truth (HA/Google Calendar). + +### Flusso aggiornato + +``` +... → 📋 Parse GPT → 🗑️ Cleanup Cancellati → 🔀 Riemetti → 💾 Upsert → 📦 → 📱 +``` + +--- + ## [2026-03-20] Calendar Agent — primo workflow Pompeo in produzione ### Cosa è stato fatto