This website requires JavaScript.
12e63d09fa
fix(fallback): connectTimeoutMs 2500→15000 e breakerTripAfter 2→3
main
Matteo Benedetto
2026-09-16 10:26:52 +02:00
76eedcd526
fix(store): submitOrQueue restituisce ok — niente più falso "Errore 200" a salvataggio riuscito
enne2
2026-09-15 23:24:10 +02:00
6607135856
fix(search): query opzionale — queries-only valido, derive base query da queries[0] (evita fallimenti validazione glm/deepseek)
enne2
2026-09-15 23:14:34 +02:00
9dd24298cc
perf(fallback): connect timeout breve + circuit breaker persistente (fast-fail)
Matteo Benedetto
2026-09-13 18:09:50 +02:00
d1985514e1
feat(sync): tombstone, pull dall'export, ritocchi flush e fallback su 404
Matteo Benedetto
2026-09-13 17:53:59 +02:00
d509778448
chore(gateway): rimuove la copia duplicata del gateway dal package (dedup)
Matteo Benedetto
2026-09-13 17:37:45 +02:00
322b4cf446
feat(outbox): store offline con coda locale e sincronizzazione al ritorno della rete
Matteo Benedetto
2026-09-13 17:29:09 +02:00
1832562a7f
feat: indice locale SQLite/FTS5 + fallback testuale offline per qmem
Matteo Benedetto
2026-09-13 15:53:56 +02:00
1b293efb2c
test: aggiorna fake cross per soglia SUGGEST 0.85
enne2
2026-09-08 13:04:57 +02:00
681834d2a3
fix(gateway): calibrazione soglie cross-gate (BLOCK 0.90, SUGGEST 0.85 su distribuzione reale: dup 0.9989 / correlato 0.8766 / irrilevante 0.0), find_similar top-5, GET id invalido → 404
enne2
2026-09-08 13:04:45 +02:00
128059dd4b
feat(gateway): strategie rerank oltre la search (A-F)
enne2
2026-09-08 12:57:33 +02:00
fcd6b1670e
feat(gateway): catena di fallback per gli embedding + retry transiente su Qdrant
enne2
2026-09-08 12:19:16 +02:00
78a93ee771
fix(gateway): troncamento documenti rerank (RERANK_MAX_DOC_CHARS=800) — evita 500 batch-size e costi oltre il ctx
enne2
2026-09-08 12:12:38 +02:00
20766de540
feat(gateway): stadio rerank con catena di fallback resiliente (frigate→brain)
enne2
2026-09-08 12:10:27 +02:00
c21ef5e92a
fix(qmem): ripristina GATE dentro QMEM_RULES (portabile con estensione), rimuovilo da AGENTS.md (globale+qwen-light) per evitare duplicazione — QMEM_RULES 526 token, AGENTS globale senza GATE
enne2
2026-08-28 16:55:22 +02:00
21c610835f
perf(qmem): rimuovi GATE da QMEM_RULES (era duplicato in AGENTS.md) — regole qmem-only in inglese compatto 591→229 token; GATE vive ora in AGENTS.md (globale + qwen-light)
enne2
2026-08-28 16:52:20 +02:00
7097c4002b
perf(qmem): skill qmem in inglese conciso — description sempre-on 70→42 token, corpo on-demand 1817→1028 token (totale -43%), procedure preservate
enne2
2026-08-28 16:38:33 +02:00
ca89679b3c
perf(qmem): A2 schemi tool in inglese compatto — testo model-visible 2242→462 token (-79%) col tokenizer Qwen3.8; nomi/parametri/enum/default invariati, promptGuidelines duplicate rimosse (già in QMEM_RULES)
enne2
2026-08-28 16:27:49 +02:00
6c1c4f526f
fix(qmem): frontmatter skill quotato (YAML ': ') + A1 regole iniettate compatte (procedure → skill qmem)
enne2
2026-08-28 16:02:35 +02:00
86ac1996fb
feat(private): memorie riservate escluse dalle ricerche standard
enne2
2026-08-25 20:14:28 +02:00
5a5081e5d9
feat(prompt): regola vincolante identificazione macchina nei record qmem (hostname auto-rilevato, layout modulare) + bump v1.8.0
enne2
2026-08-24 22:55:51 +02:00
4776b4b496
refactor: split gateway and pi-qmem extension into modules
Matteo Benedetto
2026-08-24 16:19:19 +02:00
e68fca3388
feat(reparenting): supersede di un record ri-parenta automaticamente i figli attivi
Matteo Benedetto
2026-08-24 15:43:33 +02:00
0283d3964e
feat(hierarchy): aggiunti tool qmem_tree e regole operative per gestione gerarchica L1/L2
Matteo Benedetto
2026-08-23 13:16:13 +02:00
369a2c2d9e
feat(hierarchy): supporto metadati strutturati e gerarchici su Qdrant (parent_id, level, topic, links)
Matteo Benedetto
2026-08-23 13:07:16 +02:00
fc11f878f6
feat(prompt): blocco Riflessione in QMEM_RULES (loop Reflexion-style) + bump v1.7.1
Matteo Benedetto
2026-08-22 16:10:17 +02:00
a448241ba2
fix(monitoring): migliora leggibilità dashboard qmem
Matteo Benedetto
2026-08-20 15:13:08 +02:00
94e9bb44b1
docs: sez. 11.11 istanza frigate (embedding llama.cpp) + bump v2.7.0
Matteo Benedetto
2026-08-18 22:48:50 +02:00
2626649e5a
feat: backend embedding configurabile — EMBED_API=ollama|llamacpp
Matteo Benedetto
2026-08-18 22:46:26 +02:00
b7809fc92d
feat(version): endpoint /v1/version + git_commit nel build Docker
Matteo Benedetto
2026-08-18 16:19:36 +02:00
eccb2cb870
feat(guardrail): similarità pre-scrittura su POST /v1/memories
Matteo Benedetto
2026-08-18 12:58:05 +02:00
91ec4c82d7
feat: tool qmem_get per recupero deterministico record per UUID
Matteo Benedetto
2026-08-17 18:07:42 +02:00
24634f62fe
chore: url di default del gateway = https://qmem.enne2.net (era http://10.8.0.3:8082 )
enne2
2026-08-17 01:51:21 +02:00
6b4924d0db
docs: sez. 11.10 incidente backfill (upsert→update_vectors) + lezioni apprese
Matteo Benedetto
2026-08-16 20:41:01 +02:00
c4bfa1d5bf
fix CRITICO: backfill usa update_vectors (non upsert) — preserva payload e vettore denso
Matteo Benedetto
2026-08-16 20:39:12 +02:00
35be152be5
docs: permanenza esplicita — expires_at omesso = memoria permanente, mai cancellata dal cleanup
Matteo Benedetto
2026-08-16 19:58:54 +02:00
aed962cfcd
chore: bump versioni (gateway 2.6.0, estensione 1.7.0)
Matteo Benedetto
2026-08-16 19:56:09 +02:00
027ba15817
docs: sez. 11.8 reranker rimandato (criteri futuri) + 11.9 hybrid retrieval
Matteo Benedetto
2026-08-16 19:56:00 +02:00
70f3699396
test: suite pytest per il gateway (21 test) + script di verifica pre-push
Matteo Benedetto
2026-08-16 19:53:45 +02:00
faa4e84611
feat: metriche gateway con push a VictoriaMetrics + dashboard Grafana
Matteo Benedetto
2026-08-16 19:51:08 +02:00
6c2417eab7
feat: avviso duplicati in qmem_store (search pre-salvataggio, soglia 0.92, non blocca)
Matteo Benedetto
2026-08-16 19:45:18 +02:00
eba9c19179
feat: campo confidence (high/medium/low, default medium) nei record
Matteo Benedetto
2026-08-16 19:43:30 +02:00
7abced1566
feat: hybrid retrieval (BM25 + vettoriale, RRF) opt-in via hybrid=true
Matteo Benedetto
2026-08-16 19:41:42 +02:00
2d354bfde6
feat: X-Request-ID per richiesta (header risposta + audit log)
Matteo Benedetto
2026-08-16 19:32:29 +02:00
a2bb659e31
docs: sez. 11.7 accesso condiviso — rischio e criteri per chiavi per-scope future
Matteo Benedetto
2026-08-16 19:29:22 +02:00
3f7c3cee51
security: hash SHA-256 della query nell'audit log (niente contenuto in chiaro)
Matteo Benedetto
2026-08-16 19:28:01 +02:00
f30966a77c
feat: rate limit leggero (30/min per IP) su /v1/status pubblico
Matteo Benedetto
2026-08-16 19:22:18 +02:00
87d59ccb5c
feat: validazione expires_at ISO 8601 (422 con messaggio chiaro, niente fallback silenzioso)
Matteo Benedetto
2026-08-16 19:21:01 +02:00
748356d769
perf: client httpx riusato per gli embedding (lazy, chiuso a shutdown)
Matteo Benedetto
2026-08-16 19:18:41 +02:00
ec0fdb972a
refactor: lifespan al posto di @app.on_event (deprecato) + bump v2.5.0
Matteo Benedetto
2026-08-16 19:17:19 +02:00
25ccb13f5b
security: utente non-root (appuser, uid 10001) nel Dockerfile del gateway
Matteo Benedetto
2026-08-16 19:14:54 +02:00
625e569389
feat: soglia di sicurezza in qmem_correct con query (correctMinScore default 0.60)
Matteo Benedetto
2026-08-16 19:13:38 +02:00
bb182dc370
feat: retry con backoff su errori transitori + timeoutMs applicato
Matteo Benedetto
2026-08-16 19:12:12 +02:00
66e898f8b5
docs: sez. 11.6 idempotency nel playbook
Matteo Benedetto
2026-08-16 19:10:51 +02:00
a7d4bbb4a8
feat: idempotency su POST /v1/memories (Idempotency-Key, replay → stessa risposta, payload diverso → 409)
Matteo Benedetto
2026-08-16 19:10:32 +02:00
9cb3008f4d
docs: aggiungi gateway/README.md con istruzioni di deploy (referenziato dal README principale)
Matteo Benedetto
2026-08-16 19:01:49 +02:00
13d12b59b9
feat: regole QMEM_RULES imperative con trigger (MUST/MUST NOT + sequenza errore)
Matteo Benedetto
2026-08-13 18:58:44 +02:00
9925c37ea0
fix: virgole orfane dopo promptGuidelines (parse error)
enne2
2026-08-13 13:37:00 +02:00
c7088d4338
feat: regole comportamentali autocontenute nell'estensione (v1.5.0)
enne2
2026-08-13 13:35:53 +02:00
72ebb949c8
feat: project_id obbligatorio (gateway v2.4.0 + estensione v1.4.0)
enne2
2026-08-13 13:24:22 +02:00
334f9c6b44
fix(gateway): with_vectors (plurale) in qdrant.scroll per /v1/meta/overview
enne2
2026-08-13 13:09:10 +02:00
4b1f13c118
feat: discovery endpoint GET /v1/meta/overview + tool qmem_meta
enne2
2026-08-13 13:06:10 +02:00
f6d9c5872d
feat: min_score anti-rumore nella ricerca + igiene metadata
enne2
2026-08-13 13:02:37 +02:00
1891f22a5e
fix(qmem_correct): eredita kind/scope/project_id anche quando memory_id è passato direttamente (GET del record prima del supersede)
enne2
2026-08-13 12:42:58 +02:00
1713e68b82
feat: supersede di memorie false (qmem_correct, include_superseded, playbook sez. 11)
enne2
2026-08-13 12:41:14 +02:00
eadd2a756b
pi-qmem: memoria centralizzata condivisa per agenti AI (estensione pi + gateway)
enne2
2026-08-11 23:14:40 +02:00