Add DejaEdge memory store with FTS5 support and improvements#10
Merged
acoyfellow merged 4 commits intomainfrom Mar 23, 2026
Merged
Add DejaEdge memory store with FTS5 support and improvements#10acoyfellow merged 4 commits intomainfrom
acoyfellow merged 4 commits intomainfrom
Conversation
Zero external dependencies (no Vectorize, no embeddings). Pure SQLite FTS5 full-text search with BM25 ranking, confidence scoring, dedup/conflict resolution, and audit logging. Exports: - createEdgeMemory(ctx) — core memory store for use inside any DO - DejaEdgeDO — ready-to-use DO class with HTTP routes https://claude.ai/code/session_01Fb57JFi8VM36x8pCM1BFTw
1. Mark package as Bun-only (engines field + description) since bun:sqlite cannot be resolved by Node.js consumers. 2. Upgrade synchronous pragma from NORMAL to FULL to prevent data loss on host crash with WAL mode — honoring the durability promise. https://claude.ai/code/session_01Fb57JFi8VM36x8pCM1BFTw
Root README now leads with a comparison table of deja-local, deja-edge, and deja (hosted) — what each is, when to use it, and how to install. - Add deja-edge README - Trim deja-local README (add Bun requirement, remove redundancy) - Trim deja-client README (remove type definitions that TypeScript provides) - Cut total doc volume — clarity over completeness https://claude.ai/code/session_01Fb57JFi8VM36x8pCM1BFTw
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: a1e8ec8114
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
…nfidence P1: When all BM25 ranks are identical (single result or tied scores), normalizedRelevance was 0, capping scores at confidence*0.3. Now treats equal ranks as full relevance (1.0). P2: Constructor minConfidence option was ignored in recall() — always defaulted to 0. Now used as the fallback when callers don't pass it. https://claude.ai/code/session_01Fb57JFi8VM36x8pCM1BFTw
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.
This pull request introduces the new
deja-edgepackage, providing a Cloudflare Durable Object-based memory store with full-text search and a simple HTTP API, along with a comprehensive test suite and TypeScript configuration. It also adds minor improvements to thedeja-localpackage, clarifying Bun runtime requirements and increasing SQLite durability.New
deja-edgepackage:packages/deja-edge/package.jsonwith build, test, and publish scripts, and configuration for ESM/CJS outputs and type exports.DejaEdgeDODurable Object insrc/do.ts, exposing HTTP endpoints for memory operations (/remember,/recall,/confirm/:id,/reject/:id,/forget/:id,/list,/recall-log,/size, and health check).test/edge-memory.test.tscovering all memory operations, FTS5 search, deduplication, confidence scoring, and pagination, using Bun and an in-memory SQLite mock.tsconfig.jsonfor the new package.Improvements to
deja-local:package.jsonto specify that the package requires the Bun runtime and added anenginesfield for Bun. [1] [2]PRAGMA synchronous = FULLinsrc/index.ts.