## What and why
Add an agent-oriented V3/V4 to V5 migration guide covering document
ingestion and updates, content management, search, profiles, memory
forgetting, namespaces, organization settings, typed filters, and
rollout verification. Shared snippets keep the comprehensive guide and
the focused topic pages consistent, following the existing
`/snippets/*.mdx` import convention used elsewhere in the docs.
```mermaid
flowchart LR
Legacy[Legacy integration inventory] --> Mapping[Domain migration guidance]
Mapping --> V5[V5 requests and response readers]
V5 --> Verify[Side-by-side verification and rollout]
```
## Grounding
Every old-vs-new claim traces to code in this repository:
- `packages/validation/api.ts` - `SearchRequestSchema`,
`Searchv4RequestSchema`, `ListMemoriesQuerySchema`,
`MemoryUpdateSchema`, `BulkDeleteMemoriesSchema`,
`ContainerTagListTypeSchema`, `SearchFiltersSchema`.
- `packages/validation/schemas.ts` - `MemoryEntrySchema`,
`OrganizationSettingsSchema`, `MemoryRelationEnum`.
- `packages/tools/src/shared/memory-client.ts` and
`packages/tools/src/shared/types.ts` - the `/v4/profile` request and
`profile.static` / `profile.dynamic` / `profile.buckets` reader.
- `apps/mcp/src/server/client/index.ts` - live `/v3/container-tags/list`,
`/v4/memories/list`, and `/v3/documents/file` call sites.
## Notable findings documented
- `SearchFiltersSchema` is `z.array(z.unknown())` behind a
`// TODO: Improve filter schema` comment, so legacy conditions were
never validated at the edge. The typed-filter page documents the
mechanical conversion and calls out the numeric-string-to-JSON-number
trap that a straight rename would miss.
- `OrganizationSettingsSchema` carries connector credentials that are
absent from the public V5 `/organization` response; the page warns
against reading them from `GET /v3/settings`.
- Operations with no V5 replacement are listed explicitly rather than
given invented substitutes.
## Validation
- `docs.json` parses as JSON; all 11 new nav entries resolve to authored
pages, and every pre-existing nav entry still resolves.
- All 12 snippet imports and every relative/absolute link across the 23
new files resolve to real targets.
- Fences, braces, and JSX component tags balance across all new files;
frontmatter parses as YAML.
- `git diff --check` passes.
## Impact
Documentation only. No runtime, schema, or SDK behavior changes.
- 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.