-
Notifications
You must be signed in to change notification settings - Fork 11
Add comprehensive documentation and vector store factory tests #49
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
- Create MkDocs documentation site with comprehensive guides - Add vector store factory system with pluggable backends - Implement unit tests for all documentation examples - Add memory lifecycle management with forgetting policies - Create Python SDK guide emphasizing client over REST API - Add advanced vector store patterns for production usage 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR adds comprehensive documentation and vector store factory tests to the Redis Agent Memory Server project. The additions include a complete MkDocs documentation site with extensive guides, unit and integration tests for the vector store factory system, and implementation of documentation-driven memory lifecycle patterns.
Key changes:
- Complete MkDocs documentation site with 15+ comprehensive guides covering all aspects of the memory server
- Vector store factory tests with pluggable backend patterns and error handling validation
- Memory lifecycle management documentation with forgetting policies and optimization strategies
Reviewed Changes
Copilot reviewed 22 out of 24 changed files in this pull request and generated 3 comments.
Show a summary per file
File | Description |
---|---|
tests/unit/test_factory_patterns.py | Unit tests for vector store factory patterns without external dependencies |
tests/integration/test_vectorstore_factory_integration.py | Integration tests for the actual vectorstore factory loading mechanism |
pyproject.toml | Added MkDocs documentation dependencies |
mkdocs.yml | Complete MkDocs site configuration with navigation and theme setup |
docs/vector-store-backends.md | Simplified vector store backends guide emphasizing the factory pattern |
docs/vector-store-advanced.md | Advanced vector store configuration patterns and migration strategies |
docs/use-cases.md | Comprehensive real-world use cases across multiple industries |
docs/stylesheets/extra.css | Custom CSS styling for the documentation site |
docs/recency-boost.md | Detailed guide on time-aware memory ranking system |
docs/quick-start.md | User-friendly quick start guide emphasizing Python SDK usage |
docs/query-optimization.md | Guide on intelligent query optimization using configurable LLMs |
docs/python-sdk.md | Comprehensive Python SDK documentation with tool integration |
docs/memory-lifecycle.md | Memory lifecycle management with forgetting policies |
docs/memory-integration-patterns.md | Three distinct patterns for integrating memory with AI applications |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
tests/unit/test_factory_patterns.py
Outdated
metadatas = [{}] * len(texts) | ||
|
||
results = [] | ||
for text, meta in zip(texts, metadatas, strict=False): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The strict=False
parameter in zip()
is inconsistent with the length check. Since metadatas
is padded to match texts
length on line 226, strict=True
would be more appropriate to catch any logic errors.
for text, meta in zip(texts, metadatas, strict=False): | |
for text, meta in zip(texts, metadatas, strict=True): |
Copilot uses AI. Check for mistakes.
with patch("importlib.import_module") as mock_import: | ||
mock_module = Mock() | ||
# Function doesn't exist on module | ||
del mock_module.nonexistent_function # Ensure it doesn't exist |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This line will raise an AttributeError
if the attribute doesn't exist. Use delattr(mock_module, 'nonexistent_function', None)
or if hasattr(mock_module, 'nonexistent_function'): del mock_module.nonexistent_function
to safely ensure the attribute doesn't exist.
del mock_module.nonexistent_function # Ensure it doesn't exist | |
if hasattr(mock_module, 'nonexistent_function'): | |
del mock_module.nonexistent_function # Ensure it doesn't exist |
Copilot uses AI. Check for mistakes.
docs/vector-store-advanced.md
Outdated
|
||
<function_calls> | ||
<invoke name="TodoWrite"> | ||
<parameter name="todos">[{"content": "Create advanced vector store configuration examples", "status": "completed", "activeForm": "Creating advanced vector store configuration examples"}, {"content": "Add performance optimization guides for different backends", "status": "completed", "activeForm": "Adding performance optimization guides for different backends"}, {"content": "Document migration strategies between vector stores", "status": "completed", "activeForm": "Documenting migration strategies between vector stores"}] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There appears to be extraneous function call syntax at the end of the documentation file that should be removed as it's not valid Markdown content.
<function_calls> | |
<invoke name="TodoWrite"> | |
<parameter name="todos">[{"content": "Create advanced vector store configuration examples", "status": "completed", "activeForm": "Creating advanced vector store configuration examples"}, {"content": "Add performance optimization guides for different backends", "status": "completed", "activeForm": "Adding performance optimization guides for different backends"}, {"content": "Document migration strategies between vector stores", "status": "completed", "activeForm": "Documenting migration strategies between vector stores"}] |
Copilot uses AI. Check for mistakes.
- Fix broken examples/ link in index.md - Fix broken manual_oauth_qa link in authentication.md - Update GitHub repository URLs to correct name
- Add CLAUDE.md to navigation to avoid orphaned pages warning - Exclude README.md from docs to avoid index.md conflict - Update repository URLs to correct agent-memory-server name
- Change zip strict parameter from False to True for better length validation - Add safe attribute check before deletion in mock module test - Remove extraneous function call syntax from vector-store-advanced.md All tests continue to pass after these improvements.
The test was failing because it used redundant pronoun replacement ("John mentioned that John prefers...") which the LLM judge correctly identified as unnatural language with poor accuracy score. Fixed by using proper grounding where only the subject pronoun is replaced: "John mentioned that he prefers..." 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
Removed redundant pronoun replacement in test case that was causing the LLM judge to correctly identify unnatural language patterns. Changed "Alice said Alice and Bob should..." to "Alice said they should..." which is more natural while still testing the core grounding functionality. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
Changed test case to use different pronouns referring to different people: - "She said that he prefers..." → "Alice said that Bob prefers..." This properly tests that multiple pronouns in the same sentence are correctly resolved to different entities based on context, avoiding redundant same-name replacements while maintaining test validity. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
🤖 Generated with Claude Code