Changelog
What shipped on the Engra platform—memory, gateway, console, and public site.
Combined retrieve + allAccessible libraries
- POST /api/v1/memory/retrieve returns L2+L3 in one request (shared semantic engine today). MCP: memory_retrieve.
- allAccessible: true searches every library the API key can list (same as GET /libraries). Mutually exclusive with memoryLibraryIds/Labels.
- Worker short-TTL Cache API on search/recall/retrieve (~45s). REST 1.6.0 / MCP+Skill 1.9.0. Redeploy memory-mcp-proxy.
Grant eligibility is not auto-merge
- readableTargets from memory_list_libraries are grant-eligible for Cross-library Search Defaults or explicit memoryLibraryLabels/Ids — not auto-merged into every search/recall/quick.
- API-key allowlists still gate access. MCP instructions and Skill 1.8.0 spell this out (ADR-0001).
- Host and Worker memory-mcp-proxy share the same Memory Access Policy for Retrieval Sets and write auth.
Cross-team library access grants
- Source libraries request read/write/both access to another team's library by id; the target team accepts, rejects, or revokes. Same-team libraries need no grant.
- Cross-team writes require an accepted write|both grant plus sourceMemoryLibraryId. Linked/cross-search ACL expansion remains retrieval-only.
- MCP: memory_list_libraries exposes readableTargets/writableTargets; memory_suggest_write_library helps pick a save target.
- Platform 1.26.0; REST 1.5.0 / MCP 1.7.0 / Skill 1.7.0; @engra/agent-memory 0.5.0. Deploy: D1 migration 0052; redeploy memory-mcp-proxy.
libraryKey rename — Library / Scope / Topic / Atom
- Public Atom JSON field persona → libraryKey (value still library-{memoryLibraryId}); hierarchy is Library → Scope → Topic → Atom.
- New R2 writes under libraries/{libraryKey}/…; legacy personas/ remains readable until migrated.
- Wikilinks write [[library:…]]; [[persona:…]] still parsed. Requests still accept legacy persona.
- Platform 1.25.0; @engra/agent-memory 0.5.0; REST 1.4.0 / MCP 1.6.0 / Skill 1.6.0; memory-ingest 0.2.12.
- Deploy: D1 migration 0049; npm run migrate:r2-persona-to-library; redeploy memory-mcp-proxy and ingest consumer.
Common Knowledge — platform shared memory library
- One platform-managed library (library_kind = platform_shared) for facts every team should read; operators write, customers read-only.
- Search, recall, and wake-up merge shared hits by default; per-team and per-library opt-out.
- Console: /dashboard/platform to create; /docs/memory/common-knowledge for public integration guide.
- Platform 1.24.0; apply D1 migration 0046; redeploy memory-mcp-proxy worker.
Multi-team workspaces, per-team billing, and CI E2E
- One account can belong to multiple teams via team_memberships; switch teams from the dashboard toolbar (TeamSwitcher).
- Each team has its own Stripe customer and subscription; billing follows the active team in session.
- GitHub Actions runs platform/gateway/memory unit tests plus gateway and memory E2E (scripts/ci/run-e2e.mjs).
- Platform version 1.22.0; app package 0.2.0. Apply D1 migration 0044 on deploy.
Engra vs Engram disambiguation
- llms.txt and llms-full.txt state Engra is not the arXiv:2606.09900 Engram engine.
- New blog post: Engra is not Engram (bilingual, links to paper and GitHub).
Blog: bilingual articles and three new guides
- All blog posts now ship full zh-CN body copy alongside en-US (not title-only).
- New posts: pricing plans guide, Memory quotas explained, Gateway production deployment.
- Ten engineering articles total; sections are locale-keyed in src/lib/blog/content/.
SEO, i18n, and public blog
- Default locale is now en-US with geo-aware language detection.
- hreflang adds zh-Hans; Organization JSON-LD includes areaServed.
- Public /blog and /blog/changelog for English engineering updates.
Memory MCP, Skills, and benchmarks
- Memory MCP Streamable HTTP tools for Cursor and other agents.
- Agent Skills (SKILL.md) pairing for wake-up and retrieval workflows.
- ENGRA-KB-v2 public benchmark suite with downloadable JSON.
Legal and privacy pages
- CCPA / CPRA Do Not Sell page for California residents.
- Cookie consent with optional GA4 after explicit opt-in.