✨ Character Memory runs without a vector service: embedded Qdrant Edge becomes the default candidate store, held to the same contract as the service adapter - #78
Open
ebigunso wants to merge 3 commits into
Conversation
There was a problem hiding this comment.
🟡 Changes recommended
Public constructor documentation remains inaccurate for the new embedded default and mode-specific configuration.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Pull request overview
Adds embedded Qdrant Edge as the default vector candidate store while retaining explicit service mode.
Changes:
- Implements durable embedded vector storage with contract parity.
- Adds backend mode/path configuration and routing.
- Expands durability, compatibility, and performance tests.
- Documents setup and operational guidance.
File summaries
| File | Description |
|---|---|
tests/write_planning_tests.rs |
Makes service-backed fixtures explicit. |
tests/vector_port_contract_tests.rs |
Adds cross-adapter contract tests. |
tests/support/persistent.rs |
Keeps persistent fixtures in service mode. |
tests/support/basic.rs |
Keeps basic fixtures in service mode. |
tests/support/base.rs |
Loads vector configuration for tests. |
src/errors.rs |
Adds embedded-engine error classifications. |
src/config/app_settings.rs |
Adds vector mode/path settings; constructor rustdoc needs updating. |
src/config.rs |
Exposes vector mode internally. |
src/composition.rs |
Selects the vector backend; constructor rustdoc needs updating. |
src/adapters/qdrant.rs |
Shares payload definitions with embedded mode. |
src/adapters/qdrant_edge/mod.rs |
Implements the embedded candidate store. |
src/adapters.rs |
Registers the embedded adapter. |
README.md |
Documents vector modes and operations. |
docs/design/roadmap-phases/v0_1_6_embedded_vector_candidate_recall.md |
Records measurements and implementation guidance. |
Cargo.toml |
Adds Qdrant Edge 0.8.0. |
Cargo.lock |
Locks the expanded dependency graph. |
.env.example |
Documents embedded and service configuration. |
Review details
- Files reviewed: 16/17 changed files
- Comments generated: 2
- Review effort level: Balanced
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Owner
Author
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
v0.1.6 Wave 3, Task_4 (ADR-I-0023 embedded engine and default, ADR-I-0027 engine discipline, ADR-I-0024 verdict mapping), stacked on Task_3.
qdrant-edge0.8.0: one shard directory per collection underVECTOR_STORE_PATH, cosine at the configured size, the indexing threshold at its exact-scan setting, the five-field payload with keyword indexes on object id and object type, search through the shared tie-closure loop and canonical constructor with truthful verdict mapping.VECTOR_STORE_MODE=serviceplus the connection string); a missing store path in embedded mode is a configuration error. The collection name is the backend-neutral namespace key, validated against the portable allowlist with path confinement.Validation
-D warnings; barecargo testservice-free and service-up; ignored Qdrant tests; benchmark 3/11/48 ms exhaustive scan at 100/1000/5000 records of 1536 dimensions; footprint delta 24.3 MB.🤖 Generated with Claude Code