3.3 KiB
ADDED Requirements
Requirement: Plugin installed globally
The system SHALL install memsearch as a Claude Code plugin via the marketplace so that episodic memory is available in all sessions.
Scenario: Successful marketplace install
- WHEN the user runs
/plugin marketplace add zilliztech/memsearchfollowed by/plugin install memsearch - THEN the memsearch plugin is active, its Stop hook is registered, and
memsearchtool definitions are available in the session
Requirement: Global memory directory
The system SHALL store all episodic memory files at a global path (~/.memsearch/memory/) so that memories from all projects accumulate in one place and are queryable cross-project.
Scenario: memory_dir is already global after install
- WHEN the user runs
memsearch config listafter install - THEN
memory_dirresolves to~/.memsearch/memory/(or equivalent global home-relative path)
Scenario: memory_dir requires explicit configuration
- WHEN
memsearch config listshows a project-localmemory_dir - THEN the user sets
memory_dir = "~/.memsearch/memory/"in~/.memsearch/config.tomland re-verifies withmemsearch config list
Requirement: Stop hook produces daily memory files
The system SHALL produce a daily memory file at ~/.memsearch/memory/YYYY-MM-DD.md after each session turn so that episodic history accumulates automatically without manual action.
Scenario: Memory file created after first session turn
- WHEN a session turn completes (user message + Claude response) with memsearch installed and configured
- THEN a file exists at
~/.memsearch/memory/<today-date>.mdcontaining a summary of that turn
Scenario: Stop hook fires on every turn
- WHEN multiple turns occur in a session
- THEN the daily memory file grows with entries for each turn (SHA-256 dedup prevents duplicate entries)
Requirement: Built-in guidance audited before customization
The system SHALL audit memsearch's built-in Claude plugin instructions after install before adding any custom skill or configuration, so that custom code is only added when a concrete gap is identified.
Scenario: No routing conflict found
- WHEN the user reviews memsearch's built-in guidance and runs a test session
- THEN episodic recall queries are handled by memsearch's built-in tools without conflicting with
memory-vaultormemory-projectrouting - THEN no custom
memory-searchskill is created
Scenario: Routing conflict or gap identified
- WHEN memsearch's built-in guidance fails to distinguish episodic from semantic queries, or does not handle cross-project recall correctly
- THEN a minimal
memory-searchskill is authored that supplements (not replaces) the built-in guidance
Requirement: Cross-project episodic recall available
The system SHALL enable the user to query episodic memory across all projects via memsearch search "<query>" so that questions like "what were we working on last Tuesday?" are answerable.
Scenario: Successful cross-project query
- WHEN the user runs
memsearch search "what was I working on last week?"after at least one session has produced memory files - THEN memsearch returns relevant summaries from
~/.memsearch/memory/ranked by semantic similarity