| fix: retrieval — assembly pipeline bugs + OpenViking conventions
| 1 个月前 |
| feat(lifecycle): archive/delete operations, access tracking, aging job
P2 Phase 5: Memory lifecycle management with cold/hot detection.
- Add WriteAction constants: CREATE, MERGE, ARCHIVE, DELETE
- Add ContextFS.archive_node(): soft-delete with ARCHIVED status
- Modify context_writer.py: handle archive/delete actions, operation
fingerprinting for idempotency (sha256 of uri+action+session_id)
- Add commit/outbox_store.py: register_archive event type
- Add retrieval/access_tracker.py: AccessTracker records search hits
per URI, flushes to node metadata (last_accessed_at, hit_count_30d)
- Hook access tracking into retrieval pipeline
- Add lifecycle/aging_job.py: AgingJob scans nodes, proposes archive
for cold nodes (>90d, 0 hits) and delete for archived (>365d)
- Auto-approve mode for unattended execution
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
| 1 个月前 |
| feat: add BM25 hybrid retrieval, dream lifecycle, and extraction improvements
- Add BM25 keyword index with Vector-Anchored Fusion for hybrid seed retrieval
- Add DreamService lifecycle subsystem with RecallTracker, SQLRecallStore, and LightDreaming phase
- Merge dual-run extraction results by (category, routing_key) to reduce duplicates
- Raise extraction confidence threshold from 0.5 to 0.6
- Remove L1 (overview) level from index records, enrich metadata with when/who/where
- Add list_archives_since to SQLSessionArchiveStore for dream recall queries
- Integrate recall tracking into RetrievalPipeline and MemoryService
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
| 21 天前 |
| feat: overview-first display, session identity binding, and ACL hardening
- Prefer overview over content/abstract in compose output for more structured memory display
- Bind account_id/user_id/agent_id into SessionMeta at session creation for cross-request inheritance
- Add owner_id early rejection in sql_context_fs and strict owner fallback in context_reader
- Use per-sample session key in eval ingest to avoid state leakage between samples
- Propagate overview through result_ranker fill_content path
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
| 16 天前 |
| add ogmem search logic
| 2 个月前 |
| feat: routing_key normalization, tool_stats, hotness formula fix
- Add routing_key normalization with synonym table (commit/routing_key.py)
Maps LLM-generated keys to canonical forms (coffee→beverage, code_style→coding_style)
Prevents memory fragmentation from inconsistent LLM naming
- Populate CandidateMemory.tool_stats with ExtractToolInput-specific fields
(best_for, optimal_params, common_failures, recommendation, tool_identifier)
instead of packing into content string
- Fix hotness formula: freq now ranges [0.0, 1.0) instead of [0.5, 1.0]
Unvisited nodes correctly start at 0 instead of being biased to 0.5
- Increase global_search_topk default from 5 to 15
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
| 1 个月前 |
| feat: eval — ChromaDB index, Volcengine embedder, LoCoMo eval
| 1 个月前 |
| refactor: remove dream lifecycle subsystem
Remove unused DreamService, LightDreaming, RecallTracker, and SQLRecallStore.
Clean up all references in MemoryService, RetrievalPipeline, and OgMemConfig.
The dream lifecycle was offline-only and did not affect retrieval results.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
| 15 天前 |
| feat: L0 structured summary generation + extraction prompt optimization
Add compact-style L0 session summaries with 6 dimensions (events, facts,
preferences, plans, emotions, key_details). Implement two-round retrieval:
structured nodes for retrievedEvidence + session_summary for sessionContext.
Strengthen extraction prompts for temporal precision and detail richness.
Benchmark: run69 = 90.1% (385 questions, 3 samples), +8.5% over run68.
Cat4 forgetting: 78.6% → 91.0%, Cat1 single: 84.4% → 93.2%,
Cat2 cross: 78.4% → 86.7%.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
| 18 天前 |
| feat: overview-first display, session identity binding, and ACL hardening
- Prefer overview over content/abstract in compose output for more structured memory display
- Bind account_id/user_id/agent_id into SessionMeta at session creation for cross-request inheritance
- Add owner_id early rejection in sql_context_fs and strict owner fallback in context_reader
- Use per-sample session key in eval ingest to avoid state leakage between samples
- Propagate overview through result_ranker fill_content path
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
| 16 天前 |
| feat: add BM25 hybrid retrieval, dream lifecycle, and extraction improvements
- Add BM25 keyword index with Vector-Anchored Fusion for hybrid seed retrieval
- Add DreamService lifecycle subsystem with RecallTracker, SQLRecallStore, and LightDreaming phase
- Merge dual-run extraction results by (category, routing_key) to reduce duplicates
- Raise extraction confidence threshold from 0.5 to 0.6
- Remove L1 (overview) level from index records, enrich metadata with when/who/where
- Add list_archives_since to SQLSessionArchiveStore for dream recall queries
- Integrate recall tracking into RetrievalPipeline and MemoryService
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
| 21 天前 |
| feat: add BM25 hybrid retrieval, dream lifecycle, and extraction improvements
- Add BM25 keyword index with Vector-Anchored Fusion for hybrid seed retrieval
- Add DreamService lifecycle subsystem with RecallTracker, SQLRecallStore, and LightDreaming phase
- Merge dual-run extraction results by (category, routing_key) to reduce duplicates
- Raise extraction confidence threshold from 0.5 to 0.6
- Remove L1 (overview) level from index records, enrich metadata with when/who/where
- Add list_archives_since to SQLSessionArchiveStore for dream recall queries
- Integrate recall tracking into RetrievalPipeline and MemoryService
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
| 21 天前 |