Skip to content

v4.0.1

Choose a tag to compare

@JinHo-von-Choi JinHo-von-Choi released this 13 May 18:10
· 236 commits to main since this release

v4.0.1은 recall 정확도 보정 patch 릴리즈다. 외부 API·DB 스키마 호환. 외부 호출자 응답 구조 무변경.

Changed

  • lib/memory/read/FragmentSearch.js _executeSearch:
    • Cross-encoder Reranker 호출 시 topic: <topic> keywords: <keywords> text: <text> 형식의 query를 전달하여 정확 매칭 신호가 재정렬 단계까지 보존된다.
    • l1MissIdsl1IsFallback에 따라 빈 배열로 강제. fallback fragment가 _searchL2.getByIds로 추가 조회되어 결과에 섞이는 경로를 차단.
    • RRF의 L1 layer 가중치를 l1IsFallback ? 0.5 : MEMORY_CONFIG.rrfSearch.l1WeightFactor로 분기. fallback 경로의 L1 결과 가중을 강등.
  • config/memory.js semanticSearch.minSimilarity 0.35 → 0.5.
  • lib/memory/embedding/EmbeddingCache._key 캐시 키에 EMBEDDING_MODEL prefix 결합. 모델 변경 시 stale 벡터 hit 방지.
  • lib/memory/assistant-query.js boostAssistantFragments 기본 boost 0.05 → 0.02.

Added

  • MEMENTO_RECALL_MIN_SIM_FLOOR 환경변수. SearchParamAdaptor.getMinSimilarity가 반환하는 적응형 임계값에 옵트인 하한을 강제한다. 미설정 시 기존 동작 그대로.

Tests

  • tests/unit/fragment-search-fallback-guard.test.js 신설. 정적 가드 3건 + 동적 가드 2건.
  • 영향권 단위 테스트 114건 회귀 0.

Docs

  • CHANGELOG.md, SKILL.md, docs/configuration.md/.en.md, docs/features.md 정합.

호환성

  • 외부 호출자 search/recall/remember 응답 구조 무변경.
  • _searchEventId 동기 반환 계약 유지.
  • DB 스키마 무변경. 마이그레이션 불필요.
  • 운영 반영 시 systemd 재시작만 필요.

후속

  • v4.1: SqliteVecStore 본격 구현, 저장 임베딩 텍스트에 keywords·topic prefix 결합(시그니처 확장 + 마이그레이션), expandAssistantQuery 활성 조건 좁히기 + 원본·확장 쿼리 Reranker 점수 앙상블, Reranker recencyBoost / _applyMMR lambda 검토.

상세: https://github.com/JinHo-von-Choi/memento-mcp/blob/main/CHANGELOG.md