71 '<!-- CONFIRM -->' review markers across 19 files used HTML comment
syntax, which MDX cannot parse. One parse error breaks the whole
production build — this is why the deployed site 404'd on every page
while local dev limped along. All converted to {/* */} (code-fence
contents untouched). Also: remove the legacy source-'/' redirect,
replace the phantom architecture-diagram image with an ASCII diagram
until the real one lands.
Verified locally: mintlify broken-links parses all pages clean (one
known-good /api-reference tab link that 307s at runtime), and /,
/overview, /concepts/architecture, /quickstart, /patterns/*,
/versioning all render 200 with content.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
/ resolved into overview/use-cases because both overview.mdx and the
overview/ directory existed — move use-cases to /use-cases (redirected)
and remove the folder. Rewrite the landing as a mem0-style home: one
paragraph, the two-call loop, then card grids (start here / pick your
door / go deep / why) instead of the long-form pitch.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Serving the landing at / via an index page loops on Mintlify hosting
(/ -> first nav page /index -> normalized back to /). Use the /overview
slug instead: / redirects there once via Mintlify's built-in behavior,
/intro and legacy intro paths redirect to /overview, no destination is
bare / anymore.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Rename intro.mdx to index.mdx so Mintlify serves it at / directly; /intro
redirects to /, old redirect destinations follow, internal links updated.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The hosted spec at api.supermemory.ai/v3/openapi fails Mintlify's OpenAPI
validation: PATCH /brain/models 200 response is missing the required
'description' field, which aborted the whole docs deploy. Vendor the spec
into the repo with the missing description patched, and point both the api
config and the API Reference tab at the local file so deploys no longer
depend on fetching (or the validity of) the live endpoint.
Root-cause fix still needed API-side: add the description to the
/brain/models PATCH route's 200 response in the OpenAPI generator.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The monorepo's installed supermemory@3.10.0 lags npm. In the published SDKs
client.memories.add does not exist — adding is client.add() (top-level) or
client.documents.add(); client.memories has only forget/updateMemory. Swept
all 21 affected pages. Also: searchMode ('memories'|'hybrid'|'documents')
IS in the published typings and is now taught on hybrid-search as the mode
selector, with include.chunks marked deprecated back-compat; customId
charset corrected (dots, not colons); 14 CONFIRM markers resolved by the
published typings (entityContext, forget reason, Python signatures).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Developer Platform now reads: Start Here -> The Context Engine (concepts-
first: architecture, graph, hybrid search, profiles, permissioning,
surfaces) -> Using supermemory (+ versioning, errors-and-limits) ->
Building on supermemory (patterns) -> Connectors (+ faq, sync-lifecycle)
-> Ops and trust (analytics rejoins nav) -> Self-Hosting (+ tiers,
troubleshooting) -> Migration. container-tags/filtering fold into
permissioning/hybrid-search with redirects; 39 leftover files already
shadowed by redirects removed; every removed path redirects to its next
best page.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Fixes across existing pages: stale claude-3-sonnet -> current models,
deprecated ai/react + toAIStreamResponse -> current AI SDK APIs, five
divergent search signatures unified to client.search.memories (v4) /
client.search.documents (v3), singular containerTag in v4 contexts,
from-zep containerTag type error, canonical processing-status enum,
corrected 'v4 has no SDK' claim, internal links re-pointed at final
destinations.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
New concepts spine (architecture, hybrid-search, permissioning, surfaces,
glossary) built on one canonical mental model: ingest -> derive memories/
graph/profiles, one engine behind every surface. New Building-on-supermemory
pattern guides (multi-tenant, companion, multi-agent, task memory, company
brain, ingestion). New ops/trust pages (versioning, errors-and-limits,
usage-and-billing, security), connector FAQ + sync lifecycle from real
support answers, MCP + self-hosting troubleshooting, llms.txt for coding
agents. Every code sample verified against SDK types and backend routes;
unverified claims carry CONFIRM comments for review.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Every removed page gets a redirect to its next best live page. Salvage-kept:
analytics (only rate-limit/retention docs), integrations/cartesia (only
Cartesia SDK docs), memorybench/supported-models (now added to nav — live
pages link to it). Also removes stray test.py/test.ts/install.md from the
published docs directory.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The claude_code, opencode and cursor plugins are now free-tier
(supermemoryai/mono#2570), so the 'requires the Supermemory Pro plan'
warning on these integration pages is no longer accurate. OpenClaw
stays paid, so its banner is left in place.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
## Docs: add Forget Matching endpoint + fix stale Forget Memory docs
### What this does
- **Adds docs for the new** **`POST /v4/memories/forget-matching`** **endpoint** — semantic/promptable mass-forget. Covers `dryRun` (preview), `threshold`/`maxForget` safety bounds, the request/response shape, and `forgetBatchId`.
- **Corrects the existing "Forget Memory" section** to match the actual implementation.
### ⚠️ No API surface changed
This PR is **docs-only**. The existing forget endpoint's behavior/contract is untouched — the previous docs were simply **wrong** and described a route that has never existed:
| | Old docs (incorrect) | Actual implementation (unchanged) |
| --- | --- | --- |
| Method + path | `POST /v4/memories/{id}/forget` | `DELETE /v4/memories` |
| Body | — | `{ id \| content, containerTag, reason? }` |
The handler (`forgetMemory` in `apps/api/src/routes/v4/memories/handlers.ts`) was not modified — this just makes the docs reflect reality.
### Also
- Small accuracy cleanups (response field descriptions, realistic example IDs).
### TL;DR
Adds documentation for the Memory Review endpoints and Profile Buckets feature.
### What changed?
**Memory Review (`memory-review.mdx`)**
- Added a new documentation page covering the two inferred memory review endpoints: `GET /v3/container-tags/{containerTag}/inferred` and `POST /v3/container-tags/{containerTag}/inferred/{memoryId}/review`.
- Documents the three review actions (`approve`, `decline`, `undo`) and how each affects search ranking and memory state (`isInference`, `isForgotten`, `reviewStatus`).
- Includes request/response examples in both `fetch` and cURL, a field reference table, error codes, and a collapsible React Query hooks example for building a review UI.
- Registered the new page in `docs.json` under the "Manage Content" group and linked to it from the Memory Operations next steps.
**Profile Buckets (`user-profiles.mdx`)**
- Added a "Profile Buckets" section explaining custom topical categories (`preferences`, `goals`, `work`, etc.) as a complement to `static`/`dynamic` profile sections.
- Documents the `include`, `buckets`, and `filters` query parameters on the profile endpoint.
- Covers the `GET /v4/profile/buckets` endpoint for listing configured bucket definitions, with request/response examples and a field reference.
- Explains the `[Recent]` / `[Summary]` label convention used in bucket and dynamic profile entries.
- Updated the `ProfileResponse` TypeScript interface to mark `static` and `dynamic` as optional and add the `buckets` field.
### How to test?
- Navigate to the docs site and confirm "Memory Review" appears in the sidebar under "Manage Content".
- Verify all code examples render correctly and tabs switch between `fetch` and cURL variants.
- Confirm the React Query accordion expands and displays the TypeScript snippet.
- Check that the Profile Buckets section renders inline within the User Profiles page, including the response JSON blocks and the tip/note callouts.
### Why make this change?
Inferred (derived) graph memories are down-weighted in search until reviewed, but there was no documentation explaining how to surface or act on them. Similarly, profile buckets were a shipped feature with no public-facing docs. These additions give developers the reference material needed to build review UIs and use topical bucket filtering in their integrations.
## Summary
- move Granola from Max-gated to Pro-gated in Nova integrations and add-connection flows
- add Granola to Pro plan card connector copy in billing
- update Granola connector docs to say Pro Plan or higher
## Testing
- bunx biome check apps/web/components/settings/billing.tsx apps/web/components/integrations-view.tsx apps/web/components/add-document/connections.tsx apps/docs/connectors/granola.mdx
- git diff --check
Note: onboarding-brain was intentionally left unchanged.
## Summary
- Rename the Claude Code plugin docs references from `claude-supermemory` / `Claude-Supermemory` to `supermemory`
- Update install and command examples to use `/plugin install supermemory` and `/supermemory:logout`
## Testing
- Ran `git diff --check`
---
**Session Details**
- Session: [View Session](https://supermemory.us1.vorflux.com/agent-sessions/cc17c7ae-0fb2-4e2c-bb4c-20a66900d720)
- Requested by: Sreeram Sreedhar (sreeram@supermemory.com)
- Address comments on this PR. Add `(aside)` to your comment to have me ignore it.
### TL;DR
Documents the new `filterByMetadata` parameter for the memory ingestion API, added in [supermemoryai/mono#1283](https://github.com/supermemoryai/mono/pull/1283).
### What changed?
- Added a new "Filtered Writes" section to the `add-memories.mdx` page explaining how to scope memory context during ingestion
- Added `filterByMetadata` to the Parameters table with a link to the new section
- Included TypeScript, Python, and cURL examples
- Documented scalar vs array value matching semantics (AND/OR logic)
### Key documentation points
- The metadata itself is still written to the document, but memories are only built on top of existing memories matching the filter
- Scalar values match exactly, array values create OR conditions
- Multiple keys are combined with AND logic
### Related
- Implementation PR: [supermemoryai/mono#1283](https://github.com/supermemoryai/mono/pull/1283)
---
**Session Details**
- Session: [View Session](https://supermemory.us1.vorflux.com/agent-sessions/14d33783-50b0-4fc8-8e0f-abc6346336f1)
- Requested by: Dhravya Shah (dhravya@supermemory.com)
- Address comments on this PR. Add `(aside)` to your comment to have me ignore it.
- Published the v2.0.0 docs and a 1.4 → 2.0 migration guide so existing users have a clear upgrade path.
- Updated the four integration pages (AI SDK, OpenAI, Mastra, VoltAgent) to reflect v2 defaults and link to the migration guide.
- Added a short explainer on the two required fields (containerTag, customId) so new users aren't blocked at first integration.
**`withSupermemory`** **(AI SDK)**
- **`skipMemoryOnError`** **defaults to** **`true`**. memory errors/timeouts log and the model runs on the **original** prompt unless you set `skipMemoryOnError: false`.
- **Pre-LLM** **`/v4/profile`** **is aborted after 5s** via `AbortSigna`
**Docs**
- `packages/tools/README.md`, **`apps/docs/integrations/ai-sdk.md`**
### TL;DR
Added Python SDK for integrating Supermemory with Cartesia Line voice agents, enabling persistent memory capabilities.
### What changed?
Created a new Python SDK package (`supermemory_cartesia`) that provides:
- `SupermemoryCartesiaAgent` wrapper class that enhances Cartesia Line agents with memory capabilities
- Memory retrieval and storage functionality that integrates with the Supermemory API
- Utility functions for memory formatting, deduplication, and time formatting
- Custom exception classes for error handling
- Comprehensive documentation and type hints
The implementation includes:
- Memory enrichment for user queries
- Automatic storage of conversation history
- Configurable memory retrieval modes (profile, query, full)
- Background processing to avoid blocking the main conversation flow
### How to test?
```python
from supermemory_cartesia import SupermemoryCartesiaAgent
from line.llm_agent import LlmAgent, LlmConfig
import os
# Create base LLM agent
base_agent = LlmAgent(
model="gemini/gemini-2.5-flash-preview-09-2025",
config=LlmConfig(
system_prompt="You are a helpful assistant.",
introduction="Hello!"
)
)
# Wrap with Supermemory
memory_agent = SupermemoryCartesiaAgent(
agent=base_agent,
api_key=os.getenv("SUPERMEMORY_API_KEY"),
user_id="user-123",
)
# Use memory_agent in your Cartesia Line application
```
### Why make this change?
This SDK enables Cartesia Line voice agents to maintain persistent memory across conversations, enhancing user experience by:
1. Providing contextual awareness of past interactions
2. Remembering user preferences and important information
3. Reducing repetition in conversations
4. Creating more personalized and natural voice interactions
The integration is designed to be lightweight and non-blocking, ensuring that memory operations don't impact the responsiveness of voice interactions.
Single-page changelog covering Feb 2024 through Mar 2026 with filterable
tags (API, SDK, Console, MCP, CLI, Integrations). Replaces the split
overview/developer-platform pages. Adds redirect for old URL.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>