Skip to content

[upstream PR 4] feat: agentmemory v0.3.0 — semantic search, memory evolution, profiles #911

@wbugitlab1

Description

@wbugitlab1

Source repository: rohitg00/agentmemory
Source pull request number: 4
Source URL: intentionally omitted to avoid GitHub cross-references
Title: feat: agentmemory v0.3.0 — semantic search, memory evolution, profiles
Author: rohitg00
State: closed
Draft: no
Merged: yes
Head: rohitg00/agentmemory:feat/v0.3.0-competitive-upgrade @ 31cd297
Base: main @ 1e4f1f3
Labels: (none)
Changed files: 0
Commits: 0
Created: 2026-02-26T17:25:36Z
Updated: 2026-02-27T05:05:29Z
Closed: 2026-02-27T05:05:26Z
Merged at: 2026-02-27T05:05:26Z

Original PR body:

Summary

  • Hybrid BM25 + vector semantic search with Reciprocal Rank Fusion (6 embedding providers: Gemini, OpenAI, Voyage AI, Cohere, OpenRouter, local @xenova/transformers)
  • Memory versioning & relationships — supersedes, extends, derives, contradicts, related; BFS graph traversal
  • Persistent search indices — debounced KV writes for both BM25 and vector indices; survives restarts
  • Progressive disclosure search — compact results first (id, title, score), expand specific IDs for full details
  • Project profiles — aggregated top concepts, files, conventions, common errors with 1-hour cache
  • Chronological timeline — navigate observations around anchor points (ISO dates or keywords)
  • Auto-forget — TTL expiry via forgetAfter field + Jaccard contradiction detection (threshold 0.9)
  • Provider fallback chain — ordered LLM provider list with automatic failover
  • Full JSON export/import — round-trip with merge/replace/skip strategies
  • 10 MCP tools, 28 REST endpoints, 21 functions (up from 5/20/13 in v0.2.0)

Changes

Category Files Details
New source 17 6 embedding providers, vector index, hybrid search, index persistence, fallback chain, relations, timeline, smart-search, profile, auto-forget, export-import
New tests 11 62 new tests (144 total passing)
Modified 14 types, config, schema, search-index, providers, compress, remember, consolidate, context, evict, index, mcp/server, triggers/api, telemetry, eval/schemas
Build 39.88 KB 0 type errors

v0.2.0 → v0.3.0 comparison

Capability v0.2.0 v0.3.0
Search BM25 keyword only Hybrid BM25 + vector (RRF)
Embeddings None 6 providers (auto-detect from env)
Memory model Flat KV Versioned with relationships
Index persistence In-memory (lost on restart) KV-persisted with debounced writes
Search results Full observations Progressive disclosure
Profiles None Project profiles
Timeline None Chronological navigation
Forgetting Manual eviction only Auto-forget (TTL + contradiction)
Provider resilience Circuit breaker Circuit breaker + fallback chain
Data portability SQLite import Full JSON export/import
MCP tools 5 10
API endpoints 20 28
Functions 13 21

Test plan

  • npm run build — 0 type errors, 39.88 KB bundle
  • npm test — 144 tests pass, 14 integration skipped (needs running server)
  • Start with GEMINI_API_KEY → logs "Embedding provider: gemini (768 dims)"
  • Start without embedding keys → logs "Embedding provider: none (BM25-only mode)"
  • Restart → logs "Loaded persisted BM25 index (N docs)"
  • POST /agentmemory/smart-search returns compact results
  • POST /agentmemory/timeline returns chronological observations
  • GET /agentmemory/profile?project=... returns aggregated profile
  • GET /agentmemory/exportPOST /agentmemory/import round-trip
  • POST /agentmemory/auto-forget?dryRun=true shows candidates

Summary by CodeRabbit

  • New Features

    • Hybrid BM25+vector search with persistent index, multiple embedding providers (OpenAI, Cohere, Gemini, Voyage, OpenRouter, local), and fallback chains.
    • Memory versioning, relations, evolve, automatic cleanup (auto-forget/evict), smart search (compact/expand), timeline browsing, project profiling, and export/import (merge/replace/skip).
    • New HTTP and MCP endpoints to access these capabilities.
  • Chores

    • Bumped release to v0.3.0; added telemetry metrics and updated dependencies.

Local branch:
Fork PR:
Fork decision:
Verification:
Notes:

Metadata

Metadata

Assignees

No one assigned

    Labels

    decision-candidateFork decision has not been madeupstream-mergedUpstream pull request is merged upstreamupstream-prTracks an upstream pull request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions