5cf8b71915
docs(changelog): add B1/B2 debug fixes + Copilot token refresh
...
- B1 Media Library Sync: 7 iterazioni di fix (exec 345→360)
Token Copilot: genericCredential→predefined + POST→GET
GPT-4.1: method+headers+body mancanti
Apostrofi SQL: Code node Prepara Detail
ON CONFLICT partial index syntax (WHERE source_ref IS NOT NULL)
SplitInBatches v3: output[1] per loop body
Qdrant payload: Code node Prepara Qdrant
- B2 Watch History Sync: fix preventivi da pattern B1, exec 362 ✅
- GitHub Copilot device flow token refresh (user_code 559F-1D14)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-03-21 20:33:33 +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
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