Skip to content

Add DejaEdge memory store with FTS5 support and improvements#10

Merged
acoyfellow merged 4 commits intomainfrom
claude/local-vector-memory-oyZal
Mar 23, 2026
Merged

Add DejaEdge memory store with FTS5 support and improvements#10
acoyfellow merged 4 commits intomainfrom
claude/local-vector-memory-oyZal

Conversation

@acoyfellow
Copy link
Copy Markdown
Owner

This pull request introduces the new deja-edge package, 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 the deja-local package, clarifying Bun runtime requirements and increasing SQLite durability.

New deja-edge package:

  • Added packages/deja-edge/package.json with build, test, and publish scripts, and configuration for ESM/CJS outputs and type exports.
  • Implemented DejaEdgeDO Durable Object in src/do.ts, exposing HTTP endpoints for memory operations (/remember, /recall, /confirm/:id, /reject/:id, /forget/:id, /list, /recall-log, /size, and health check).
  • Added a full-featured test suite in test/edge-memory.test.ts covering all memory operations, FTS5 search, deduplication, confidence scoring, and pagination, using Bun and an in-memory SQLite mock.
  • Included a strict TypeScript configuration in tsconfig.json for the new package.

Improvements to deja-local:

  • Updated package.json to specify that the package requires the Bun runtime and added an engines field for Bun. [1] [2]
  • Increased SQLite durability by setting PRAGMA synchronous = FULL in src/index.ts.

claude added 3 commits March 23, 2026 08:36
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
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 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
@acoyfellow acoyfellow merged commit 17a4c6c into main Mar 23, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants