From 8f175d3f8f222fc1a26c943402ce8bb4ea877a1d Mon Sep 17 00:00:00 2001
From: Elliot Chen <2340896+cyfyifanchen@users.noreply.github.com>
Date: Sat, 6 Jun 2026 14:33:00 +0800
Subject: [PATCH] docs: document EverOS 1.0.0 issue migration (#258)
* docs: document EverOS 1.0 issue migration
* docs: standardize EverOS 1.0.0 wording
---
.github/BRANCH_PROTECTION.md | 2 +-
README.md | 9 ++--
docs/index.md | 1 +
docs/migration-to-1.0.0.md | 67 ++++++++++++++++++++++++++
scripts/check_deprecated_names.py | 8 +--
use-cases/README.md | 8 +--
use-cases/claude-code-plugin/README.md | 7 +++
7 files changed, 87 insertions(+), 15 deletions(-)
create mode 100644 docs/migration-to-1.0.0.md
diff --git a/.github/BRANCH_PROTECTION.md b/.github/BRANCH_PROTECTION.md
index 77b7577..1d6e80a 100644
--- a/.github/BRANCH_PROTECTION.md
+++ b/.github/BRANCH_PROTECTION.md
@@ -1,6 +1,6 @@
# Branch Protection Baseline
-Use this as the admin checklist for `main` after the EverOS 1.0 history reset.
+Use this as the admin checklist for `main` after the EverOS 1.0.0 history reset.
## Required Repository Rule
diff --git a/README.md b/README.md
index 04d003b..9ef547b 100644
--- a/README.md
+++ b/README.md
@@ -200,6 +200,7 @@ everos/ # repo root
- [docs/overview.md](docs/overview.md) — Project overview & vision
- [docs/architecture.md](docs/architecture.md) — DDD layered architecture & dependency rules
- [docs/engineering.md](docs/engineering.md) — Engineering & dev-efficiency infrastructure (CI / tooling / Claude Code)
+- [docs/migration-to-1.0.0.md](docs/migration-to-1.0.0.md) — Legacy API and infrastructure migration notes
- [CHANGELOG.md](CHANGELOG.md) — Release notes
- [CONTRIBUTING.md](CONTRIBUTING.md) — How to contribute
- [.claude/rules/](.claude/rules/) — Detailed coding conventions (auto-loaded by Claude Code)
@@ -437,13 +438,13 @@ A context-native AI wearable that listens to everyday life and converts conversa
|
-[](https://github.com/EverMind-AI/EverOS/tree/0f49826ba0f9a94e1974c97614a46a68e0a08b52/evermemos-openclaw-plugin)
+[](docs/migration-to-1.0.0.md)
-#### OpenClaw Agent Memory
+#### Legacy OpenClaw Agent Memory
-A 24/7 agent workflow with continuous learning memory across sessions.
+Archived pre-1.0.0 plugin reference. New integrations should use the EverOS 1.0.0 API.
-[Plugin](https://github.com/EverMind-AI/EverOS/tree/0f49826ba0f9a94e1974c97614a46a68e0a08b52/evermemos-openclaw-plugin)
+[Learn more](docs/migration-to-1.0.0.md)
|
diff --git a/docs/index.md b/docs/index.md
index 5866b62..f6b547b 100644
--- a/docs/index.md
+++ b/docs/index.md
@@ -15,6 +15,7 @@ already know what you want to do and need to know exactly how.
| [cli.md](cli.md) | `everos` CLI subcommands + env var conventions |
| [storage_layout.md](storage_layout.md) | Memory-root tree + frontmatter chassis + EntryId encoding |
| [prompt_slots.md](prompt_slots.md) | YamlConfigLoader + three-layer prompt override |
+| [migration-to-1.0.0.md](migration-to-1.0.0.md) | Legacy API and infrastructure migration notes for EverOS 1.0.0 |
## Explanation
diff --git a/docs/migration-to-1.0.0.md b/docs/migration-to-1.0.0.md
new file mode 100644
index 0000000..bf9df35
--- /dev/null
+++ b/docs/migration-to-1.0.0.md
@@ -0,0 +1,67 @@
+# EverOS 1.0.0 Migration Notes
+
+EverOS 1.0.0 is a fresh architecture. Historical issues, examples, and
+plugins may reference APIs and infrastructure that no longer exist in
+the current open-source repository.
+
+## Current 1.0.0 Contract
+
+The supported local OSS HTTP API lives under:
+
+```text
+POST /api/v1/memory/add
+POST /api/v1/memory/flush
+POST /api/v1/memory/search
+POST /api/v1/memory/get
+```
+
+Use [api.md](api.md) for the canonical request and response schemas.
+
+The storage stack is:
+
+```text
+Markdown files + SQLite + LanceDB
+```
+
+MongoDB, Elasticsearch, Milvus, Redis, Kafka, longjob workers, and the
+old Docker Compose stack are not part of EverOS 1.0.0.
+
+## Legacy API Mapping
+
+These pre-1.0.0 routes are no longer supported by the OSS repo:
+
+| Legacy route | EverOS 1.0.0 replacement |
+|---|---|
+| `POST /api/v1/memories` | `POST /api/v1/memory/add` |
+| `POST /api/v1/memories/group` | `POST /api/v1/memory/add` with `app_id` / `project_id` scoping |
+| `GET /api/v1/memories/search` | `POST /api/v1/memory/search` |
+| `POST /api/v1/memories/search` | `POST /api/v1/memory/search` |
+| `GET /api/v1/memories` | `POST /api/v1/memory/get` |
+| `POST /api/v1/memories/get` | `POST /api/v1/memory/get` |
+| `/api/v3/agentic/*` | `POST /api/v1/memory/*` |
+
+The 1.0.0 API also changed memory type names. For example,
+`episodic_memory` is now `episode` in `/get`; `/search` returns typed
+arrays such as `episodes`, `profiles`, `agent_cases`, and
+`agent_skills`.
+
+## Integration Guidance
+
+For new integrations:
+
+- Batch messages into one `/api/v1/memory/add` request instead of
+ sending one flat message object per HTTP call.
+- Use `/flush` when a demo or test needs immediate extraction.
+- Use `/search` for ranked recall and `/get` for paginated browsing.
+- Treat old OpenClaw and EverMem Cloud plugin examples as archived
+ references unless they have been explicitly updated to the 1.0.0 API.
+
+## Benchmark Guidance
+
+The current LoCoMo reproduction path is documented in
+[locomo_benchmark.md](locomo_benchmark.md). The benchmark driver uses
+the 1.0.0 server API: add, flush, search, answer, and evaluate.
+
+Old HyperMem / pre-1.0.0 evaluation pipeline reports should not be used
+as 1.0.0 bug reports unless they can be reproduced with the current
+benchmark commands.
diff --git a/scripts/check_deprecated_names.py b/scripts/check_deprecated_names.py
index 0df42b6..07d21a9 100644
--- a/scripts/check_deprecated_names.py
+++ b/scripts/check_deprecated_names.py
@@ -4,9 +4,9 @@ from __future__ import annotations
import re
import subprocess
+from collections.abc import Iterable
from dataclasses import dataclass
from pathlib import Path
-from typing import Iterable
DEPRECATED_NAME_RE = re.compile(r"\bever[\s_-]*core\b", flags=re.IGNORECASE)
SKIP_SUFFIXES = frozenset(
@@ -53,11 +53,7 @@ def _tracked_paths() -> list[Path]:
stdout=subprocess.PIPE,
text=False,
)
- return [
- Path(raw.decode("utf-8"))
- for raw in result.stdout.split(b"\0")
- if raw
- ]
+ return [Path(raw.decode("utf-8")) for raw in result.stdout.split(b"\0") if raw]
def _tracked_text_files() -> Iterable[tuple[str, str]]:
diff --git a/use-cases/README.md b/use-cases/README.md
index 5c25880..88c52e8 100644
--- a/use-cases/README.md
+++ b/use-cases/README.md
@@ -229,13 +229,13 @@ A context-native AI wearable that listens to everyday life and converts conversa
|
|
-[](https://github.com/EverMind-AI/EverOS/tree/0f49826ba0f9a94e1974c97614a46a68e0a08b52/evermemos-openclaw-plugin)
+[](../docs/migration-to-1.0.0.md)
-#### OpenClaw Agent Memory
+#### Legacy OpenClaw Agent Memory
-A 24/7 agent workflow with continuous learning memory across sessions.
+Archived pre-1.0.0 plugin reference. New integrations should use the EverOS 1.0.0 API.
-[Plugin](https://github.com/EverMind-AI/EverOS/tree/0f49826ba0f9a94e1974c97614a46a68e0a08b52/evermemos-openclaw-plugin)
+[Learn more](../docs/migration-to-1.0.0.md)
|
diff --git a/use-cases/claude-code-plugin/README.md b/use-cases/claude-code-plugin/README.md
index dc946bf..2ac882d 100644
--- a/use-cases/claude-code-plugin/README.md
+++ b/use-cases/claude-code-plugin/README.md
@@ -2,6 +2,13 @@
Persistent memory for Claude Code. Automatically saves and recalls context from past coding sessions.
+> Compatibility note: this folder documents a legacy EverMem Cloud
+> plugin. It still uses the old cloud `/api/v1/memories/*` routes and
+> should not be treated as the canonical local EverOS 1.0.0 OSS API.
+> New integrations should follow
+> [EverOS 1.0.0 migration notes](../../docs/migration-to-1.0.0.md) and
+> [the API reference](../../docs/api.md).
+

## Features
|