From 0a8c2639a092e8ad5a228dd3e44973196df5d2b3 Mon Sep 17 00:00:00 2001 From: Jeroen Schweitzer Date: Mon, 29 Dec 2025 21:33:10 +0100 Subject: [PATCH] docs: update MEMORY_REMEMBER_PLAN with implementation status MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Mark all phases as complete (v1.5.0-v1.6.0): - Settings DB, Phase A, B, C all implemented - Updated files summary with actual implementations - Added remaining work section for file upload placeholder 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- docs/MEMORY_REMEMBER_PLAN.md | 84 +++++++++++++++++++++++------------- 1 file changed, 53 insertions(+), 31 deletions(-) diff --git a/docs/MEMORY_REMEMBER_PLAN.md b/docs/MEMORY_REMEMBER_PLAN.md index d51bb39..e75d46a 100644 --- a/docs/MEMORY_REMEMBER_PLAN.md +++ b/docs/MEMORY_REMEMBER_PLAN.md @@ -16,8 +16,16 @@ This document outlines the implementation of "remember" triggers for the memory | Memory Tier | Remember Trigger | Recall | Status | |-------------|------------------|--------|--------| | Wiki | Wiki.js webhook, Consolidation | HybridRAG vector+graph | ✅ Complete | -| Documents | Paperless webhook | Manual `/documents/search` | ⚠️ Partial (no HybridRAG recall) | -| Volatile | Manual `/volatile/store` only | HybridRAG volatile search | ⚠️ Partial (no auto-triggers) | +| Documents | Paperless webhook | HybridRAG document search | ✅ Complete (v1.6.0) | +| Volatile | Scheduler prefetch, HybridRAG post-processor | HybridRAG volatile search | ✅ Complete (v1.6.0) | + +### Implementation Summary (v1.6.0) + +- **Settings DB**: Central `system_settings` PostgreSQL database with `SettingsClient` +- **Phase A**: Volatile fetch endpoints (`/volatile/fetch/{namespace}/{key}`) with weather, news, financial providers +- **Phase B**: Unified memory routing in consolidation service (wiki/volatile/file/prefetch/skip classification) +- **Phase C**: Document recall in HybridRAG (4-source parallel retrieval) +- **Scheduler Integration**: `SchedulerClient` for external scheduler task registration --- @@ -662,46 +670,60 @@ document_threshold: float = Field(default=0.6) ## Implementation Order -| Phase | Priority | Effort | Description | -|-------|----------|--------|-------------| -| **Settings DB** | High | Low | PostgreSQL schema + settings client | -| **B.4** | High | Low | Scheduler client | -| **B.1-B.3** | High | Medium | HybridRAG post-processor | -| **B.5** | High | Low | Config options | -| **C.1-C.2** | High | Low | Document recall in HybridRAG | -| **A.1** | Medium | Low | `/volatile/fetch` endpoint | -| **A.2** | Medium | Medium | Weather + News API clients | -| **A.3** | Medium | Low | Fetch service | +| Phase | Priority | Effort | Description | Status | +|-------|----------|--------|-------------|--------| +| **Settings DB** | High | Low | PostgreSQL schema + settings client | ✅ v1.5.0 | +| **B.4** | High | Low | Scheduler client | ✅ v1.6.0 | +| **B.1-B.3** | High | Medium | HybridRAG post-processor | ✅ v1.6.0 | +| **B.5** | High | Low | Config options | ✅ v1.6.0 | +| **C.1-C.2** | High | Low | Document recall in HybridRAG | ✅ v1.6.0 | +| **A.1** | Medium | Low | `/volatile/fetch` endpoint | ✅ v1.6.0 | +| **A.2** | Medium | Medium | Weather + News API clients | ✅ v1.5.0 | +| **A.3** | Medium | Low | Fetch service | ✅ v1.6.0 | + +### Remaining Work + +| Item | Description | Status | +|------|-------------|--------| +| File upload | Download PDFs and upload to Paperless | ⚠️ Placeholder (logs only) | +| Prefetch patterns | More sophisticated pattern detection | Optional enhancement | --- ## Files Summary -### New Files +### New Files (Implemented) -| Path | Purpose | -|------|---------| -| `src/clients/settings_client.py` | Read-only central settings access | -| `src/clients/scheduler_client.py` | Register/manage scheduler tasks | -| `src/clients/weather_client.py` | Open-Meteo API (with geocoding) | -| `src/clients/news_client.py` | NOS.nl RSS feeds | -| `src/services/volatile_fetch_service.py` | Orchestrates fetch + store | +| Path | Purpose | Version | +|------|---------|---------| +| `src/clients/settings_client.py` | Central settings database access | v1.5.0 | +| `src/clients/scheduler_client.py` | External scheduler task management | v1.6.0 | +| `src/apis/__init__.py` | External API providers package | v1.5.0 | +| `src/apis/base.py` | Abstract base classes for providers | v1.5.0 | +| `src/apis/weather.py` | OpenMeteoProvider (geocoding + forecast) | v1.5.0 | +| `src/apis/news.py` | AggregatedNewsProvider | v1.5.0 | +| `src/apis/nos.py` | NOSProvider (Dutch news RSS) | v1.5.0 | +| `src/apis/bbc.py` | BBCProvider (English news RSS) | v1.5.0 | +| `src/apis/financial.py` | AlphaVantageProvider (stocks/crypto) | v1.5.0 | +| `src/services/volatile_fetch_service.py` | Orchestrates fetch + store | v1.6.0 | ### Modified Files -| Path | Changes | -|------|---------| -| `src/services/hybrid_rag_service.py` | Post-processor, prefetch detection, document search | -| `src/models/hybrid_rag.py` | Memory config options | -| `src/routers/volatile.py` | `/volatile/fetch/{namespace}/{key}` | -| `src/core/dependencies.py` | Settings client, scheduler client DI | -| `src/config.py` | `SYSTEM_SETTINGS_*` connection vars | +| Path | Changes | Version | +|------|---------|---------| +| `src/services/hybrid_rag_service.py` | Document search (4-source parallel retrieval) | v1.6.0 | +| `src/services/consolidation_service.py` | Unified memory routing, scheduler integration | v1.6.0 | +| `src/models/hybrid_rag.py` | Document config options (`enable_documents`, `document_limit`) | v1.6.0 | +| `src/models/consolidation.py` | Memory routing models | v1.6.0 | +| `src/routers/volatile.py` | `/volatile/fetch/{namespace}/{key}` endpoints | v1.6.0 | +| `src/core/dependencies.py` | Settings, scheduler, provider DI | v1.5.0-v1.6.0 | +| `src/config.py` | `SYSTEM_SETTINGS_*`, `SCHEDULER_URL` vars | v1.5.0-v1.6.0 | ### Database | Item | Details | |------|---------| -| Database | `system_settings` (PostgreSQL) | -| Table | `settings (key, value JSONB, category, ...)` | -| Library-desk user | `library_desk_ro` (read-only) | -| Management | Direct psql commands | +| Database | `system_settings` (PostgreSQL on postgres-shared) | +| Table | `settings (key, user_scope, value JSONB, schema JSONB, ...)` | +| Library-desk access | Read-only via `SettingsClient` | +| Management | Direct psql commands (future: CRUD manager UI) |