chore: prepare v5.0.0 release#200
Conversation
WalkthroughОбновление релизной документации и README до v5.0.0; переход архитектуры на статическую модель session-start через gRPC (GetSessionStartContext, NegotiateVersion); добавлены правила совместимости версий, локальный кэш session-start и синхронизация версий демона/плагина; мелкие тестовые и константные правки версии. Changes
Sequence Diagram(s)sequenceDiagram
participant Plugin as Plugin (client)
participant Daemon as Local Daemon
participant Server as MCP gRPC Server
participant Cache as Local Cache (ENGRAM_DATA_DIR)
Plugin->>Daemon: NegotiateVersion(ClientVersion=vX)
Daemon->>Server: NegotiateVersion(ClientVersion=vX)
Server-->>Daemon: ServerVersion=v5.0.0 (compatible/incompatible)
Daemon-->>Plugin: NegotiateVersion response
Plugin->>Daemon: GetSessionStartContext(project)
Daemon->>Server: GetSessionStartContext(project)
alt Server reachable
Server-->>Daemon: Static composite payload (issues + rules + memories)
Daemon-->>Plugin: Deliver payload
else Server unreachable
Cache-->>Daemon: Read cached session-start-{project}
Daemon-->>Plugin: Deliver cached payload (mark stale)
end
Estimated code review effort🎯 2 (Простой) | ⏱️ ~12 минут Possibly related PRs
ОбзорОбновлены документация и версии для выпуска v5.0.0, включая изменение архитектуры на статическую модель сессии-start с использованием gRPC и введение явной проверки совместимости версий. Константы версии обновлены с v4.5.0/4.3.0 на v5.0.0, а тестовые fixtures скорректированы соответственно. Изменения
Оценка трудозатрат на code review🎯 2 (Простой) | ⏱️ ~12 минут Возможно связанные PR
Предлагаемые меткиai-review:active Стихотворение
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
|
@coderabbitai review |
✅ Actions performedReview triggered.
|
There was a problem hiding this comment.
Code Review
This pull request implements the v5.0.0 'Cleaned Baseline' release, which transitions the project to a static-only storage model and removes several dynamic subsystems including the graph, patterns, and learning loops. Key changes include the introduction of a simplified gRPC-based session-start flow with version negotiation and local cache fallback, as well as the retirement of the observations-era runtime. Feedback focuses on correcting outdated tool counts and removing orphaned documentation for deleted features across the English, Russian, and Chinese README files.
There was a problem hiding this comment.
Actionable comments posted: 4
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@CHANGELOG.md`:
- Line 10: В файле CHANGELOG добавлен заголовок релиза "## [5.0.0] -
2026-04-23", но справочные ссылки внизу не обновлены: замените ссылку для
[Unreleased] так, чтобы она сравнивала текущие незапубликованные изменения с
v5.0.0 (вместо текущего v3.7.0), и добавьте недостающие reference-ссылки для
[5.0.0] и [3.7.1] в конце файла (создайте корректные URL/сравнения для меток
[5.0.0] и [3.7.1] в том же формате, что и другие ссылки в CHANGELOG),
убедившись, что метки [Unreleased], [5.0.0] и [3.7.1] присутствуют и ссылаются
на правильные теги/диффы.
In `@README.md`:
- Around line 314-324: README.md contains legacy dynamic-tool/docs blocks that
contradict the v5 static-only claim; remove or relocate all legacy examples and
instructions that reference dynamic features (search/graph/learning),
specifically sections/examples containing the terms "recall", "store",
"extract", "embeddings", "reranker", and any "dynamic" workflow content, update
the primary v5 description paragraph to state static-first only, and either move
legacy material to an "Archived / Legacy (pre-v5)" file or append a clear
deprecation notice so the README no longer misleads users about v5 capabilities.
In `@README.ru.md`:
- Around line 301-311: README.ru.md still contains legacy
"dynamic"/"embedding"/"graph"/"learning-oriented" tables, examples and
troubleshooting that contradict the declared v5 "static-first MCP surface" (v5
and the listed categories: issues, memories, documents, credentials, loom).
Remove or rewrite any sections, tables, examples and troubleshooting that
reference dynamic search/embeddings/graph/learning stacks and replace them with
static-first content and examples that use the v5 concepts ("issues / issue
comments", "memories / behavioral rules", "documents", "credentials / vault",
"loom background tasks"); search the file for keywords like "dynamic",
"embedding", "graph", "learning", "vectors", "index", "similarity", "FAISS",
"Pinecone" and purge or update those blocks so the README is consistent with the
v5 static-only messaging.
In `@README.zh.md`:
- Around line 301-311: README.zh.md currently mixes v5 "static-first" guidance
with legacy "dynamic" documentation; clean the file by removing or updating any
legacy references and examples (search/graph/learning-oriented sections,
tables/examples using "recall", embeddings/graph troubleshooting, and old
action-model examples) so the doc consistently describes the v5 static-first MCP
and surviving-entity model; search the file for keywords "recall", "embeddings",
"graph", "action model", "dynamic tool surface" and either delete those legacy
blocks or rewrite them to show v5 patterns (static-first APIs, surviving entity
concepts, updated examples) ensuring examples, tables, and troubleshooting steps
align with v5 terminology and workflows.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: df56de13-48c0-4c3a-9cbc-d25b9a244018
📒 Files selected for processing (12)
CHANGELOG.mdREADME.mdREADME.ru.mdREADME.zh.mdcmd/engram/main.godocs/release-notes/v5.0.0.mdinternal/grpcserver/version_negotiate_test.gointernal/handlers/engramcore/contract_test.gointernal/handlers/engramcore/tools.gointernal/module/dispatcher/dispatcher_test.gointernal/module/dispatcher/protocol.goplugin/engram/.claude-plugin/plugin.json
There was a problem hiding this comment.
♻️ Duplicate comments (2)
README.zh.md (1)
301-311:⚠️ Potential issue | 🟠 MajorЗаявлен static-first v5, но ниже остаются legacy dynamic-инструкции.
После этого блока документ всё ещё содержит legacy surface (например,
recall(...), embedding/graph-oriented troubleshooting,adminсgraph/scoring/consolidation), что конфликтует с заявленным v5 static-only путём и может запутать при релизе.Рекомендую синхронно дочистить/переписать оставшиеся разделы (
MCP 工具,使用示例,故障排除, частично开发) под единый v5-contract.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@README.zh.md` around lines 301 - 311, The README claims a static-first v5 design but still contains legacy dynamic/graph instructions (e.g., references to recall(...), embedding/graph troubleshooting, and admin graph/scoring/consolidation); update the document to remove or rewrite those legacy pieces so the entire file adheres to the v5 static-first contract: clean up the “MCP 工具” section, rewrite “使用示例” to show static-first entity usage, replace embedding/graph troubleshooting with static-first troubleshooting, and adjust the “开发” section to remove admin graph/scoring/consolidation references so all examples and instructions consistently reflect the surviving entity model and static-only APIs.README.ru.md (1)
301-311:⚠️ Potential issue | 🟠 MajorПосле объявления v5 static-first в файле всё ещё остались legacy dynamic-блоки.
Ниже по документу продолжают встречаться примеры и troubleshooting для старого dynamic/embedding/graph стека, что ломает единый релизный месседж v5. Нужна полная согласованная зачистка этих блоков под static-first contract.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@README.ru.md` around lines 301 - 311, The README still contains legacy dynamic/embedding/graph examples and troubleshooting that contradict the new v5 "static-first" contract; search the document for occurrences of "dynamic", "embedding", "graph", "dynamic search", and any examples or sections that reference the old learning-oriented tool surface and remove or rewrite them to match the v5 static-first model, replacing examples, API snippets, and troubleshooting advice with static-first terminology and flows (e.g., use "static-first", "v5", "issues / memories / documents / credentials /loom" where relevant) to produce a consistent release message throughout the README.
🧹 Nitpick comments (2)
README.zh.md (1)
60-61: Диаграмма транспорта сейчас двусмысленна относительно роли локального daemon.Связь
H_A/H_B -- "stdio / gRPC" --> Serverчитается как прямой stdio до сервера, хотя в тексте выше описан локальный daemon на рабочей станции. Лучше явно развести:Claude Code -> stdio -> local daemon -> gRPC -> server.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@README.zh.md` around lines 60 - 61, The transport diagram is ambiguous because the lines `H_A -- "stdio / gRPC" --> Server` and `H_B -- "stdio / gRPC" --> Server` imply direct stdio to the Server; update those diagram lines to explicitly show the local daemon hop, e.g. replace or expand them to `Claude Code -> stdio -> local daemon -> gRPC -> Server` (or for the hosts `H_A`/`H_B`: `H_A (Claude Code) -> stdio -> local daemon -> gRPC -> Server` and likewise for `H_B`) so the path clearly shows Claude Code, the local daemon, and then gRPC to Server.README.ru.md (1)
60-61: Mermaid-схема неявно смешивает stdio и серверный gRPC hop.Сейчас выглядит так, будто stdio идёт прямо к серверу. Для ясности лучше показать промежуточный локальный daemon-слой на workstation и отдельный gRPC hop к серверу.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@README.ru.md` around lines 60 - 61, В диаграмме нужно убрать прямые стрелки "stdio / gRPC" от H_A и H_B к Server и вместо этого добавить промежуточный локальный daemon-узел (например WorkstationDaemon) на рабочей станции: поменять строки с H_A -- "stdio / gRPC" --> Server и H_B -- "stdio / gRPC" --> Server на H_A -- "stdio" --> WorkstationDaemon и H_B -- "stdio" --> WorkstationDaemon, а затем добавить отдельные gRPC-хопы WorkstationDaemon -- "gRPC" --> Server; обновите подписи узлов (H_A, H_B, WorkstationDaemon, Server) чтобы явно показать локальный daemon и отдельный сетевой gRPC-hop.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Duplicate comments:
In `@README.ru.md`:
- Around line 301-311: The README still contains legacy dynamic/embedding/graph
examples and troubleshooting that contradict the new v5 "static-first" contract;
search the document for occurrences of "dynamic", "embedding", "graph", "dynamic
search", and any examples or sections that reference the old learning-oriented
tool surface and remove or rewrite them to match the v5 static-first model,
replacing examples, API snippets, and troubleshooting advice with static-first
terminology and flows (e.g., use "static-first", "v5", "issues / memories /
documents / credentials /loom" where relevant) to produce a consistent release
message throughout the README.
In `@README.zh.md`:
- Around line 301-311: The README claims a static-first v5 design but still
contains legacy dynamic/graph instructions (e.g., references to recall(...),
embedding/graph troubleshooting, and admin graph/scoring/consolidation); update
the document to remove or rewrite those legacy pieces so the entire file adheres
to the v5 static-first contract: clean up the “MCP 工具” section, rewrite “使用示例”
to show static-first entity usage, replace embedding/graph troubleshooting with
static-first troubleshooting, and adjust the “开发” section to remove admin
graph/scoring/consolidation references so all examples and instructions
consistently reflect the surviving entity model and static-only APIs.
---
Nitpick comments:
In `@README.ru.md`:
- Around line 60-61: В диаграмме нужно убрать прямые стрелки "stdio / gRPC" от
H_A и H_B к Server и вместо этого добавить промежуточный локальный daemon-узел
(например WorkstationDaemon) на рабочей станции: поменять строки с H_A -- "stdio
/ gRPC" --> Server и H_B -- "stdio / gRPC" --> Server на H_A -- "stdio" -->
WorkstationDaemon и H_B -- "stdio" --> WorkstationDaemon, а затем добавить
отдельные gRPC-хопы WorkstationDaemon -- "gRPC" --> Server; обновите подписи
узлов (H_A, H_B, WorkstationDaemon, Server) чтобы явно показать локальный daemon
и отдельный сетевой gRPC-hop.
In `@README.zh.md`:
- Around line 60-61: The transport diagram is ambiguous because the lines `H_A
-- "stdio / gRPC" --> Server` and `H_B -- "stdio / gRPC" --> Server` imply
direct stdio to the Server; update those diagram lines to explicitly show the
local daemon hop, e.g. replace or expand them to `Claude Code -> stdio -> local
daemon -> gRPC -> Server` (or for the hosts `H_A`/`H_B`: `H_A (Claude Code) ->
stdio -> local daemon -> gRPC -> Server` and likewise for `H_B`) so the path
clearly shows Claude Code, the local daemon, and then gRPC to Server.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 0a921e26-6f03-4119-b5ba-e2d661027c1d
📒 Files selected for processing (4)
CHANGELOG.mdREADME.mdREADME.ru.mdREADME.zh.md
✅ Files skipped from review due to trivial changes (1)
- CHANGELOG.md
🚧 Files skipped from review as they are similar to previous changes (1)
- README.md
🤖 PR Review MCP State (auto-managed, do not edit){
"version": 2,
"parentChildren": {},
"resolvedNitpicks": {
"coderabbit-nitpick-0d77c09c-60": {
"resolvedAt": "2026-04-23T00:02:16.484Z",
"resolvedBy": "agent"
},
"coderabbit-nitpick-4f3422fa-60": {
"resolvedAt": "2026-04-23T00:02:19.196Z",
"resolvedBy": "agent"
}
},
"updatedAt": "2026-04-23T00:02:19.659Z"
} |
Summary
v5.0.0docs/release-notes/v5.0.0.mdCHANGELOG.mdwith the v5.0.0 major release entryWhy now
US13 is merged and
engram#122is now unblocked. This PR prepares the release surface needed before tag + GitHub release + marketplace sync.Verification
go test ./... -count=1go build ./...Issue
Summary by CodeRabbit
Выпуск v5.0.0
Новые возможности
Удалено
Критические изменения