734a1a9440
feat(flows):allineamento filtri
2026-03-21 20:30:54 +00:00
8394861bb3
Merge branch 'main' of https://git.mt-home.uk/martin/Alpha
2026-03-21 20:52:03 +01:00
b47824c15f
feat(alexa-skill): implementata aws-lambda e alexa-skill per invocazione webhook n8n
2026-03-21 20:50:02 +01:00
c5a8bec2c2
docs: CHANGELOG refactor - Media Agent entry espansa e deduplicata
...
- Entry Blocco A+B riscritta con flusso dettagliato, tabella bug fix,
note infrastruttura Radarr/Sonarr/Jellyfin/Ollama
- Rimossa sezione duplicata 'Jellyfin Playback Agent Blocco A'
(assorbita nell'entry principale)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-03-21 19:03:56 +00:00
afc182292a
feat: Media Agent Blocco A+B + Calendar Agent fix
...
Blocco A — Jellyfin Playback Agent (AyrKWvboPldzZPsM):
- Webhook PlaybackStart/Stop → behavioral_context + agent_messages
- Fix: JSON.parse Jellyfin body, SSL Patroni, Postgres queryParams inline
Blocco B1 — Media Library Sync (o3uM1xDLTAKw4D6E):
- Weekly cron: Radarr+Sonarr → GPT-4.1 → memory_facts + Qdrant
- Qdrant collection media_preferences creata (768-dim nomic-embed-text)
Blocco B2 — Jellyfin Watch History Sync (K07e4PPANXDkmQsr):
- Daily cron: Jellyfin history (90d) → GPT-4.1 → memory_facts
- Jellyfin API token Pompeo creato via admin auth
Calendar Agent fix (4ZIEGck9n4l5qaDt):
- Cleanup: filter(i=>i.json.uid) per evitare undefined non quotato in SQL
- Salva Evento: rimosso updated_at=NOW() (colonna non esistente)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-03-21 18:51:11 +00:00
a145c0126c
feat(paperless): add memory persistence — Ollama embed + Qdrant + Postgres
...
- Parallel branch from Paperless Patch Metadati
- nomic-embed-text (768 dim) via Ollama for OCR text embedding
- Qdrant knowledge collection upsert with full doc metadata payload
- memory_facts upsert with source=paperless, dedup by paperless-{doc_id}
- Qdrant collections recreated at 768 dim (were 1536 legacy, 0 points)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-03-21 18:37:52 +00:00
aa4a2e8ae7
feat(digest): add memory persistence step to Daily Digest
...
- Parallel branch: Estrai Fatti (GPT) → Upsert Memoria (Postgres)
- Extracts structured facts from non-trash emails with pompeo_note + entity_refs
- Upserts into memory_facts with thread dedup via memory_facts_dedup_idx
- Fix: added newer_than:1d filter to Gmail fetch nodes
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-03-21 17:29:52 +00:00
95ac871a71
feat(media): Jellyfin Playback Agent Blocco A + fix SSL/webhook/queryParams
...
- Workflow AyrKWvboPldzZPsM: PlaybackStart/Stop → behavioral_context + agent_messages
- Fix: webhookId top-level nel nodo per path statico in n8n queue mode
- Fix: NODE_TLS_REJECT_UNAUTHORIZED=0 su n8n-app/worker per Patroni self-signed cert
- Fix: inline SQL expressions invece di additionalFields.queryParams (n8n v2.5.2 bug)
- Fix: Calendar Agent stesso set di fix (SSL + queryParams)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-03-21 17:11:20 +00:00
70b668954e
feat(db): schema v2 — contacts, memory_facts_archive, entity_refs, pompeo_note
...
- New table: contacts (multi-tenant person graph with aliases, details, GIN indexes)
- New table: memory_facts_archive (expired facts cleanup destination)
- memory_facts: added pompeo_note TEXT and entity_refs JSONB columns
- Applied live to Patroni primary (postgres-1, namespace persistence, DB pompeo)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-03-21 15:43:46 +00:00
668210694f
docs: add Actual Budget CSV import workflow to CHANGELOG
...
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-03-21 14:33:58 +00:00
7e86d6cb04
fix: Calendar Agent - upsert, cleanup cancellati, schedule 30min
...
- 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 >
2026-03-21 13:53:10 +00:00
90d9faacca
feat: Calendar Agent + IoT Agent design + DB migration
...
- Deployed Calendar Agent (n8n ID: 4ZIEGck9n4l5qaDt)
- 12 Google Calendars via HA proxy, cron 06:30
- GPT-4.1 batch classification -> memory_facts
- Telegram daily briefing
- DB: added source_ref column + dedup index on memory_facts
- DB: created ha_sensor_config table (IoT Agent sensor allowlist)
- 9 seed entries (Pixel 10, Pixel Watch, EY HP, Spotify, GPS)
- README: full IoT Agent design documentation
- Sensor allowlist (regex), LLM-based activity inference
- Three-layer data flow, confidence-gated clarification
- README: Calendar Agent design + workflow diagram
- README: updated infra table, ADR broker, credentials
- CHANGELOG: Calendar Agent milestone
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-03-21 13:45:12 +00:00
841d3a93f6
Add Actual Budget import + reminder workflows to README
...
- 💰 Actual — Import Estratto Conto [Telegram] (qtvB3r0cgejyCxUp)
- ⏰ Actual — Reminder Estratto Conto [Schedule] (w0oJ1i6sESvaB5W1)
- 📄 Paperless — Upload Documento [Multi] (GBPFFq8rmbdFrNn9)
- Retired Upload Bolletta [Email] and Upload Documento [Telegram]
- Added Google Calendar credential to table (ZIVFNgI3esCKuYXc)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-03-21 12:22:39 +00:00
a6e286c9cb
docs: ADR message broker — PostgreSQL + webhook n8n, no NATS/Redis Streams
...
Documenta la decisione architetturale di non deployare un broker dedicato.
agent_messages su Postgres copre il flow normale; webhook n8n diretto
gestisce il bypass high-priority.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-03-21 11:03:18 +00:00
adb36c0c48
feat: Phase 0 bootstrap — Qdrant deploy e schema PostgreSQL
...
- README.md: contesto ALPHA_PROJECT, architettura multi-agent, stack infrastrutturale
- CHANGELOG.md: documenta deploy Qdrant v1.17.0 e creazione database pompeo
- db/postgres.sql: schema DDL database pompeo (user_profile, memory_facts,
finance_documents, behavioral_context, agent_messages) con multi-tenancy user_id
- db/qdrant.sh: script per creazione/ripristino collections Qdrant
(episodes, knowledge, preferences) con payload indexes
Design decisions:
- Multi-tenancy via user_id su Qdrant e PostgreSQL (estendibile a nuovi utenti
senza modifiche infrastrutturali)
- agent_messages come blackboard persistente per il Proactive Arbiter
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-03-21 10:55:39 +00:00
266d04f06d
flows: ingest paperless
2026-03-21 10:49:19 +00:00
e4d523fce6
flows: credenziali e flusso di gmail digest
2026-03-21 10:43:15 +00:00
e257a6795f
docs: add ALPHA_PROJECT system context
2026-03-21 00:10:52 +01:00